Czy ktoś może mi powiedzieć, dla jakiego polecenia terminalu służy alias ll
? Wszystko, co mogę znaleźć w Internecie, to wiele osób, które mówią, że jest to pseudonim dla ls -l
lub ls -la
lub ls -ltr
. Ale to po prostu źle. Wynik wygląda inaczej. Czy jest jakiś sposób na zlokalizowanie ll
i sprawdzenie jego składni?
command-line
bash
alias
Sokrates
źródło
źródło
type -a commandname
ujawni wszystko - powie ci, czy polecenie jest jednym lub kilkoma aliasami, funkcjami, wbudowanymi lub jednym lub kilkoma plikami wykonywalnymi w twojej ŚCIEŻCE, w tej kolejności. Pomaga to zrozumieć, na przykład, dlaczego odblokowanie polecenia nie przywraca go do oczekiwanego zachowania.alias ll='ls -lh'
. Możesz uruchomić,ls -l
jeśli chcesz rozmiar w bajtach zamiast przyjaznego dla człowieka B / kiB / MiB / GiB.ll
to zdefiniowany w twoim aliasie~/.bashrc
, pod warunkiem, że go nie zmieniłeś, tols -alF
:Te trzy opcje to:
Tak jak
pokazuje, że
ls
sam jest znowu aliasem dlals --color=auto
:źródło
bash
jest domyślna powłoka dla użytkowników ill
zdefiniowany jest alias,/etc/skel/.bashrc
który jest kopiowany do każdego nowego katalog domowy użytkownika. Oczywiście możesz użyć dowolnego pliku do przechowywania własnych aliasów - potrzebujesz tylko źródła.grep
, nazwa pliku zostanie uznana za argument. Podczas gdy grepping pliki startowe pomogą ci znaleźć, gdzie alias jest (ponownie) zdefiniowany (pamiętaj, że może on znajdować się w pliku/etc
- wiedząc, że zaoszczędzi ci to trochę zarysowania, jeśli usuniesz go z pliku startowego użytkownika i nadal będzie istniał, a nawet zmienia swoje zachowanie), jeśli chcesz szybko dowiedzieć się, jaka jest definicja, polecenie alias , jak zaznaczono w zaakceptowanej odpowiedzi, wykona zadanie.bash
otwierać pliku, ale jest o wiele lepszy! Ostatnie zdanie w pytaniu brzmi: Czy jest jakiś sposób na zlokalizowaniell
i sprawdzenie jego składni? , na to odpowiada moja odpowiedź.Możesz zajrzeć do ~ / .bashrc (lub jakiegoś pliku, w którym znajdują się twoje aliasy) lub możesz napisać niektóre z tych poleceń w swojej powłoce:
Ale po co używać find bez nazwy „. *”? Ponieważ możesz umieścić to w swoim .bashrc
Ponieważ „ll” jest aliasem, nie jest konieczne, aby miało tylko jedno znaczenie (ll = 'ls -alF --color'), możesz aliasować swoje „ll” jak inne polecenie, takie jak, nie wiem, „rm” . Myślę, że to bardziej konwencja (produkt powszechnych zastosowań).
Ale „II” może być programem przechowywanym w dowolnym folderze ŚCIEŻKI. Na przykład, jeśli masz w domu folder o nazwie „bin”, utwórz skrypt „ll” zawierający coś takiego
Ale co, jeśli zmieniono ŚCIEŻKĘ, aby dodać kolejny folder zawierający nowe polecenie „ll”? Aby uzyskać więcej interesujących informacji, możesz skorzystać z następującego łącza do powiązanego pytania.
źródło
Nie ma potrzeby analizowania ~ / .bashrc ani żadnego innego skryptu. Możesz sprawdzić swoje aktualne wartości wszystkich aliasów wpisując
alias
polecenie w terminalu. Wyświetli wszystkie zdefiniowane aliasy wraz z ich definicjami na ekranie.źródło
Tak powinno być
ls -la
. Zobacz Linuxize.com: https://linuxize.com/post/how-to-create-bash-aliases/źródło