概念

绝对路径与相对路径

比如,我们在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
最后修改:2021 年 11 月 02 日
如果觉得我的文章对你有用,请随意赞赏