1. 在 shell 中获取当前执行脚本的路径
1 |
|
2. ls
2.1. 展示绝对路径
1 | 假如当前的目录结构为这样,在 a 目录需要删除包含字母 b 的 txt 文件: |
3. rm
3.1. 常用参数
rm 输出删除文件的明细: rm -rfv
- r:删除目录;
- f:直接删除,不询问;
- v:输出删除的具体文件
3.2. ls 搭配使用的注意事项
通过 ls /usr/share/zoneinfo | grep | xargs rm -rfv 来删除文件的时候,需要先 cd 到 /usr/share/zoneinfo 的目录,否则,rm 会删除执行 ls 目录的文件,而不是 /usr/share/zoneinfo 这个目录的文件。
1 | 假如当前的目录结构为这样,在 a 目录需要删除包含字母 b 的 txt 文件: |
两个解决办法:
- ls 时添加上绝对路径
- 先 cd 到 b 目录,再 ls 删除。
4. cp
- cp 输出具体的操作明细: cp -v
- v:输出copy 的文件
5. sed
5.1. 常用参数
- -n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。
- -e∶直接在指令列模式上进行 sed 的动作编辑www.it165.net;
- -f∶直接将 sed 的动作写在一个档案内, -f filename 则可以执行 filename 内的sed 动作;
- -r∶sed 的动作支援的是延伸型正规表示法的语法。(预设是基础正规表示法语法)
- -i∶直接修改读取的档案内容,而不是由萤幕输出。
5.2. 常用命令
- a ∶ 新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行);
- c ∶ 取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行;
- d ∶ 删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
- i ∶ 插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
- p ∶ 列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起运作;
- s ∶ 取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦;
1 | bash-3.2$echo "test-all.json" | gsed -e 's/\./-win\./g' |