重定向
> :覆盖输出
>> :追加输出
2> :重定向错误输出
2>> : 追加方式
&> : 重定向标准输出或者错误输出至同一个文件
< :输入重定向
管道:前一个命令的输出结果,当做后一个命令的输入
cut -d: -f1 /etc/passwd | sort | tr 'a-z' 'A-Z'
wc -l /etc/passwd | cut -d' ' -f1
tee
输出到屏幕并且保存到文件中
echo "hello world" | tee /tmp/test.txt
1 统计/usr/bin目录下文件个数
2取出当前系统上所有用户的shell,要求每种shell只显示一次,并且按顺序进行显示
3显示/var/log目录下每个文件的内容类型
4取出/etc/inittab文件的倒数第6行
5取出/etc/passwd文件中倒数第9个用户的用户名和shell,显示到屏幕上并将其保存至/tmp/users文件中
6显示/etc/目录下所有以pa开头的文件,并统计其个数
7不使用文本编辑,将alias cls=clear一行内容添加至当前用户的.bashrc文件中
ls /usr/bin |wc -l
cut -d: -f7 /etc/passwd |sort -u
file /var/log/*
tail -6 /etc/inittab | head -1
tail -9 /etc/passwd | head -1 | cut -d: -f1,7 | tee /tmp/users
ls -d /etc/pa* | wc -l
print "alias cls=clear" >> ~/.bashrc
grep egrep fgrep
grep:根据模式,搜索文本,并将符合模式是文本行显示出来
PATTERN:文本字符和正则表达式的元字符组合而成匹配条件
grep [OPTIONS] PATTERN [FILE...]
-i
--color
-v :显示没有被模式匹配到的行
-o :只显示被模式匹配到的字符串
*:任意长度的任意字符
?:任意单个字符
[]:匹配指定范围内的单个字符
[^]:匹配指定范围外的单个字符
[:digit:] [:lower:] [:upper:] [:punct:] [:space:] [:alpha:] [:alnum:]
grep里面正则表达式和上述不同
元字符:
.:任意单个字符
grep 'r..r' /etc/passwd
字符个数:
*:匹配其前面的字符任意次
cat test.txt
ab, aab, acb, adb, amnb
.*:任意长度的任意字符
?:匹配其前面字符的1次或0次
{m,n}:匹配其前面的字符至少m次,至多n次
grep 'a.{1,3}b' test.txt
^:行首
$:行尾
^$:空白行
<或者:其后面的任意字符必须作为单词首部出现
>或者:其前面的任意字符必须作为单词尾部出现
<abc> :abc必须作为整个单词出现
cat test.txt
this is root
the user is mroot
chroot is a command
grep "<root>" test.txt
分组:
()
(ab)*
后项引用
1:第一个左括号以及与之对应的右括号所包括的所有内容
2
3
he love his lover.
she like her liker.
he like his lover.
she love her liker.
she like her.
grep '(l..e).*1' test.txt
grep '([0-9]).*1$' /etc/inittab
查找行中出现任意一个数字行尾以相同数字结尾的行