ฉันรู้ว่าทั้งสองคำสั่งทำสิ่งเดียวกัน:
ls -la
ls -al
แต่ฉันสงสัยว่ามีการตั้งค่าใด ๆ ระหว่างพวกเขา เป็นการดีกว่าหากจะสั่งให้พวกเขาในวิธีที่แน่นอน
ฉันรู้ว่าทั้งสองคำสั่งทำสิ่งเดียวกัน:
ls -la
ls -al
แต่ฉันสงสัยว่ามีการตั้งค่าใด ๆ ระหว่างพวกเขา เป็นการดีกว่าหากจะสั่งให้พวกเขาในวิธีที่แน่นอน
คำตอบ:
มันไม่สำคัญว่า * เว้นแต่ว่าคำสั่งจะระบุอย่างชัดเจน ฉันพบว่าไม่มีการอ้างอิงใด ๆ ที่ให้แนวทางเช่นเดียวกับการวางตัวเลือกต่างๆ ดังนั้นฉันคิดว่าเพื่อประโยชน์ในการอ่านตัวเลือกสามารถจัดเรียงตามลำดับตัวอักษร
* มี cavaet ที่สำคัญมาก ๆ ซึ่งถ้าตัวเลือกใด ๆ ต้องการชื่อไฟล์หรืออินพุตอื่นหลังจากคุณต้องใส่มัน
ตัวอย่างเช่น-f
ตัวเลือกในการgrep
ใช้ไฟล์เป็นอินพุตเพื่อใช้รูปแบบที่ต้องการค้นหาจากไฟล์อินพุต คุณต้องให้คำสั่งเช่น:
grep -cf input.txt file.txt
ถ้าคุณใช้มันชอบ:
grep -fc input.txt file.txt
มันจะล้มเหลวเนื่องจากจะใช้c
เป็นชื่อไฟล์
POSIXประชุมกำหนดในแนวทางที่ 11 และ 12 ของแนวทางไวยากรณ์ยูทิลิตี้ที่สั่งซื้อ " ไม่ควรเรื่อง " เว้นแต่เป็นกรณีที่ไม่ได้รับการบันทึกไว้เพื่อประโยชน์ของตัวเอง
GNU C Library Reference Manualยังเกียรตินิยมผู้ประชุม POSIX ในโครงการ 25.1.1 อาร์กิวเมนต์ประชุมไวยากรณ์
แต่แจ้งให้ทราบล่วงหน้ามีหลายสาธารณูปโภคที่ให้ในบางสถานการณ์คำสั่งที่เข้มงวดในการดำเนินการพารามิเตอร์ (ตัวอย่างเช่นค้นหา) จากmanpage ค้นหา :
การ
-name
ทดสอบมาก่อนการ-type
ทดสอบเพื่อหลีกเลี่ยงการโทรstat(2)
ทุกไฟล์
บางครั้งยูทิลิตี้บ่นเกี่ยวกับการสั่งซื้อ
ด้วย ls คุณสามารถไปผิดปกติกับการสั่งซื้อตัวเลือก
แต่ระวังให้ดีแม้ว่าคำสั่งอื่นอาจมีการตอบสนองต่อตัวเลือกที่แตกต่างกันไปตามลำดับ
ตัวอย่างคือคำสั่ง find คุณจะได้ผลลัพธ์ที่แตกต่างเช่น:
find . -ls -mtime -1
และ
find . -mtime -1 -ls
หากสิ่งที่คุณต้องการฝึกฝนคือการเรียงตัวอักษรให้สั้นลง ฉันพบว่ามีสองกลยุทธ์ที่มีประโยชน์: การสร้างคำ (ลดความผิดพลาด) และการสร้างประโยค (ปรับปรุงความเข้าใจ)
สำหรับ ls ตัวอย่างเช่นฉันมักจะใช้ls -halF
เพราะถึงแม้จะมีตัวพิมพ์ใหญ่ที่แปลก แต่ฉันก็ยังพิมพ์halF ได้ดีกว่าอย่างFalhที่ไม่ใช่คำ
สำหรับ tar ในทางกลับกันฉันพิมพ์tar czvf filename
และพูด (ในหัวของฉัน) "tar สร้างและ Zip, verbosely สำหรับชื่อไฟล์" เพราะนั่นคือวิธีที่ฉันได้เรียนรู้ว่าตัวอักษรที่แตกต่างกันมีความหมายอย่างไร
เช่นเดียวกับที่คนอื่น ๆ ได้รับคำตอบมันไม่สำคัญ (เว้นแต่ว่ามีการบันทึกไว้เป็นอย่างอื่นหรืออาร์กิวเมนต์ตัวเลือกใช้อาร์กิวเมนต์เพิ่มเติม)
แต่มันจะดีกว่าการสั่งซื้อตัวเลือกตามตัวอักษรเป็นที่ถกเถียงกัน
โดยส่วนตัวแล้วฉันพบว่าตัวช่วยจำให้คุณค่ามากกว่าลำดับตัวอักษรที่เข้มงวด ง่ายต่อการจดจำชุดของตัวเลือกเมื่อพวกเขาสร้างคำที่น่าจดจำตัวอย่างเช่นพิจารณา:
netstat -tan
# alphabetic is good (by chance) in this case
netstat -ant
VS:
netstat -atn
netstat -nta
ดังนั้นหากคุณพบว่าคุณทำซ้ำตัวเลือกคำสั่งผสมบางคำสั่งคุณอาจต้องการลองจัดเรียงตัวอักษรใหม่ตามลำดับที่ง่ายที่สุดที่คุณจะจำได้