ชี้ไปยังไฟล์ใดก็ได้ด้วยพาธสัมบูรณ์หรือพาธสัมพัทธ์ และจัดการหลายไฟล์พร้อมกัน
เปิดบทเรียนนี้ใน 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 .เวลาที่คุณต้องจัดการไฟล์สิบไฟล์ คุณคงไม่พิมพ์คำสั่งสิบครั้งแน่ ๆ เชลล์รู้จัก ไวลด์การ์ด หรือที่เรียกกันว่า แพตเทิร์น: อักขระพิเศษที่ใช้แทนอักขระที่ไม่รู้ค่าหนึ่งตัวหรือหลายตัว เครื่องหมายดอกจัน * แทน อักขระชุดใดก็ได้ รวมถึงกรณีที่ไม่มีอักขระเลย เครื่องหมายคำถาม ? แทนอักขระ หนึ่งตัวพอดี ส่วนวงเล็บเหลี่ยม [ ] ยอมรับอักขระตัวใดตัวหนึ่งที่ระบุไว้ข้างใน
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 แล้วค่อยตรวจด้วย lsls *.tmp ก่อน เพื่อดูว่าอะไรจะถูกลบบ้าง