2.6相对和绝对路径
找文件需要路径。比如网卡的配置文件是ifcfg-ens33,但是它所在路径是:/etc/sysconfig/network-scripts/ifcfg-ens33。其他文件也是一样的。
任何文件都是从根目录开始的
相对路径:相对于你当前所在目录的路径
绝对路径:从根目录开始的路径
[root@localhost ~]# pwd //“pwd” 输出当前所在工作目录
/root
[root@localhost ~]# ls .ssh/authorized_keys //相对路径,相对/root目录
.ssh/authorized_keys
[root@localhost ~]# cd / //"cd" change directory,切换目录
[root@localhost /]# ls /root/.ssh/authorized_keys //绝对路径,以根目录开始
/root/.ssh/authorized_keys
2.7cd命令
[root@localhost /]# cd - //“cd -” :此命令用法,切换到上次所在工作目录。
/root
[root@localhost ~]# cd -
/
[root@localhost /]# pwd
/
[root@localhost /]# cd //"cd":此命令后不加任何参数,表示切换到当前登陆用户的家目录
[root@localhost ~]# pwd
/root
[root@localhost ~]# cd ~ //"cd ~":跟上面的命令含义是相同的,当前登陆用户的家目录
[xiao@localhost ~]$ cd .. //切换到当前目录的上一级目录。最多返回到根目录
可以使用man命令查看关于cd命令的相关参数。
2.8创建和删除目录mkdir,rmdir
mkdir=make directory
[root@localhost ~]# mkdir /tmp/test
[root@localhost ~]# ls -ld /tmp/test/
drwxr-xr-x. 2 root root 6 6月 2 20:35 /tmp/test/
[root@localhost ~]# mkdir /tmp/test/1/2/3 //test目录下没有1,2目录,所以无法创建3目录
mkdir: 无法创建目录"/tmp/test/1/2/3": 没有那个文件或目录
对于这种嵌套的目录,可以使用选项-p实现一次性创建。
[root@localhost ~]# mkdir -p /tmp/test/1/2/3
[root@localhost ~]# tree /tmp/test/
/tmp/test/
└── 1
└── 2
└── 3
3 directories, 0 files
[root@localhost ~]# mkdir -pv /tmp/test/2/3/4 //还可以添加-v选项,可视化过程。
mkdir: 已创建目录 "/tmp/test/2"
mkdir: 已创建目录 "/tmp/test/2/3"
mkdir: 已创建目录 "/tmp/test/2/3/4"
删除目录rmdir:remove directory
[root@localhost ~]# rmdir /tmp/test/1/ //但是,只能删除空目录。
rmdir: 删除 "/tmp/test/1/" 失败: 目录非空
[root@localhost ~]# tree /tmp/test/
/tmp/test/
├── 1
│ ├── 2
│ │ └── 3
│ ├── 4
│ └── 5
├── 2
└── 3
└── 4
[root@localhost ~]# rmdir -pv /tmp/test/1/2/3 //此选项很危险,一般不使用。
rmdir: 正在删除目录 "/tmp/test/1/2/3"
rmdir: 正在删除目录 "/tmp/test/1/2"
rmdir: 正在删除目录 "/tmp/test/1"
rmdir: 删除目录 "/tmp/test/1" 失败: 目录非空
[root@localhost ~]# tree /tmp/test/
/tmp/test/
├── 1
│ ├── 4
│ └── 5
├── 2
└── 3
└── 4
2.9 rm命令
rmdir比较有局限性,只能删除目录,且必须是空目录
rm = remove
[root@localhost ~]# ls /tmp/test/1/a.txt
/tmp/test/1/a.txt
[root@localhost ~]# rm /tmp/test/1/a.txt //删除文件,会询问,y代表确定删除。
rm:是否删除普通空文件 "/tmp/test/1/a.txt"?y
[root@localhost ~]# ls /tmp/test/1/
4 5 a.txt b.txt
[root@localhost ~]# rm /tmp/test/1/*.txt //这里使用了星号通配符,代表匹配任意多个字符,不过后面要以“.txt”结尾。
rm:是否删除普通空文件 "/tmp/test/1/a.txt"?n //n代表no,不删除。如果删除很多文件,这样
rm:是否删除普通空文件 "/tmp/test/1/b.txt"?n //问肯定不方便
[root@localhost ~]# rm -fv /tmp/test/1/*.txt //-f,强制删除。不询问是否删除
已删除"/tmp/test/1/a.txt"
已删除"/tmp/test/1/b.txt"
[root@localhost ~]# history //查看历史使用过的命令。
1 ip ad
......
128 touch /tmp/test/1/{a,b}.txt
129 ls /tmp/test/1/
130 rm /tmp/test/1/*.txt
131 rm -fv/tmp/test/1/*.txt
132 rm -fv /tmp/test/1/*.txt
133 history
[root@localhost ~]# !touch //这使用“!”调用历史命令中最近一条使用过的该命令
touch /tmp/test/1/{a,b}.txt //提高命令执行效率。
[root@localhost ~]# rm /tmp/test/1/ //无法使用rm直接删除目录,需要借助其他选项
rm: 无法删除"/tmp/test/1/": 是一个目录
[root@localhost ~]# rm -r /tmp/test/1/ //还是会显示删除过程,以及删除的提示,需要选择
rm:是否进入目录"/tmp/test/1/"? y
rm:是否删除目录 "/tmp/test/1/4"?y
rm:是否删除目录 "/tmp/test/1/"?y
[root@localhost ~]# rm -rfv /tmp/test/2 //使用-f强制删除选项。并且删除目录前会把其下子目录子文件先删除。
已删除目录:"/tmp/test/2/3/4"
已删除目录:"/tmp/test/2/3"
已删除目录:"/tmp/test/2"
并且,如果删除一个本来就没有的文件,那么-f选项会导致没有报错提示。
[root@localhost ~]# rm /tmp/test/2
rm: 无法删除"/tmp/test/2": 没有那个文件或目录
[root@localhost ~]# rm -rfv /tmp/test/2
[root@localhost ~]# echo $?
0
阅读(960) | 评论(0) | 转发(0) |