CentOS 7 目录操作命令
在 CentOS 7 系统中对目录操作的一些命令。
1. 创建目录
使用mkdir
命令,英文全称 make directory 。
创建一个
data
目录:mkdir /data
创建多层目录
使用
mkdir
命令,参数-p
创建多层目录。例如,使用一条命令创建
/data/test
目录,即创建/data/
目录和/data/test/
目录。[root@centos7 ~]# mkdir -p /data/test/
使用参数
-pv
创建多层目录,能够显示创建过程。[root@centos7 ~]# mkdir -pv /data/test/a/b/c/d/e/f/g/
mkdir: created directory ‘/data/test/a’
mkdir: created directory ‘/data/test/a/b’
mkdir: created directory ‘/data/test/a/b/c’
mkdir: created directory ‘/data/test/a/b/c/d’
mkdir: created directory ‘/data/test/a/b/c/d/e’
mkdir: created directory ‘/data/test/a/b/c/d/e/f’
mkdir: created directory ‘/data/test/a/b/c/d/e/f/g/’
[root@centos7 ~]#
2. 查看目录里面的内容
使用ls
命令。查看/data
目录里面的内容,例如:
ls /data
如果ls
命令不带参数,直接使用,则查看当前所在目录内容。
3. 查看目录里面的详细信息
ls -l /data
4. 进入到某一个目录
cd /data
5. 获取当前所在目录位置
pwd
6. 退出目录
使用cd ..
命令退出到上一级目录。
# 进入目录 /root/data/
[root@centos7 ~]# cd /root/data/
# 查看当前所在目录
[root@centos7 data]# pwd
/root/data
# 退出到上一级目录
[root@centos7 data]# cd ..
[root@centos7 ~]# pwd
/root
[root@centos7 ~]#
使用cd ../../../
命令退出多级目录。一个../
代表一级目录,多个代表多级目录。
从/data/
目录退出到/
根目录。
[root@centos7 ~]# cd /root/data/
[root@centos7 data]# cd ../../
[root@centos7 /]#
7. 复制文件或目录
使用cp
命令,英文全称为 copy 。
把
test.txt
文件,复制到/tmp/
目录。[root@centos7 ~]# cp /data/test.txt /tmp/
[root@centos7 ~]# ls -l /tmp/
total 16
-rw-r--r--. 1 root root 127 Apr 17 20:13 test.txt
-rw-------. 1 root root 0 Apr 10 20:12 yum.log
[root@centos7 ~]#
把
test.txt
文件,复制到当前所在目录,使用特殊符号.
代表当前目录。# 查看当前所在目录
[root@centos7 ~]# pwd
/root
# 复制 test.txt 文件到当前所在目录
[root@centos7 ~]# cp /root/data/test.txt .
# 查看当前所在目录文件列表
[root@centos7 ~]# ls -l
total 12
-rw-------. 1 root root 1707 Apr 10 20:32 anaconda-ks.cfg
drwxr-xr-x. 2 root root 4096 Apr 17 20:23 data
-rw-r--r--. 1 root root 127 Apr 18 11:18 test.txt
[root@centos7 ~]#
使用
cp
命令,备份文件。将test.txt
文件备份为test.txt.bak
。[root@centos7 ~]# cp /data/test.txt /data/test.txt.bak
[root@centos7 ~]# ls -l /data
total 12
-rw-r--r--. 1 root root 127 Apr 17 18:52 test.txt
-rw-r--r--. 1 root root 127 Apr 17 20:23 test.txt.bak
[root@centos7 ~]#
使用
cp -r
命令,复制目录。- 参数
-r
为递归复制。复制目录及目录里面的内容。 - 参数
-p
复制时保持文件属性不变。 - 参数
-a
为复制所有。与参数-pdr
等价。
将
/data/
目录复制到/tmp/
目录。[root@centos7 ~]# cp -r /data/ /tmp/
[root@centos7 ~]# ls -l /tmp/
total 20
drwxr-xr-x. 2 root root 4096 Apr 17 20:31 data
-rw-r--r--. 1 root root 127 Apr 17 20:13 test.txt
-rw-------. 1 root root 0 Apr 10 20:12 yum.log
[root@centos7 ~]#
8. 移动文件或目录
使用mv
命令,英文全称为 move 。
把
/data/
目录移动到/root/
目录。[root@centos7 ~]# mv /data/ /root/
[root@centos7 ~]# ls -l /root/
total 8
-rw-------. 1 root root 1707 Apr 10 20:32 anaconda-ks.cfg
drwxr-xr-x. 2 root root 4096 Apr 17 20:23 data
[root@centos7 ~]#
把
/data/
目录,移动到当前所在目录,使用特殊符号.
代表当前目录。# 查看当前所在目录
[root@centos7 ~]# pwd
/root
# 把 /data/ 目录,移动到当前所在目录。
[root@centos7 ~]# mv /data/ .
[root@centos7 ~]# ls -l
total 12
-rw-------. 1 root root 1707 Apr 10 20:32 anaconda-ks.cfg
drwxr-xr-x. 2 root root 4096 Apr 18 11:33 data
-rw-r--r--. 1 root root 127 Apr 18 11:18 test.txt
[root@centos7 ~]#
把
/root/test.txt
文件,移动到/root/data
目录下。使用特殊符号.
代表当前目录。[root@centos7 data]# pwd
/root/data
[root@centos7 data]# mv /root/test.txt .
[root@centos7 data]# ls -l
total 4
-rw-r--r--. 1 root root 127 Apr 18 11:18 test.txt
[root@centos7 data]#
9. 删除文件或目录
使用rm
命令删除文件或目录,默认无法删除目录,它的英文全称为 remove 。
参数 | 描述 |
---|---|
-r |
递归删除 |
-f |
强制删除 |
删除
/tmp/
目录下的test.txt
文件。[root@centos7 ~]# rm /tmp/test.txt
rm: remove regular file ‘/tmp/test.txt’? y
输入
y
确定删除。如果不想被询问是否删除,则加参数-f
删除文件。[root@centos7 ~]# rm -f /tmp/test.txt
使用
rm -rf
命令,删除/tmp/
目录下的/data/
目录。[root@centos7 ~]# rm -rf /tmp/data/
10. 查找文件或目录
使用find
命令,查找文件或目录。
参数 | 描述 |
---|---|
-type |
查找类型。f 为文件 file,d 为目录 directory 。 |
-name |
查找名称。可以使用 * 作为通配符,匹配名称。 |
在
/root/data/
目录中,查找test.txt
文件。如果找到了,则输出文件位置。没找到则无输出。[root@centos7 ~]# find /root/data/ -type f -name "test.txt"
/root/data/test.txt
[root@centos7 ~]#
在
/root/
目录中,查找名字为data
的目录。如果找到了,则输出目录位置。没找到则无输出。[root@centos7 ~]# find /root/ -type d -name "data"
/root/data
[root@centos7 ~]#
使用
*
作为通配符,匹配名称。[root@centos7 ~]# find /root/ -type d -name "dat*"
/root/data
[root@centos7 ~]#
find
命令与管道|
配合使用。管道的意思是,|
前面的命令执行成功后,交给后面的命令再执行。# 查找 *.txt 文件名,并显示详细列表。
[root@centos7 ~]# find /root/data/ -type f -name "*.txt"|xargs ls -l
-rw-r--r--. 1 root root 10 Apr 17 19:44 /root/data/num.txt
-rw-r--r--. 1 root root 127 Apr 17 18:52 /root/data/test.txt
# 查看两个文件内容
[root@centos7 ~]# find /root/data/ -type f -name "*.txt"|xargs cat
Hello sophia !
Hello abc!
Hello abc!
1 2 3 4 5
[root@centos7 ~]#
11. 修改目录名
例如:把/kibana-7.5.2-linux-x86_64/
目录重命名为/kibana-7.5.2/
。
注意,这是目录重命名,不是移动目录下的文件
可以使用mv
命令,必须保证/kibana-7.5.2/
目录是不存在的,正是因为目录不存在,所以在使用mv
命令时,直接重命名了该目录。
[root@node01]# mv /kibana-7.5.2-linux-x86_64/ /kibana-7.5.2
另外,重命名文件名称,也是可以使用mv
命令的。链接:修改文件名
(完)