Quelque part sur le chemin, j'ai foiré ma commande ls et maintenant je reçois cette commande en cours d'exécution
$ ls -AhHl --color=auto
-rwxr-xr-x 1 clang clang 640 Mar 1 02:46 apple-touch-icon-precomposed.png
-rwxr-xr-x 1 clang clang 784 Jul 12 02:54 crossdomain.xml
-rwxr-xr-x 1 clang clang 1.2K Mar 1 02:46 favicon.ico
drwxr-xr-x 8 clang clang 4.0K Jul 12 23:50 .git
-rw-r--r-- 1 clang clang 17 Feb 29 19:48 .gitignore
-rwxr-xr-x 1 clang clang 1.4K Jul 12 02:54 humans.txt
Qu’ai-je fait pour que j’ignore les fichiers de points et commande plutôt par première lettre?
Sortie de locale
:
$ locale
LANG=
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8
ls
????????
export LC_ALL="C"
à vos fichiers de points, vous perdrez effectivement la prise en charge de vos paramètres régionaux actuels pour tous les utilitaires tenant compte de ces paramètres. Bien que le problème d' impression mentionné par @ohho puisse être résolu avec la réponse de Faroul , vous introduirez des problèmes de tri : le tri se fera uniquement par valeur d'octet, entraînant un tri qui est (a) sensible de manière inattendue à la casse et (b) invariablement caractères accentués. après tous les non-accentués.Pour éviter toute modification du système sans nécessité réelle, vous pouvez modifier uniquement le
ls
fonctionnement de l'utilisateur actuel en ajoutant l'alias au.bashrc
:Cela trie d’abord les fichiers à points, permet de gérer correctement (afficher et trier) les jeux de caractères "inhabituels" comme cyrillic. Le seul coupable que le tri sera sensible à la casse.
Source: http://ubuntuforums.org/showthread.php?t=816753
la source
LC_ALL
est déjà défini quelque chose d'incompatible avec le tri / levage des fichiers de points en haut de lals
liste, utilisezalias ll='LC_ALL=C ls -alF'
plutôt, carLC_COLLATE
ne remplace pasLC_ALL
.Réglage
fonctionne très bien pour moi - umlauts et "ls -la" listent d’abord les fichiers de points.
la source
UTF-8
, ne seront pas triés correctement.C.UTF-8
est une locale invalide, donc la locale est rétablieC
. Vous perdez toujours le support UTF-8. En fait, c'est encore pire puisque laLC_ALL=C
plupart des programmes affichent correctement la plupart des caractères multi-octets , maisLC_ALL=something_invalid
certains programmes n'en affichent pas (comme `ls).locale
semble y avoir une erreur avecLC_ALL=C.UTF-8
: gist.github.com/Carpetsmoker/ef09b3734b29372939f97107413d7733 - c'est sur Arch Linux.La liste de pages de manuel ls (1):
Cela semble changer la façon dont les périodes sont triées et groupe les fichiers dot en premier. J'ai:
dans mon ~ / .bashrc.
la source
Une idée décalée
J'aime beaucoup utiliser différentes méthodes de tri avec
ls
, en particulier-rt
(c'est-à-dire trier parr
modification inverset
). J'ai donc décidé d'essayer quelque chose de fou et d'utiliser awk pour faire mon tri.Maintenant, au lieu de définir un alias bash, je définis une fonction bash (car les alias peuvent uniquement ajouter des arguments à la fin, mais les fonctions peuvent les utiliser n'importe où)
Pour voir les résultats
Créons quelques exemples de fichiers:
Utilisation de ls simples
Utiliser ma fonction qui filtre avec awk
Vous pouvez voir ma mise en œuvre ici https://github.com/RichardBronosky/dotfiles/commit/6170c0a9
Le plus important, c’est qu’il s’agit d’un cadre permettant de peaufiner votre
ls
production. Vous pouvez faire ce que vous voulez avec ce filtre awk. Vous voudrez peut-être que ce soit des répertoires, puis des fichiers .ots, puis tout le reste. Une fois que vous savez manipuler vos couleurs xterm, ce n’est pas trop difficile. C'est totalement à vous.la source
Essayez ceci dans votre fichier .bashrc ou / etc / bashrc:
Cela suppose que vous utilisez une version un peu plus récente de ls qui prend "--group-Directories-first" en option. Vous pouvez évidemment ajuster les options LS à votre convenance.
la source
--group-directories-first
a à voir avec "montrer les fichiers dot en premier"?