* [[:start|Accueil]]
* [[:public:kb|KB]]
* [[:public:kb:unix:commandes_utiles/|Commandes Unix]]
====== Commandes fichiers ======
===== Fichiers =====
==== Affichage du type d’un fichier====
Cette commande affiche des renseignements sur le type du fichier contenu dans le fichier. Autrement dit, elle vous dit si le fichier est du type texte, data, image jpg ou autre, audio, vidéo… Très utile parfois. Il ne faut pas perdre de vue que sous Linux, l’extension dans le nom de fichier est facultative et si vous avez un répertoire rempli de fichiers dont vous ignorez le type, cette commande peut vous aider et vous faire gagner pas mal de temps.
$ file filename
$ file *
La commande file avec un * comme argument affiche le type de tous les fichiers ou répertoires (un répertoire est un fichier sous Linux) du répertoire courant.
==== Compter le nombre de mots ou de lignes dans un fichier ====
$ wc -l filename
$ wc -w filename
La première commande compte le nombre de lignes, la seconde, le nombre de mots.
====Suppression d'un répertoire non vide sans confirmation====
rm -rf toto
==== Copier un fichier :====
cp
==== Déplacer un fichier :====
mv
==== Supprimer un fichier :====
rm
==== Changer de repertoire :====
cd
==== Voir le contenu d'un fichier :====
more
==== Chercher une chaine dans un fichier : ====
grep
==== lister un repertoire ====
=== liste simple ===
ls
=== Pour voir les details des fichiers (droits, owners, ...)===
ls -l
=== idem pour voir aussi les fichiers cachés ===
//par caché entendre notamment les fichiers dont le nom commence par un .//
ls -la
=== Liste uniquement les repertoires ===
ls -ld */
==== Pour faire défiler en temps réel le contenu d'un fichier: ====
tail -f
====Changer le propriétaire et le groupe d'un fichier====
//Dans cet exemple le proprietaire est root et le groupe est toto//
chown root:toto test.txt
ajouter ''-R'' pour traiter recursivement un repertoire
chown -R root:toto test
====Calculer le hash MD5====
md5sum
openssl md5
Marche tres bien aussi avec ''sha1'', ''rmd160''. Parfois, on trouve aussi une commande ''digest'' (Solaris, NetBSD).
====Localiser un fichier====
=== locate ===
locate mon_fichier
il s'appuie sur une base de donnée qu'il faut mettre à jour via la commande
updatedb
ou
/usr/libexec/locate.updatedb
=== find ===
find /chemin -name "nom_du_fichier"
On peut aussi la combiner avec des grep pour rechercher à l'intérieur des fichiers, ou -exec pour appliquer une commande à chaque fichier trouvé par find.
[[http://www.onlamp.com/pub/a/bsd/2002/03/14/FreeBSD_Basics.html|voir]]
==== Voir les modifications effectuées dans un repertoire depuis les N derniers jours====
find /path -type f -mtime -N
==== Créer un fichier vide ====
touch monfichier.txt
==== Changer le character encoding ====
Ex pour passer de l'iso 8859-1 (classique chez nous) à l'utf8
iconv -f ISO8859-1 -t utf-8 ancien_fichier > nouveau_fichier
==== Créer un lien symbolique ====
ln -s /TARGET monlien