shell
1.通配符:
通配符:
*:表示任意长度的字符串,如:ls ~/* #列举家目录下所有文件或子目录
?:表示任意一个字符,如: ls ~/?.txt #列举家目录下文本文件以.txt做扩展名的文件(文件名只含一个字符)
[ ] - ! #[ ] - 指定取值范围;! 取反
ls /etc/a-c]*.conf、ls /etc/[abc]*.conf、ls /etc/[!d-z].conf #用来列出所有以a或b或c开头配置文件。
2.特殊符号:
特殊符号(处理,针对文件名):
; #结束一条命令,多条命令在同一行上进行间隔。如,echo `date`;cat < /etc/hosts;
& #后台执行命令,如:cp /etc/hosts ~/text.txt &
\ #转义,如,\n
>,>> #重定向输出
<,<< #输入重定向。
重定向:输入重定向 附加输入重定向、 输出重定向 附件输出重定向、 错误输出重定向 附加错误输出重定向。
| #管道,传递功能。从左到右传递。如,cat /etc/hosts | mail -s '主题' root@localhost linux@localhost
管道功能:
命令及其选项 参数1 | 命令及其选项 参数2 | 命令及其选项 参数3 |……
who -H | grep 'root' #过滤出登录系统是根用户的信息
who -H | grep '\(192\.168\.*\.*\)' #过滤来自192.168.*.*的IP的用户信息
3.正则表达式:
正则表达式:
正则表达式(匹配、过滤处理针对的是文件的内容):grep、sed、
grep 【选项】 【'模式字符串'】 【文件列表】:从指定文件或标准输出过滤符合模式的文本-->进行显示
-n:输出行号
-i:忽略大小写
-v:过滤去除不符合模式的内容进行显示出来
global regular expression print——grep
basic regular expression——BRE
. #匹配任意单个字符
\ #转义
* #匹配至少0个前置字符,如,a* #匹配至少0个字符a
[ ] #匹配取值范围中的字符
[^ ] #匹配不在取值范围中的字符
^ #标志文本开始
$ #标志文本结束。如: ^abc$ #以a开始的以c结尾的字符串abc
\{m,n\} #至少m个,至多n个前置字符。a\{2,4\}---aaa,aa,aaaa
\( \) #\(123\) 字符串123
[[:upper:]] #匹配大写字母
[[:lower:]] #匹配小写字母
[[:digit:]] #匹配数字
[[:blank:]] #匹配空白字符,包括:空格、tab制表。如,grep '[[:lower:]]' touchtest #匹配所有小写字母的字符串
4.其他:
cat: cat < file1 > file2 、 cat > file2 < file1 #先输入后输出
合并文件内容:
nl /etc/hosts > file1
nl /etc/hosts > file2
cat file1 file2 >> file3 #达到合并目的
cat file[1-2] | mail -s '主题' root@localhost #发送邮件
补充:
Linux终端的图形字符输出
sudo apt-get update
sudo apt-get install sysvbanner # 命令banner 【英文单词】。另外,系统默认已安装命令printerbanner
sudo apt-get install toilet # 命令toilet 【英文单词】
sudo apt-get isntall figlet # figlet 【英文单词】
man
通常 man 手册中的内容很多,可能不太容易找到想要的结果,
不过幸运的是可以在 man 中使用搜索/<要搜索的关键字>,
查找完毕后可以使用n键切换到下一个关键字所在处,shift+n
为上一个关键字所在处。使用Space(空格键)翻页,Enter(回车键)
向下滚动一行,或者使用j,k(vim 编辑器的移动键)进行向前向后
滚动一行。按下h键为显示使用帮助(因为 man 使用 less 作为阅读器,
实为less工具的帮助),按下q退出。
shell常用通配符
常用快捷键
Tab补全:命令、目录、命令参数
补充:
其他资料:【Linux下的帮助命令】 、【命令执行顺序控制与管道】、【history 历史命令统计】 、【正则表达式基础】