Làm thế nào tôi có thể chạy lệnh gốc có bí danh cùng tên?


22

Một bí danh cho lslệnh trong ~/.bashrctệp được đặt bí danh với cái này:

alias ls='ls --color=auto'

sau đó, khi tôi chạy lslệnh trong terminal aliased ls( ls --color=auto) chạy. nhưng câu hỏi của tôi là làm thế nào tôi có thể chạy bản gốc lsduy nhất và chỉ lsmột mình mà không cần thêm đối số và không giải quyết vấn đề với việc xóa mục nhập bí danh? kể từ khi tôi xóa mục này, tôi có thể chạy nó một cách đơn giản ls.

Câu trả lời:


60

Bạn có thể bỏ qua các bí danh bằng các phương pháp sau:

  1. tên đường dẫn đầy đủ của lệnh: /bin/ls

  2. thay thế lệnh: $(which ls)

  3. lệnh dựng sẵn: command ls

  4. dấu ngoặc kép: "ls"

  5. dấu ngoặc đơn: 'ls'

  6. một ký tự dấu gạch chéo ngược: \ls


9
bổ sung trong bash: command somethingbỏ qua cả hàm bí danh AND được đặt tên . , Và chỉ đường tránh bí danh tên (nếu một chức năng tồn tại, nó sẽ sau đó được gọi là). (chức năng bí danh đi trước nếu cả hai tồn tại và không bỏ qua)something\\something'something'"something"something
Olivier Dulac

9

Đình chỉ mở rộng bí danh

Bạn cũng có thể tắt mở rộng bí danh cho tất cả các bí danh tạm thời mà không xóa chúng:

$ shopt -u expand_aliases
$ command -v ls
/bin/ls

Để kích hoạt chúng:

shopt -s expand_aliases
$ command -v ls
alias ls='ls --color=auto'

Lưu ý rằng mở rộng bí danh bị tắt theo mặc định trong các tập lệnh, nhưng được đặt mặc định trong các vỏ tương tác.


9

Bạn có thể vô hiệu hóa một bí danh bằng cách sử dụng \trước lệnh.

Vì vậy, để chạy lslệnh gốc, bạn cần chạy nó bằng cách sử dụng\ls

Ví dụ

  • Đầu tiên tạo bí danh của lslệnh.

    [guru@guru-Aspire-5738 /]$ alias ls='ls -l'
    [guru@guru-Aspire-5738 /]$ ls
    total 96
    drwxr-xr-x   2 root root  4096 Sep  3 18:31 bin
    drwxr-xr-x   5 root root  4096 Sep 17 02:51 boot
    drwxr-xr-x   2 root root  4096 Sep  3 22:17 cdrom
    drwxr-xr-x  17 root root  4520 Sep 17 21:11 dev
    drwxr-xr-x 153 root root 12288 Sep 17 21:11 etc
    drwxr-xr-x   3 root root  4096 Sep  3 22:17 home
    lrwxrwxrwx   1 root root    37 Sep  8 21:31 initrd.img -> /boot/initrd.img-3.2.0-68-generic-pae
    lrwxrwxrwx   1 root root    36 Sep  3 22:18 initrd.img.old -> boot/initrd.img-3.2.0-

    (và nhiều thứ khác nữa...)

  • Đầu ra của bản gốc lssử dụng \ghi đè bí danh.

    [guru@guru-Aspire-5738 /]$ \ls
    bin    etc         lib     opt   sbin     tmp      vmlinuz.old
    boot   home        lost+found  proc  selinux  usr
    cdrom  initrd.img      media       root  srv      var
    dev    initrd.img.old  mnt     run   sys      vmlinuz
    [guru@guru-Aspire-5738 /]$ 

6

Bạn có thể thêm commandtrước lệnh bí danh, vd

command ls

Hoặc chạy thực thi ban đầu bằng cách kết hợp which

which ls

Nó sẽ trả về "/ bin / ls", do đó với

`mà ls`

bạn có thể thực hiện nó trực tiếp.


4

Bạn cũng có thể chạy lệnh từ vị trí ban đầu /bin/lsthay vìls

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.