Système de fichier / filesystem

Informations sur les fichiers

  • Avoir le numéro d’inode
$ ls -il
  • Avoir des infos sur un fichier (dont inode) :
$ stat file

Changer l’ordre des champs d’affichage de ls

$ ls -la \
	|awk '{print $5,"-----",$7,"---",$8,"-----",$6}' \
	|sort -n

Tris des fichiers/répertoires par taille croissante

  • version 1
$ du -s * | awk '{print $1,"-----",$1/(1024*1024),"Go","-----",$2}' | sort -n
  • version 2
#!/bin/sh

du -s * | awk '{ {printf "%8s --- %8s Go --- ",$1,$1/(1024*1024)}{for (i=2;i<=NF;i++) { printf "%s ",$i } }{printf "\n"} }' | sort -n

Trouver les 50 plus gros fichiers dans une arborescence

  • version 1
$ find / -type f ! -regex "^/[proc\|dev\|sys]*/.*" -printf "%s %p\n" \
	|sort -rnk1 \
	|head -n50 \
	|awk '{print $1/1048576 "MB" " " $2}'
  • version 2
$ du -s * | awk '{
	{printf "-|"}
	{printf "%8s --- %8s Go --- ",$1,$1/(1024*1024)}
	{printf "|-|"}
	{for (i=2;i<=NF;i++) { printf "%s ",$i }}
	{printf "|-\n"}
	{printf "\n"}
}' | sort -n

  • version 3 (condensé de la v2)
du -s * | awk '{ {printf "%8s --- %8s Go --- ",$1,$1/(1024*1024)}{for (i=2;i<=NF;i++) { printf "%s ",$i } }{printf "\n"} }' | sort -n

du -s * \
	| awk '{ {printf "%8s --- %8s Go --- ",$1,$1/(1024*1024)}{for (i=2;i<=NF;i++) { printf "%s ",$i } }{printf "\n"} }' \
	| sort -n

Encodage

Conversion d’encodage de fichiers en masse

  • utilisation de iconv
#!/bin/sh

# permet la passage de paramère par la console, lorsque ce script est enregistré dans un fichier
#folder=$1
folder=`pwd`

for i in $folder/*
do
	iconv --from-code UTF8 --to-code ISO-8859-15 "$i" -o "${i}_iso885915" --silent
	# pour remplacer la version utf8 par la version iso, décommente la ligne suivante
	#mv "${i}_iso885915" "$i"
done

Licence

logo creative common by-sa 3.0 Creative Commons Paternité – Partage à l’Identique 3.0 non transcrit