Skip to content

文件查找

bash
# 基本语法
find [路径] -name "文件名"

# 在当前目录及子目录中查找所有名为a.txt的文件:
find . -name a.txt

# 在/home目录下递归地查找所有以.jpg结尾的图片文件:
find /home -name "*.jpg"

# 在根目录下查找所有大于10MB的文件,这个命令比较耗时
find / -size +10M

cat命令覆盖写文件

bash
cat >/scm/web.conf<<EOF
try_files \$uri \$uri/ /index.html;
EOF
cat /scm/web.conf

如果/scm/web.conf文件不存在它会先创建再写入。但这个文件所在的目录不存在,就不行了。

对于$符号的转义

对于问价内容包含$的,应该在$前面加\进行转义,否则就会按照shell语句规则执行语句。

不加\的情况:

bash
[root@cs scm]# cat >/scm/web.conf<<EOF
> try_files $uri $uri/ /index.html; 
> EOF
[root@cs scm]# cat /scm/web.conf
try_files  / /index.html;   # 注意,这里的$uri都变成了根路径 /,但我们是不希望这样的

\转义之后就正常了:

bash
[root@cs scm]# cat >/scm/web.conf<<EOF
> try_files \$uri \$uri/ /index.html;
> EOF
[root@cs scm]# cat /scm/web.conf
try_files $uri $uri/ /index.html;

对于转义的终极解决办法就是在cat的最后,加\EOF,内部就不会转义了

bash
cat >/scm/web.conf<<\EOF
try_files $uri $uri/ /index.html;
EOF
cat /scm/web.conf

追加内容

如果需要向已存在的文件的末尾追加内容,可以使用下面的命令:

bash
echo "要追加的内容" >> 具体文件