指令格式
指令主体 [选项] [操作对象]
一个完整的指令是由“指令主体”、“选项”和“操作对象”组成的,其中指令主体只能有一个,选项有零个或多个,操作对象有零个或多个。
在操作文件时,经常会使用到绝对路径和相对路径:
- 相对路径:指当前工作路径;
- 绝对路径:以“/”目录为工作路径。
./表示当前目录下;../表示上一级目录下
ls
ls,用于列出当前目录下的所有文件。
语法:ls [options] [target]
options:选项;target:操作的目标目录。
参数:
- -l:除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出;
- -a:显示所有文件及目录 (. 开头的隐藏文件也会列出);
- -h:显示大小;
- -r:将文件以相反次序显示(原定依英文字母次序);
- -t:将文件依建立时间之先后次序列出;
- 组合使用:-la、-lh、-lr、-lt。
ls -l
-l,以列表形式列出当前目录下的文件和目录,不包含隐藏的。
[root@VM-0-6-centos /]# ls -l /
total 108
lrwxrwxrwx. 1 root root 7 Aug 8 2018 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 May 24 17:33 boot
drwxr-xr-x 2 root root 4096 Jan 21 2019 data
drwxr-xr-x 19 root root 2980 May 24 17:38 dev
drwxr-xr-x. 88 root root 12288 May 24 14:33 etc
......
total显示数为108
ls -la
-la,以列表形式列出当前目录下的所有文件和目录,包括隐藏的
[root@VM-0-6-centos /]# ls -la /
total 116
dr-xr-xr-x. 21 root root 4096 Jun 4 11:03 .
dr-xr-xr-x. 21 root root 4096 Jun 4 11:03 ..
lrwxrwxrwx. 1 root root 7 Aug 8 2018 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 May 24 17:33 boot
drwxr-xr-x 2 root root 4096 Jan 21 2019 data
drwxr-xr-x 19 root root 2980 May 24 17:38 dev
drwxr-xr-x. 88 root root 12288 May 24 14:33 etc
......
total显示数为116,比ls -l列出的文件和目录数更多
ls -lh
-lh,以列表形式列出文件和目录,并显示大小,不包含隐藏的
[root@VM-0-6-centos /]# ls -lh /
total 108K
lrwxrwxrwx. 1 root root 7 Aug 8 2018 bin -> usr/bin
dr-xr-xr-x. 5 root root 4.0K May 24 17:33 boot
drwxr-xr-x 2 root root 4.0K Jan 21 2019 data
drwxr-xr-x 19 root root 3.0K May 24 17:38 dev
drwxr-xr-x. 88 root root 12K May 24 14:33 etc
......
ls -lr
以列表形式将文件以相反次序显示(原定依英文字母次序)
[root@VM-0-6-centos /]# ls -lr /
total 108
drwxr-xr-x 7 root root 4096 May 24 11:06 www
drwxr-xr-x. 19 root root 4096 May 24 14:06 var
drwxr-xr-x. 13 root root 4096 Aug 8 2018 usr
......
drwxr-xr-x 2 root root 4096 Jan 21 2019 data
dr-xr-xr-x. 5 root root 4096 May 24 17:33 boot
lrwxrwxrwx. 1 root root 7 Aug 8 2018 bin -> usr/bin
ls -lt
-lt,以列表形式将文件依建立时间之先后次序列出
[root@VM-0-6-centos /]# ls -lt /
total 108
drwxrwxrwt. 16 root root 4096 Jun 4 11:16 tmp
dr-xr-x---. 10 root root 4096 May 28 15:01 root
drwxr-xr-x 2 root root 4096 Jan 21 2019 data
drwxr-xr-x. 13 root root 4096 Aug 8 2018 usr
drwxr-xr-x. 2 root root 4096 Apr 11 2018 srv
pwd
pwd,即print work directory,用于显示目前所在的工作目录的绝对路径名称。
[root@VM-0-6-centos training]# pwd
/opt/web-application/training
mkdir
mkdir,即make directory,用于创建目录。
语法:mkdir [options] [target]
options:选项;target:操作的目标目录。
参数:
- -p:一次性创建多层目录。
当操作对象有多个时,分别在当前目录下创建同级目录:
[root@VM-0-6-centos opt]# mkdir temp1 temp2 temp3
[root@VM-0-6-centos opt]# ls
temp1 temp2 temp3
mkdir -p
一次性创建多层级的目录
[root@VM-0-6-centos opt]# mkdir -p ./temp1/temp2/temp3
[root@VM-0-6-centos opt]# cd temp1
[root@VM-0-6-centos temp1]# cd temp2
[root@VM-0-6-centos temp2]# cd temp3
[root@VM-0-6-centos temp3]# pwd
/opt/temp1/temp2/temp3
touch
touch,用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。
语法:touch [target]
target:文件名+后缀,如test.txt。
[root@VM-0-6-centos opt]# touch test.txt
[root@VM-0-6-centos opt]# ls -l
-rw-r--r-- 1 root root 0 Jun 4 15:05 test.txt
[root@VM-0-6-centos opt]# vim test.txt
hello world! 2021年6月4日15:05:00
~
~
"test.txt" 2L, 38C
使用ls指令列出目录信息,test.txt最后一次修改时间为15:05,再次touch test.txt时,会修改为当前操作的时间,且不会修改文件的内容。
[root@VM-0-6-centos opt]# touch test.txt
[root@VM-0-6-centos opt]# vim test.txt
hello world! 2021年6月4日15:05:00
~
~
"test.txt" 2L, 38C
cp
cp,即copy file,主要用于复制文件或目录。
语法:cp [options] [target] [destination]
options:选项;target:操作的目标目录;destination:复制的目标目录。
参数:
- -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件;
- -f:覆盖已经存在的目标文件而不给出提示。
cp -r
若给出的是一个目录,则将该目录下所有的子目录和文件都复制到目标位置。
[root@VM-0-6-centos opt]# cp -r demo/ temp
[root@VM-0-6-centos opt]# cd temp
[root@VM-0-6-centos temp]# ls
demo.html demo.js demo.text
cp -f
若直接覆盖目标目录下的同名文件,会提示是否覆盖
[root@VM-0-6-centos opt]# cp demo/demo.html temp/demo.html
cp: overwrite ‘temp/demo.html’? y
而在选项中加上-f
,就不会提示。
mv
mv,即move file,用于为文件或目录改名、或将文件或目录移入其它位置。
语法:mv [target] [destination]
target:操作的目标目录;destination:移动的目标目录。
参数:
- -b: 当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份;
- -i: 如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作;
- -f: 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件;
- -n: 不要覆盖任何已存在的文件或目录;
- -u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。
mv -b
通常情况下移动目录或文件后,不会保留原来工作目录下文件或目录。
[root@VM-0-6-centos temp1]# ls
temp2 test.txt
[root@VM-0-6-centos temp1]# mv test.txt temp2
[root@VM-0-6-centos temp1]# ls
temp2
[root@VM-0-6-centos temp2]# ls
test.txt
执行mv test.txt temp2
之后,temp1目录下的test.txt不会保留。
加入选项-b
后,在执行覆盖前,会为其创建一个备份。
[root@VM-0-6-centos temp1]# ls
temp2 test.txt
[root@VM-0-6-centos temp1]# mv test.txt temp2
[root@VM-0-6-centos temp1]# ls
temp2
[root@VM-0-6-centos temp1]# cd temp2
[root@VM-0-6-centos temp2]# ls
test.txt
执行mv -b test.txt temp2
之后,temp1目录下的test.txt将会保留。
rm
rm,即remove,用于删除一个文件或者目录。
语法:rm [options] [target]
options:选项;target:操作目标的文件或目录。
参数:
- -i: 删除前逐一询问确认;
- -f: 直接删除,无需逐一确认;
- -r: 将目录及以下的文件或子目录逐一删除。
通常删除操作使用的是rm -rf [target]
指令。