用绝对路径或相对路径指向任意文件,并一次性对多个文件动手。
在 Kodokon 中打开本课指出一个文件在哪里有两种方式,就和给出一个地址完全一样。绝对路径是完整的邮政地址:它从根目录出发,在任何地方都管用。在 macOS 和 Linux 上,它总是以一个正斜杠 / 开头,例如 /home/yoann/my-project/index.html。在 Windows 上,它以一个盘符开头,例如 C:\Users\yoann\my-project。
相对路径则更像是“左手边第二扇门”:它从你当前所在的文件夹出发。三个符号就足以表达一切。点 . 表示当前文件夹。两个点 .. 表示父文件夹。波浪号 ~ 表示你的主文件夹。用斜杠把它们串起来,就能拼出一条路线。
cd /home/yoann/my-project
cd ~/my-project
cd ../other-project
cat ./src/index.html
cp ../photo.jpg .当你要对十个文件动手时,你总不会去敲十条命令。shell 认识通配符,也叫模式:一些用来代替一个或多个未知字符的特殊符号。星号 * 代表任意长度的字符序列,包括一个字符都没有。问号 ? 代表恰好一个字符。方括号 [ ] 接受列在它里面的任意一个字符。
ls *.html
ls src/*.css
ls photo-?.jpg
ls report-202[45].pdf
cp *.txt archive/最后一个能免去许多麻烦的细节:在 macOS 和 Linux 上,文件名是区分大小写的。Photo.jpg 和 photo.jpg 是两个不同的文件,ls photo* 找不到前者。而 Windows 并不作这种区分。所以一个在你 Windows 机器上跑得好好的项目,可能仅仅因为一个大写字母,就在托管它的 Linux 服务器上失败。
./~*.html 匹配的是什么?.tmp 文件。你会采取什么预防措施?rm *.tmp,然后用 ls 检查ls *.tmp,看看哪些将被删除