ฉันป้อน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แล้วออกทั้งสองและlals
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