ฉันค่อนข้างใหม่ในการเขียนโปรแกรมเป็นทั้งบทเรียนและบางส่วนได้รับการบอกให้ผมใช้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
คุณอาจต้องการที่จะดูที่ คุณอาจจะพบว่าเป็นจริงนามแฝงสำหรับll
ls -l