l, ls & la - jakie są różnice i czy jest więcej takich poleceń?

25

Tak więc, wpisując kilka poleceń, odkryłem, że jest nie tylko ls, ale li larównież. Wygląda na to, że manw Ubuntu 12.14 nie ma żadnych wpisów. Wszystkie wydają się robić podobne rzeczy z niewielkimi różnicami:

$ 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/

Czy to trochę ciekawostek, czy jest ich więcej i co robią? Czy jest tu jakieś miejsce, aby się tego dowiedzieć? Niestety wyszukiwanie w Google tych poleceń jest ignorowane, ponieważ są one tak krótkie.

Seiyria
źródło
1
Najprawdopodobniej są one powiązane z czymś już istniejącym. AFAIK, nie ma poleceń lalub lpoleceń. Spróbuj \lai \laby ominąć ewentualne pseudonimy.
mkc
Rzeczywiście, jedynym, który działa \ls. Rozumiem, że to znaczy, że wszyscy byliby wtedy pseudonimami ls?
Seiyria
Zgadza się, brak plików wykonywalnych mówi ci, że są to aliasy. Zobacz moją odpowiedź na inne sposoby, aby to ustalić.
slm

Odpowiedzi:

26

Aliasy

lsjest poleceniem li lanajprawdopodobniej są to aliasy, które korzystają z polecenia ls. Po uruchomieniu polecenia aliasmożna znaleźć wszystkie aliasy w systemie.

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

Spowoduje to zwrócenie wszystkich aliasów pasujących do wzorca l=...lub la=....

Dalsze debugowanie

Możesz także użyć polecenia, typeaby zobaczyć, w jaki sposób wykonuje się określone polecenie. Czy to polecenie, alias lub funkcja.

Przykład

W moim systemie polecenie zostało z lsaliasu, aby wywoływało, lsale zawiera także kilka dodatkowych przełączników, takich jak:

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

Na powyższym wyjściu widać, że lsto aliasy, ale także na $ PATH mojego systemu w katalogach /usr/bini /bin.

slm
źródło
Dziękuję za dokładny przykład. Dzisiaj dowiedziałem się nieco więcej o Linuksie!
Seiyria
@Seiyria - nie ma za co. Dziękujemy za pytanie i do zobaczenia w przyszłości na naszej stronie. Życzymy powodzenia w Linuksie!
slm
9

Są tylko aliasem polecenia ls z pewnymi opcjami. wprowadź opis zdjęcia tutaj

man wypisze wszystkie opcje i ich przeznaczenie. Możesz utworzyć własny alias, wykonując na terminalu lub dodając .bashrc coś takiego: alias lsl = 'ls -lrt'

Sójka
źródło
3
Kod powinien być sformatowany jako kod, a nie zrzut ekranu, chyba że demonstrowane są kolory.
Tim
-1

Wypróbuj la -helpsystemy BSD Unix, aby uzyskać więcej informacji la. Znalazłem również law wyniku literówki.

mohan
źródło
1
Czy mówisz, że law twoim systemie BSD jest inne polecenie, a nie alias?
Anthon