每日分享三个Linux命令,悄悄培养读者的Linux技能。
搜索文件中符合条件的字符串
grep [选项] "关键字" 文件
参数:
grep "test" test.txt
grep "test" test1.txt test2.txt
结果会显示文件名称。
grep -h "test" test1.txt test2.txt
结果不会显示文件名称。
grep -r "test" *
grep -c "test" test1.txt test2.txt
grep -i "Test" test.txt
grep -n "Test" test.txt
grep -v "test" test.txt
grep -l "test" \dir1\dir2
grep -x "test" file.txt
grep -q "test" test.txt
注:grep -q
不输出结果,通过返回状态值判断是否包含(0是包含,1是不包含)。echo $?
来打印上次结果的返回状态值。
搜索指定的字符串
egrep [选项] "关键字" 文件
参数:
功能与grep
命令相同,egrep
是grep
的加强版,支持正则表达式。grep
只支持字符串的搜索和匹配。
egrep "a+" test.txt
egrep "a|b" test.txt
egrep "(test)" test.txt
egrep "(test)+" test.txt
egrep "^test" test.txt
egrep "test$" test.txt
将命令或程序的输入和输出流定向到文件或设备
>
:将命令的标准输出重定向到指定的文件中,并覆盖原有内容。
<
:将指定文件的内容作为命令的标准输入。
>>
:将命令的标准输出重定向到指定的文件中,并将输出结果追加到文件末尾。
<<
:将命令的标准输入设置为指定的文本块。
注:重定向符可以与nohup
搭配保存日志。
cat test.txt > test1.txt
grep "test" < test.txt
cat test.txt >> test1.txt
python run.py > log.txt
覆盖原文件内容
python run.py >> log.txt
追加原文件
python run.py 1> log.txt
标准输出重定向
python run.py 2>> log.txt
标准错误输出重定向
python run.py >> log.txt 2>$1
标准输出和标准错误输出重定向
2>$1
的含义是将标准错误输出到标准输出的重定向文件中。
[1] 解锁Linux之谜:自由、安全、强大的操作系统
[2] Linux每日智囊-“man,cd,pwd”
[3] Linux每日智囊-“info,tree,stat”
[4] Linux每日智囊-“whatis,touch,which”
[5] Linux每日智囊-“mkdir,rmdir,rm”
[6] Linux每日智囊-“ls,wc,nl”
[7] Linux每日智囊-“mv,cp,md5sum”
[8] Linux每日智囊-“rename,basename,dirname”
[9] Linux每日智囊-“chown,chgrp,chmod”
[10] Linux每日智囊-“cat,more,less”
[11] Linux每日智囊-“find,chattr,file”