ฉันป้อนla
โดยไม่ตั้งใจแทนที่จะls
ดูเนื้อหาของไดเรกทอรีและสร้างผลลัพธ์ตรงกับls
...
ทำไมนี้ แน่นอนมันไม่สมเหตุสมผลเลยที่จะมีสองคำสั่งที่ทำสิ่งเดียวกัน
type la
เพียงแค่ และคุณจะได้รับมัน
ฉันป้อนla
โดยไม่ตั้งใจแทนที่จะls
ดูเนื้อหาของไดเรกทอรีและสร้างผลลัพธ์ตรงกับls
...
ทำไมนี้ แน่นอนมันไม่สมเหตุสมผลเลยที่จะมีสองคำสั่งที่ทำสิ่งเดียวกัน
type la
เพียงแค่ และคุณจะได้รับมัน
คำตอบ:
la
เป็นนามแฝงที่ls -A
กำหนดไว้ใน~/.bashrc
ไฟล์ใน Ubuntu
มันจะแสดงผลลัพธ์เดียวกันถ้าคุณไม่มีไฟล์หรือไดเรกทอรีที่ซ่อนอยู่
ls -A
แสดงไฟล์และไดเรกทอรีที่ซ่อนอยู่
ls -A
แตกต่างกับls -a
- หลังจะแสดง.
และ..
ความหมายไดเรกทอรีนี้และมีไดเรกทอรีตามลำดับ
la
ถูกกำหนดให้เป็นนามแฝงใน~/.bashrc
ไฟล์Ubuntus พร้อมกับอีกสองสามคน la
เป็นเพียงls -A
อย่างที่คุณเห็นในตัวอย่างต่อไปนี้จาก~/.bashrc
# this alias is defined earlier to grant colored output
alias ls='ls --color=auto'
# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
alias li='ls -lF'
Ubuntu's
(โดยไม่มีการจัดรูปแบบโค้ด)
เมื่อมีข้อสงสัยtype la
.
Bash output:
la is aliased to `ls -la'
ปลาเอาท์พุท:
la is a function with definition
function la --description 'List contents of directory, including hidden files in directory using long format'
ls -lah $argv
end
ls
เป็นคำสั่งl
และla
เป็นชื่อแทนที่น่าจะใช้ประโยชน์จากคำสั่งls
มากที่สุด หากคุณเรียกใช้คำสั่งalias
คุณสามารถค้นหานามแฝงทั้งหมดในระบบของคุณ
$ alias | grep -E ' l=| la='
นี่จะส่งคืนสมนามทั้งหมดที่ตรงกับรูปแบบ l = ... หรือ la = ....
alias l la
พวกเขาไม่ได้สร้างผลลัพธ์เดียวกันในทุกไดเรกทอรี
สร้าง dotfile ด้วยtouch .whatever
แล้วออกทั้งสองและla
ls
la
เป็นนามแฝงสำหรับls -A
ตามที่ระบุไว้โดยคำตอบอื่น ๆ ดังนั้นจึงไม่สามารถใช้ในเชลล์สคริปต์ได้ในขณะที่ls
สามารถ
คอมพิวเตอร์ของคุณมีคำสั่งนามแฝงหลายคำสั่ง alias
รายการที่สมบูรณ์สามารถรับได้โดยการดำเนินการ บนเครื่องของฉันมันพิมพ์สิ่งนี้:
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -alF'
alias ls='ls --color=auto'
--color=auto
หมายถึงสีจะถูกปิดเมื่อไม่พิมพ์โดยตรงไปยัง STDOUT