Linux基础之基本命令cat less more sort uniq alias 命令行 bash简单描述(三)

获取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:]]*


原文地址:https://www.cnblogs.com/fengzhongzhuzu/p/8717365.html