ls -l > lsoutput.txt 就是将ls命令的内容保存到lsoutput.txt文件中去
文件描述符
0 代表标准输入
1 标准输出
2错误输出
> 操作符 就是把标准输出重定向到一个文件中去 改文件存在内容会被覆盖
>> 将输出内容附加到一个文件中去 例如 ps >> lsoutput.txt ps命令输出的内容附加到文件尾部
错误输出到某个文件 则写成
2>
将标准输出和标准错误输出重定向到不同的文件中去
kill -HUP
1234 >killout.txt
2>kllerr.txt
标准输出和错误输出 到同一个文件中去
kill -l
1234 > killouterr.txt
2>&
1
这条命令的意思 就是 标准输出 输出到killouterr文件中去 标准错误输出 输出到标准输出的文件中去
/dev/null 回收站 丢弃所有错误信息
kill -l
1234 >
/dev/null 2>&
1
标准重定向输入
more < killout.txt 将文件信息 写入控制台
管道
使用
sort命令对ps命令的输出进行排序
ps > psout.txt
sort psout.txt > pssort.out
如果利用管道就可以直接写 ps |
sort > pssort.out
如果想在屏幕上分页显示 可以写成 ps |
sort | more
如果想看系统中运行的所有进程的名字 不包括shell 进程
ps -xo comm |
sort | uni
q | grep -v sh | more
这条命令的意思 按字母排序ps命令的输出, uniq命令去除名字相同的进程,
grep -v sh 删除名为sh的进程 结果分页显示在屏幕上
在当前文件中寻找某个字符串的文件
for file in *
do
if grep -l gac
$file
then
more
$file
file
done
$file 变量名 代表找到的文件 在当前文件中找含有字符串gac的文件 并且分页显示
*通配符代表字符串
?匹配单个字符
[set]允许匹配方括号中任何一个单个字符
[^set]对方括号内容取反 匹配没有出现在字符集中的字符
{} 字符串组的集合 ls
my_{finger,toe}
s 这个命令 就是 列出 my_fingers 和 my_toes 的文件
输出包含某字符串的文件的写法
more
'grep -l gac *'
more
$(grep -l gac
*)
grep -l gac * | more