English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Nous savons que la structure des répertoires de Linux est en forme d'arbre, le répertoire le plus haut est le répertoire racine /.
D'autres répertoires peuvent être ajoutés à l'arbre via le montage et supprimés via le démontage.
Avant de commencer ce tutoriel, nous devons d'abord savoir ce qu'est un chemin absolu et un chemin relatif.
Chemin absolu :
La manière d'écrire le chemin, à partir du répertoire racine / écrire, par exemple : /usr/share/doc ce répertoire.
Chemin relatif :
La manière d'écrire le chemin, ce n'est pas par / écrire, par exemple, à partir de /usr/share/doc pour aller /usr/share/Lorsque vous êtes sous man, vous pouvez l'écrire ainsi : cd ../man Voici la manière d'écrire le chemin relatif.
Nous allons maintenant voir quelques commandes courantes pour traiter les répertoires :
ls (en anglais complet : list files) : lister les noms de fichiers et de répertoires
cd (en anglais complet : change directory) : changer de répertoire
pwd (en anglais complet : print work directory) : afficher le répertoire actuel
mkdir (en anglais complet : make directory) : créer un nouveau répertoire
rmdir (en anglais complet : remove directory) : supprimer un répertoire vide
cp(英文全拼:copy file): 复制文件或目录
rm(英文全拼:remove): 删除文件或目录
mv(英文全拼:move file): 移动文件与目录,或修改文件与目录的名称
你可以使用 man [命令] 来查看各个命令的使用文档,如 :man cp。
在Linux系统当中, ls 命令可能是最常被运行的。
Syntaxe :
[root@www ~]# ls [-aAdfFhilnrRSt] 目录名称 [root@www ~]# ls [--color={never,auto,always}] 目录名称 [root@www ~]# ls [--full-time] 目录名称
Options et paramètres :
-a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)
-d :仅列出目录本身,而不是列出目录内的文件数据(常用)
-l :长数据串列出,包含文件的属性与权限等等数据;(常用)
将家目录下的所有文件列出来(含属性与隐藏档)
[root@www ~]# ls -al ~
cd是Change Directory的缩写,这是用来变换工作目录的命令。
Syntaxe :
cd [相对路径或绝对路径]
#使用 mkdir 命令创建 w3codebox 目录 [root@www ~]# mkdir w3codebox #使用绝对路径切换到 w3codebox 目录 [root@www ~]# cd /root/w3codebox/ #使用相对路径切换到 w3codebox 目录 [root@www ~]# cd ./w3codebox/ # 表示回到自己的家目录,亦即是 /root 这个目录 [root@www w3codebox]# cd ~ # 表示去到目前的上一级目录,亦即是 /root 的上一级目录的意思; [root@www ~]# cd ..
接下来大家多操作几次应该就可以很好的理解 cd 命令的。
pwd 是 Print Working Directory 的缩写,也就是显示目前所在目录的命令。
[root@www ~]# pwd [-P]
Options et paramètres :
-P :显示出确实的路径,而非使用连结 (link) 路径。
示例:单纯显示出目前的工作目录:
[root@www ~]# pwd /root <== 显示出目录啦~
示例显示出实际的工作目录,而非连结档本身的目录名而已。
[root@www ~]# cd /var/mail <==注意,/var/mail是一个连结档 [root@www mail]# pwd /var/mail <==列出目前的工作目录 [root@www mail]# pwd -P /var/spool/mail <== Qu'est-ce qui se passe ? Avez-vous ajouté -P très différent ~ [root@www mail]# ls -ld /var/mail lrwxrwxrwx 1 root root 10 Sep 4 17:54 /var/mail -> spool/mail # Vous devriez comprendre pourquoi maintenant ? Parce que /var/mail est un lien symbolique, lié à /var/spool/mail # Donc, ajoutez pwd -Avec l'option P, elle ne sera pas affichée sous forme de lien symbolique, mais sous forme de chemin complet correct !
Si vous souhaitez créer un nouveau répertoire, utilisez alors mkdir (créer un répertoire)。
Syntaxe :
mkdir [-mp] Nom du répertoire
Options et paramètres :
-m : configurez les permissions du fichier de configuration. Configurez directement, sans regarder le visage des permissions par défaut (umask) ~
-p : qui vous aide à créer directement le répertoire nécessaire (y compris les répertoires parents) en mode récursif !
Exemple : allez à/Essayons de créer plusieurs nouveaux répertoires sous tmp pour voir :
[root@www ~]# cd /tmp [root@www tmp]# mkdir test <== Créer un nouveau répertoire nommé test [root@www tmp]# mkdir test1/test2/test3/test4 mkdir: Impossible de créer le répertoire `test`1/test2/test3/test4': Fichier ou répertoire introuvable <== Impossible de créer directement ce répertoire ! [root@www tmp]# mkdir -p test1/test2/test3/test4
Ajoutez cette -p qui peut vous aider à créer des dossiers multiples en cascade !
Exemple : créer des permissions rwx--x--x du répertoire.
[root@www tmp]# mkdir -m 711 test2 [root@www tmp]# ls -l drwxr-xr-x 3 root root 4096 Jul 18 12:50 test drwxr-xr-x 3 root root 4096 Jul 18 12:53 test1 drwx--x--x 2 root root 4096 Jul 18 12:54 test2
La partie des permissions ci-dessus, si elle n'est pas ajoutée -m pour forcer la configuration des attributs, le système utilisera les attributs par défaut.
Si nous utilisons -m, comme dans l'exemple, nous avons accordé -m 711 Pour accorder de nouvelles permissions au répertoire drwx--x--des permissions de x.
Syntaxe :
rmdir [-p] Nom du répertoire
Options et paramètres :
-p :et supprimez également le répertoire parent 'vide'
Supprimez w3répertoire codebox
[root@www tmp]# rmdir w3codebox/
Supprimez le répertoire créé dans l'exemple mkdir/Supprimez-les sous tmp) !
[root@www tmp]# ls -l <== Regardez combien de dossiers existent ? drwxr-xr-x 3 root root 4096 Jul 18 12:50 test drwxr-xr-x 3 root root 4096 Jul 18 12:53 test1 drwx--x--x 2 root root 4096 Jul 18 12:54 test2 [root@www tmp]# rmdir test <== Il peut être supprimé directement, pas de problème [root@www tmp]# rmdir test1 Impossible de supprimer car il reste du contenu ! rmdir: `test'1': Répertoire non vide [root@www tmp]# rmdir -p test1/test2/test3/test4 [root@www tmp]# ls -l <==Regardez, dans la sortie en dessous, test et test1a disparu ! drwx--x--x 2 root root 4096 Jul 18 12:54 test2
Utiliser -p cette option, vous pouvez immédiatement copier test1/test2/test3/test4 Supprimer en une fois.
Cependant, il faut noter que cette rmdir ne peut supprimer que les répertoires vides, vous pouvez utiliser la commande rm pour supprimer des répertoires non vides.
cp signifie copier des fichiers et des répertoires.
Syntaxe :
[root@www ~]# cp [-adfilprsu] fichier source (source) fichier de destination (destination) [root@www ~]# cp [options] source1 source2 source3 .... directory
Options et paramètres :
-a :Équivaut à -Signifie pdr, pour plus de détails, veuillez consulter les explications suivantes (dans les cas courants) ;
-d :Si le fichier source est un fichier de lien, copier les attributs du lien au lieu du fichier lui-même ;
-f :Signifie force, si le fichier de destination existe et ne peut pas être ouvert, essayez à nouveau après suppression ;
-i :Si le fichier de destination existe déjà, demander avant de couper (dans les cas courants) ;
-l :Créer des liens durs (hard link) au lieu de copier le fichier lui-même ;
-p :Copier les attributs du fichier avec, au lieu d'utiliser les attributs par défaut (dans les sauvegardes) ;
-r :Copier récursivement et en continu, utilisé pour la copie de répertoires (dans les cas courants) ;
-s :Copier comme fichier de lien symbolique (lien symbolique), c'est-à-dire fichier de raccourci ;
-u :Ne mettez à jour destination que si destination est plus ancien que source !
En utilisant l'identité root, copier .bashrc du répertoire root vers /dans tmp, et nommé bashrc
[root@www ~]# cp ~/.bashrc /tmp/bashrc [root@www ~]# cp -i ~/.bashrc /tmp/bashrc cp: écraser `/tmp/bashrc'? n n <==n ne pas écraser, y pour écraser
Syntaxe :
rm [-fir] fichier ou répertoire
Options et paramètres :
-f : signifie force, ignore les fichiers inexistant, ne montre pas de message d'avertissement;
-i : mode d'interaction, il demande à l'utilisateur s'il souhaite agir avant de supprimer
-r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!
将刚刚在 cp 的示例中创建的 bashrc 删除掉!
[root@www tmp]# rm -i bashrc rm: remove regular file `bashrc'? y
如果加上 -i 的选项就会主动询问,避免你删除到错误的文件名!
Syntaxe :
[root@www ~]# mv [-fiu] source destination [root@www ~]# mv [options] source1 source2 source3 .... directory
Options et paramètres :
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :如果目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :如果目标文件已经存在,且 source 比较新,才会升级 (update)
复制一个文件,创建一个目录,将文件移动到目录中
[root@www ~]# cd /tmp [root@www tmp]# cp ~/.bashrc bashrc [root@www tmp]# mkdir mvtest [root@www tmp]# mv bashrc mvtest
将某个文件移动到某个目录去,就是这样做!
将刚刚的目录名称更名为 mvtest2
[root@www tmp]# mv mvtest mvtest2
Linux系统中使用以下命令来查看文件的内容:
cat 从第一行开始显示文件内容
tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
nl 显示的时候,顺道输出行号!
more 一页一页的显示文件内容
less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
head 只看头部几行
tail 只看尾部几行
你可以使用 man [命令]来查看各个命令的使用文档,如 :man cp。
从第一行开始显示文件内容
Syntaxe :
cat [-AbEnTv]
Options et paramètres :
-A :相当于 -vET 的整合选项,可以列出一些特殊字符而不是空白而已;
-b :列出行号,仅针对非空白行显示行号,空白行不标行号!
-E : affiche le byte de fin de ligne $
-n : imprime les numéros de ligne, y compris les lignes vides, avec les numéros de ligne, avec -Les options de b diffèrent ;
-T : affiche le bouton [tab] sous forme de ^I
-v : liste certains caractères spéciaux invisibles
Vérification /etc/Contenu du fichier issue :
[root@www ~]# cat /etc/issue CentOS release 6.4 (Final) Kernel \r sur un \m
tac est l'inverse de la commande cat, le contenu du fichier est affiché à partir de la dernière ligne, on peut voir que tac est l'inverse de cat ! Par exemple :
[root@www ~]# tac /etc/issue Kernel \r sur un \m CentOS release 6.4 (Final)
Affichage des numéros de ligne
Syntaxe :
nl [-bnw] fichier
Options et paramètres :
-b : spécifie la méthode d'affichage des numéros de ligne, principalement deux types :
-b a : représente que peu importe si c'est une ligne vide ou non, afficher les numéros de ligne (similaire à cat -n);
-b t : si il y a des lignes vides, ne pas afficher de numéros de ligne pour cette ligne (valeur par défaut) ;
-n : méthodes d'affichage des numéros de ligne, principalement trois types :
-n ln : les numéros de ligne sont affichés à gauche de l'écran ;
-n rn : les numéros de ligne sont affichés à droite de la colonne, sans ajouter de 0 ;
-n rz : les numéros de ligne sont affichés à droite de la colonne, avec un 0 ajouté ;
-w : nombre de caractères occupés par la colonne des numéros de ligne.
Exemple 1 : utiliser nl pour lister /etc/Contenu de l'issue
[root@www ~]# nl /etc/issue 1 CentOS release 6.4 (Final) 2 Kernel \r sur un \m
Tourner page par page
[root@www ~]# more /etc/man_db.config # # Généré automatiquement à partir de man.conf.in par # configure script. # # man.conf from man-1.6d ....(saut de ligne omis).... --More--(28%) ===> Point d'attention ici ! Le curseur s'attend à votre commande
Durant l'exécution du programme more, vous avez plusieurs touches que vous pouvez appuyer :
Touche d'espace : représente faire défiler une page ;
Entrée : représente faire défiler une ligne ;
/Chaîne : représente chercher le mot-clé 'Chaîne' dans le contenu affiché ;
:f : affiche immédiatement le nom du fichier et le numéro de ligne actuel ;
q : représente quitter immédiatement more et ne plus afficher le contenu du fichier.
b ou [ctrl]-b : représente retourner une page, mais cette action ne fonctionne que pour les fichiers, pas pour les pipelines.
Tourner page par page, voici un exemple de sortie/etc/Contenu du fichier man.config :
[root@www ~]# less /etc/man.config # # Généré automatiquement à partir de man.conf.in par # configure script. # # man.conf from man-1.6d ....(saut de ligne omis).... : == ici, vous pouvez entrer des commandes !
Les commandes que l'on peut entrer pendant l'exécution de less sont :
espace : faire défiler vers le bas une page ;
[pagedown] : faire défiler vers le bas une page ;
[pageup] : faire défiler vers le haut une page ;
/chaîne : fonction de recherche vers le bas pour 'chaîne' ;
? chaîne : fonction de recherche vers le haut pour 'chaîne' ;
n : répétition de la recherche précédente (et / ou ? pour des informations !)
N : répétition inverse de la recherche précédente (et / ou ? pour des informations !)
q : quitter ce programme less ;
Extraire les premières lignes du fichier
Syntaxe :
head [-n number] fichier
Options et paramètres :
-n : suivi d'un nombre, représente le nombre de lignes à afficher
[root@www ~]# head /etc/man.config
Par défaut, affiche les premières 10 lignes ! Si vous souhaitez afficher les premières 20 lignes, il faut le faire ainsi :
[root@www ~]# head -n 20 /etc/man.config
Extraire les lignes finales du fichier
Syntaxe :
tail [-n number] fichier
Options et paramètres :
-n : suivi d'un nombre, représente le nombre de lignes à afficher
-f : représente le nom du fichier suivant, il faut appuyer sur [ctrl]-c pour arrêter la détection de tail
[root@www ~]# tail /etc/man.config # Par défaut, affiche les dix dernières lignes ! Si vous souhaitez afficher les dernières 20 lignes, il faut le faire ainsi : [root@www ~]# tail -n 20 /etc/man.config