Sono relativamente nuovo alla programmazione nel suo insieme e alcuni tutorial mi hanno detto di usare ls -lper guardare i file in una directory e altri hanno detto ll. So che lsè un breve elenco, ma c'è una differenza tra gli altri due?
lsqualsiasi altro comando che ho inserito nella shell? Se digito which lsottengo alias ls='ls --color=auto' /bin/ls, ma se digito (ad esempio) which cdottengo /usr/bin/which: no cd in (........). EDIT: ho provato di nuovo con which mkdire ho ottenuto /bin/mkdir. Qual è la distinzione tra questi comandi in cui alcuni di essi sono memorizzati (?) /usr/binE altri apparentemente no?
$PATH. lsè molto spesso aliasato, quindi la tua shell riporta l'alias (che ha la precedenza sul binario) e la posizione effettiva del binario (nel tuo caso /bin/ls). Se whichnon riuscissi a trovare cd, allora qualcosa sembra terribilmente sbagliato.
cdè una parola chiave integrata nella shell, non un programma trovato in un filesystem. Usa type cde type lsper vedere cosa intendo. Alcuni comandi sono semplicemente sostituiti dai builtin della shell: echoesiste in /bin/echo, ma in bashrealtà nella maggior parte delle shell moderne, al suo echoposto viene chiamata una funzione incorporata (che di solito ha funzionalità estese). typein realtà ti dice quale è.
which ll. Probabilmente scoprirai che inllrealtà è un alias perls -l.