Notes d'étude Linux

Quel est cet article?

―― Le moment est venu où vous avez besoin de connaissances sur Linux, ce que vous avez évité pour une raison quelconque après 13 ans d'expérience en ingénierie. «Je ne peux pas rattraper le retard uniquement sur le site (ou plutôt, j'ai trop peur des incidents dus à des erreurs de commande sans le savoir), alors je vais étudier de manière indépendante. ―― Prenez note de ce que vous avez fait. La sortie est importante. ―― Comme il est difficile de séparer les articles, j'ajouterai ou modifierai sans me soucier de quoi que ce soit.

(Ichiou) Édition de l'historique

--2020 / 01/18: nouvellement créé --2020 / 01/19: Ajout d'une opération de répertoire et d'une opération de fichier --2020 / 01/20: Ajout du changement d'autorité

1. Préparation préalable

J'ai décidé d'utiliser CentOS sans raison particulière. N'hésitez pas à essayer les commandes. J'ai également décidé d'utiliser Docker pour pouvoir l'écraser. Deux oiseaux avec une pierre car cela sera utile pour étudier Docker. Je l'ai fait.

(1) Ce que j'ai fait

Créez l'environnement en vous référant au site suivant. https://www.orangeitems.com/entry/2018/06/18/153510

Je ne pouvais pas utiliser Hyper-V car mon PC était Windows 10 Home. De plus, l'environnement a été construit en référence aux sites suivants. https://qiita.com/idani/items/fb7681d79eeb48c05144


Parfois, vous voudrez peut-être revenir à la console Windows, alors exécutez-la en arrière-plan.

$ docker run -i -d -t centos bin/bash
5e2e721950e466cfd1583d8db34e72908a848209ff7f0aef71357b3884a257d6

J'ai pu le démarrer.

$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
5e2e721950e4        centos              "bin/bash"          7 seconds ago       Up 6 seconds                            fervent_jones

centOS-chan Konnichiha.

$ docker attach 5e2e721950e4 
[root@5e2e721950e4 /]#

2. Notes d'étude

(1) Pour le moment, voyons quel type de répertoire existe.

[root@5e2e721950e4 /]# pwd
/
[root@5e2e721950e4 /]# ls -la
total 56
drwxr-xr-x   1 root root 4096 Jan 18 07:46 .
drwxr-xr-x   1 root root 4096 Jan 18 07:46 ..
-rwxr-xr-x   1 root root    0 Jan 18 07:46 .dockerenv
lrwxrwxrwx   1 root root    7 May 11  2019 bin -> usr/bin
drwxr-xr-x   5 root root  360 Jan 18 07:46 dev
drwxr-xr-x   1 root root 4096 Jan 18 07:46 etc
drwxr-xr-x   2 root root 4096 May 11  2019 home
lrwxrwxrwx   1 root root    7 May 11  2019 lib -> usr/lib
lrwxrwxrwx   1 root root    9 May 11  2019 lib64 -> usr/lib64
drwx------   2 root root 4096 Jan 13 21:48 lost+found
drwxr-xr-x   2 root root 4096 May 11  2019 media
drwxr-xr-x   2 root root 4096 May 11  2019 mnt
drwxr-xr-x   2 root root 4096 May 11  2019 opt
dr-xr-xr-x 131 root root    0 Jan 18 07:46 proc
dr-xr-x---   2 root root 4096 Jan 13 21:49 root
drwxr-xr-x  11 root root 4096 Jan 13 21:49 run
lrwxrwxrwx   1 root root    8 May 11  2019 sbin -> usr/sbin
drwxr-xr-x   2 root root 4096 May 11  2019 srv
dr-xr-xr-x  13 root root    0 Jan 18 07:46 sys
drwxrwxrwt   7 root root 4096 Jan 13 21:49 tmp
drwxr-xr-x  12 root root 4096 Jan 13 21:49 usr
drwxr-xr-x  20 root root 4096 Jan 13 21:49 var

Le contenu semble être comme ça. Super merci à mes ancêtres. https://qiita.com/twipg/items/d8d7a0797a392bc4b75e

Questions à ce jour

--#c'est quoi?

--`-> ʻest quoi?

(2) Exploitons les répertoires et les fichiers.

Essayez de créer et de supprimer des répertoires et des fichiers.

Manipulation des répertoires

Commande essayée

#Créer un nouveau répertoire
mkdir Nom du répertoire que vous souhaitez créer

#Créer un nouveau répertoire de hiérarchie parent-enfant
mkdir -p Nom du répertoire que vous souhaitez créer/Nom du répertoire que vous souhaitez créer

#Copie du répertoire
cp -r Copier le répertoire source Copier le répertoire de destination

#Supprimer un répertoire vide
rmdir Répertoire que vous souhaitez supprimer

#Supprimer le répertoire contenant le contenu
rm -rf Répertoire que vous souhaitez supprimer

Essayez de créer un nouveau répertoire dans le répertoire actuel.

[root@6b65b4917285 tmp]# pwd
/tmp
[root@6b65b4917285 tmp]# mkdir directory1

directory1 a été créé.

[root@6b65b4917285 tmp]# ls -l
total 12
drwxr-xr-x 2 root root 4096 Jan 19 05:47 directory1

J'étais en colère quand j'ai essayé de créer un répertoire hiérarchique parent-enfant. Il semble qu'il ne peut pas être créé sans le répertoire parent.

[root@b12193fa42d0 tmp]# mkdir dir1/subdir1
mkdir: cannot create directory 'dir1/subdir1': No such file or directory

Si vous spécifiez l'option -p, vous pouvez créer un répertoire parent-enfant en même temps.

[root@b12193fa42d0 tmp]# mkdir -p dir1/subdir1
[root@b12193fa42d0 tmp]# ls -l dir1/
total 4
drwxr-xr-x 2 root root 4096 Jan 19 07:25 subdir1

Quand j'ai essayé de copier le répertoire, j'étais en colère contre l'option -r.

[root@b12193fa42d0 tmp]# cp directory1 directory_copy
cp: -r not specified; omitting directory 'directory1'

J'ai pu le copier avec l'option -r.

[root@b12193fa42d0 tmp]# cp -r directory1 directory_copy
[root@b12193fa42d0 tmp]# ls -l
total 24
drwxr-xr-x 3 root root 4096 Jan 19 07:25  dir1
drwxr-xr-x 2 root root 4096 Jan 19 07:35  directory1
drwxr-xr-x 2 root root 4096 Jan 19 07:42  directory_copy    #Le répertoire a été copié.

Essayez de supprimer le répertoire.

[root@b12193fa42d0 tmp]# ls -l
total 24
drwxr-xr-x 3 root root 4096 Jan 19 07:25  dir1
drwxr-xr-x 2 root root 4096 Jan 19 07:35  directory1    #Je vais effacer celui-ci.
drwxr-xr-x 2 root root 4096 Jan 19 07:42  directory_copy
[root@b12193fa42d0 tmp]# rmdir directory1
#Avait disparu.
[root@b12193fa42d0 tmp]# ls -l
total 20
drwxr-xr-x 3 root root 4096 Jan 19 07:25  dir1
drwxr-xr-x 2 root root 4096 Jan 19 07:42  directory_copy

J'étais en colère quand j'ai essayé d'effacer le répertoire contenant le contenu.

[root@b12193fa42d0 tmp]# rmdir dir1
rmdir: failed to remove 'dir1': Directory not empty

Il a été effacé avec rm -r. (Cependant, diverses choses sont confirmées.)

[root@b12193fa42d0 tmp]# rm -r dir1
rm: descend into directory 'dir1'? y
rm: remove directory 'dir1/subdir1'? y
rm: remove directory 'dir1'? y
[root@b12193fa42d0 tmp]# ls -l
total 16
drwxr-xr-x 2 root root 4096 Jan 19 07:42  directory_copy

Si c'est rm -rf, il disparaît sans confirmation.

[root@b12193fa42d0 tmp]# rm -rf dir1
[root@b12193fa42d0 tmp]# ls -l
total 16
drwxr-xr-x 2 root root 4096 Jan 19 07:42  directory_copy

Opération de fichier

Commande essayée

#Créer un nouveau fichier
touchez le nom du fichier que vous souhaitez créer

#Créez un fichier et éditez-le tel quel (ouvrez avec vi)
vi Nom du fichier que vous souhaitez créer

#Copie du dossier
cp copie du fichier source copie du fichier de destination

#Supprimer le fichier
rm -rf Répertoire que vous souhaitez supprimer

Essayez de créer un nouveau fichier dans le répertoire actuel.

[root@b12193fa42d0 tmp]# touch file.txt
[root@b12193fa42d0 tmp]# ls -l file.txt
-rw-r--r-- 1 root root 0 Jan 19 08:04 file.txt

Vous pouvez également le faire avec vi.

[root@b12193fa42d0 tmp]# vi file2.txt
#Puisque vi s'ouvre, modifiez-le correctement et enregistrez-le.
#Si vous ne l'enregistrez pas, vous ne pourrez pas créer de fichier.
[root@b12193fa42d0 tmp]# ls -l file2.txt
-rw-r--r-- 1 root root 5 Jan 19 08:09 file2.txt

Essayez de copier des fichiers dans le même répertoire

[root@b12193fa42d0 tmp]# ls -l
total 16
drwxr-xr-x 2 root root 4096 Jan 19 07:42 directory_copy
-rw-r--r-- 1 root root    0 Jan 19 08:04 file.txt    #Copiez ce gars.
-rw-r--r-- 1 root root    5 Jan 19 08:09 file2.txt
-rwx------ 1 root root  671 Jan 13 21:49 ks-script-_srt3u3c
-rwx------ 1 root root 1379 Jan 13 21:49 ks-script-gpqu_kuo
[root@b12193fa42d0 tmp]# cp file.txt file_copy.txt
[root@b12193fa42d0 tmp]# ls -l
total 16
drwxr-xr-x 2 root root 4096 Jan 19 07:42 directory_copy
-rw-r--r-- 1 root root    0 Jan 19 08:04 file.txt
-rw-r--r-- 1 root root    5 Jan 19 08:09 file2.txt
-rw-r--r-- 1 root root    0 Jan 19 08:14 file_copy.txt    #Je peux le copier.

Essayez de le copier dans un autre répertoire.

[root@b12193fa42d0 tmp]# ls -l
total 20
drwxr-xr-x 2 root root 4096 Jan 19 08:17 dir
drwxr-xr-x 2 root root 4096 Jan 19 07:42 directory_copy
-rw-r--r-- 1 root root    0 Jan 19 08:04 file.txt    #Dir ce mec/Copier au subordonné.
-rw-r--r-- 1 root root    5 Jan 19 08:09 file2.txt
-rw-r--r-- 1 root root    0 Jan 19 08:14 file_copy.txt
[root@b12193fa42d0 tmp]# cp file.txt  dir/copy.txt
[root@b12193fa42d0 tmp]# ls -l dir/copy.txt
-rw-r--r-- 1 root root 0 Jan 19 08:17 dir/copy.txt    #Je peux le copier.

Essayez de supprimer le fichier

[root@b12193fa42d0 tmp]# ls -l
total 20
drwxr-xr-x 2 root root 4096 Jan 19 08:17 dir
drwxr-xr-x 2 root root 4096 Jan 19 07:42 directory_copy
-rw-r--r-- 1 root root    0 Jan 19 08:04 file.txt
-rw-r--r-- 1 root root    5 Jan 19 08:09 file2.txt
-rw-r--r-- 1 root root    0 Jan 19 08:14 file_copy.txt
[root@b12193fa42d0 tmp]# rm file2.txt
rm: remove regular file 'file2.txt'? y    #Il vous sera demandé si vous souhaitez l'effacer.
#Avait disparu.
[root@b12193fa42d0 tmp]# ls -l
total 16
drwxr-xr-x 2 root root 4096 Jan 19 08:17 dir
drwxr-xr-x 2 root root 4096 Jan 19 07:42 directory_copy
-rw-r--r-- 1 root root    0 Jan 19 08:04 file.txt
-rw-r--r-- 1 root root    0 Jan 19 08:14 file_copy.txt

Vous pouvez le supprimer sans confirmation en ajoutant l'option -rf.

[root@b12193fa42d0 tmp]# rm -rf file_copy.txt
[root@b12193fa42d0 tmp]# ls -l
total 16
drwxr-xr-x 2 root root 4096 Jan 19 08:17 dir
drwxr-xr-x 2 root root 4096 Jan 19 07:42 directory_copy
-rw-r--r-- 1 root root    0 Jan 19 08:04 file.txt

(3) Jouons avec les permissions de fichiers.

Quelle est la mystérieuse liste de caractères anglais lorsque ls -l est terminé?

Qu'est-ce que -rw-r - r -?

-rw-r--r-- 1 root root    5 Jan 20 05:59 file.txt

Ce genre de sens.

nombre de mots sens valeur
1er caractère catégorie de fichier - :Fichier
d: Annuaire
l: lien symbolique
2ème-4ème caractères Autorité propriétaire r: lire
w: écrire
x: exécuter
5e-7e caractères Posséder des autorisations de groupe r: lire
w: écrire
x: exécuter
8e-10e caractères L'autorité d'une autre personne r: lire
w: écrire
x: exécuter

Donc si c'est -rw-r - r -,

Essayez de supprimer l'autorité.

Il y a deux manières de procéder.

  1. Précisez avec un nombre.
  2. Précisez par ordre alphabétique.
chmod Chemin du fichier d'autorisation que vous souhaitez ajouter

#Les valeurs numériques spécifiées par l'autorité que vous souhaitez attacher sont les suivantes.
#   4:r
#   2:w
#   1:x
#Si vous souhaitez ajouter r et w, "4+Spécifiez 6 avec "2".

#Dans le cas de l'alphabet
#1er caractère: Changer de cible (u: Utilisateur g: Groupe o: Autre a: Tous)
#2ème caractère: Comment changer (=: Remplacer par l'autorité spécifiée+: Accorder l'autorité spécifiée-: Efface l'autorité spécifiée)
#3ème caractère: Modifications (r: Lire w: Ecrire x: Exécuter)

Donnez à l'utilisateur toutes les autorisations.

#Spécifié par un nombre.
[root@2e524500bb5e tmp]# ls -l file.txt
-rw-r--r-- 1 root root 5 Jan 20 05:59 file.txt
[root@2e524500bb5e tmp]# chmod 744 file.txt
[root@2e524500bb5e tmp]# ls -l file.txt
-rwxr--r-- 1 root root 5 Jan 20 05:59 file.txt

#Spécifié par alphabet.
[root@2e524500bb5e tmp]# ls -l file.txt
-rw-r--r-- 1 root root 5 Jan 20 05:59 file.txt
[root@2e524500bb5e tmp]# chmod u+x file.txt
[root@2e524500bb5e tmp]# ls -l file.txt
-rwxr--r-- 1 root root 5 Jan 20 05:59 file.txt

Essayez de supprimer l'autorisation d'exécution de l'utilisateur.

#Spécifié par un nombre.
[root@2e524500bb5e tmp]# ls -l file.txt
-rwxr--r-- 1 root root 5 Jan 20 05:59 file.txt
[root@2e524500bb5e tmp]# chmod 644 file.txt
[root@2e524500bb5e tmp]# ls -l file.txt
-rw-r--r-- 1 root root 5 Jan 20 05:59 file.txt

#Spécifié par alphabet.
[root@2e524500bb5e tmp]# ls -l file.txt
-rwxr--r-- 1 root root 5 Jan 20 05:59 file.txt
[root@2e524500bb5e tmp]# chmod u-x file.txt
[root@2e524500bb5e tmp]# ls -l file.txt
-rw-r--r-- 1 root root 5 Jan 20 05:59 file.txt

Essayez d'ajouter plusieurs autorisations en même temps. Donnez à d'autres personnes l'autorité la plus forte (exécution en lecture / écriture).

#Spécifié par un nombre.
[root@2e524500bb5e tmp]# ls -l file.txt
-rw-r--r-- 1 root root 5 Jan 20 05:59 file.txt
[root@2e524500bb5e tmp]# chmod 647 file.txt
[root@2e524500bb5e tmp]# ls -l file.txt
-rw-r--rwx 1 root root 5 Jan 20 05:59 file.txt

#Spécifié par alphabet.
[root@2e524500bb5e tmp]# ls -l file.txt
-rw-r--r-- 1 root root 5 Jan 20 05:59 file.txt
[root@2e524500bb5e tmp]# chmod o+wx file.txt
[root@2e524500bb5e tmp]# ls -l file.txt
-rw-r--rwx 1 root root 5 Jan 20 05:59 file.txt

#Tu peux le faire. (=Spécifiez et remplacez)
[root@2e524500bb5e tmp]# ls -l file.txt
-rw-r--r-- 1 root root 5 Jan 20 05:59 file.txt
[root@2e524500bb5e tmp]# chmod o=rwx file.txt
[root@2e524500bb5e tmp]# ls -l file.txt
-rw-r--rwx 1 root root 5 Jan 20 05:59 file.txt

`Personnellement, c'est plus facile à comprendre si vous spécifiez l'alphabet.

Recommended Posts

Notes d'étude Linux
Nouveau manuel Linux (note d'étude)
Note d'apprentissage Python_000
Note d'étude Jupyter_006
Note d'apprentissage Python_006
Note d'apprentissage Python_005
Note d'étude Jupyter_008
Note d'étude Jupyter_004
Étude Jupyter note_001
Note d'apprentissage Python_001
Notes d'installation d'Arch Linux
Mémo réseau (principalement Linux)
Linux
Session d'étude Linux 2ème: Fonctionnement des fichiers
Options de démarrage de Minecraft [Linux] Notes personnelles
Notes personnelles liées à Linux, conda, ssh, git
mémorandum Linux
Commande Linux n ° 4
Commande Linux
Commande Linux n ° 3
Présentation de Linux
Bases de Linux
direnv (linux)
Mémo SQLAlchemy
[Linux] [C / C ++] Remarques sur le système de construction Waf
notes de pyenv
Organisation Linux
[Bash / linux] Notes en cas de problème
commandes linux
Pratique Linux
Ubuntu Linux 20.04
[linux] Mémos de commandes souvent oubliés
Résumé Linux
Notes SQL
Notes de pandas
Mémo Sphinx
Processus Linux
Mémo Django
Autorisations Linux
Commande Linux n ° 5
Jupyter_learning notes_000
À propos de Linux
Bases de Linux
Oubliez Linux
À propos de Linux
Commande Linux
À propos de Linux
À propos de Linux
Mémo Django
Redirection Linux