* [[: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