Jestem stosunkowo nowy w programowaniu jako całości, a niektóre samouczki mówią mi, żebym ls -lszukał plików w katalogu, a inni mówili ll. Wiem, że lsto krótka lista, ale czy istnieje różnica między pozostałymi dwoma?
lskażde inne polecenie, które wprowadzam do powłoki? Jeśli piszę which ls, dostaję alias ls='ls --color=auto' /bin/ls, ale jeśli piszę (na przykład) which cd, dostaję /usr/bin/which: no cd in (........). EDYCJA: Próbowałem ponownie which mkdiri dostałem /bin/mkdir. Jaka jest różnica między tymi poleceniami, w których niektóre z nich są przechowywane (?), /usr/binA niektóre najwyraźniej nie?
$PATH. lsjest bardzo często aliasowany, więc twoja powłoka zgłasza alias (który ma pierwszeństwo przed plikiem binarnym) i faktyczną lokalizację pliku binarnego (w twoim przypadku /bin/ls). Jeśli whichnie można znaleźć cd, coś wydaje się okropnie nie tak.
cdto słowo kluczowe wbudowane w powłokę, a nie program znaleziony w systemie plików. Użyj type cdi, type lsaby zobaczyć, co mam na myśli. Niektóre polecenia są po prostu nadpisywane przez wbudowane powłoki: echoistnieją w /bin/echo, ale w bashrzeczywistości w większości nowoczesnych powłok, echozamiast tego wywoływana jest funkcja wbudowana (która zwykle ma rozszerzone funkcje). typew rzeczywistości mówi ci, który to jest.
which ll. Prawdopodobnie odkryjesz, żelltak naprawdę jest to aliasls -l.