linux 文件管理命令

目录与路径

  

1.相对路径与绝对路径

因为我们在Linux系统中,常常要涉及到目录的切换,所以我们必须要了解 "路径" 以及 "相对路径" 与 "绝对路径" 的概念。在之前的学习中,就反复的强调了Linux的目录是 "树状目录" 。假设我们需要在任意一个目录下切换到另一个目录下,通常是使用的是 cd 这个命令,此时在写切换的目录名时就有两种书写方式,也就是我们常说的使用 "相对路径" 与 "绝对路径" 来书写

绝对路径:路径的写法【一定由根目录 / 写起】,例如: /usr/share/doc 这个目录。

相对路径:路径的写法【不是由 / 写起】,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成: 【cd ../man】这就是相对路径的写法。相对路径意指相对于当前的工作目录

我们知道,在Linux的系统中完整的文件路径名的长度最大可以达到4096个字符,所以一个文件路径名太长的话,此时写绝对路径时就非常的麻烦,而且可能写错,所以此时选择使用相对路径来写就会简单一些。

但是,对于文件的正确性来说,绝对路径是比较好的。当我们在写 shell scripts 时,请务必使用绝对路径。虽然可能写绝对路径会稍显麻烦,但是这种写法是绝对不会有问题的。

2.切换目录    

  这个命令应该是Linux中用的最频繁的一个命令之一了,因为我们经常需要进行目录的切换。在详解这个命令之前,首先得补充一个重要的知识,就是我们常用的一些比较特殊的目录:

    .         代表当前目录

    ..        代表上一层目录

    –         代表前一个工作目录

    ~         代表【目前用户身份】所在的自家目录

    ~account  代表 account 这个用户的自家家目录

blob.png

3.pwd 显示当前工作目录

blob.png

blob.png

4.mkdir建立新目录

blob.png

blob.png

blob.png

blob.png

5.rmdir删除空目录

blob.png

blob.png

二:管理文件

 在了解目录与路径之后,我们继续学习管理文件与目录的一些命令!文件与目录的管理上,不外乎【显示属性】、【拷贝】、【删除文件】及【移动文件或目录』】等等,由于文件与目录的管理在 Linux 当中是很重要的, 尤其是每个人自己自家目录的数据也都需要注意管理!

  1. ls (查看文件和目录)

参数:

-a  :全部的文件,连同隐藏文件( 开头为 . 的目录) 一起列出来~

-A  :全部的文件,连同隐藏文件,但不包括 . 与 .. 这两个目录,一起列出来~

-d  :仅列出目录本身,而不是列出目录内的文件数据

-f  :直接列出结果,而不进行排序 (ls 预设会以文件名排序!)

-F  :根据文件、目录等信息,给予附加数据结构,例如:

      *:代表可执行文件; /:代表目录; =:代表 socket 档案; |:代表 FIFO 文件;

-h  :列出文件的打小(例如GB、KB等等)

-i  :列出 inode 位置,而非列出文件属性;

-l  :长数据串行出,包含文件的属性等等数据;

-n  :列出 UID 与 GID 而非使用者与群组的名称 (UID与GID会在账号管理提到!)

-r  :将排序结果反向输出,例如:原本文件名由小到大,反向则为由大到小;

-R  :连同子目录内容一起列出来;

-S  :以文件容量大小排序!

-t  :依时间排序

–color=never  :不要依据文件特性给予颜色显示;

–color=always :显示颜色

–color=auto   :让系统自行依据设定来判断是否给予颜色

–full-time    :以完整时间模式 (包含年、月、日、时、分) 输出

–time={atime,ctime} :输出 access 时间或 改变权限属性时间 (ctime) 

                       而非内容变更时间 (modification time)

在 Linux 系统当中,这个 ls 指令可能是最常被执行的命令!因为我们随时都要知道文件或者是目录的相关信息啊。 不过,我们 Linux 的文件所记录的信息实在是太多了, ls 没有需要全部都列出来呢, 所以,当输入ls命令时,默认显示的只有:非隐藏文件的文件名、 以文件名进行排序及文件名代表的颜色显示;

2.cp命令

   要复制文件,我们就要用到cp(copy)命令。不过cp命令的用途非常的广泛,除了单纯的复制之外,还可以建立连接文件(相当于windows下的快捷方式),比较两个文件的新旧而予以更新,以及复制整个目录等等。

[root@localhost ~]# cp [-adfilprsu] 源文件(source) 目的文件(destination)

[root@localhost ~]# cp [options] source1 source2 source3 …. directory

参数:

-a  :相当于 -pdr 的意思;

-d  :若来源文件为链接文件的属性(link file),则复制链接文件属性而非档案本身;

-f  :为强制 (force) 的意思,若有重复或其他疑问时,不会询问使用者,而强制复制;

-i  :若目的文件(destination)已经存在时,在覆盖时会先询问是否真的动作!

-l  :进行硬式连结 (hard link) 的连结文件建立,而非复制文件本身;

-p  :连同文件的属性一起复制过去,而非使用默认属性;

-r  :递归持续复制,用于目录的复制行为;

-s  :复制成为符号链接文件 (symbolic link),亦即『快捷方式』文件;

-u  :若 destination 比 source 旧才更新 destination !

最后需要注意的,如果来源档有两个以上,则最后一个目的文件一定要是『目录』

blob.png

3.rm删除文件

-f  :就是 force 的意思,强制移除;

-i  :互动模式,在删除前会询问使用者是否动作

-r  :递归删除!最常用在目录的删除了

blob.png

4.mv (移动文件与目录、文件重命名)

参数:

-f  :force 强制的意思,强制直接移动而不询问;

-i  :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

-u  :若目标文件已经存在,且 source 比较新,才会更新 (update)

blob.png

5.basename (获取路径的文件名) dirname (获取路径的目录名)

    blob.png

三、查看文件内容

cat   由第一行开始显示文件内容

tac   从最后一行开始显示,可以看出 tac 是 cat 的倒着写!

nl   显示的时候,连同行号一起输出!

more 一页一页的显示文件内容

less 与 more 类似,但是比 more 更好的是,他可以往前翻页!

head 只看头几行

tail 只看最后几行

od     以二进制的方式读取文件内容!

  1. cat (concatenate)

    -A  :相当于 -vET 的整合参数,可列出一些特殊字符~

    -E  :将结尾的断行字符 $ 显示出来;

    -n  :打印出行号;

    -T  :将 [tab] 按键以 ^I 显示出来;

    -v  :列出一些看不出来的特殊字符

 

blob.png

2.tac (反向显示)

    blob.png

    

3.nl (显示时添加行号)

    参数:

    -b  :指定行号指定的方式,主要有两种:

          -b a :表示不论是否为空行,也同样列出行号;

          -b t :如果有空行,空的那一行不要列出行号;

    -n  :列出行号表示的方法,主要有三种:

          -n ln :行号在屏幕的最左方显示;

          -n rn :行号在自己字段的最右方显示,且不加 0 ;

          -n rz :行号在自己字段的最右方显示,且加 0 ;

    -w  :行号字段的占用的位数。

blob.png

4.more (翻页查看)

空格键 (space):代表向下翻一页;

Enter         :代表向下翻【一行】;

/字符串         :代表在这个显示的内容当中,向下搜寻【字符串】;

:f             :立刻显示出文件名以及目前显示的行数;

q             :代表立刻离开 more ,不再显示该文件内容。

blob.png

5. less (翻页查看)

blob.png

less的用法比more要更灵活,使用more命令时我们没有办法向前翻页,只能往后看,而less命令可以通过(PageUp) (PageDown)来进行前后的翻页查看文件。

less命令的一些常用快捷键操作如下:

空格键    :向下翻动一页;

[pagedown]:向下翻动一页;

[pageup]  :向上翻动一页;

/字符串     :向下搜寻【字符串】的功能;

?字符串     :向上搜寻【字符串】的功能;

n         :重复前一个搜寻 (与 / 或 ? 有关!)

N         :反向的重复前一个搜寻 (与 / 或 ? 有关!)

q         :离开 less 这个程序;

6. head (取出前几行)

    参数:

    -n  :后面接数字,代表显示几行的意思

blob.png

原创文章,作者:N24_xingxiu,如若转载,请注明出处:http://www.178linux.com/58040

(1)
上一篇 2016-11-06 20:58
下一篇 2016-11-06 21:23

相关推荐

  • yum 仓库

    Yum 仓库     yum源就是一个软件集合地,你只需要搜索并安装你想要的软件,它会帮你解决大部分软件的依赖问题。本地源比如说光盘里面一般会附带一些软件,这个时候就可以把光盘当成本地源来安装软件。网络源比如说aliyun的镜像网站,这就属于网络源,可以通过互联网把软件下载下来并安装。   yum 仓库 &n…

    2017-06-24
  • VMware vSphere所需要开放的端口

        80 vCenter Server需要端口80用于直接HTTP连接。端口80会将请求重定向到HTTPS端口443。如果意外使用了http://server而不是https://server,此端口将非常有用。     389 此端口在vCenter Server的本地和所…

    Linux干货 2016-07-07
  • 用户和组

    一、概述   Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。   用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。 &nbsp…

    Linux干货 2016-10-22
  • Redis应用场景

    1.  MySql+Memcached架构的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题: 1.MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据大量开发…

    Linux干货 2015-02-25
  • CentOS系统详解(启动流程、kickstart)&bash脚本编程之while/函数用法

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) 2、为运行于虚拟机上的CentOS 6添加一块新硬件,提供两个主分区; (1) 为硬盘新建两个主分区;并为其安装grub; (2) 为硬盘的第一个主分区提供内核和ramdisk文件; 为第二个分区提供rootfs; (3) 为rootfs提供bash、ls、cat程序及所依赖的库文件…

    Linux干货 2016-11-28

评论列表(1条)

  • 马哥教育
    马哥教育 2016-11-10 14:03

    写的挺详细的,在总结的过程中,类似命令的建议学习使用markdown 效果会更好.继续加油~