概念
绝对路径与相对路径
比如,我们在root目录下新建一个mulu1文件夹,想要进到mulu1文件夹,有几种写法呢
1、cd /root/mulu1
2、cd mulu1
3、cd ./mulu1/
第一种写法就是绝对路径
,第三种写法就是相对路径
,绝对路径可以理解为完整路径。还有同学会写成cd /mulu1/
,这个写法是错误的
ls
列出目录下文件夹或文件
语法:
ls -选项 目录名称
选项 | 描述 |
---|---|
-a | 列出目录下所有文件夹和文件,包括隐藏文件 |
-l | 列出目录下文件夹和文件的详细内容,比如权限等 |
- 列出目录下的文件
[root@kenvie ~]# ls
file1 md1
- 列出目录下所有文件,包括隐藏文件
[root@kenvie ~]# ls -a
. .bash_logout .cache file1 .pip .rnd .viminfo
.. .bash_profile .config .lesshst .pki .ssh
.bash_history .bashrc .cshrc md1 .pydistutils.cfg .tcshrc
- 列出目录下文件夹和文件的详细内容
[root@kenvie ~]# ls -l
total 4
-rw-r--r-- 1 root root 0 Oct 29 20:50 file1
drwxr-xr-x 2 root root 4096 Oct 29 20:50 md1
cd
cd是Change Directory的缩写,这是用来切换目录的命令。
语法:
cd 路径
- 使用绝对路径进入md1目录
[root@kenvie ~]# cd /root/md1
[root@kenvie md1]# pwd
/root/md1
- 使用相对路径进入md1目录
[root@kenvie ~]# cd ./md1
[root@kenvie md1]# pwd
/root/md1
- 从任意目录返回家目录(root目录)
[root@kenvie md1]# cd
[root@kenvie ~]# pwd
/root
- 回到上层目录,现在在md1文件夹中,想回到root目录
[root@kenvie md1]# pwd
/root/md1
[root@kenvie md1]# cd ..
[root@kenvie ~]# pwd
/root
pwd
pwd 是 Print Working Directory 的缩写,显示现在所在文件夹的路径。
我在root目录下的md1文件夹下
[root@kenvie md1]# pwd
/root/md1
mkdir
创建文件夹,mkdir(make directory)
语法:
mkdir -选项 文件夹名
- 创建一个名为kenvie的文件夹
[root@kenvie ~]# mkdir kenvie
[root@kenvie ~]# ls
kenvie
- 递归创建test1/test2/test3/test4文件夹
加了这个 -p 的选项,可以自行帮你创建多层目录!
[root@kenvie ~]# mkdir test1/test2/test3/test4
mkdir: cannot create directory ‘test1/test2/test3/test4’: No such file or directory <==无法创建
[root@kenvie ~]# mkdir -p test1/test2/test3/test4 <==创建成功
[root@kenvie ~]# cd test1/test2/test3/test4
[root@kenvie test4]# pwd
/root/test1/test2/test3/test4
cp
复制文件或者目录
语法:
cp -[选项] 来源 目标
选项:
选项 | 描述 |
---|---|
-r | 递归复制,将该目录子文件夹都复制过去(常用) |
-p | 把文件的属性一起复制过去(备份常用) |
root目录下有a,b两个文件夹,把a复制到b中
[root@centos7-1 ~]# ls
a b
[root@centos7-1 ~]# cp -r /root/a /root/b
[root@centos7-1 ~]# ls b
a
root目录下有b文件夹,b文件夹中有一个a文件夹,现把b中的a文件夹移动到root目录下
[root@centos7-1 ~]# ls #查看目录下有什么文件
b
[root@centos7-1 ~]# pwd #查看我们现在在什么目录
/root
#我们现在在root目录下,root目录下有b文件夹,所以b的路径就是/root/b
[root@centos7-1 ~]# cp -r /root/b/a /root
[root@centos7-1 ~]# ls
a b
rm
删除文件夹或文件
语法:
rm -[选项] 文件或目录
选项:
选项 | 描述 |
---|---|
-f | 忽略不存在的问题,不会出现警告信息 |
-f | 递归删除,一起删除子目录(使用时要非常小心) |
-f:root目录下有文件1,删除文件1
[root@centos7-1 ~]# rm 1 ¥不加-f选项会询问你是否确认删除
rm: remove regular empty file ‘1’? ^C
[root@centos7-1 ~]# rm -f 1 #加了-f不再询问,直接删除
-r:root目录下有a/b/c递归文件夹,现删除这文件夹
[root@centos7-1 ~]# mkdir -p a/b/c #创建一个递归文件夹
[root@centos7-1 ~]# rm a/b/c #试试直接删除
rm: cannot remove ‘a/b/c’: Is a directory #删除失败
[root@centos7-1 ~]# rm -r a/b/c #加了-r选项
rm: remove directory ‘a/b/c’? y #这句话是询问你是否删除,因为没有加-f选项,是删除成功的
mv
移动文件夹或目录,也可以用来修改名称
mv语法结构和cp基本一致,只是mv是剪切,cp是复制
语法:
mv -[选项] 来源 目标
mv -[选项] 来源 目标/新的名字
选项:
选项 | 描述 |
---|---|
-f | 如果目标文件已经存在,不会询问直接覆盖 |
-u | 若目标已经存在,且来源比较新,才会升级 |
-f:root目录有a,b/a两个文件夹,现把a移动到b中
[root@centos7-1 ~]# mv /root/a /root/b #不加-f选项,将a移动到b中
mv: overwrite ‘/root/b/a’? #询问是否覆盖
[root@centos7-1 ~]# mv -f /root/a /root/b #加了-f选项,不询问直接覆盖
-u:则根据来源的文件夹创建时间判断,比目标日期新的话就覆盖
mv也主要用来改名
[root@centos7-1 ~]# mkdir a b #创建a,b两个文件夹
[root@centos7-1 ~]# mv a c #在本目录操作,则可以不写绝对路径,将a移动到本目录设置名字为c,就是改名操作
[root@centos7-1 ~]# ls #查看本目录文件
b c
版权属于:kenvie
本文链接:https://kenvie.com/archives/529.html
商业转载请联系作者获得授权,非商业转载请注明出处。