web-dev-qa-db-fra.com

Masquer plusieurs fichiers à la fois avec le script Shell

J'essaie de cacher certains fichiers avec une commande, j'ai essayé la commande rm, mais cela n'a pas fonctionné et j'ai également essayé de renommer mais je ne comprenais pas comment cela fonctionne. Les fichiers que je veux cacher ont des espaces dans leurs noms et je veux juste mettre le point devant les noms pour les laisser cachés. Quelqu'un peut-il m'aider?

3
Patterson

Essayez ceci dans le terminal

    $ for i in *
    > do
    > mv "$i" ".$i"
    > done

Il cache tous les fichiers du répertoire courant. J'espère que c'est ce que vous cherchez. EDIT: Ajout des guillemets autour de $i.

2
sayantankhan

Vous pouvez utiliser mmv :

mmv -v "*" ".#1"

Simple et au point!

Pour les masquer à nouveau:

mmv -v ".*" "#1"
1
Radu Rădeanu
rename 's/^/./' file1.txt 'file with spaces' 'third file.mkd'

Vous pouvez bien sûr utiliser des globes. Ce qui suit ajoutera un point au début de chaque fichier qui se termine par .txt:

rename 's/^/./' *.txt

Ou vous pouvez masquer tous les fichiers commençant par foo et se terminant par .mkd:

rename 's/^/./' foo*.mkd

rename utilise une commande de substitution: s/foo/bar/ remplace le premier foo par bar. Au lieu de foo, vous pouvez également utiliser une expression régulière, et dans les expressions régulières ^ signifie 'le début de la ligne'. Donc s/^/./ indique à rename de 'remplacer le début de la ligne par un . '. C'est-à-dire: il place le point avant le premier caractère.

Vous pouvez également utiliser le -n option pour faire un 'test' - avec cela, rename ne renommera pas réellement les fichiers, mais listera tous les fichiers qu'il aurait changé, si vous n'étiez pas en utilisant le -n drapeau.

rename -n 's/^/./' *.txt
1
evilsoup

Pour masquer rapidement tous les fichiers du répertoire en cours d'affichage dans Nautilus:

ls * > .hidden

Cela va créer une liste de fichiers cachés dans le fichier .hidden dans le répertoire courant. Bien sûr, ces fichiers ne seront pas masqués sur la ligne de commande, et si nous choisissons d'afficher les fichiers cachés de Nautilus, ils réapparaîtront (tout comme . des dossiers).

Pour masquer uniquement un sous-ensemble de fichiers, utilisez les caractères génériques appropriés ou modifiez le .hidden fichier avec un éditeur.

Pour afficher à nouveau tous les fichiers, supprimez simplement le .hidden fichier.

1
Takkat

Ma méthode préférée utilise "nautilus-hide" dans le package "Nautilus-Actions-Extra":

Sudo add-apt-repository ppa:nae-team/ppa
Sudo apt-get update
Sudo apt-get install nautilus-actions-extra nautilus-hide
nautilus -q

Après avoir sélectionné des fichiers/dossiers dans Nautilus, choisissez (Dés) Masquer> Masquer dans le menu contextuel.

Cela crée un fichier nommé ".hidden" contenant une liste de fichiers/dossiers à cacher.

0
Sadi