Linux常用命令——目录处理命令
1、建立目录:mkdir
mkdir -p [目录名] -p 递归创建 命令英文原意:make directories
实例:
[root@localhost ~]# ls anaconda-ks.cfg binaries binaries.tar.gz initial-setup-ks.cfg [root@localhost ~]# mkdir test --创建test目录可以成功创建 [root@localhost ~]# ls anaconda-ks.cfg binaries binaries.tar.gz initial-setup-ks.cfg test [root@localhost ~]# mkdir test1/test2 --当前目录下既没有test1,也没有test2,无法成功创建 mkdir: 无法创建目录"test1/test2": 没有那个文件或目录 [root@localhost ~]# mkdir -p test1/test2 --使用-p,进行递归创建 [root@localhost ~]# ls anaconda-ks.cfg binaries binaries.tar.gz initial-setup-ks.cfg test test1 [root@localhost ~]# ls test1 test2
2、切换目录:cd
cd [目录] 命令英文原意:change directory 简化操作 cd ~ 进入当前用户的家目录 cd 进入当前用户的家目录 cd - 进入上次目录 cd .. 进入上一级目录 cd . 进入当前目录
绝对路径和相对路径
相对路径:参照当前所在目录进行查找
[root@localhost ~]# cd ../usr/local/src/ [root@localhost src]# cd ../usr/local/src/ --相对路径是参照当前所在目录进行查找,当前所在位置发生改变后之前的命令不一定可以执行 -bash: cd: ../usr/local/src/: 没有那个文件或目录
绝对路径:从根目录开始指定,一级一级递归查找。在任何目录下,都能进入指定位置
[root@localhost ~]# cd /etc/ [root@localhost etc]# cd /etc/
3、查询所在目录位置:pwd
pwd 命令英文原意:print working directory
[root@localhost etc]# pwd /etc
4、删除空目录:rmdir
rmdir [目录名] 命令英文原意:remove empty directories
实例:
[root@localhost ~]# ls anaconda-ks.cfg binaries binaries.tar.gz initial-setup-ks.cfg test test1 [root@localhost ~]# rmdir test [root@localhost ~]# ls anaconda-ks.cfg binaries binaries.tar.gz initial-setup-ks.cfg test1 [root@localhost ~]# rmdir test1 --rmdir只能删除空目录,如果目录下有子文件就无法删除 rmdir: 删除 "test1" 失败: 目录非空
5、删除文件或目录:rm
rm -rf [文件或目录] 命令英文原意:remove 选项: -r 删除目录 -f 强制
实例:
rm
[root@localhost ~]# touch test3 [root@localhost ~]# ls anaconda-ks.cfg binaries binaries.tar.gz initial-setup-ks.cfg test1 test3 [root@localhost ~]# rm test3 rm:是否删除普通空文件 "test3"?y [root@localhost ~]# ls anaconda-ks.cfg binaries binaries.tar.gz initial-setup-ks.cfg test1
rm -r
[root@localhost ~]# ls anaconda-ks.cfg binaries binaries.tar.gz initial-setup-ks.cfg test1 [root@localhost ~]# rm -r test1 rm:是否进入目录"test1"? y rm:是否删除目录 "test1/test2"?y rm:是否删除目录 "test1"?y
rm -rf (执行-rf必须知道要删的东西是什么,删了就是删了,找不回来了,甚至Linux可以识别 rm -rf / 的命令)
[root@localhost ~]# mkdir -p test1/test2 [root@localhost ~]# rm -rf test1 [root@localhost ~]# ls anaconda-ks.cfg binaries binaries.tar.gz initial-setup-ks.cfg
6、复制命令:cp
cp [选项] [原文件或目录] [目标目录] 命令英文原意:copy 选项: -r 复制目录 -p 连带文件属性复制 -d 若源文件是链接文件,则复制链接属性 -a 相当于 -pdr
实例:
cp
[root@localhost ~]# cp anaconda-ks.cfg /tmp/ana [root@localhost ~]# ls /tmp/ ana
cp -r
[root@localhost ~]# ls anaconda-ks.cfg binaries binaries.tar.gz initial-setup-ks.cfg test1 [root@localhost ~]# cp test1/ /tmp/ cp: 略过目录"test1/" [root@localhost ~]# cp -r test1/ /tmp/ [root@localhost ~]# ls /tmp/ ana test1
cp -a
[root@localhost ~]# ll 总用量 20172 -rw-------. 1 root root 2165 5月 13 16:15 anaconda-ks.cfg drwxr-xr-x. 14 501 games 175 6月 17 2017 binaries -rw-r--r--. 1 root root 20647102 6月 22 2017 binaries.tar.gz -rw-r--r--. 1 root root 2213 5月 13 16:17 initial-setup-ks.cfg drwxr-xr-x. 3 root root 19 6月 15 16:24 test1 [root@localhost ~]# ll /tmp/ 总用量 216 -rw-------. 1 root root 2165 6月 15 16:22 ana drwxr-xr-x. 3 root root 19 6月 15 16:25 test1 [root@localhost ~]# date 2019年 06月 15日 星期六 16:45:11 CST [root@localhost ~]# cp -a anaconda-ks.cfg /tmp/ [root@localhost ~]# ll /tmp/ 总用量 220 -rw-------. 1 root root 2165 6月 15 16:22 ana -rw-------. 1 root root 2165 5月 13 16:15 anaconda-ks.cfg drwxr-xr-x. 3 root root 19 6月 15 16:25 test1
7、剪切或改名命令:mv
mv [原文件或目录] [目标目录] 命令英文原意:move
实例:
[root@localhost ~]# mv test1/ /tmp/test3 --复制目录的时候不需要加-r [root@localhost ~]# ls /tmp/ ana anaconda-ks.cfg test1 test3
[root@localhost ~]# mkdir -p test1/test2 [root@localhost ~]# ls anaconda-ks.cfg binaries binaries.tar.gz initial-setup-ks.cfg test1 [root@localhost ~]# mv test1/ test123 --源文件和目标文件在同一目录下为改名命令 [root@localhost ~]# ls anaconda-ks.cfg binaries binaries.tar.gz initial-setup-ks.cfg test123
mv命令移动文件时文件属性不会发生任何改变。