13. Commandes avancées sous Linux

13.1. Applications

1. Liste des comptes issus du fichier passwd triés par ordre alphabétique.


$ cut -f 1 -d ':' /etc/passwd | sort > /tmp/out
$ cat /tmp/out 
avahi
backup
bin
cl-builder
daemon
Debian-exim
Debian-gdm
games
gdm
gnats
haldaemon
hplip
info
irc
libuuid
list
lp
mail
man
messagebus
mysql
nath
news
nobody
proxy
root
saned
sshd
statd
sync
sys
usbmux
uucp
www-data
   

2. Nombre de fichier dans /usr/bin.


$ ls /usr/bin/ | wc -l
2621
  

3. Recherchez dans /usr/share/doc les fichiers compressés (gz) et indiquer le nombre.


$ find /usr/share/doc -name '*.gz'| wc -l
10302
  

4. Donnez la liste des processus shell lancés par des utilisateurs.


$ ps aux|grep bash
cvanvinc  4504  0.0  0.0   3368   772 pts/0    S+   15:56   0:00 grep --colour=auto bash
cvanvinc 26349  0.0  0.1   6652  3900 pts/0    Ss   15:16   0:00 bash
  

5. Réalisez une archive bzip2 de /etc. L'archive sera stockées dans /tmp/etc.tar.bz2


$ sudo tar -cjf /tmp/etc.tar.bz2 /etc
# ou
$ sudo tar -cf - /etc/ | bzip2 > etc.tar.bz2
  

6. Répartissez etc.tar.bz2 à l'aide du split en autant de fichier de 1mo que possible.


$ split -b 1M etc.tar.bz2 etc
  

7. Reconstruisez l'archive à l'aide de cat.


$ cat etcaa etcab > new-etc.tar.bz2
  

8. Vérifier le md5 des deux archives


$ md5sum etc.tar.bz2 new-etc.tar.bz2
aae9622eecc22e0b509942e33d773710  etc.tar.bz2
aae9622eecc22e0b509942e33d773710  new-etc.tar.bz2
  

9. Recherchez dans /home tous les fichiers appartenant au compte 'foo'et changer le propriétaire et le groupe qui devient bar.


$ find /home -user foo | xargs sudo chown bar :bar
  

10. Transforme les caractères '\n' en '\r'


$cat /etc/passwd | tr '\n' '\r' > /tmp/newpasswd