获取Linux当前最新的内核版本号
经常关注www.kernel.org
目录管理:
ls cd pwd mkdir rmdir tree
文件管理:
touch stat file rm cp mv nano
日期时间:
data clock hwclock cal
查看文本:
cat tac more less head tail
cat
-n:显示的顺序
分屏显示:
more less
more:支持向后翻
空格,b,回车
less:和man类似
k / ?
空格 b 回车
q:退出
G:跳到文件最后
head,tail
-n:默认是10,可以指定
head -n /etc/inittab
head -n 2 /etc/inittab
head -2 /etc/inittab
tail -f /etc/inittab 默认是后十行,不退出,等待显示后续追加至此文件的新内容
文本处理:
cut,sed,awk,grep,sort,uniq,head,tail,more,less
cut -d : -f1 /etc/passwd
-d:指定分隔符,默认是一个空格
-f:指定要显示的字段
-f 1,3 显示第一个和第三个字段
-f 1-3 显示第一个到第三个字段
文本排序:sort
-n:数值排序
-r:降序
-t:字段分隔符
-k:以哪个字段为关键字进行排序
-u:排序后相同的行只显示一次。
-f:排序时忽略字符大小写
sort -nr test.txt 降序排列
sort -t: -k3 /etc/passwd
uniq
-d:显示重复的行
-c:显示文件中行重复的次数
cat /etc/fstab
sort /etc/fstab
cat test.txt
456
67
111
231
sort test.txt
111
231
456
67
sort -n test.txt
67
111
231
456
uniq -c
文本统计:wc -l
tr 转换或者删除字符
tr [OPTION]...SET1 [SET2]
-d:删除出现在字符集中的所有字符
tr 'ab' 'AB' < /etc/passwd 将/etc/passwd中的a和b换成A和B
tr 'a-z' 'A-Z' < /etc/passwd 换成大写
在命令行编辑
光标跳转
Ctrl+a:光标跳转 命令行首
Ctrl+e:光标跳转 命令行尾
Ctrl+u:删除光标至命令行首的内容
Ctrl+k:删除光标至命令行尾的内容
Ctrl+l:清屏
命令历史:
查看命令历史:history
-c:清空命令历史
-d:删除指定位置的命令
从510开始删除3个 history -d 510 3
-w:保存命令历史至历史文件中
环境变量
PATH:命令搜索路径
HISTSIZE:命令历史缓存区大小
echo $HISTSIZE
命令历史的使用技巧:
!n: 执行命令历史中的第n条命令
!-n: 执行命令历史中的倒数第n条命令
!!: 执行上一条命令
!string: 执行命令历史中最近一个以指定字符串开始的命令
!$: 引用前一个命令的最后一个参数
Esc松开加.: 这个经常使用
命令别名
alias
alias CMDALIAS='COMMAND [options] [arguments]'
在shell中定义的别名仅在当前shell生命周期中有效,别名的有效范围仅为当前shell进程
alias xxx=命令 定义xxx
unalias xxx 解除命令
命令替换: $(command) 反引号:`command`
把命令中某个子命令替换成其执行结果的过程
touch ./file-$(data +%F-%H-%M-%S).txt
bash支持的引号:
``:命令替换
"":弱引用,可以实现变量替换
'':强引用,不完成变量替换
文件名通配
*:任意长度的任意字符
? :任意单个字符
[]:匹配指定范围内的单个字符
[a-z],[A-Z],[0-9],[a-zA-Z],[a-zA-Z0-9]
[:space:]:空白字符
[:punct:]:标点符号
[:lower:]:小写字母
[:upper:]:大写字母
[:alpha:]:大小写字母
[:digit:]:数字
[:alnum:]:数字和大小写字母
[^]:匹配指定范围外的单个字符
[[:alpha:]]*[[:space:]]*[^[:alpha:]]
查看以字母为开头,不以字母为结尾,中间有空格的文件
例子:
touch a123 abc ab123 xyz x23 xyz123 y123 helloy123
ls
ls a*
ls a*3
ls *y*
ls ?y*
练习:
1.创建a123,cd6,c78m,c1 my,m.z, k 67, 8yu, 789等文件
,隔开 其他符号是文件的组成部分
2 显示以a或m开头的文件
ls [am]*
3 显示所有文件名中包含了数字的文件
ls *[0-9]*
ls *[[:digit:]]*
4 显示所有以数字结尾且文件名中不包含空白的文件
ls *[^[:space:]]*[0-9]
5 显示文件名中包含了非字母或数字的特殊符号的文件
ls *[^[:alnum:]]*