絶対パスや相対パスでどんなファイルも指し示し、複数のファイルをまとめて操作しましょう。
このレッスンを Kodokon で開くファイルの場所を伝える方法は2つあります。住所の伝え方とまったく同じです。絶対パスは完全な郵便の住所です。ルートから始まるので、どこからでも通用します。macOSとLinuxでは必ずスラッシュ / で始まり、たとえば /home/yoann/my-project/index.html のようになります。Windowsではドライブレターで始まり、たとえば C:\Users\yoann\my-project です。
一方相対パスは、「左側の2つ目のドア」のような言い方です。今いるフォルダを出発点にします。3つの記号だけで何でも表せます。ドット . はカレントフォルダ。2つのドット .. は親フォルダ。チルダ ~ はあなたのホームフォルダです。これらをスラッシュでつなげて、道順を組み立てます。
cd /home/yoann/my-project
cd ~/my-project
cd ../other-project
cat ./src/index.html
cp ../photo.jpg .10個のファイルを操作したいとき、10回コマンドを打つわけにはいきません。シェルはワイルドカード、パターンとも呼ばれるものを理解します。分からない1文字や複数の文字の代わりになる特別な記号です。アスタリスク * は任意の文字の並びを表し、1文字もない場合も含みます。クエスチョンマーク ? はちょうど1文字を表します。角かっこ [ ] は、中に並べた文字のどれか1つを受け付けます。
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サーバーでは動かない、ということが起こります。原因は大文字1つだけ、ということもあるのです。
./~*.html というパターンは何に一致しますか?.tmp ファイルをすべて安全に削除したいです。どんな用心をしますか?rm *.tmp を実行してから ls で確認するls *.tmp を実行して、何が削除されるか見る