ความแตกต่างระหว่าง ls และ la คืออะไร? ทำไมพวกเขาถึงให้ผลผลิตเดียวกัน


19

ฉันป้อนlaโดยไม่ตั้งใจแทนที่จะlsดูเนื้อหาของไดเรกทอรีและสร้างผลลัพธ์ตรงกับls...

ทำไมนี้ แน่นอนมันไม่สมเหตุสมผลเลยที่จะมีสองคำสั่งที่ทำสิ่งเดียวกัน


ดูเพิ่มเติมที่: unix.stackexchange.com/questions/109216/ …
muru

3
type laเพียงแค่ และคุณจะได้รับมัน
Pandya

คำตอบ:


34

laเป็นนามแฝงที่ls -Aกำหนดไว้ใน~/.bashrcไฟล์ใน Ubuntu

มันจะแสดงผลลัพธ์เดียวกันถ้าคุณไม่มีไฟล์หรือไดเรกทอรีที่ซ่อนอยู่

ls -A แสดงไฟล์และไดเรกทอรีที่ซ่อนอยู่


3
เช่น "ไม่จำเป็นต้องแสดงผลลัพธ์เดียวกัน" เนื่องจากถ้าคุณไม่มีไฟล์ที่ซ่อนอยู่ (ที่ขึ้นต้นด้วยจุด) นอกจากนี้ และ .. ผลลัพธ์จะเหมือนกัน
Muzer

1
นั่นเป็นความจริง. Updated
Pilot6

2
โปรดทราบว่าls -Aแตกต่างกับls -a- หลังจะแสดง.และ..ความหมายไดเรกทอรีนี้และมีไดเรกทอรีตามลำดับ
ทิม

14

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(โดยไม่มีการจัดรูปแบบโค้ด)
Peter Mortensen

8

เมื่อมีข้อสงสัย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

6

lsเป็นคำสั่งlและlaเป็นชื่อแทนที่น่าจะใช้ประโยชน์จากคำสั่งlsมากที่สุด หากคุณเรียกใช้คำสั่งaliasคุณสามารถค้นหานามแฝงทั้งหมดในระบบของคุณ

$ alias | grep -E ' l=| la='

นี่จะส่งคืนสมนามทั้งหมดที่ตรงกับรูปแบบ l = ... หรือ la = ....


1
หรือเพียงแค่alias l la
Kevin

4

พวกเขาไม่ได้สร้างผลลัพธ์เดียวกันในทุกไดเรกทอรี

สร้าง dotfile ด้วยtouch .whateverแล้วออกทั้งสองและlals


2

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.