Vous envisagez donc de passer de Windows à Linux ou venez de passer à Linux ? Oups!!! ce que je demande ! Pour quelle autre raison auriez-vous été ici.
[ Vous aimerez peut-être aussi : Comment je suis passé de Windows à Linux Mint ]
D’après mon expérience passée quand j’étais nouveau, les commandes et les terminaux Linux me faisaient vraiment peur, j’étais inquiet à propos des commandes, quant à la mesure dans laquelle je dois me souvenir et mémoriser les commandes pour être pleinement fonctionnel avec Linux .
Il ne fait aucun doute que la documentation en ligne, les livres Linux , les pages de manuel et la communauté des utilisateurs m’ont beaucoup aidé, mais je croyais fermement qu’il devrait y avoir un article avec les commandes Linux de base dans un langage facile à apprendre et à comprendre. Ceux-ci m’ont motivé à maîtriser Linux et à le rendre facile à utiliser. Cet article est un pas dans cette direction.
1. Commande : ls
La commande » ls » signifie ( List Directory Contents ), Liste le contenu du dossier, qu’il s’agisse d’un fichier ou d’un dossier, à partir duquel il s’exécute.
[email protected]:~# ls Android-Games Music Pictures Public Desktop Tecmint.com Documents TecMint-Sync Downloads Templates
The command “ls -l” lists the content of the folder, in a long listing fashion.
[email protected]:~# ls -l total 40588 drwxrwxr-x 2 ravisaive ravisaive 4096 May 8 01:06 Android Games drwxr-xr-x 2 ravisaive ravisaive 4096 May 15 10:50 Desktop drwxr-xr-x 2 ravisaive ravisaive 4096 May 16 16:45 Documents drwxr-xr-x 6 ravisaive ravisaive 4096 May 16 14:34 Downloads drwxr-xr-x 2 ravisaive ravisaive 4096 Apr 30 20:50 Music drwxr-xr-x 2 ravisaive ravisaive 4096 May 9 17:54 Pictures drwxrwxr-x 5 ravisaive ravisaive 4096 May 3 18:44 Tecmint.com drwxr-xr-x 2 ravisaive ravisaive 4096 Apr 30 20:50 Templates
Command “ls -a“, list the content of a folder, including hidden files starting with '.'
.
[email protected]:~# ls -a . .gnupg .dbus .adobe deja-dup .grsync .gstreamer-0.10 .mtpaint .thumbnails .HotShots .mysql_history .htaccess .profile .bash_history .icons .jedit .pulse .bashrc .Xauthority .gconf .local .gftp .macromedia .remmina .ssh .xsession-errors .compiz .xsession-errors.old .config .gnome2
Note: In Linux file name starting with ‘.
‘ is hidden. In Linux, every file/folder/device/command is a file. The output of ls -l is:
- d (stands for directory).
- rwxr-xr-x is the file permission of the file/folder for the owner, group, and world.
- The 1st ravisaive in the above example means that the file is owned by user ravisaive.
- The 2nd ravisaive in the above example means the file belongs to the user group ravisaive.
- 4096 means file size is 4096 Bytes.
- May 8 01:06 is the date and time of the last modification.
- And at the end is the name of the File/Folder.
For more “ls” command examples read our series of articles:
2. Command: lsblk
The “lsblk” stands for (List Block Devices), print block devices by their assigned name (but not RAM) on the standard output in a tree-like fashion.
[email protected]:~# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 232.9G 0 disk ├─sda1 8:1 0 46.6G 0 part / ├─sda2 8:2 0 1K 0 part ├─sda5 8:5 0 190M 0 part /boot ├─sda6 8:6 0 3.7G 0 part [SWAP] ├─sda7 8:7 0 93.1G 0 part /data └─sda8 8:8 0 89.2G 0 part /personal sr0 11:0 1 1024M 0 rom
The “lsblk -l” command list block devices in the ‘list‘ structure (not tree-like fashion).
[email protected]:~# lsblk -l NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 232.9G 0 disk sda1 8:1 0 46.6G 0 part / sda2 8:2 0 1K 0 part sda5 8:5 0 190M 0 part /boot sda6 8:6 0 3.7G 0 part [SWAP] sda7 8:7 0 93.1G 0 part /data sda8 8:8 0 89.2G 0 part /personal sr0 11:0 1 1024M 0 rom
Note: lsblk is a very useful and easiest way to know the name of the New Usb Device you just plugged in, especially when you have to deal with disk/blocks in the terminal.
[ You might also like: 10 Useful Commands to Collect System and Hardware Information in Linux ]
3. Command: md5sum
The “md5sum” stands for (Compute and Check MD5 Message-Digest), md5 checksum (commonly called a hash) is used to match or verify the integrity of files that may have changed as a result of a faulty file transfer, a disk error, or non-malicious interference.
[email protected]:~# md5sum teamviewer_linux.deb 47790ed345a7b7970fc1f2ac50c97002 teamviewer_linux.deb
Note: The user can match the generated md5sum with the one provided officially. Md5sum is considered less secure than sha1sum, which we will discuss later.
4. Command: dd
Command “dd” stands for (Convert and Copy a file), can be used to convert and copy a file and most of the time is used to copy an iso file (or any other file) to a usb device (or any other location), thus can be used to make a bootable USB stick.
# dd if=/home/user/Downloads/debian.iso of=/dev/sdb1 bs=512M; sync
Note: In the above example the usb device is supposed to be sdb1 (You should Verify it using the command lsblk, otherwise you will overwrite your disk and OS), use the name of the disk very Cautiously!!!.
La commande dd prend un certain temps allant de quelques secondes à plusieurs minutes d’exécution, selon la taille et le type de fichier et la vitesse de lecture et d’écriture de la clé USB.
[ Vous pourriez également aimer : Comment cloner une partition sous Linux à l’aide de la commande dd ]
5. Commande : uname
La commande « uname » signifie ( Nom Unix ), imprime des informations détaillées sur le nom de la machine, le système d’exploitation et le noyau.
[email protected] :~# uname -a Linux tecmint 3.8.0-19-generic #30-Ubuntu SMP Mer 1er mai 16:36:13 UTC 2013 i686 i686 i686 GNU/Linux
Note : uname indique le type de noyau. uname -a affiche des informations détaillées. Élaboration de la sortie ci-dessus de uname -a .
- « Linux » : Le nom du noyau de la machine.
- « tecmint » : Le nom du nœud de la machine.
- « 3.8.0-19-generic » : La version du noyau.
- « #30-Ubuntu SMP » : La version du noyau.
- « i686 » : L’architecture du processeur.
- « GNU/Linux » : Le nom du système d’exploitation.
6. Commande : historique
La commande history signifie History (Event) Record , elle imprime l’historique d’une longue liste de commandes exécutées dans le terminal.
[email protected]:~# history 1 sudo add-apt-repository ppa:tualatrix/ppa 2 sudo apt-get update 3 sudo apt-get install ubuntu-tweak 4 sudo add-apt-repository ppa:diesch/testing 5 sudo apt-get update 6 sudo apt-get install indicator-privacy 7 sudo add-apt-repository ppa:atareao/atareao 8 sudo apt-get update 9 sudo apt-get install my-weather-indicator 10 pwd 11 cd && sudo cp -r unity/6 /usr/share/unity/ 12 cd /usr/share/unity/icons/ 13 cd /usr/share/unity
Note: Pressing “Ctrl + R” and then search for already executed commands which lets your command be completed with the auto-completion feature.
(reverse-i-search)`if': ifconfig
[ You might also like: Set Date and Time for Each Command You Execute in Bash History ]
7. Command: sudo
The “sudo” (superuser do) command allows a permitted user to execute a command as the superuser or another user, as specified by the security policy in the sudoers list.
[email protected]:~# sudo add-apt-repository ppa:tualatrix/ppa
Note: sudo allows users to borrow superuser privileged, while a similar command ‘su‘ allows users to actually log in as superuser. Sudo is safer than su.
[ You might also like: 10 Useful Sudoers Configurations for Setting ‘sudo’ in Linux ]
It is not advised to use sudo or su for day-to-day normal use, as it can result in serious error if accidentally you did something wrong, that’s why a very popular saying in the Linux community is:
“To err is human, but to really foul up everything, you need a root password.”
8. Command: mkdir
The “mkdir” (make directory) command creates a new directory with a name path. However is the directory already exists, it will return an error message “cannot create a folder, folder already exists”.
[email protected]:~# mkdir tecmint
Remarque : Le répertoire ne peut être créé qu’à l’intérieur du dossier, dans lequel l’utilisateur doit disposer d’une autorisation en écriture. mkdir : impossible de créer le répertoire ` tecmint ‘ : le fichier existe.
(Ne confondez pas avec un fichier dans la sortie ci-dessus, vous vous souviendrez peut-être de ce que j’ai dit au début – Sous Linux, chaque fichier, dossier, lecteur, commande, script est traité comme un fichier).
[ Vous aimerez peut-être aussi : Explication de « Tout est un fichier » et Types de fichiers sous Linux ]
9. Commande : touchez
La commande touch signifie (mettre à jour les heures d’accès et de modification de chaque FICHIER à l’heure actuelle). La commande touch crée le fichier, uniquement s’il n’existe pas. Si le fichier existe déjà, il mettra à jour l’horodatage et non le contenu du fichier.
[protégé par e-mail] :~# touch tecmintfile
Remarque : touch peut être utilisé pour créer un fichier sous le répertoire, sur lequel l’utilisateur doit avoir la permission d’écrire, uniquement si le fichier n’y existe pas.
10. Commande : chmod
La commande Linux « chmod » signifie ( modifier les bits du mode fichier ). chmod change le mode de fichier ( permission ) de chaque fichier, dossier, script, etc. donné selon le mode demandé.
There exist 3 types of permission on a file (folder or anything but to keep things simple we will be using file).
Read (r)=4 Write(w)=2 Execute(x)=1
So if you want to give only read permission on a file it will be assigned a value of ‘4‘, for write permission only, a value of ‘2‘ and for execute permission only, a value of ‘1‘ is to be given. For read and write permission 4+2 = ‘6‘ is to be given, and so on.
Now, permission needs to be set for 3 kinds of users and user groups. The first is the owner, then the user group, and finally the world.
rwxr-x--x abc.sh
Here the root’s permission is rwx (read, write and execute).
usergroup to which it belongs, is r-x (read and execute only, no write permission) and
for the world is –x (only execute).
To change its permission and provide read, write and execute permission to the owner, group, and world.
[email protected]:~# chmod 777 abc.sh
only read and write permission to all three.
[email protected]:~# chmod 666 abc.sh
read, write and execute to the owner and only execute to group and world.
[email protected]:~# chmod 711 abc.sh
Note: one of the most important commands useful for sysadmin and user both. On a multi-user environment or on a server, this command comes to the rescue, setting wrong permission will either make a file inaccessible or provide unauthorized access to someone.
11. Command: chown
The Linux “chown” command stands for (change file owner and group). Every file belongs to a group of users and an owner. It is used to do ‘ls -l‘ into your directory and you will see something like this.
[email protected]:~# ls -l drwxr-xr-x 3 server root 4096 May 10 11:14 Binary drwxr-xr-x 2 server server 4096 May 13 09:42 Desktop
Here the directory Binary is owned by user “server” and it belongs to usergroup “root” whereas directory “Desktop” is owned by user “server” and belongs to user group “server“.
This “chown” command is used to change the file ownership and thus is useful in managing and providing files to authorized users and usergroup only.
[email protected]:~# chown server:server Binary drwxr-xr-x 3 server server 4096 May 10 11:14 Binary drwxr-xr-x 2 server server 4096 May 13 09:42 Desktop
Note: “chown” changes the user and group ownership of each given FILE to NEW-OWNER or to the user and group of an existing reference file.
12. Command: apt
The Debian-based apt command stands for (Advanced Package Tool). Apt is an advanced package manager for Debian based system (Ubuntu, Kubuntu, etc.), that automatically and intelligently search, install, update and resolves dependency of packages on Gnu/Linux system from the command line.
[email protected]:~# apt-get install mplayer Reading package lists... Done Building dependency tree Reading state information... Done The following package was automatically installed and is no longer required: java-wrappers Use 'apt-get autoremove' to remove it. The following extra packages will be installed: esound-common libaudiofile1 libesd0 libopenal-data libopenal1 libsvga1 libvdpau1 libxvidcore4 Suggested packages: pulseaudio-esound-compat libroar-compat2 nvidia-vdpau-driver vdpau-driver mplayer-doc netselect fping The following NEW packages will be installed: esound-common libaudiofile1 libesd0 libopenal-data libopenal1 libsvga1 libvdpau1 libxvidcore4 mplayer 0 upgraded, 9 newly installed, 0 to remove and 8 not upgraded. Need to get 3,567 kB of archives. After this operation, 7,772 kB of additional disk space will be used. Do you want to continue [Y/n]? y
[email protected]:~# apt-get update Hit http://ppa.launchpad.net raring Release.gpg Hit http://ppa.launchpad.net raring Release.gpg Hit http://ppa.launchpad.net raring Release.gpg Hit http://ppa.launchpad.net raring Release.gpg Get:1 http://security.ubuntu.com raring-security Hit http://in.archive.ubuntu.com raring Release.gpg Hit http://ppa.launchpad.net raring Release.gpg Get:2 http://security.ubuntu.com raring-security Ign http://ppa.launchpad.net raring Release.gpg Get:3 http://in.archive.ubuntu.com raring-updates Hit http://ppa.launchpad.net raring Release.gpg Hit http://in.archive.ubuntu.com raring-backports
Note: The above commands result in system-wide changes and hence requires a root password (Check ‘#
‘ and not ‘$'
as prompt). Apt is considered more advanced and intelligent as compared to yum command.
As the name suggests, apt-cache searches for a package containing sub package mpalyer. apt-get install, update all the packages, that are already installed, to the newest one.
[ You might also like: 25 APT-GET and APT-CACHE Commands ]
13. Command: tar
The tar command is a Tape Archive is useful in the creation of an archive, in a number of file format and their extraction.
[email protected]:~# tar -zxvf abc.tar.gz (Remember 'z' for .tar.gz)
[email protected]:~# tar -jxvf abc.tar.bz2 (Remember 'j' for .tar.bz2)
[email protected]:~# tar -cvf archieve.tar.gz(.bz2) /path/to/folder/abc
Note: A ‘tar.gz‘ means gzipped. ‘tar.bz2‘ is compressed with bzip which uses a better but slower compression method.
14. Command: cal
The “cal” (Calendar), is used to displays the calendar of the present month or any other month of any year that is advancing or passed.
[email protected] : ~# cal Mai 2013 Di Lu Ma Me Je Ve Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Afficher le calendrier de l’année 1835 pour le mois de février , qui est déjà passé.
[email protected] :~# cal 02 1835 Février 1835 Di Lu Ma Me Je Ve Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
Montre le calendrier de l’année 2145 pour le mois de juillet , qui avancera
[email protected] :~# cal 07 2145 juillet 2145 Di Lu Ma Me Je Ve Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Remarque : Vous n’avez pas besoin de retourner le calendrier de 50 ans en arrière, ni de faire un calcul mathématique complexe pour savoir quel jour vous avez été porté ou quel jour tombera votre prochain anniversaire.
15. Commande : date
La commande date imprime la date et l’heure actuelles sur la sortie standard et peut encore être définie.
[email protected] :~# date vendredi 17 mai 14:13:29 IST 2013
[email protected] :~# date --set="14 mai 2013 13:57" Lundi 13 mai 13:57:00 IST 2013
Remarque : Cette commande sera très utile dans les scripts, les scripts basés sur l’heure et la date, pour être plus parfaits. De plus, changer la date et l’heure à l’aide du terminal vous fera vous sentir GEEK !!!. (Évidemment, vous devez être root pour effectuer cette opération, car il s’agit d’un changement à l’échelle du système).
16. Commande : chat
Le « chat » signifie ( concaténation ). Concaténer (joindre) deux ou plusieurs fichiers simples et/ou imprimer le contenu d’un fichier sur la sortie standard.
[email protégé] :~# chat a.txt b.txt c.txt d.txt >> abcd.txt
[email protected] :~# cat abcd.txt .... contenu du fichier abcd ...
Remarque : » >>
» et » >
» sont appelés symboles d’ajout. Ils sont utilisés pour ajouter la sortie à un fichier et non sur la sortie standard. Le symbole » >
» supprimera un fichier déjà existant et créera un nouveau fichier. Par conséquent, pour des raisons de sécurité, il est conseillé d’utiliser » >>
» qui écrira la sortie sans écraser ni supprimer le fichier.
Avant d’aller plus loin, je dois vous informer sur les caractères génériques (vous seriez au courant de l’entrée de caractères génériques, dans la plupart des émissions de télévision) Les caractères génériques sont une fonctionnalité du shell qui rend la ligne de commande beaucoup plus puissante que n’importe quel gestionnaire de fichiers GUI . Vous voyez, si vous voulez sélectionner un grand groupe de fichiers dans un gestionnaire de fichiers graphique, vous devez généralement les sélectionner avec votre souris. Cela peut sembler simple, mais dans certains cas, cela peut être très frustrant.
Par exemple, supposons que vous ayez un répertoire avec une énorme quantité de toutes sortes de fichiers et de sous-répertoires, et que vous décidiez de déplacer tous les fichiers HTML, qui ont le mot » Linux » quelque part au milieu de leurs noms, de ce gros répertoire vers un autre répertoire. Quel est un moyen simple de le faire ? Si le répertoire contient une énorme quantité de fichiers HTML portant des noms différents, votre tâche est tout sauf simple !
Dans la ligne de commande Linux, cette tâche est aussi simple à exécuter que le déplacement d’un seul fichier HTML, et c’est si facile grâce aux caractères génériques du shell. Ce sont des caractères spéciaux qui vous permettent de sélectionner des noms de fichiers correspondant à certains modèles de caractères. Cela vous aide à sélectionner même un grand groupe de fichiers en tapant seulement quelques caractères, et dans la plupart des cas, c’est plus facile que de sélectionner les fichiers avec une souris.
Voici une liste des jokers les plus couramment utilisés :
Correspondances génériques * zéro ou plusieurs caractères ? exactement un caractère [abcde] exactement un caractère listé [ae] exactement un caractère dans la plage donnée [!abcde] tout caractère qui n'est pas listé [!ae] tout caractère qui n'est pas dans la plage donnée {debian,linux} exactement un mot entier dans les options données
!
est appelé pas un symbole, et l’inverse de la chaîne attachée avec '!'
est vrai.
[ Vous aimerez peut-être aussi : 13 exemples de commandes Cat de base sous Linux ]
17. Commande : cp
La « copie » signifie ( copier ), il copie un fichier d’un emplacement à un autre emplacement.
# cp /home/user/Téléchargements abc.tar.gz /home/user/Desktop
Remarque : cp est l’une des commandes les plus couramment utilisées dans les scripts shell et elle peut être utilisée avec des caractères génériques (décrire dans le bloc ci-dessus), pour la copie de fichiers personnalisée et souhaitée.
18. Commande : mv
La commande « mv » déplace un fichier d’un emplacement à un autre.
# mv /home/user/Téléchargements abc.tar.gz /home/user/Desktop
Remarque : la commande mv peut être utilisée avec des caractères génériques. mv doit être utilisé avec prudence, car le déplacement d’un système/fichier non autorisé peut entraîner des problèmes de sécurité ainsi qu’une panne du système.
19. Commande : pwd
La commande pwd ( print working directory ), imprime le répertoire de travail actuel avec le chemin d’accès complet depuis le terminal.
[protégé par e-mail] :~# pwd /home/user/Desktop
Note : Cette commande ne sera pas très fréquemment utilisée dans les scripts mais c’est une bouée de sauvetage absolue pour un débutant qui se perd dans le terminal lors de sa première connexion avec Linux. ( Linux est plus communément appelé nux ou nix ).
20. Commande : cd
Enfin, la commande cd fréquemment utilisée signifie ( change directory ), qui change le répertoire de travail pour exécuter, copier, déplacer l’écriture, la lecture, etc. depuis le terminal lui-même.
[protégé par e-mail] :~# cd /home/user/Desktop
[protégé par e-mail] :~$ pwd /home/user/Desktop
Remarque : cd vient à la rescousse lors du passage d’un répertoire à l’autre depuis le terminal. » Cd ~ » changera le répertoire de travail en répertoire personnel de l’utilisateur, et est très utile si un utilisateur se retrouve perdu dans le terminal. « cd .. » changera le répertoire de travail en répertoire parent (du répertoire de travail actuel).
Ces commandes vous mettront sûrement à l’aise avec Linux . Mais ce n’est pas la fin. Très bientôt, je viendrai avec d’autres commandes qui seront utiles pour ‘ l’utilisateur de niveau intermédiaire ‘ . Vous remarquerez une promotion au niveau utilisateur de débutant à utilisateur de niveau intermédiaire .
Dans le prochain article, je proposerai des commandes telles que ‘ Kill ‘, ‘ ps ‘, ‘ grep ‘