linux 达人养成计划1
1. mkdir 创建目录
-p 递归创建
2. cd
- 进入上一次目录
3. pwd 显示当前路径
4. rmdir 删除空白目录
5. rm 删除文件或目录 多个文件用空格间隔
-r 删除文件夹
-f 强制执行
6. cp 复制命令
-r 复制目录
-p 连带文件属性复制
-d 若源文件是链接文件,则复制链接属性
-a 相当于 -pdr
7. mv 剪切/改名 当源文件与目标文件同文件夹为改名
8. touch 创建文本文件
9. ln 创建硬链接,指向同一个文件,节点相同,不能跨分区
-s 软连接,可以跨分区。 请注意创建软连接时的路径(建议写成绝对路径),相当于windows的快捷方式
10. locate 搜索命令(搜索文件)
11. whereis 搜索命令的命令
-b 只查找执行文件
-m 只查找帮助文件
12. whoami 当前登录用户是谁
13. whatis ls 查找命令的作用
14. which ls 查询命令所在的位置,如果有别名,显示别名
15. find 查询命令 例: find /root -name abc (完全匹配)
通配符:
* 匹配任意内容
? 匹配任意一个字符
[] 匹配任意一个中括号内的内容
-iname 查询不区分大小写
-user root 查询所有者为root的文件
-nouser 查询没有所有者的文件
-mtime -10(10天内) 10(10天 当天) +10(10天前) 修改时间
-size 文件大小 -(小于) +(大于) (什么都不写 等于) k(kb) M(兆)
-a 同时满足
-o 满足一个就行
-inum 2258 查找i节点为2285的文件
-exec 连贯操作 结尾必须为 {}\;
16. grep 查询符合条件的字符串
-i 忽略大小写
-v 排除指定的字符串
17. man ls 帮助命令查询命令的使用文档
18. ls --help 获取命令选项的帮助
19. help cd 获取shell内部命令的帮助
20. whereis cd 确定是否是shell内部命令
21. zip 压缩命令 压缩成 .zip结尾的压缩包 例: zip abc.zip abc
-r 压缩源目录
22. unzip 解压缩 例: unzip abc.zip
23. gzip 压缩命令 压缩成 .gz 结尾的压缩包 例:gzip abc.txt 注:只能压缩文件不能压缩文件夹
-r 压缩目录下的子文件,但是不能压缩目录
-d 解压缩,源文件会消失
24. bzip2 压缩命令 压缩成 .bz2 结尾的压缩包 例:bzip2 abc.txt 注:只能压缩文件不能压缩文件夹
-k 保留原文件
-d 解压缩
25. tar 打包命令
-c 打包
-v 显示过程
-f 指定打包后的文件名
-x 解压
-z 压缩命令 结尾 .tar.gz
-j 压缩命令 结尾 .tar.bz2
25. shutdown 关机命令 例: shutdown -h 5:30 5:30关机
-h 关机
-c 取消前一个命令
-r 重启
26. logout 退出登录
27. chmod 修改文件权限 r=4 (可读) w=2 (可写) x=1 (可执行)
28. echo 输出命令
-e 支持反斜线字符串转换
\e[1; + 颜色编码 \e[0m 关闭颜色
\n 换行
\r 回车
\v 垂直制表符
\o+八进制数
\x+十六进制数
-a 输出警告音
-b 向左删除一个字符
29. 编写shell脚本第一句 #!/bin/bash
30. alias 查询系统中所有的命令别名
31. unalias + 命令 删除别名命令
/root/.bashrc 想让别名永久生效,请写入这个文件中 root用户
/home/用户名/.bashre 想让别名永久生效,请写入这个文件中 普通用户
32. 命令生效顺序:
1) 执行用绝对路径或相对路径执行的命令
2) 执行别名
3) 执行Bash内部命令
4) 执行按照$PATH环境变量定义的目录查找顺序找到的第一个命令
33. xshell快捷键
1) ctrl+c 强制终止当前命令
2) ctrl+l 清屏
3) ctrl+a 光标移动到命令行首
4) ctrl+e 光标移动到命令行尾
5) ctrl+u 从光标所在位置删除到行首
6) ctrl+z 把命令放入后台执行
7) ctrl+r 在历史命令中搜索
34. history 查看历史命令
-c 清空历史命令
-w 把缓存种的历史命令写入历史命令保存文件中 历史记录保存位置:~/.bash_history
35. 修改文件/etc/profile种的HISTSIZE 可以修改历史记录保存最大条数
36. 历史命令的调用
1) 使用上下箭头掉用以前的历史命令
2) !n重复执行第n条历史命令
3) !! 重复执行上一条命令
4) !字符串 重复执行最后一条以该字符串开头的命令
37. tab键补全 没有重复开头的自动补全,有重复的按两次列出所有
38. > 输出重定向,将执行结果输出到文件中如果没有则创建
39. >> 输出重定向,不会覆盖文件内容
40. 2> 输出重定向,将报错信息保存如文件中
41. 2>> 输出重定向 将报错信息保存入文件,不会报错
例:
ifconfig >> test.log 2>&1 无论正确错误都保存
42. 正确输出和错误输出同时保存:
1) 命令>文件 2>&1 以覆盖的方式保存
2) 命令>文件 2>&1 以追加的方式保存
3) 命令 &>1 以覆盖的方式保存
4) 命令 &>1 以追加的方式保存
5) 命令 >> 文件1 2>> 文件2 正确的追加文件1 错误的追加文件2
6) 命令 > 文件1 2>文件2 正确的覆盖文件1 错误的覆盖文件2
1) 和 3) 等效
2) 和 4) 等效
43. wc 输入重定向
-c 统计字节数
-w 统计单词书
-l 统计行数
< 导入文件
<< + 单词 在碰到相同单词时会停止
44. 多命令顺序执行
1) ; 命令1 ; 命令2 多个命令顺序执行,命令之间没有任何逻辑关系
2) && 命令1 && 命令2 逻辑与 当命令1正确执行,则命令2执行, 当命令1执行不正确,那么命令2不会执行
3) || 命令1 || 命令2 当命令1执行不正确 命令2才会执行 , 当命令1执行正确,那么命令2则不会执行
45. 管道副
1) | 命令1 | 命令2 命令1正确输出作为命令2的操作队形
例:
netstat -an | grep ESTABLISHED 查询服务器连接了多少个客户端
netstat -an | grep ESTABLISHED | wc -l 查询服务器连接了多少个客户端,数字显示
46. 通配符
1) ? 匹配任意一个字符
2) * 匹配0个活任意多个任意字符,也就是说可以匹配任何内容
3) [] 匹配中括号内任意一个字符, 例如[abc] 代表一定匹配一个字符或是a,或是b,或是c
4) [-] 匹配中括号内任意一个字符,例如[a-z] 代表匹配任意一个小写字母
5) [^] 逻辑非 匹配不是中括号内的任意字符,例如,[^0-9]代表匹配不是数字的字符
47. Bash中其他特殊符号
1) '' 单引号,在单引号中所有的特殊符号,例如$ 和 ` 都没有特殊含义
2) "" 双引号 在双引号中所有的特殊符号都没有特殊意义,但是"$","`","\",是例外,拥有"调用变量值","引用命令"和"转义符"的特殊含义
3) `` 反引号,反引号括起来的是系统命令,在Bash中会先执行它,和$()作用一样,不过推荐使用$(),因为反引号非常容易看错
4) # 在shell脚本中,#开头的代表注释
5) $ 用于调用变量的值,如果需要调用变量name的值时,需要使用$name的方式得到变量的值
6) \ 转义符, 跟在\之后的特殊符号将失去特殊含义,变成普通字符。例如\$ 将输出$符号,而不是当做变量引用