Ubuntu

l, ls & la - 有什麼區別,還有更多這些命令嗎?

  • June 4, 2015

因此,通過鍵入幾個命令,我發現不僅有ls,而且l還有la。Ubuntu 12.14 上似乎沒有任何man條目。他們似乎都在做類似的事情,但有細微的差別:

$ ls
app        config     CONTRIBUTING.md  doc       Gemfile       Guardfile  LICENSE  MAINTENANCE.md  Procfile  Rakefile   script  tmp     VERSION
CHANGELOG  config.ru  db               features  Gemfile.lock  lib        log      PROCESS.md      public    README.md  spec    vendor
$ la
app      CHANGELOG  config.ru        db   features  Gemfile       .git        Guardfile  LICENSE  MAINTENANCE.md  Procfile  Rakefile   .rspec  .secret     spec  .travis.yml  VERSION
.bundle  config     CONTRIBUTING.md  doc  .foreman  Gemfile.lock  .gitignore  lib        log      PROCESS.md      public    README.md  script  .simplecov  tmp   vendor
$ l
app/       config/    CONTRIBUTING.md  doc/       Gemfile       Guardfile  LICENSE  MAINTENANCE.md  Procfile  Rakefile   script/  tmp/     VERSION
CHANGELOG  config.ru  db/              features/  Gemfile.lock  lib/       log/     PROCESS.md      public/   README.md  spec/    vendor/

就像一些瑣事一樣,還有更多這些,它們是做什麼的?這裡有什麼地方可以找到這個嗎?不幸的是,Google搜尋這些命令被忽略了,因為它們太短了。

別名

ls是一個命令,l並且la很可能是使用命令的別名ls。如果您執行該命令alias,您可以找到系統上的所有別名。

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

這將返回與模式匹配的所有別名l=...la=....

進一步調試

您還可以使用該命令type查看特定命令是如何執行的。它是命令、別名還是函式。

例子

在我的系統上,我有命令ls別名,以便它呼叫ls但還包括一堆額外的開關,如下所示:

$ type -a ls
ls is aliased to `ls --color=auto'
ls is /usr/bin/ls
ls is /bin/ls

在上面的輸出中,您可以看到它ls是別名,但也可以在我係統的 $PATH 目錄/usr/bin/bin.

引用自:https://unix.stackexchange.com/questions/109216