GNU/Linux >> Linux Esercitazione >  >> Linux

Come posso fare in modo che ls mostri prima i dotfile?

⚠️ Questa risposta è un po' datata. Controlla le altre risposte, in particolare quelle che utilizzano alias o ls -v .

Prova ad aggiungere

export LC_COLLATE="C"

nei tuoi dotfile, o modificando il LC_ALL assegnazione a:

export LC_ALL="C"

Questo controlla il modo in cui funziona l'ordinamento a livello di carattere — mentre l'impostazione predefinita sarebbe ordinare i dotfile in linea, questo renderà sort elenca prima i dotfile.

Tuttavia, tieni presente che questo fondamentalmente interromperà il supporto per la tua attuale locale in tutte le utilità che riconoscono la locale.

Per andare oltre, citando il manuale GNU Coreutils (sottolineatura mia):

Se utilizzi una locale non POSIX (ad esempio, impostando LC_ALL a en_US ), allora sort potrebbe produrre un output ordinato in modo diverso di quanto sei abituato.

In tal caso, imposta LC_ALL variabile di ambiente a C . Nota che impostando solo LC_COLLATE ha due problemi. Primo, è inefficace se LC_ALL è anche impostato. In secondo luogo, ha un comportamento indefinito se LC_CTYPE (o LANG , se LC_CTYPE non è impostato) è impostato su un valore incompatibile. Ad esempio, ottieni un comportamento indefinito se LC_CTYPE è ja_JP.PCK ma LC_COLLATE è en_US.UTF-8 .


Per evitare modifiche a livello di sistema senza una reale necessità, è possibile modificare solo il modo in cui ls funziona per l'utente corrente aggiungendo l'alias al .bashrc :

alias ll='LC_COLLATE=C ls -alF'

Questo ordina prima i file punto, consente di gestire correttamente (mostrare e ordinare) set di caratteri "non comuni" come il cirillico. L'unico colpevole è che l'ordinamento farà distinzione tra maiuscole e minuscole.

Fonte:http://ubuntuforums.org/showthread.php?t=816753


La manpage di ls(1) elenca:

-v ordinamento naturale dei numeri (di versione) all'interno del testo

Questo sembra cambiare il modo in cui i periodi vengono ordinati e raggruppa prima i dotfile. Ho:

alias ls='ls -vAF'
alias ll='ls -l'

nel mio ~/.bashrc.


Linux
  1. Come ordinare l'output per dimensione?

  2. Come fare una VPN

  3. In Unix, posso eseguire 'make' in una directory senza prima accedere a quella directory?

  4. Come posso usare grep per mostrare solo i nomi dei file su Linux?

  5. Come posso fare in modo che R legga le mie variabili ambientali?

Come Linux può semplificarti la vita

Come mostrare il desktop in GNOME

Come posso fare in modo che bazel utilizzi la memoria esterna durante la costruzione?

Come posso ordinare ls per proprietario e gruppo?

Come ordinare htop per PID

Come posso assicurarmi che il mio sistema utilizzi il file ~/.screenrc?