CentOS 7 目录操作命令

[TOCM]

在 CentOS 7 系统中对目录操作的一些命令。

1. 创建目录


使用mkdir命令,英文全称 make directory 。

  • 创建一个data目录:

    1. mkdir /data
  • 创建多层目录

    使用mkdir命令,参数-p创建多层目录。

    例如,使用一条命令创建/data/test目录,即创建/data/目录和/data/test/目录。

    1. [root@centos7 ~]# mkdir -p /data/test/

    使用参数-pv创建多层目录,能够显示创建过程。

    1. [root@centos7 ~]# mkdir -pv /data/test/a/b/c/d/e/f/g/
    2. mkdir: created directory ‘/data/test/a
    3. mkdir: created directory ‘/data/test/a/b
    4. mkdir: created directory ‘/data/test/a/b/c
    5. mkdir: created directory ‘/data/test/a/b/c/d
    6. mkdir: created directory ‘/data/test/a/b/c/d/e
    7. mkdir: created directory ‘/data/test/a/b/c/d/e/f
    8. mkdir: created directory ‘/data/test/a/b/c/d/e/f/g/’
    9. [root@centos7 ~]#

2. 查看目录里面的内容


使用ls命令。查看/data目录里面的内容,例如:

  1. ls /data

如果ls命令不带参数,直接使用,则查看当前所在目录内容。

3. 查看目录里面的详细信息


  1. ls -l /data

4. 进入到某一个目录


  1. cd /data

5. 获取当前所在目录位置


  1. pwd

6. 退出目录


使用cd ..命令退出到上一级目录。

  1. # 进入目录 /root/data/
  2. [root@centos7 ~]# cd /root/data/
  3. # 查看当前所在目录
  4. [root@centos7 data]# pwd
  5. /root/data
  6. # 退出到上一级目录
  7. [root@centos7 data]# cd ..
  8. [root@centos7 ~]# pwd
  9. /root
  10. [root@centos7 ~]#

使用cd ../../../命令退出多级目录。一个../代表一级目录,多个代表多级目录。

/data/目录退出到/根目录。

  1. [root@centos7 ~]# cd /root/data/
  2. [root@centos7 data]# cd ../../
  3. [root@centos7 /]#

7. 复制文件或目录


使用cp命令,英文全称为 copy 。

  • test.txt文件,复制到/tmp/目录。

    1. [root@centos7 ~]# cp /data/test.txt /tmp/
    2. [root@centos7 ~]# ls -l /tmp/
    3. total 16
    4. -rw-r--r--. 1 root root 127 Apr 17 20:13 test.txt
    5. -rw-------. 1 root root 0 Apr 10 20:12 yum.log
    6. [root@centos7 ~]#
  • test.txt文件,复制到当前所在目录,使用特殊符号.代表当前目录。

    1. # 查看当前所在目录
    2. [root@centos7 ~]# pwd
    3. /root
    4. # 复制 test.txt 文件到当前所在目录
    5. [root@centos7 ~]# cp /root/data/test.txt .
    6. # 查看当前所在目录文件列表
    7. [root@centos7 ~]# ls -l
    8. total 12
    9. -rw-------. 1 root root 1707 Apr 10 20:32 anaconda-ks.cfg
    10. drwxr-xr-x. 2 root root 4096 Apr 17 20:23 data
    11. -rw-r--r--. 1 root root 127 Apr 18 11:18 test.txt
    12. [root@centos7 ~]#
  • 使用cp命令,备份文件。将test.txt文件备份为test.txt.bak

    1. [root@centos7 ~]# cp /data/test.txt /data/test.txt.bak
    2. [root@centos7 ~]# ls -l /data
    3. total 12
    4. -rw-r--r--. 1 root root 127 Apr 17 18:52 test.txt
    5. -rw-r--r--. 1 root root 127 Apr 17 20:23 test.txt.bak
    6. [root@centos7 ~]#

    使用cp -r命令,复制目录。

    • 参数 -r 为递归复制。复制目录及目录里面的内容。
    • 参数 -p 复制时保持文件属性不变。
    • 参数 -a 为复制所有。与参数 -pdr 等价。
  • /data/目录复制到/tmp/目录。

    1. [root@centos7 ~]# cp -r /data/ /tmp/
    2. [root@centos7 ~]# ls -l /tmp/
    3. total 20
    4. drwxr-xr-x. 2 root root 4096 Apr 17 20:31 data
    5. -rw-r--r--. 1 root root 127 Apr 17 20:13 test.txt
    6. -rw-------. 1 root root 0 Apr 10 20:12 yum.log
    7. [root@centos7 ~]#

8. 移动文件或目录


使用mv命令,英文全称为 move 。

  • /data/目录移动到/root/目录。

    1. [root@centos7 ~]# mv /data/ /root/
    2. [root@centos7 ~]# ls -l /root/
    3. total 8
    4. -rw-------. 1 root root 1707 Apr 10 20:32 anaconda-ks.cfg
    5. drwxr-xr-x. 2 root root 4096 Apr 17 20:23 data
    6. [root@centos7 ~]#
  • /data/目录,移动到当前所在目录,使用特殊符号.代表当前目录。

    1. # 查看当前所在目录
    2. [root@centos7 ~]# pwd
    3. /root
    4. # 把 /data/ 目录,移动到当前所在目录。
    5. [root@centos7 ~]# mv /data/ .
    6. [root@centos7 ~]# ls -l
    7. total 12
    8. -rw-------. 1 root root 1707 Apr 10 20:32 anaconda-ks.cfg
    9. drwxr-xr-x. 2 root root 4096 Apr 18 11:33 data
    10. -rw-r--r--. 1 root root 127 Apr 18 11:18 test.txt
    11. [root@centos7 ~]#
  • /root/test.txt文件,移动到/root/data目录下。使用特殊符号.代表当前目录。

    1. [root@centos7 data]# pwd
    2. /root/data
    3. [root@centos7 data]# mv /root/test.txt .
    4. [root@centos7 data]# ls -l
    5. total 4
    6. -rw-r--r--. 1 root root 127 Apr 18 11:18 test.txt
    7. [root@centos7 data]#

9. 删除文件或目录


使用rm命令删除文件或目录,默认无法删除目录,它的英文全称为 remove 。

参数 描述
-r 递归删除
-f 强制删除
  • 删除/tmp/目录下的test.txt文件。

    1. [root@centos7 ~]# rm /tmp/test.txt
    2. rm: remove regular file ‘/tmp/test.txt’? y

    输入y确定删除。如果不想被询问是否删除,则加参数-f删除文件。

    1. [root@centos7 ~]# rm -f /tmp/test.txt
  • 使用rm -rf命令,删除/tmp/目录下的/data/目录。

    1. [root@centos7 ~]# rm -rf /tmp/data/

10. 查找文件或目录


使用find命令,查找文件或目录。

参数 描述
-type 查找类型。f 为文件 file,d 为目录 directory 。
-name 查找名称。可以使用 * 作为通配符,匹配名称。
  • /root/data/目录中,查找test.txt文件。如果找到了,则输出文件位置。没找到则无输出。

    1. [root@centos7 ~]# find /root/data/ -type f -name "test.txt"
    2. /root/data/test.txt
    3. [root@centos7 ~]#
  • /root/目录中,查找名字为data的目录。如果找到了,则输出目录位置。没找到则无输出。

    1. [root@centos7 ~]# find /root/ -type d -name "data"
    2. /root/data
    3. [root@centos7 ~]#
  • 使用*作为通配符,匹配名称。

    1. [root@centos7 ~]# find /root/ -type d -name "dat*"
    2. /root/data
    3. [root@centos7 ~]#
  • find命令与管道|配合使用。管道的意思是,|前面的命令执行成功后,交给后面的命令再执行。

    1. # 查找 *.txt 文件名,并显示详细列表。
    2. [root@centos7 ~]# find /root/data/ -type f -name "*.txt"|xargs ls -l
    3. -rw-r--r--. 1 root root 10 Apr 17 19:44 /root/data/num.txt
    4. -rw-r--r--. 1 root root 127 Apr 17 18:52 /root/data/test.txt
    5. # 查看两个文件内容
    6. [root@centos7 ~]# find /root/data/ -type f -name "*.txt"|xargs cat
    7. Hello sophia !
    8. Hello abc!
    9. Hello abc!
    10. 1 2 3 4 5
    11. [root@centos7 ~]#

11. 修改目录名


例如:把/kibana-7.5.2-linux-x86_64/目录重命名为/kibana-7.5.2/

注意,这是目录重命名,不是移动目录下的文件

可以使用mv命令,必须保证/kibana-7.5.2/目录是不存在的,正是因为目录不存在,所以在使用mv命令时,直接重命名了该目录。

  1. [root@node01]# mv /kibana-7.5.2-linux-x86_64/ /kibana-7.5.2

另外,重命名文件名称,也是可以使用mv命令的。链接:修改文件名

(完)