Sự khác biệt giữa ls và la là gì? Tại sao họ cho cùng một đầu ra?


19

Tôi đã lavô tình nhập thay vì lsđể xem nội dung của một thư mục và nó tạo ra chính xác đầu ra giống như ls...

Tại sao lại thế này? Chắc chắn sẽ không có ý nghĩa khi có hai lệnh thực hiện cùng một thứ.



3
Chỉ cần type la. Và bạn sẽ nhận được nó.
Pandya

Câu trả lời:


34

lalà một bí danh ls -Ađược định nghĩa trong ~/.bashrctệp trong Ubuntu.

Nó chỉ hiển thị cùng một đầu ra nếu bạn không có tập tin hoặc thư mục ẩn.

ls -A hiển thị các tập tin và thư mục ẩn.


3
Giống như "nó không nhất thiết phải hiển thị cùng một đầu ra", vì nếu bạn không có bất kỳ tệp ẩn nào (những tệp bắt đầu bằng dấu chấm) bên cạnh. và .., đầu ra sẽ giống nhau.
Muzer

1
Điều đó đúng. Cập nhật.
Pilot6

2
Lưu ý rằng ls -Akhác với ls -a- cái sau sẽ hiển thị ...có nghĩa là thư mục này và chứa thư mục tương ứng.
Tim

14

lađược định nghĩa là một bí danh trong ~/.bashrctệp Ubuntus cùng với một vài người khác. lachỉ đơn giản là một ls -Anhư bạn có thể thấy trong đoạn trích sau từ~/.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'

Đó sẽ là Ubuntu's(không có định dạng mã).
Peter Mortensen

8

Khi nghi ngờ , type la.


Đầu ra Bash:

la is aliased to `ls -la'

Sản lượng cá:

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

lslà một lệnh llarất có thể là các bí danh sử dụng lệnh đó ls. Nếu bạn chạy lệnh, aliasbạn có thể tìm thấy tất cả các bí danh trên hệ thống của mình.

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

Điều này sẽ trả về tất cả các bí danh phù hợp với mẫu l = ... hoặc la = ....


1
Hoặc chỉalias l la
Kevin

4

Họ không tạo ra cùng một đầu ra trong tất cả các thư mục.

Tạo một dotfile với touch .whatever, sau đó phát hành cả hai lals.


2

lalà một bí danh cho ls -A, như đã nêu bởi các câu trả lời khác. Như vậy, nó không thể được sử dụng trong shell script, trong khi lscó thể.

Máy tính của bạn có nhiều lệnh bí danh. Một danh sách đầy đủ có thể thu được bằng cách thực hiện alias. Trên máy của tôi, nó in cái này:

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 có nghĩa là màu sẽ bị tắt khi không in trực tiếp sang STDOUT.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.