常用目录管理命令简介

常用目录管理命令简介

ls

ls命令用来显示目标列表,在Linux中是使用率较高的命令

语法

    ls(选项)(参数)

选项

    -a:显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为影藏,不会列出);
    -A:显示除影藏文件“.”和“..”以外的所有文件列表;
    -C:多列显示输出结果。这是默认选项;
    -l:与“-C”选项功能相反,所有输出信息用单列格式输出,不输出为多列;
    -F:在每个输出项后追加文件的类型标识符,具体含义:“*”表示具有可执行权限的普通文件,“/”表示目录,“@”表示符号链接,“|”表示命令管道FIFO,“=”表示sockets套接字。当文件为普通文件时,不输出任何标识符;
    -b:将文件中的不可输出的字符以反斜线“”加字符编码的方式输出;
    -c:与“-lt”选项连用时,按照文件状态时间排序输出目录内容,排序的依据是文件的索引节点中的ctime字段。与“-l”选项连用时,则排序的一句是文件的状态改变时间;
    -d:仅显示目录名,而不显示目录下的内容列表。显示符号链接文件本身,而不显示其所指向的目录列表;
    -f:此参数的效果和同时指定“aU”参数相同,并关闭“lst”参数的效果;
    -i:显示文件索引节点号(inode)。一个索引节点代表一个文件;
    --file-type:与“-F”选项的功能相同,但是不显示“*”;
    -k:以KB(千字节)为单位显示文件大小;
    -l:以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等;
    -m:用“,”号区隔每个文件和目录的名称;
    -n:以用户识别码和群组识别码替代其名称;
    -r:以文件名反序排列并输出目录内容列表;
    -s:显示文件和目录的大小,以区块为单位;
    -t:用文件和目录的更改时间排序;
    -L:如果遇到性质为符号链接的文件或目录,直接列出该链接所指向的原始文件或目录;
    -R:递归处理,将指定目录下的所有文件及子目录一并处理;
    --full-time:列出完整的日期与时间;
    --color[=WHEN]:使用不同的颜色高亮显示不同类型的。

参数

目录:指定要显示列表的目录,也可以是具体的文件。

实例

  • 显示当前目录下非隐藏的文件和目录

    [root@localhost ~]# ls
    anaconda-ks.cfg
    
  • 显示当前目录下包括隐藏文件在内的所有文件列表

    [root@localhost ~]# ls -a
    .   anaconda-ks.cfg  .bash_history  .bash_profile  .cshrc  .tcshrc
    ..  .ansible         .bash_logout   .bashrc        .ssh    .viminfo
    
  • 输出长格式列表

    [root@localhost /]# ls -1
    bin
    boot
    dev
    etc
    home
    host
    lib
    lib64
    media
    mnt
    opt
    proc
    root
    run
    sbin
    srv
    sys
    tmp
    usr
    var
    
  • 水平输出文件列表

    [root@localhost /]# ls -m
    bin, boot, dev, etc, home, host, lib, lib64, media, mnt, opt, proc, root, run, sbin, srv, sys, tmp, usr, var
    
  • 把最有一次修改的文件显示在最前面

    [root@localhost /]# ls -t
    tmp  run  etc  dev  sys  var  proc  home  root  host  boot  usr  lib  lib64  sbin  bin  media  mnt  opt  srv
    
  • 递归显示文件

    [root@localhost tmp]# ls 
    systemd-private-59930535793f4514b31cff7876809a91-vmtoolsd.service-L90K2T
    systemd-private-e4deb1594eee4ad9aff177dff99659f2-vmtoolsd.service-E494pY
    [root@localhost tmp]# ls -R
    .:
    systemd-private-59930535793f4514b31cff7876809a91-vmtoolsd.service-L90K2T
    systemd-private-e4deb1594eee4ad9aff177dff99659f2-vmtoolsd.service-E494pY
    
    ./systemd-private-59930535793f4514b31cff7876809a91-vmtoolsd.service-L90K2T:
    tmp
    
    ./systemd-private-59930535793f4514b31cff7876809a91-vmtoolsd.service-L90K2T/tmp:
    vmware-root
    
    ./systemd-private-59930535793f4514b31cff7876809a91-vmtoolsd.service-L90K2T/tmp/vmware-root:
    
    ./systemd-private-e4deb1594eee4ad9aff177dff99659f2-vmtoolsd.service-E494pY:
    tmp
    
    ./systemd-private-e4deb1594eee4ad9aff177dff99659f2-vmtoolsd.service-E494pY/tmp:
    vmware-root
    
    ./systemd-private-e4deb1594eee4ad9aff177dff99659f2-vmtoolsd.service-E494pY/tmp/vmware-root:
    
  • 打印文件的UID和GID

    [root@localhost /]# ls -n
    total 20
    lrwxrwxrwx.   1 0 0    7 Dec 23 22:03 bin -> usr/bin
    dr-xr-xr-x.   4 0 0 4096 Dec 23 22:08 boot
    drwxr-xr-x.  20 0 0 3220 Mar 11 19:10 dev
    drwxr-xr-x.  79 0 0 8192 Mar 11 19:10 etc
    drwxr-xr-x.  10 0 0  140 Mar 11 06:28 home
    -rw-r--r--.   1 0 0   67 Dec 31 20:03 host
    lrwxrwxrwx.   1 0 0    7 Dec 23 22:03 lib -> usr/lib
    lrwxrwxrwx.   1 0 0    9 Dec 23 22:03 lib64 -> usr/lib64
    drwxr-xr-x.   2 0 0    6 Nov  5  2016 media
    drwxr-xr-x.   2 0 0    6 Nov  5  2016 mnt
    drwxr-xr-x.   2 0 0    6 Nov  5  2016 opt
    dr-xr-xr-x. 107 0 0    0 Mar 11 19:10 proc
    dr-xr-x---.   4 0 0  179 Jan 25 23:13 root
    drwxr-xr-x.  22 0 0  660 Mar 11 19:11 run
    lrwxrwxrwx.   1 0 0    8 Dec 23 22:03 sbin -> usr/sbin
    drwxr-xr-x.   2 0 0    6 Nov  5  2016 srv
    dr-xr-xr-x.  13 0 0    0 Mar 11 19:10 sys
    drwxrwxrwt.   9 0 0  253 Mar 11 19:11 tmp
    drwxr-xr-x.  13 0 0  155 Dec 23 22:03 usr
    drwxr-xr-x.  19 0 0  267 Mar 11 19:10 var
    
  • 列出文件和文件夹的详细信息

    [root@localhost /]# ls -l
    total 20
    lrwxrwxrwx.   1 root root    7 Dec 23 22:03 bin -> usr/bin
    dr-xr-xr-x.   4 root root 4096 Dec 23 22:08 boot
    drwxr-xr-x.  20 root root 3220 Mar 11 19:10 dev
    drwxr-xr-x.  79 root root 8192 Mar 11 19:10 etc
    drwxr-xr-x.  10 root root  140 Mar 11 06:28 home
    -rw-r--r--.   1 root root   67 Dec 31 20:03 host
    lrwxrwxrwx.   1 root root    7 Dec 23 22:03 lib -> usr/lib
    lrwxrwxrwx.   1 root root    9 Dec 23 22:03 lib64 -> usr/lib64
    drwxr-xr-x.   2 root root    6 Nov  5  2016 media
    drwxr-xr-x.   2 root root    6 Nov  5  2016 mnt
    drwxr-xr-x.   2 root root    6 Nov  5  2016 opt
    dr-xr-xr-x. 107 root root    0 Mar 11 19:10 proc
    dr-xr-x---.   4 root root  179 Jan 25 23:13 root
    drwxr-xr-x.  22 root root  660 Mar 11 19:11 run
    lrwxrwxrwx.   1 root root    8 Dec 23 22:03 sbin -> usr/sbin
    drwxr-xr-x.   2 root root    6 Nov  5  2016 srv
    dr-xr-xr-x.  13 root root    0 Mar 11 19:10 sys
    drwxrwxrwt.   9 root root  253 Mar 11 19:11 tmp
    drwxr-xr-x.  13 root root  155 Dec 23 22:03 usr
    drwxr-xr-x.  19 root root  267 Mar 11 19:10 var
    
  • 按时间列出文件和文件夹详细信息

    [root@localhost /]# ls -lt
    total 20
    drwxrwxrwt.   9 root root  253 Mar 11 19:11 tmp
    drwxr-xr-x.  22 root root  660 Mar 11 19:11 run
    drwxr-xr-x.  79 root root 8192 Mar 11 19:10 etc
    drwxr-xr-x.  20 root root 3220 Mar 11 19:10 dev
    dr-xr-xr-x.  13 root root    0 Mar 11 19:10 sys
    drwxr-xr-x.  19 root root  267 Mar 11 19:10 var
    dr-xr-xr-x. 107 root root    0 Mar 11 19:10 proc
    drwxr-xr-x.  10 root root  140 Mar 11 06:28 home
    dr-xr-x---.   4 root root  179 Jan 25 23:13 root
    -rw-r--r--.   1 root root   67 Dec 31 20:03 host
    dr-xr-xr-x.   4 root root 4096 Dec 23 22:08 boot
    drwxr-xr-x.  13 root root  155 Dec 23 22:03 usr
    lrwxrwxrwx.   1 root root    7 Dec 23 22:03 lib -> usr/lib
    lrwxrwxrwx.   1 root root    9 Dec 23 22:03 lib64 -> usr/lib64
    lrwxrwxrwx.   1 root root    8 Dec 23 22:03 sbin -> usr/sbin
    lrwxrwxrwx.   1 root root    7 Dec 23 22:03 bin -> usr/bin
    drwxr-xr-x.   2 root root    6 Nov  5  2016 media
    drwxr-xr-x.   2 root root    6 Nov  5  2016 mnt
    drwxr-xr-x.   2 root root    6 Nov  5  2016 opt
    drwxr-xr-x.   2 root root    6 Nov  5  2016 srv
    

cd

cd命令用来切换工作目录至dirname,其中dirName表示法可为绝对路径或相对路径。

语法

    cd (选项) (参数)

选项

    -p 如果要切换到的目标目录是一个符号连接,直接切换到符号连接指向的目标目录
    -L 如果要切换的目标目录是一个符号的连接,直接切换到字符连接名代表的目录,而非符号连接所指向的目标目录。
    - 当仅实用"-"一个选项时,当前工作目录将被切换到环境变量"OLDPWD"所表示的目录。

实例

    cd    进入用户主目录;
    cd ~  进入用户主目录;
    cd -  返回进入此目录之前所在的目录;
    cd ..  返回上级目录(若当前目录为“/“,则执行完后还在“/";".."为上级目录的意思);
    cd ../..  返回上两级目录;
    cd !$  把上个命令的参数作为cd参数使用。

pwd

pwd命令以绝对路径的方式显示用户当前工作目录。

语法

pwd(选项)

选项

--help:显示帮助信息;
--version:显示版本信息。

实例

[root@localhost test]# pwd
/tmp/test

mkdir

mkdir命令用来创建目录。

语法

    mkdir (选项)(参数)

选项

    -Z:设置安全上下文,当使用SELinux时有效;
    -m<目标属性>或--mode<目标属性>建立目录的同时设置目录的权限;
    -p或--parents 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录;
    --version 显示版本信息。

参数

目录:指定要创建的目录列表,多个目录之间用空格隔开。

实例

  • 创建多级目录

    [root@localhost tmp]# mkdir -p test/test1/test2
    [root@localhost tmp]# tree test
    test
    └── test1
        └── test2
    
    2 directories, 0 files
    
  • 创建权限为711的目录

    [root@localhost tmp]# ls -l | grep test4
    drwx--x--x. 2 root root   40 3月  26 10:44 test4
    

rmdir

rmdir命令用来删除空目录

语法

rmdir(选项)(参数)

选项

    -p或--parents:删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除;
    --ignore-fail-on-non-empty:此选项使rmdir命令忽略由于删除非空目录时导致的错误信息;
    -v或-verboes:显示命令的详细执行过程;
    --help:显示命令的帮助信息;
    --version:显示命令的版本信息。

参数

目录列表:要删除的空目录列表。当删除多个空目录时,目录名之间使用空格隔

实例

rmdir -p 当子目录被删除后使它也成为空目录的话,则顺便一并删除。

[root@localhost tmp]# rmdir -p test/test1/test2
[root@localhost tmp]# ll
总用量 4
drwxr-xr-x. 3 root root 4096 3月  21 15:20 mydata7
drwx------. 3 root root   60 3月  26 10:34 systemd-private-21f404b7890b4f50aa66892aea2623b9-vmtoolsd.service-T2KgWt

cp

cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。

语法

    cp(选项)(参数)

选项

    -a:此参数的效果和同时指定"-dpR"参数相同;
    -d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
    -f:强行复制文件或目录,不论目标文件或目录是否已存在;
    -i:覆盖既有文件之前先询问用户;
    -l:对源文件建立硬连接,而非复制文件;
    -p:保留源文件或目录的属性;
    -R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
    -s:对源文件建立符号连接,而非复制文件;
    -u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
    -S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
    -b:覆盖已存在的文件目标前将目标文件备份;
    -v:详细显示命令执行的操作。

参数

  • 源文件:制定源文件列表。默认情况下,cp命令不能复制目录,如果要复制目录,则必须使用-R选项;
  • 目标文件:指定目标文件。当“源文件”为多个文件时,要求“目标文件”为指定的目录。

实例

  • 递归复制,把文件夹下所有的文件复制到目标目录

    [root@localhost ~]# cp -r  /etc/yum.repos.d/ /tmp/test
    [root@localhost ~]# tree /tmp/test
    /tmp/test
    ├── CentOS-Base.repo
    ├── CentOS-CR.repo
    ├── CentOS-Debuginfo.repo
    ├── CentOS-fasttrack.repo
    ├── CentOS-Media.repo
    ├── CentOS-Sources.repo
    ├── CentOS-Vault.repo
    └── epel.repo
    

-复制文件夹下所有文件,包括隐藏文件

    [root@localhost yum.repos.d]# cp -r /etc/skel/. /tmp/test
    [root@localhost yum.repos.d]# ll -a /tmp/test
    总用量 44
    drwxr-xr-x.  3 root root  280 3月  26 11:00 .
    drwxrwxrwt. 10 root root  200 3月  26 10:50 ..
    -rw-r--r--.  1 root root   18 3月  26 11:00 .bash_logout
    -rw-r--r--.  1 root root  193 3月  26 11:00 .bash_profile
    -rw-r--r--.  1 root root  231 3月  26 11:00 .bashrc
    -rw-r--r--.  1 root root 1664 3月  26 10:50 CentOS-Base.repo
    -rw-r--r--.  1 root root 1309 3月  26 10:50 CentOS-CR.repo
    -rw-r--r--.  1 root root  649 3月  26 10:50 CentOS-Debuginfo.repo
    -rw-r--r--.  1 root root  314 3月  26 10:50 CentOS-fasttrack.repo
    -rw-r--r--.  1 root root  630 3月  26 10:50 CentOS-Media.repo
    -rw-r--r--.  1 root root 1331 3月  26 10:50 CentOS-Sources.repo
    -rw-r--r--.  1 root root 2893 3月  26 10:50 CentOS-Vault.repo
    -rw-r--r--.  1 root root 1084 3月  26 10:50 epel.repo
  • 取消覆盖确认,默认覆盖需要确认

    [root@localhost ~]# alias 
    alias cp='cp -i'
    
    [root@localhost ~]# \cp -r /etc/yum.repos.d/* /tmp/test
    

mv

mv命令用来

  • 对文件或目录重新命名
  • 或者将文件从一个目录移到另一个目录中。

语法

    mv(选项)(参数)

选项

    --backup=<备份模式>:若需覆盖文件,则覆盖前先行备份;
    -b:当文件存在时,覆盖前,为其创建一个备份;
    -f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录;
    -i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。
    --strip-trailing-slashes:删除源文件中的斜杠“/”;
    -S<后缀>:为备份文件指定后缀,而不使用默认的后缀;
    --target-directory=<目录>:指定源文件要移动到目标目录;
    -u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。

参数

  • 源文件:源文件列表。
  • 目标文件:如果“目标文件”是文件名则在移动文件的同时,将其改名为“目标文件”;如果“目标文件”是目录名则将源文件移动到“目标文件”下。

实例

  • 复制整个目录到目标目录下

    [root@localhost ~]# mv /tmp/test /tmp/test2
    
  • 复制目录下所有文件到目标目录下

    [root@localhost tmp]# mv /tmp/test/* /tmp/test2
    
  • 修改目录名称

    [root@localhost tmp]# mv /tmp/test2 /tmp/test1
    
  • 修改文件名称

    [root@localhost test1]# mv CentOS-Base.repo CentOS-Base.repo.bak
    

rm

rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。

使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复它。

语法

rm (选项)(参数

选项

-d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;
-f:强制删除文件或目录;
-i:删除已有文件或目录之前先询问用户;
-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;
--preserve-root:不对根目录进行递归操作;
-v:显示指令的详细执行过程。

参数

文件:指定被删除的文件列表,如果参数中含有目录,则必须加上-r或者-R选项。

实例

rm -i 目录名 删除时,会提示是否删除

rm -rf 目录名 强制删除目录及子目录的所有文件

你可能感兴趣的:(linux)