Le logiciel apt-file (à installer sous ubuntu via apt-get) permet de rechercher des fichiers dans l’ensemble des paquets disponibles dans les dépôts indiqués dans le sources.list. Par exemple :
$ apt-file update $ apt-file search pdflatex
Le logiciel apt-file (à installer sous ubuntu via apt-get) permet de rechercher des fichiers dans l’ensemble des paquets disponibles dans les dépôts indiqués dans le sources.list. Par exemple :
$ apt-file update $ apt-file search pdflatex
On peut utiliser la commande suivante :
ps -eo pcpu,pid,user,args | sort -k 1 -r | head -10
La commande de base sous linux permettant de se connecter à un serveur ftp en ligne de commande est ftp. Cependant celle-ci a certaines limitations (notamment au niveau de l’affichage des caractères utf-8). Il est grandement préférable d’utiliser l’excellent lftp qui s’avère bien plus pratique et performant.
$ lftp [-d] [-e cmd] [-p port] [-u user[,pass]] [site] $ lftp -f script_file $ lftp -c commands $ lftp --version $ lftp --help
La commande lshw (fournie dans le paquet debian du même nom) permet d’ontenir un grand nombre d’informations sur le matériel équipant la machine. On utilise simplement :
$ sudo lshwL’objectif est de monter en ligne de commandes un partage samba. Pour ça, le paquet smbfs est nécessaire. On peut l’installer comme suit:
$ sudo apt-get install smbfs
Ensuite, pour monter le partage //server/share/ dans le dossier /media/smb/, on utilise la commande suivante:
$ sudo mount -t smbfs //server/share/ /media/smb/ -o username=thename,password=thepassword
ou
$ sudo smbmount //server/share/ /media/smb/ -o username=thename,password=thepassword
Pour un montage permanent, il faudra passer par fstab. Voir ici pour plus de détails.
Le programme ack peut se révéler très pratique pour tous ceux qui font parfois quelques recherches dans le code source d’une application qu’ils utilisent ou souhaitent utiliser. Ce programme, développé en perl, remplace avantageusement la classique conbinaison grep+find, comme le prouve l’exemple suivant:
$ grep pattern $(find . -name '*.pl' -or -name '*.pm' -or -name '*.pod' | grep -v .svn) $ ack-grep --perl pattern
Cette commande permet de rechercher la chaine ‘pattern’ dans tous les fichiers perl présents dans le dossier courant et dans tous ses sous-dossiers. On constate que la version ack est bien plus agréable. Il affiche également le nom des fichiers qui contiennent les occurrences recherchées et affiche le numéro de ligne associé. Le tout est très rapide.
Pour installer ack (ou plus précisémement ack-grep) sous Debian :
$ sudo apt-get install ack-grep
Contrairement à la commande find, locate ne recherche pas directement les fichiers dans l’arborescence mais utilise une base de donnée. On peut mettre à jour cette base via la commande (à exécuter en root):
$ sudo updatedb
Les trois commandes suivantes sont équivalentes :
$ locate pattern $ locate 'pattern' $ locate '*pattern*'
Ces commandes vont rechercher tous les fichiers qui contiennent la chaîne pattern dans leur chemin complet. Si on ne souhaite recherche que dans les noms de fichiers (et non plus dans les chemins), on utilisera l’option -b (–basename).
$ locate -b pattern
La commande suivante permet de rechercher des fichiers via leur nom exact (on ne souhaite donc pas que ‘pattern’ devienne ‘*pattern*’).
$ locate -b '\pattern'
La commande whoami permet d’afficher l’utilsateur courant:
$ whoamiLe programme du (disk usage) permet de déterminer la taille d’un dossier :
$ du -sh chemin_du_dossier
L’option -s permet de n’afficher que la taille du dossier spécifié (et pas celle de tous ces sous-dossier) alors que l’option -h permet de rendre le résultat (ie la taille du dossier) plus lisible.
Le module Python Image permet (entre autres) de récupérer les informations concernant chaque pixel d’une image. Par exemple, nous allons utiliser ce module pour déterminer le nombre exact de pixels noirs contenus dans une image.
1 2 3 4 5 6 7 8 9 10 11 | import Image black = (0,0,0) img = Image.open('./img.png') hsize = img.size[0] vsize = img.size[1] n = 0 for i in range(hsize): for j in range(vsize): if img.getpixel((i,j)) == black: n = n+1 print('Nombre de pixels noirs : '+str(n)) |
Cette méthode qui utilise getpixel est bien moins rapide (presque 7 fois plus lente) que la méthode suivante, basée sur load.
1 2 3 4 5 6 7 8 9 10 11 12 | import Image black = (0,0,0) img = Image.open('./img.png') hsize = img.size[0] vsize = img.size[1] n = 0 pixels = img.load() for i in range(hsize): for j in range(vsize): if pixels[i,j] == black: n = n+1 print('Nombre de pixels noirs : '+str(n)) |
Il faut utiliser Python 2.6 car le module n’est pas encore disponible pour les versions 3 de Python.