ฉันค่อนข้างใหม่ในการเขียนโปรแกรมเป็นทั้งบทเรียนและบางส่วนได้รับการบอกให้ผมใช้ls -lจะมองไปที่ไฟล์ในไดเรกทอรีและคนอื่น ๆ llได้รับการพูด ฉันรู้ว่าlsเป็นรายการสั้น ๆ แต่มีความแตกต่างระหว่างอีกสองคนหรือไม่
lsคำสั่งอื่น ๆ ที่ฉันใส่ลงไปในเชลล์? ถ้าฉันพิมพ์which lsฉันได้รับalias ls='ls --color=auto' /bin/lsแต่ถ้าผมพิมพ์ (ตัวอย่าง) ฉันได้รับwhich cd /usr/bin/which: no cd in (........)แก้ไข: ฉันพยายามมันอีกครั้งกับและฉันได้which mkdir /bin/mkdirอะไรคือความแตกต่างระหว่างคำสั่งเหล่านี้ที่บางคำสั่งถูกเก็บไว้ (?) ใน/usr/binและบางคำสั่งไม่ชัดเจน
$PATHคุณ lsบ่อยครั้งจะเป็นนามแฝงดังนั้นเชลล์ของคุณจะรายงานนามแฝง (ซึ่งมีความสำคัญเหนือกว่าไบนารี) และตำแหน่งจริงของไบนารี (ในกรณีของคุณ/bin/ls) หากwhichไม่สามารถค้นหาได้แสดงว่าcdมีบางอย่างผิดปกติอย่างมาก
cdเป็นคีย์เวิร์ด shell builtin ไม่ใช่โปรแกรมที่พบในระบบไฟล์ ใช้type cdและtype lsดูว่าฉันหมายถึงอะไร คำสั่งบางคำง่าย ๆ โดยเชลล์บิวด์อิน: echoมีอยู่/bin/echoแต่ในbashความเป็นจริงแล้วเชลล์ส่วนใหญ่ในปัจจุบันมีechoการเรียกใช้ฟังก์ชันบิวอินแทน (ซึ่งมักจะมีคุณสมบัติเพิ่มเติม) typeจริง ๆ แล้วบอกคุณว่าอันไหน
which llคุณอาจต้องการที่จะดูที่ คุณอาจจะพบว่าเป็นจริงนามแฝงสำหรับllls -l