命令 [选项] 参数
特殊符号:
!$ 调用上一个命令的参数作为此次命令的参数
用法:
ls /boot/grub/
cd !$
实例:
* 通配符,用作匹配文件和目录用
ls *.txt
相对路径绝对路径
绝对路径带 /
相对路径不带 /
{} 创建多目录或者文件
mkdir a/a{1..5}
touch {1..5}.txt
> 写入符号
echo "123" > 1.txt
>> 追加写入符号
ehco "abc" >> 1.txt
| 管道符号 将上一个命令的结果输入到下一个命令的参数
head -200 1.txt | tail -101 查看1.txt 的100到200行内容
1.cd
含义:
change directory 切换到指定目录
常用格式:
cd 进入家目录(只输入cd)
cd ~
cd -
cd ..
cd ../..
cd 目录
cd !$
2.pwd
含义----print work directory
显示当前目录
常用格式
pwd
root@test01-virtual-machine:/home/test01/桌面# pwd
/home/test01/桌面
3.ls
含义 ----list
显示目录下的文件及路径
选项
-a all 显示隐藏文件及目录
-l long 显示文件及目录属性
-d directory 指定目录
-R recursive 递归显示目录及子目录
常用格式
ls -a 显示所有文件和目录,包括隐藏文件
root@test01-virtual-machine:~# ls -a
. 112.txt 1.sh 23.txt 2.doc 2.txt .bash_history .cache
.. 1.doc 22.txt 2a.txt 2.sh abc.txt .bashrc .profile
ls -l 显示文件及目录的属性
root@test01-virtual-machine:~# ls -l
总用量 0
-rw-r--r-- 1 root root 0 7月 2 21:58 112.txt
-rw-r--r-- 1 root root 0 7月 2 21:58 1.doc
-rw-r--r-- 1 root root 0 7月 2 21:58 1.sh
-rw-r--r-- 1 root root 0 7月 2 21:58 22.txt
-rw-r--r-- 1 root root 0 7月 2 21:58 23.txt
-rw-r--r-- 1 root root 0 7月 2 21:58 2a.txt
-rw-r--r-- 1 root root 0 7月 2 21:58 2.doc
-rw-r--r-- 1 root root 0 7月 2 21:58 2.sh
-rw-r--r-- 1 root root 0 7月 2 21:58 2.txt
-rw-r--r-- 1 root root 0 7月 2 21:58 abc.txt
ls -R 递归显示文件和目录及子目录
root@test01-virtual-machine:/home/test01/桌面# ls -R
.:
a
./a:
a1 a2
./a/a1:
./a/a2:
a11 a12
./a/a2/a11:
./a/a2/a12:
ls -d 只显示指定目录
root@test01-virtual-machine:/home/test01/桌面# ls -d a
a
ls -al 查看所有内容的属性包含隐藏的
root@test01-virtual-machine:~# ls -al
总用量 24
drwx------ 3 root root 4096 7月 2 21:58 .
drwxr-xr-x 25 root root 4096 7月 2 22:17 ..
-rw-r--r-- 1 root root 0 7月 2 21:58 112.txt
-rw-r--r-- 1 root root 0 7月 2 21:58 1.doc
-rw-r--r-- 1 root root 0 7月 2 21:58 1.sh
-rw-r--r-- 1 root root 0 7月 2 21:58 22.txt
-rw-r--r-- 1 root root 0 7月 2 21:58 23.txt
-rw-r--r-- 1 root root 0 7月 2 21:58 2a.txt
-rw-r--r-- 1 root root 0 7月 2 21:58 2.doc
-rw-r--r-- 1 root root 0 7月 2 21:58 2.sh
-rw-r--r-- 1 root root 0 7月 2 21:58 2.txt
-rw-r--r-- 1 root root 0 7月 2 21:58 abc.txt
-rw------- 1 root root 2095 7月 2 21:31 .bash_history
-rw-r--r-- 1 root root 3106 10月 23 2015 .bashrc
drwx------ 2 root root 4096 10月 13 2016 .cache
-rw-r--r-- 1 root root 148 8月 17 2015 .profile
ls -aR 递归查看所有文件及目录,包含隐藏
root@test01-virtual-machine:~# ls -aR
.:
. 112.txt 1.sh 23.txt 2.doc 2.txt .bash_history .cache
.. 1.doc 22.txt 2a.txt 2.sh abc.txt .bashrc .profile
./.cache:
. ..
ls -lR 递归显示目录下所有文件和目录及子目录
root@test01-virtual-machine:/home/test01/桌面# ls -lR
.:
总用量 4
drwxr-xr-x 4 root root 4096 7月 2 22:31 a
./a:
总用量 8
drwxr-xr-x 2 root root 4096 7月 2 22:34 a1
drwxr-xr-x 4 root root 4096 7月 2 22:31 a2
./a/a1:
总用量 0
./a/a2:
总用量 8
drwxr-xr-x 2 root root 4096 7月 2 22:31 a11
drwxr-xr-x 2 root root 4096 7月 2 22:31 a12
./a/a2/a11:
总用量 0
./a/a2/a12:
总用量 0
ls -alR 递归显示目录下所有文件及目录,含隐藏
root@test01-virtual-machine:~# ls -alR
.:
总用量 24
drwx------ 3 root root 4096 7月 2 21:58 .
drwxr-xr-x 25 root root 4096 7月 2 22:17 ..
-rw-r--r-- 1 root root 0 7月 2 21:58 112.txt
-rw-r--r-- 1 root root 0 7月 2 21:58 1.doc
-rw-r--r-- 1 root root 0 7月 2 21:58 1.sh
-rw-r--r-- 1 root root 0 7月 2 21:58 22.txt
-rw-r--r-- 1 root root 0 7月 2 21:58 23.txt
-rw-r--r-- 1 root root 0 7月 2 21:58 2a.txt
-rw-r--r-- 1 root root 0 7月 2 21:58 2.doc
-rw-r--r-- 1 root root 0 7月 2 21:58 2.sh
-rw-r--r-- 1 root root 0 7月 2 21:58 2.txt
-rw-r--r-- 1 root root 0 7月 2 21:58 abc.txt
-rw------- 1 root root 2095 7月 2 21:31 .bash_history
-rw-r--r-- 1 root root 3106 10月 23 2015 .bashrc
drwx------ 2 root root 4096 10月 13 2016 .cache
-rw-r--r-- 1 root root 148 8月 17 2015 .profile
./.cache:
总用量 8
drwx------ 2 root root 4096 10月 13 2016 .
drwx------ 3 root root 4096 7月 2 21:58 ..
4.touch
含义:
创建文件
root@test01-virtual-machine:~# touch 4.txt
root@test01-virtual-machine:~# ls
112.txt 1.doc 1.sh 22.txt 23.txt 2a.txt 2.doc 2.sh 2.txt 4.txt abc.txt
5.mkdir
含义 make directory
创建目录
选项
-p parents 递归创建目录
-v verbose 显示创建过程
常用格式
mkdir -pv a/a1/a11
test01@test01-virtual-machine:~/桌面$ mkdir -pv a/a1/a11
mkdir: 已创建目录 'a'
mkdir: 已创建目录 'a/a1'
mkdir: 已创建目录 'a/a1/a11'
test01@test01-virtual-machine:~/桌面$ ls -R a
a:
a1
a/a1:
a11
a/a1/a11:
test01@test01-virtual-machine:~/桌面$
6.rmdir
含义: remove directory
删除空目录
选项
-p 递归删除目录
-v 显示删除过程
常用格式
rmdir -pv a/a1/a11
test01@test01-virtual-machine:~/桌面$ ls -R a
a:
a1
a/a1:
a11
a/a1/a11:
test01@test01-virtual-machine:~/桌面$ rmdir -pv a/a1/a11
rmdir: 正在删除目录 'a/a1/a11'
rmdir: 正在删除目录 'a/a1'
rmdir: 正在删除目录 'a'
7.rm
含义 remove
删除文件或目录
选项
-i interactive 交互式删除,删除时有提示
-f force 强制删除,删除不提示
-r recursive 删除目录
-v verbose 显示删除过程
常用格式
rm a/{1.txt,2txt} 指定删除目录下的2个以上文件
test01@test01-virtual-machine:~/桌面$ ls a
1.txt 2.txt
test01@test01-virtual-machine:~/桌面$ rm a/{1.txt,2.txt}
test01@test01-virtual-machine:~/桌面$ ls a
test01@test01-virtual-machine:~/桌面$
rm -rf 强制文件和目录删除不提示
test01@test01-virtual-machine:~/桌面$ ls -R a
a:
a1
a/a1:
a11
a/a1/a11:
test01@test01-virtual-machine:~/桌面$ rm -rf a
rm -ir 交互式删除文件或目录
test01@test01-virtual-machine:~/桌面$ mkdir -p a/a1/a11
test01@test01-virtual-machine:~/桌面$ touch a/a1/a11/1.txt
test01@test01-virtual-machine:~/桌面$ rm -ir a
rm:是否进入目录'a'? y
rm:是否进入目录'a/a1'? y
rm:是否进入目录'a/a1/a11'? y
rm:是否删除普通空文件 'a/a1/a11/1.txt'? y
rm:是否删除目录 'a/a1/a11'? y
rm:是否删除目录 'a/a1'? y
rm:是否删除目录 'a'? y
test01@test01-virtual-machine:~/桌面$
rm -rv 删除目录并显示过程
test01@test01-virtual-machine:~/桌面$ mkdir -p a/a1/a11
test01@test01-virtual-machine:~/桌面$ touch a/a1/a11/1.txt
test01@test01-virtual-machine:~/桌面$ rm -rv a
已删除'a/a1/a11/1.txt'
removed directory 'a/a1/a11'
removed directory 'a/a1'
removed directory 'a'
8.cp
含义 copy
复制文件或目录
选项
-i interactive 交互式复制
-f force 复制时强制覆盖
-r recursive 复制目录
-v verbose 显示复制过程
-a archive 复制时保留原文件属性
常用格式
cp 1.txt a 复制1.txt到文件a
test01@test01-virtual-machine:~/桌面$ cp 1.txt a
test01@test01-virtual-machine:~/桌面$ ls
1.txt 2.txt 3.txt a
test01@test01-virtual-machine:~/桌面$ ls a
1.txt
cp 1.txt a/2.txt 复制并更名
test01@test01-virtual-machine:~/桌面$ cp 1.txt a/2.txt
test01@test01-virtual-machine:~/桌面$ ls
1.txt a
test01@test01-virtual-machine:~/桌面$ ls a
1.txt 2.txt
cp -r b a 复制目录
test01@test01-virtual-machine:~/桌面$ ls
1.txt a b
test01@test01-virtual-machine:~/桌面$ cp -r b a
test01@test01-virtual-machine:~/桌面$ ls
1.txt a b
test01@test01-virtual-machine:~/桌面$ ls a
1.txt 2.txt b
test01@test01-virtual-machine:~/桌面$
cp -a 1.txt b 保留原文件属性
test01@test01-virtual-machine:~/桌面$ cp -a 1.txt a
test01@test01-virtual-machine:~/桌面$ ls -l
总用量 12
-rw-r--r-- 1 test01 test01 25 7月 6 15:44 1.txt
drwxr-xr-x 3 test01 test01 4096 7月 6 16:15 a
drwxr-xr-x 2 test01 test01 4096 7月 6 16:15 b
test01@test01-virtual-machine:~/桌面$ ls -l a
总用量 12
-rw-r--r-- 1 test01 test01 25 7月 6 15:44 1.txt
-rw-r--r-- 1 test01 test01 25 7月 6 16:13 2.txt
drwxr-xr-x 2 test01 test01 4096 7月 6 16:15 b
test01@test01-virtual-machine:~/桌面$
cp -i 1.txt a 交互式复制覆盖
test01@test01-virtual-machine:~/桌面$ ls
1.txt a b
test01@test01-virtual-machine:~/桌面$ ls a
1.txt 2.txt b
test01@test01-virtual-machine:~/桌面$ cp -i 1.txt a
cp:是否覆盖'a/1.txt'? y
test01@test01-virtual-machine:~/桌面$
cp -f 1.txt a 复制时强制覆盖
test01@test01-virtual-machine:~/桌面$ ls
1.txt a b
test01@test01-virtual-machine:~/桌面$ ls a
1.txt 2.txt b
test01@test01-virtual-machine:~/桌面$ cp -f 1.txt a
test01@test01-virtual-machine:~/桌面$
9.mv
含义: move
移动或改名
选项
-i interactive 交互式
-f force 强制覆盖
常用格式
mv a b 目录操作
b目录存在时,将a目录移动到b目录下;b目录不存在时.将a目录改名为b
test01@test01-virtual-machine:~/桌面$ ls
a
test01@test01-virtual-machine:~/桌面$ mv a b
test01@test01-virtual-machine:~/桌面$ ls
b
test01@test01-virtual-machine:~/桌面$ mkdir a
test01@test01-virtual-machine:~/桌面$ mv a b
test01@test01-virtual-machine:~/桌面$ ls
b
test01@test01-virtual-machine:~/桌面$ ls b
a
test01@test01-virtual-machine:~/桌面$
mv 1.txt 2.txt 文件操作
将1.txt改名为2.txt,如果2.txt已经存在,则覆盖2.txt
test01@test01-virtual-machine:~/桌面$ ls
1.txt
test01@test01-virtual-machine:~/桌面$ mv 1.txt 2.txt
test01@test01-virtual-machine:~/桌面$ ls
2.txt
test01@test01-virtual-machine:~/桌面$ touch 1.txt
test01@test01-virtual-machine:~/桌面$ ls
1.txt 2.txt
test01@test01-virtual-machine:~/桌面$ mv 1.txt 2.txt
test01@test01-virtual-machine:~/桌面$ ls
2.txt
test01@test01-virtual-machine:~/桌面$
mv 1.txt a 将1.txt 移动到目录a
test01@test01-virtual-machine:~/桌面$ mv 1.txt a
test01@test01-virtual-machine:~/桌面$ ls
a
test01@test01-virtual-machine:~/桌面$ ls a
1.txt
test01@test01-virtual-machine:~/桌面$
mv -i 1.txt 2.txt 交互式改名并覆盖
test01@test01-virtual-machine:~/桌面$ mv -i 1.txt 2.txt
mv:是否覆盖'2.txt'? y
test01@test01-virtual-machine:~/桌面$ ls
2.txt a
mv -f 1.txt 2.txt 强制覆盖
test01@test01-virtual-machine:~/桌面$ ls
2.txt
test01@test01-virtual-machine:~/桌面$ touch 1.txt
test01@test01-virtual-machine:~/桌面$ mv -f 1.txt 2.txt
test01@test01-virtual-machine:~/桌面$ ls
2.txt
mv a/* b 把a下面所有内容移动到b目录
test01@test01-virtual-machine:~/桌面$ ls -R
.:
a b
./a:
1.txt 2.txt 3.txt
./b:
test01@test01-virtual-machine:~/桌面$ mv a/* b
test01@test01-virtual-machine:~/桌面$ ls
a b
test01@test01-virtual-machine:~/桌面$
test01@test01-virtual-machine:~/桌面$ ls -R
.:
a b
./a:
./b:
1.txt 2.txt 3.txt
10.echo
打印输入内容到屏幕
echo "123"
常用格式
echo "123" > 1.txt 在1.txt中写入123内容
11.cat
含义
查看文件内容
参数:
-n --number 查看内容时显示行号,包括空行
-b --blank 查看内容时显示行号.不包括空行
常用格式
cat -b 1.txt
test01@test01-virtual-machine:~/桌面$ cat -b 1.txt
1 123
2 456
3 789
4 abc
5 def
cat -n 1.txt
test01@test01-virtual-machine:~/桌面$ cat -n 1.txt
1 123
2 456
3 789
4
5 abc
6 def
12.nl
含义
查看文档时,计算文档行号
参数
-b a 计算行号时,包含空行
-b t 计算行号时,不包含空行
常用格式
nl -b a 1.txt
test01@test01-virtual-machine:~/桌面$ nl -ba 1.txt
1 123
2 456
3 789
4
5 abc
6 def
nl -bt 1.txt
test01@test01-virtual-machine:~/桌面$ nl -bt 1.txt
1 123
2 456
3 789
4 abc
5 def
13.more
含义
查看文档内容时支持翻页
选项
+数字
+/字符
-数字
常用格式
more +数字 从数字行号开始显示
test01@test01-virtual-machine:~/桌面$ nl -ba 1.txt
1 123
2 456
3 789
4
5 abc
6 def
test01@test01-virtual-machine:~/桌面$ more +3 1.txt
789
abc
def
more +/字符 从第一个匹配"字符"的行的前2行开始显示
test01@test01-virtual-machine:~/桌面$ more +/bc 1.txt
...跳过
789
abc
def
more -数字 空格翻页时,一次翻"数字"行数
test01@test01-virtual-machine:~/桌面$ nl -ba /etc/passwd | more -5
1 root:x:0:0:root:/root:/bin/bash
2 daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
3 bin:x:2:2:bin:/bin:/usr/sbin/nologin
4 sys:x:3:3:sys:/dev:/usr/sbin/nologin
5 sync:x:4:65534:sync:/bin:/bin/sync
--更多--
14.less
含义
查看文件内容
选项
-数字
常用格式
less -5 文件
test01@test01-virtual-machine:~/桌面$ less -5 /etc/passwd
15.head
含义
从头开始显示文件内容,默认显示10行
选项
-n 数字 或 -数字
-c 数字
常用格式
head -5 /etc/passwd 显示前10行内容
test01@test01-virtual-machine:~/桌面$ head -5 /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
head -c 5 /etc/passwd 显示前5个字节的内容
test01@test01-virtual-machine:~/桌面$ head -c 5 /etc/passwd
root:
15.tail
含义
从结尾处查看文件内容
选项
-n 数字 或 -数字 查看最后"数字"行内容
-c 数字 查看最后"数字"字节数的内容 注意每行结束符也占用一个字符
常用格式
tail -2
test01@test01-virtual-machine:~/桌面$ tail -2 1.txt
123
456
tail -c 3 1.txt
test01@test01-virtual-machine:~/桌面$ tail -c 3 1.txt
56