Linux发行版: Fedora, RedHat(CentOS,..),SUSE,Debian(Ubuntu,Mint),LFS(Linux From Scratch)
编译:把源代码转化成CPU可以执行的二进制格式的过程
运行程序
设备管理
软件管理
进程管理
网络管理
目录管理:
ls cd pwd mkdir rmdir tree
文件管理:
touch stat file rm cp mv nano
日期时间:
data clock hwclock cal
查看文本
cat tac more less head tail cut sort uniq grep
tail –f 查看文件尾部,不退出,等等显示后续追加至此文件的新内容
文本处理:
cut sed awk
cut:
-d(—delimeter):指定字段分隔符,默认是空格
-f(—fields):指定要显示的字段
-f1,3
-f1-3
cut –d : -f1 /etc/passwd
cut –d : –f1-3 /etc/passwd
文本排序:sort
-n 数值排序
-r 按照降序排序
-t 字段分隔符
-k 从某个位置开始
-u 排序后相同的行只显示一次
-f 忽略字符大小写
相同的行,只出现在相邻的位置,如果不在相邻位置,是不会算数的;
cat /etc/fstab
sort /etc/fstab
sort /etc/passwd
sort –t : –k3 –n /etc/passwd
文本统计:wc:行数 单词数 字节数
-l 显示行数
-w 显示单词数
-c 显示字节数
-L 显示最长行的字节数
字符处理命令:tr:用于转换或者删除字符
-d 删除出现在字符集中的所有字符
tr ‘ab’ ‘AB’ 逐个字符进行比较,输入字符
cat /etc/passwd | tr ‘a-z’ ‘A-Z’ 将文件的小写字符转换成大写
bash极其特性:
shell:外壳
GUI:Gnome KDE,Xfce
CLI: sh,csh,ksh,bash
命令行编辑:
光标跳转:
ctrl+a:跳到命令行首
ctrl+e:跳到命令行尾
ctrl+u:删除光标位置至命令行首
ctrl+k:删除光标位置至命令行尾
ctrl+l:清屏
查看命令历史:history
-c 清空命令历史
-d offset [n]:删除指定位置的命令
-w 保存命令历史至历史文件中
环境变量:
PATH:命令搜索路径
HISTSIZE:命令历史缓存区大小
命令历史使用技巧
!n 执行命令历史中的第n条命令
!-n 执行命令历史中的倒数第n条命令
!! 执行上一条命令
!string 执行命令历史中最近一个以制定字符串开头的命令
!$ 引用前一个命令的最后一个参数
esc,.
alt+.
命名别名
alias CMDALIAS=COMMAND [OPTIONS]
在shell中定义的别名仅在当前shell生命周期中有效,别名的有效范围仅为当前shell进程
unalias ALIASCOMMAND
命令替换
把命令中某个子命令替换为其指向结果的过程
命令替换:$(COMMAND) or `COMMnd`
bash支持的引号"
`` 命令替换
“” 弱引用,可以实现变量替换
‘’ 强引用,不完成变量替换
文件名通配 globbing
* 任意长度的任意字符
?任意单个字符
[] 匹配指定范围内的任意单个字符 [abc] [a-m] [a-zA-Z][0-9][[]]
man 7 glob
[^]匹配指定范围之外的任意单个字符[^0-9]