1 cd 切换到指定文件位置 " . " 当前目录 " .. " 父目录
2 pwd 显示路径
3 ls 显示当前目录下的文件和目录
4 ls -F 区分文件和目录
5 ls -a 显示隐藏文件和普通文件
6 ls -R 显示文件下的内容
7 ls -l (ll)显示每个文件的相关信息
8 touch 创建空文件 cp 复制文件 rm 删除文件 mv 移动文件或重命名
9 cp -R 复制目录 rm -f 强制删除 rm -R 删除多个文件 rm -rf 强制删除多个文件
10 mkdir 创建目录 mkdir -p 同时创建多个目录和子目录
11 rmdir 删除空目录
12 file 查看文件类型
13 cat 查看整个文件 cat -n 加行号
14 more(less) 查看整个文件,显示每页数据后停止
15
16 查看部分文件: tail 显示文件末尾10行 tail -n x 显示行数
17 head 显示文件前10行 head x 显示行数
18 ps 显示运行的程序的信息
19 top 实时监测进程
20 df 磁盘空间
21 mount 卸载设备
22 du 显示当前目录下所有文件的磁盘使用情况
23 du -hs 总计磁盘空间
24 sort 对数据进行排序 sort -n 把数字识别成数字而不是字符 sort -M 按月排序 -t 指定分隔符
25 grep [搜索内容]+ 搜索文件 搜索数据
26 exit 退出shell
27 sleep 10 会话暂停10秒 sleep 10& 后台睡眠10秒
28 jobs 显示后台运行的进程
29 coproc { ; } 协程,后台生成子shell,并执行命令,命令以分号结束,花括号前后都要有一个空格
30
31 外部命令:当外部命令执行时,会创建一个子进程。
32 内建命令:不需要借助外部程序文件来运行,运用type命令检查是哪种命令
33 history 查看最近用过的命令
34 alias 命令创建另一个名称
35 env或printenv 查看全局环境变量
36 set 显示所有环境变量,包括局部变量和全局变量
37 echo $ 显示变量当前值,让命令作为命令行参数
38 variable="Hello World" 设置局部变量
39 export variable 将局部变量变为全局变量
40 unset 删除环境变量
41 PATH shell查找命令的目录列表,由冒号分割
42 useradd 添加新用户
43 userdel 删除用户
44 groupadd 创建新组
45 groupmod 修改组
46 文件权限符: - 代表文件 d文件 r可写 w可读 x可执行 u用户 g组 o其他 +增加权限 -移除权限 =权限设置确定值
47 umask 默认文件权限设置
48 chmod 改变文件权限
49 chown 改变文件属主
50 chgrp 改变默认属主
51
52 关于shell
53 ` ` 或 $() 实现命令替换fee
54 输出重定向:将命令的输出发送到一个文件中 符号: > 或 >> (不覆盖文件原内容)
55 command > file
56 输入重定向:将文件的内容向指定命令中执行 符号: <
57 command < file
58 内联输入重定向:命令行中输入指向命令中执行的数据 符号: <<
59 command << mark
60 >test1
61 >test2
62 >mark (数据开始和结尾文本标记必须一致)
63 管道:将一个命令的输出作为另一个命令的输入 符号: |
64 command1 | command2
65 数学运算符:
66 expr命令:expr 1 \* 2 (\)转义符
67 $[1 * 2]命令
68 bc :内建的bash计算器 输入quit退出 scale=4 表示结果包含四位小数 print打印变量结果
69 if-then语句: if command
70 then
71 command
72 fi
73 test 当命令中的条件成立时,退出状态码0
74 数值比较:
75 x1 -eq x2 (是否相等) x1 -ge x2 (x1是否大于或等于x2) x1 -gt x2(x1是否大于x2)
76 x1 -le x2 (x1是否小于或等于x2) x1 -lt x2 (x1是否小于x2) x1 -ne x2 (是否不相等)
77 case命令: case variable in
78 pattern1) command1;;
79 pattern2) command2;;
80 *) default command3;;
81 esac 变量与多种模式进行比较
82 for循环: for var in x1 x2 x3
83 do
84 commands
85 done (var第一次迭代x1第二次x2)
86 IFS内部字段分隔符: 默认(空格,制表符,换行符)IFS=$'\n'(只识别换行符)
87 C语言风格的for循环:for((i=1; i<=10; i++))
88 do
89 echo
90 done
91 while命令:while testcommand
92 do
93 command
94 done (当test成立时进入循环)
95 until命令:until testcommand
96 do
97 command
98 done (当test成立时退出循环)
99 break命令:退出循环 break n (n是退出的循环层级)
100 continue命令:终止循环中的某次命令 continue n(n是要继续的循环层级)
101 命令行参数:$0程序名 $1第一个参数 $2第二个参数 $#参数的个数
102 $*将所有参数视为一个单词一个整体 $@将所有参数视为同一字符串的多个独立单词
103 shift命令:移动变量 默认将每个参数变量左移动一个位置