绝对路径的用途:
在写shell Scripts程的时候务必使用绝对路径,因为绝对路径写法虽然比较麻烦,但是可以肯定这个写法绝对不会有问题。 如果使用相对路径在程序中,则可能
由亍你执行的工作环境不同,导致一些问题的发生。
cd - //代表前一个工作路径
cd ~ //代表用户的工作路径home
pwd //显示当前目录
pwd -P //显示确实的路径而非使用链接的路径
mkdir //建立一个新的目录
mkdir -p //建立多个字目录
mkdir -p test/test
mkdir -m 711 test //建立drwx--x--x权限的目录
rmdir //删除一个空的目录
rmdir -p //删除多层空目录
当一个目录下面test包含一个空的目录test1
此时rmdir test是不允许删除非空目录
rmdir -p test/test1 //就可以删除test 和test1
rm -r test //强制删除该目录下的所有东西
环境变量
PATH(一定是大写)这个变量的内容是由一堆目录所组成癿,每个目录中间用冒号(:)来隔开
添加临时的环境变量
PATH="$PATH":/root
不要把(当前目录). 加到环境变量,因为每个目录下的可执行文件都不同,这对使用者来说并非好事
而且假设你在/tmp 目录下有人写了一个假的ls执行文件 你使用ls的命令可能就会中标了,因为如果有2个ls那么
环境变量下哪个目录先被找到就先使用哪个
cp -a (-d若是源文件的属性,则复制文件属性而非档案本身,-p连同文件属性一起复制,-r递归持续复制)
cp -i 询问是否需要覆盖
cp -s 复制成符号链接文件,快捷方式
rm -f 忽略不存在的游戏
rm -i 询问是否删除
rm -r 递归删除
mv -f 强制覆盖
mv -i 询问是否覆盖
mv -u 新的才覆盖
basename 获得文件名
dirname 获得目录名
cat 第一行开始阅读
tac 最后一行开始阅读
nl 显示的时候输出行号
more 一页一页的显示档案内容
head 只看头几行
tail 只看尾几行
od 二进制方式读取
创建目录默认权限
umask
0022
后三位代表user ground other被拿到的权限
777 .
0代表 user没有去掉任何权限
2代表 ground 去掉了写权限
2代表 other 去掉了写权限
umask -S
查看默认权限
whereis locate利用数据库来搜寻,找不到用find
updatedb:根据 /etc/updatedb.conf 的设定去搜寻系统硬盘内的文件名打开更新
/var/lib/mlocate 内的数据库档案;
locate:依据 /var/lib/mlocate 内的数据库记载,找出用户输入的关键词文件名。
本文深入探讨了在编写Shell脚本时使用绝对路径的重要性,详细介绍了如何避免使用相对路径可能导致的问题。同时,文章阐述了环境变量PATH的作用及其正确配置方法,以确保脚本的稳定性和安全性。此外,还提供了cp、rm、mv等命令的高级用法及注意事项,旨在帮助开发者提高Shell脚本的效率与可靠性。

被折叠的 条评论
为什么被折叠?



