La plupart de ces commandes s'appliques aux systèmes d'exploitations Unix-like.
Affiche le contenu d'un fichier.
$ cat toto
Pour avoir de la pagination, utiliser more
.
Pour changer de répertoire.
$ cd
Déplace au répertoire de login
ou répertoire de l'utilisateur (home directory).
$ cd ~
Le tilde fait aussi référence au répertoir de l'utilisateur (login
).
Exemples:
cd /home/pi/test
cd test
Utilitaire pour gérer les services. Fonctionne avec les runlevels.
chkconfig --level 35 vsftpd on chkconfig --level 5 vsftpd off chkconfig --list | grep vsftpd chkconfig --level 3 crond on
Changer le mode d'un fichier/répertoire.
chmod (-R) [u g o a] [+ - =] [r w x (X) s t] fichier/dossier
$ chmod [options] mode fichier ...
Options:
-R
permet d'appliquer les changements de façon récursiveOption | Signification |
---|---|
Utilisateurs ciblés | |
u | Utilisateur |
g | Groupe |
o | Autres (others) |
a | Tous (all) |
Opérations de droits | |
+ | Ajout des droits |
- | Retrait des droits |
= | Égalité des droits |
Type de droit | |
r | Lecture |
w | Écriture |
x | Exécution |
X | Exécution pour les dossiers seulement |
-R
→ change le mode des fichiers/répertoires de façon récursive-V
→ mode détaillé (verbose).Les modes peuvent être exprimées de deux façons : numérique ou alpha.
$ chmod 700 script.pl
Le mode 700
donne l'exécution au propriétaire du fichier script.pl
.
Efface l'écran.
$ cp fichier1 fichier2
Affiche ou modifie la table Cron (crontab
) de l'usager. La table Cron spécifie des actions schédulées par le Cron daemon (crond
).
crontab [-u user] file
crontab [-u user] { -l|-r|-e }
-e
: Modifie le fichier crontab
de l'utilisateur courant ou celui spécifié par le paramètre -u
.-l
: Affiche le contenu du fichier crontab
.-r
: Efface le fichier crontab
.-u user
: Spécifie quel fichier crontab
d'un utilisateur à travailler. Peut seulement être utilisé par le root
.
Le fichier de la table Cron est /etc/crontab
et il existe des répertoires pour les fréquences : /etc/cron.daily
.
Paramètres | |||||
---|---|---|---|---|---|
min | heure | jour | mois | j de semaine | commande |
0-59 | 0-23 | 1-31 | 1-12 | 0-7 (0 et 7 → dimanche) | specfich |
crontab -e -u pierre service crond restart service crond status
Requête simple en GET vers un fichier:
$ curl -o response.txt https://example.com/
Envoyer une requête POST:
$ curl -d 'user=somename&password=pass1234' -X POST https://example.com/login
Vu qu'on utilise le paramètre -d
, curl fera un POST, donc on peut ignorer le -X
:
$ curl -d 'user=somename&password=pass1234' https://example.com/login
Façon plus claire de le faire, en séparant les arguments Form:
$ curl -d 'user=somename' -d 'password=pass1234' https://example.com/login
Pour envoyer des données JSON en POST:
$ curl -d '{"login": "emma", "pass": "123"}' -H 'Content-Type: application/json' https://example.com/login
Argument | Utilisation |
---|---|
-L | Suivre la redirection |
Source: Curl Cookbook
Le programme dd
vient préinstallé.
$ sudo dd if=/dev/sda of=/dev/sdb bs=1024
Installer ddrescue
:
$ sudo apt-get install gddrescue
Exemple d'utilisation :
$ sudo ddrescue -f -n /dev/sda /dev/sdb ~/recovery.log
Espace disque total:
$ df -h --total
Espace disque occupé par un répertoire:
$ du -sh nom-du-repertoire
$ sudo e2label /dev/sda1 NEWLABELNAME
Chercher un fichier.
$ find / -name "nomdufichier" $ find /home -name users.txt # trouve tous les fichiers users.txt dans /home
→ Utiliser -iname
ignore la casse
$ find /home/user -iname test.txt
Seulement les répertoires:
$ find / -type d -iname test
Pour rechercher un texte dans les fichiers:
grep -I -R "chaine_a_rechercher" /var/www/
L'option -I
exclue les fichiers binaires.
L'option -R
fait une recherche récursive dans le répertoire.
Autres exemples:
grep “dhcp” /var/log/syslog
ls -latr | grep “.php”
Affiche le début d'un fichier.
$ head test.txt
Commande similaire: tail
.
Affiche ou modifie le hostname.
hostname
sudo hostname <MyHostname>
Donne des détails sur les périphériques et la configuration réseau du système.
$ ifconfig
Pour débogger un problème réseau, on peut aussi utiliser les commandes :
$ netconfig $ service network restart
Pour changer le mode de Linux, on peut utiliser init
. Il faut spécifier un runlevel
dans la commande :
$ init 0
runlevel | Action |
---|---|
0 | Arrête le système |
1 | Démarre en mode simple utilisateur |
2 | Inutilisé/personnalisable |
3 | Démarre le système en mode commandes |
4 | Inutilisé/personnalisable |
5 | Démarre le système en mode graphique |
6 | Redémarre le système |
Le tableau ci-dessus s'applique à RedHat Linux. La signification des runlevels
diffèrent d'un système d'exploitation à l'autre. Solaris, par exemple, le $ init 5
permet d'arrêter le système.
Le runlevel
par défaut est spécifié dans le fichier /etc/inittab
. On peut faire la commande $ runlevel
pour connaître le runlevel
courrant. Si le runlevel
est à 3 (mode commandes), on peut exécuter la commande $ startx
pour aller en mode graphique.
On peut utiliser $ shutdown -h now
(équivalent à init 0
) ou $ shutdown -r now
(équivalent à init 6
).
Liste les fichiers d'un répertoire.
ls -l ls -la
Liste des disques.
$ lsblk -f
Option -f
donne le filesystem associé.
Pour créer un répertoire:
$ mkdir temp
Pour créer tout l'arborescence on utilise -p
:
$ mkdir -p ~/rep1/rep2/rep1
Crée un système de fichier ou, autrement dit, formatte un périphérique de stockage.
$ mkfs -t msdos /dev/fd0 $ mkfs -t ext2 /dev/fd0
Si l'on veut créer un système de fichier ext2
, on peut utiliser :
$ mke2 /dev/sda1
Le filesystème pourrait être donné à root
, ce qui empêcherait l'écriture pour un utilisateur normal. Le 1000:1000
est le id de l'utilisateur qu'on peut obtenir par sudo id -u monuser
.
$ sudo mkfs.ext4 /dev/sda2 -E root_owner=1000:1000
Permet de monter des périphériques de stockage.
$ mount -t msdos /dev/fd0 /mnt/floppy $ mount -t vfat /dev/sda1 /mnt/usb $ mount -t auto /dev/sda2 /media/user/mountpointdirectory
Le premier exemple monte une disquette et le deuxième monte un support de stockage USB.
La commande seule $ mount
permet de connaitre la table de montage.
$ mount
Déplace un fichier ou un répertoire à un autre endroit.
$ mv fichier1 fichier2
Note: la commande mv
est toujours en mode récursif.
Affiche le contenu d'un fichier, page par page.
$ more test.txt
Semblable à cat
.
Pour obtenir la liste des ports qui écoutent:
sudo netstat -plnt
Lister les programmes en exécution
$ ps -e
Lister les programmes en exécution avec les détails (propriétaire, l’heure de départ, …)
$ ps -elf
Affiche le répertoire de travail. pwd
est équivalent à print working directory
.
Installation:
Voir la documentation pour l'installation par script.
curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip unzip rclone-current-linux-amd64.zip cd rclone-current-linux-amd64 sudo cp rclone /usr/bin/ sudo chown root:root /usr/bin/rclone sudo chmod 755 /usr/bin/rclone
Supprime un fichier ou un répertoire.
$ rm fichier $ rm -rf répertoire
Note: On a besoin de l'option -rf
pour supprimer un répertoire, même s'il n'est pas vide (remove + force).
Secured Copy.
Envoyer un fichier
$ scp SourceFile user@host:directory/TargetFile
Recevoir un fichier
$ scp user@host:directory/SourceFile TargetFile
Spécifier un port:
$ scp -P 22 user@host:~/sourcefile.tar.gz ./targetfile.tar.gz
Voir aussi termscp
Pour créer une nouvelle session:
$ screen -S <nomdelasession>
Pour restaurer une session:
$ screen -R <nomdelasession>
Pour se détacher d'une session, il faut faire CTRL+A suivi de D.
Redémarrer :
shutdown -r now
Commande Socket Summary.
Pour voir les connexions TCP (le t
dans la commande):
ss -ltn
Pour les commandes UDP:
ss -lun
Les deux :
ss -ltun
Permet de se changer en root
. Préférable d'utiliser sudo
.
$ su
Permet de se changer en root
le temps d'une commande.
$ sudo commande_a_executer_en_tant_que_root
Affiche la fin d'un fichier. Souvent utilisé pour afficher des fichiers de journalisation.
$ tail service.log
Commande similaire: head
.
Pour compresser un répertoire :
$ tar -czf nomdufichier.tar.gz nomdurepertoire/*
Pour décompresser un fichier tarball avec compression gzip
(tar.gz
) dans le répertoire courant :
$ tar xzf nomdufichier.tar.gz
Avec extension bz2
:
$ tar xjf nomdufichier.tar.bz2
Exclure des répertoires :
$ tar --exclude='./folder' --exclude='./node_modules' -zcvf /backup/filename.tgz .
Encrypt:
$ tar -cz your_dir | gpg -c -o yourarchive.tgz.gpg
Crée un fichier vide.
$ touch toto
$ umount /dev/fd0 $ umount /mnt/floppy
Donne le nom et/ou la version du système d'exploitation.
$ uname -a
Pour avoir tous les renseignements, utiliser le paramètre -a
.
Affiche le temps depuis que le système est fonctionnel ou opérationel.
$ uptime
Dernière heure de démarrage:
$ uptime -s
Éditeur de fichier. vi est discuté dans une autre section plus en détails.
Permet de décompresser tous les fichiers ZIP du répertoire courant dans le répertoire uc
. L'option -n
permet de ne pas écraser les fichiers existants.
$ unzip -jn \*.zip -d uc