thay đổi tùy chọn lệnh mặc định


15

Khi tôi nhập lệnh

ls

Tôi thấy một danh sách các tập tin và thư mục trong thư mục hiện tại, danh sách hiển thị là khá khó chịu.

Thay vào đó, tôi thích thực thi lệnh ls với tùy chọn -1 như

ls -1

Câu hỏi của tôi là làm thế nào để thay đổi hành vi mặc định của lệnh ls sao cho nó sẽ luôn luôn thực thi với tùy chọn -1. tức là làm thế nào để hiển thị các tập tin và thư mục trong một cột bằng lệnh ls.

Cảm ơn.

Câu trả lời:


14

Một cách sẽ là bằng cách tạo bí danh trong ~/.bashrctệp của bạn :

alias l1='ls -1'

sau đó bằng cách gõ l1, ls -1sẽ được thực thi


Làm thế nào để bạn tìm thấy tệp ~ / .bashrc? Tôi đã tìm thấy ứng dụng "bash" trong Computer \ bin, nhưng không phải là tệp văn bản có tên bạn đề cập.
AlainD

@AlainD tệp .bashrc có trong thư mục chính của bạn, không phải trong / bin. ~ Mở rộng đến thư mục chính của bạn trong bash, vì vậy đường dẫn sẽ đọc một cái gì đó như /home/user/.bashrc
Jishnu

Tôi sử dụng bí danh lsl = "ls -l" vì tôi không phải di chuyển từ hàng chủ để vào.
dvnkiss

4

Trong thư mục Home của bạn, mở tệp .bashrc trong trình chỉnh sửa và thêm bí danh ls = 'ls -1' .

Trước tiên hãy mở terminal (Bấm ControlAltT), nhập gedit ./.bashrcđể mở tệp .bashrc của bạn trong trình chỉnh sửa.

Tìm phần có một số bí danh cho ls. Trong tôi (stock 11.10) có vẻ như:

# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

Thêm dòng sau sau bí danh ls:

alias ls='ls -1'

Lưu tệp, thoát gedit và thiết bị đầu cuối và khởi động lại. Bây giờ lệnh ls sẽ thực thi ls -1 theo mặc định.


1
Điều này xác định lại "ls" để bây giờ hoạt động như "ls -1" theo mặc định cho người dùng này. Nếu bạn muốn sử dụng một lệnh mới, thì câu trả lời @zetah sẽ bao gồm điều đó.
James

Trong thư mục Home của tôi trên uBfox 14.04 LTS, tôi chỉ thấy một loạt thư mục và không có tệp .bashrc.
AlainD

1

Câu trả lời của zetah là tốt nhất. Để giải thích:

Bí danh được sử dụng tốt nhất cho các sửa đổi ngắn, đơn giản, thường được sử dụng của các tham số mặc định lệnh. Chúng được lưu trữ trong bộ nhớ (sau khi được đọc từ tệp nguồn của chúng), để sử dụng tốt hơn hoặc sử dụng lặp đi lặp lại.

Các chức năng phù hợp cho các hoạt động phức tạp hơn thường được sử dụng và cũng được lưu trữ trong bộ nhớ.

Các kịch bản phù hợp với các lệnh phức tạp nhất và ít được sử dụng nhất.

Xem câu hỏi và câu trả lời này trên unix stackexchange - giải thích sự khác biệt trong cách sử dụng tốt nhất giữa các bí danh, hàm và tập lệnh.


1

Chỉ cần làm rõ một cái gì đó để @RobDavenport trả lời. Bạn không thể sử dụng một chức năng để ghi đè một lệnh có cùng tên.

ví dụ: để thêm một tham số mặc định vào lslệnh bạn có thể làm:

alias ls='ls -1 $@'

Điều này sẽ thêm một bí danh mới được gọi lsvì vậy nó sẽ được gọi thay vì lệnh ban đầu. Nó sẽ thêm -1tùy chọn và chuyển tiếp mọi tham số $@cho lslệnh gốc .

Bạn cũng có thể làm

function ls_column () {
  ls -1 $@
}

Nó sẽ có tác dụng tương tự nhưng bạn phải sử dụng một tên khác cho chức năng của mình. Nếu không nó sẽ tự gọi đi gọi lại.

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.