Groupe d'étude Linux 1er: console virtuelle et manipulation de fichiers

Une session d'étude interne a eu lieu à Ancar Co., Ltd. le 3 février, et cet article est une revue du sujet de la session d'étude.

Veuillez noter que le contenu est "Je vais commencer par les bases de Linux !!!"

Chaque commande est exécutée à l'aide du terminal macOS standard

Postscript

Console virtuelle

Normalement, vous pouvez établir plusieurs connexions à un terminal, mais chacun se voit attribuer une «console virtuelle». Chaque console virtuelle est nommée comme tty? Number tty est un mot dérivé de «TeleTY pewriter» et semble faire référence à un périphérique d'entrée / sortie. En commutant le tty, vous pouvez réaliser l'opération comme passer à un autre écran dans le terminal. (Actuellement, plusieurs écrans de console sont lancés, les opérations de commutation sont donc omises.)

Utilisons en fait la commande tty pour vérifier la console virtuelle actuellement utilisée

$ tty
/dev/ttys000

J'utilisais tty000 Cette fois, je vais lancer la console dans une autre fenêtre et appuyer sur tty

$ tty
/dev/ttys001

Chaque console a un tty différent, je vois

Voyons voir avec la commande who

$ who
yungo    console  Feb  9 22:56
yungo    ttys000  Feb 10 10:16
yungo    ttys001  Feb 11 13:46
yungo    ttys002  Feb 11 13:47
yungo    ttys004  Feb 10 20:01
yungo    ttys005  Feb 10 21:14

Actuellement, je lançais 5 consoles avec le nom d'utilisateur yungo, mais tty a été attribué à chacune, je vois. (La première console ressemble à un noyau, veuillez le signaler si vous faites une erreur)

Alors, que pouvez-vous faire avec une console virtuelle

etc C'est une tâche que vous faites généralement en lançant la console dans une fenêtre séparée sans en être conscient (bien que ce soit exactement la console virtuelle)

Sortie avec tty spécifié

$ echo hoge
hoge

echo revient généralement à mon terminal

$ echo hoge > /dev/tty2

Sortira un écho vers tty2 Cela ressemble à ceci sur la console à portée de main ↓ スクリーンショット 2020-02-11 14.56.47.png L'écho entré avec tty000 est émis à la position du curseur de tty001


Changer l'histoire, à partir de maintenant, la deuxième partie, l'opération de fichier

Opération de fichier

Un moyen simple de créer un fichier

Il existe plusieurs façons simples de créer un fichier sans lancer l'éditeur

1: ʻecho` et rediriger

#Créer un fichier sur une ligne
$ echo hogehogehogehoge > file1.txt

#Je vais vérifier le contenu
$ cat file1.txt
hogehogehogehoge

#Écraser s'il s'agit d'une redirection
$ echo hoge > file1.txt

$ cat file1.txt
hoge

#Ajouté qu'il s'agit d'une redirection supplémentaire
$ echo hoge >> file1.txt

$ cat file1.txt
hoge
hoge

2: chat et rediriger

Je pensais que cat était juste une commande pour afficher le contenu, mais en utilisant la redirection, il peut être utilisé comme un éditeur (très) simple, je ne savais pas

# [ctrl]+[d]Terminer par
$ cat > file2.txt
hoge
ho
hoge
[ctrl]+[d]

#Je vais regarder le contenu
$ cat file2.txt
hoge
ho
hoge

3:touch Vous pouvez créer un fichier vide de 0 octet A l'origine, la commande touch semble être une commande pour mettre à jour la date et l'heure de modification d'un fichier ... je ne savais pas ...

#Vérifier le répertoire
$ ls
file1.txt	file2.txt

#Créer
$ touch file3.txt

#Vérifier le répertoire
$ ls
file1.txt	file2.txt	file3.txt

Comment spécifier le nom du fichier

J'ai spécifié le nom du fichier comme cat file1.txt plus tôt, mais il existe également plusieurs façons de le faire.

Caractère générique

symbole La description
* Toute chaîne de caractères. Peut être vide
? N'importe quel personnage
[...] [ ]Tout caractère contenu dans( -La plage peut être spécifiée avec un symbole)
[!...] [ ]À l'intérieur. . .Tout caractère non inclus dans
{ ~ } { }Toute chaîne de caractères contenue dans(Séparé par des virgules)

(Ajout) {~} ne semble pas être inclus dans le joker Les caractères génériques tels que * sont développés par le nom du chemin, {~} est développé par des accolades, et le comportement est différent. (Merci à @ angel_p_57 de m'avoir appris!)

Je vais l'essayer dans le répertoire précédent

#Chaîne de caractères arbitraires (*N'importe quoi après ça)
$ ls file*
file1.txt	file2.txt	file3.txt

#2 ou 3
$ ls file[23].txt
file2.txt	file3.txt

#Vous pouvez également spécifier la plage
$ ls file[1-3].txt
file1.txt	file2.txt	file3.txt

#Les mots correspondent
$ ls {file,filo}1.txt
file1.txt	filo1.txt

Il semble qu'il puisse être utilisé presque comme une expression régulière


C'est tout pour cette fois! !!

à la fin

Il y a beaucoup de contenus basiques, mais j'ai l'impression qu'il y a beaucoup d'astuces que je ne connaissais même pas sur les commandes que j'utilise tout le temps. J'ouvre toujours beaucoup de fenêtres lorsque je travaille, mais je dois aussi garder à l'esprit le concept de tty.

Toutes corrections ou corrections sont les bienvenues, alors laissez un commentaire!

** LINUX Chot Dekill (dans le vrai sens du terme) **

Recommended Posts

Groupe d'étude Linux 1er: console virtuelle et manipulation de fichiers
Session d'étude Linux 2ème: Fonctionnement des fichiers
Session d'étude Linux 3ème: Paramètre d'interdiction de suppression de fichier et fonction de recherche
Groupe d'étude Linux 5e: Manipulation de répertoires, liens et inodes
Périphérique et système de fichiers Linux
À propos des autorisations de fichiers et de répertoires Linux
[Linux] Commandes d'opération de fichier et de répertoire
"OZV Study Group LT" "Linux" Processus et priorité à connaître avec une belle commande
[Linux] Commandes de compression et de décompression de fichiers zip [Vim]
[Samba] Partage de fichiers mutuel entre les machines Linux et Windows