对> 与 >>的理解
echo "aaa" > aaa.txt
这个是在aaa.txt中写入aaa 可以用cat aaa.txt查看
echo "bbb" >> aaa.txt 这是在文件中追加 bbb
在这里如何 再执行这句
echo "aaa" > aaa.txt
你会发现aaa.txt中的全部内容已被aaa取代
我们经常看到这个命令
cat /dev/null > messages
这个是为了清空 message中的内容
/dev/null 名曰:空桶或黑洞, 我们通常在linux的命令中还用户 挂起后 导入到这里面
如 nohup php artisan serve > /dev/null &
这样打印就不会出现了
在比如说如何用命令的形式判断一个文件存不存在
可以这样:
[ -f aaa.txt ]&&echo1 || echo 0
如何存在的话会显示1 不存在会显示0
mkdir aaa
如果是文件夹的判断就要这样了
[ -d aaa.txt ]&&echo1 || echo 0
或者不管是什么,只判断存不存在,可以这样
[ -e aaa.txt ]&&echo1 || echo 0
如何是变量,必须加双引号"",如:
$file = /etc/abc
[ -f "$file" ]&&echo1 || echo 0
vi f11.sh
[ $1 -eq 3 ]&&{
echo 1
echo 2
}
这是在一个文件中写了一个脚本
sh f11.sh 3
会打印出 1 2来
如果不传或者传除3之外,要不是报错就是不打印
有点意思哈
但是如果 f11.sh 文件中这样写就反着来了
[ $1 -eq 3 ]||{
echo 1
echo 2
}
sh f11.sh 12会打印
sh f11.sh 3 会不打印
查看文件中行与行区间的内容
sed -n '12,20p' /etc/nginx/nginx.conf
查看12到20行之间的内容
判断字符串是否存在
[ -n "aaa" ]&& echo 1 || echo 0
像 > <的比较必须加上转义符
[ 2 > 1 ]&& echo 1 || echo 0