[Pour la phobie de l'écran noir] Je veux en savoir plus sur Linux et les shells, donc je les ai illustrés de manière lâche.

introduction

C'est le fichier que je veux créer cette fois.

200216_01.png

C'est "** batch ** only ** envoie JSON au serveur d'application lors de l'exécution **".

Utilisez la commande curl! On a dit que j'étais le premier à créer un batch (→ fichier shell), sans parler de la commande curl, donc j'ai étudié la partie tactile du shell et les commandes Linux.

En tant que personne qui a touché HTML, CSS et Java pendant un certain temps, les commandes Linux sont de super débutants! J'ai été surpris de voir à quel point c'était différent, alors je vais le résumer sous forme de mémorandum.

Depuis que j'ai innocemment -rm -r le répertoire du journal, je ne suis pas doué pour les écrans noirs à mort, mais je n'ai pas l'impression d'avoir pu me réconcilier un peu quand j'ai fait un lot, donc mes parents ont été tués par l'écran noir. J'espère que cela aide à comprendre tous ceux qui ont été brûlés.

Dans cet article, j'expliquerai brièvement le contenu suivant pour les êtres humains qui ne connaissent pas le mot noyau ou shell.

--Noyau Linux --Coquille

Avant d'apprendre le shell: qu'est-ce que le noyau et le shell?

Un shell est ** un logiciel qui s'interface avec le noyau Linux **.

… Noyau Linux?

==========

→ Lisez A si vous pensez "Noyau Linux? C'est la partie centrale du système d'exploitation Linux qui gère le matériel tel que le CPU et la gestion des processus tels que l'exécution des commandes?"

→ Si vous pensez "noyau Linux? Qu'est-ce que c'est?", Lisez B.

==========

R: Je connais le noyau Linux! Ceux qui disent cela n'auront pas le temps de lire 3000 caractères à l'avenir, alors revenez au navigateur ou écrivez des informations sur les délicieux magasins de ramen dans la rizière!

B: Lisons cet article et étudions ensemble! !! !! !!

==========

Encore une fois, le noyau Linux est le cœur du système d'exploitation Linux, qui gère le matériel tel que le processeur et les processus tels que l'exécution des commandes. (Je pense que les OS autres que Linux ont aussi des noyaux et des shells, mais cette fois j'ai lu Linux OS book, donc je parlerai de l'hypothèse de Linux ... !)

200216_02.png

Le noyau Linux ne peut pas être exploité par entrée de commande directe. Le shell existe en tant qu'interface utilisateur pour exécuter des commandes et spécifier des destinations d'entrée / sortie.

Par exemple, lorsque vous ouvrez le terminal macOS (écran noir), les mots suivants sont affichés par défaut.

Last login: Sun Feb 16 15:49:26 on hogehoge
hoge@localhost ~ % 

C'est l'invite que le shell affiche. Le logiciel appelé shell attend l'entrée de commande. (Ce qui précède utilise macOS Catalina. Le shell par défaut est zsh. L'affichage de l'invite est ~ $ pour bash, et la partie du nom d'utilisateur et du nom d'hôte diffère selon le terminal)

Qu'est-ce qu'un script shell?

Vous pouvez utiliser le terminal macOS ou "l'écran noir" d'un émulateur de terminal gratuit (tel que Tera Term) pour donner des instructions au shell directement depuis la ligne de commande (** opération interactive **, opération interactive).

D'autre part, comme avec de nombreux langages de programmation, vous pouvez également écrire des commandes shell dans un fichier à l'avance et le démarrer en lisant le fichier. Le fichier ainsi préparé s'appelle un script shell.

Comme illustré dans la figure ci-dessus, il existe différents types de shells tels que sh, bash, csh, dash, zsh [https://ja.wikipedia.org/wiki/Unix%E3%82%B7%E3%] Il y a 82% A7% E3% 83% AB #% E5% 88% 86% E9% A1% 9E).

Dans "New Linux Textbook", sh ou bash est actuellement principalement utilisé comme script shell, mais bash est recommandé pour les raisons suivantes. C'est.

--sh a une implémentation légèrement différente pour chaque distribution Linux [^ 1]

De plus, la commande curl que je veux utiliser cette fois semble être vous devez insérer la commande eval dans sh. C'est frustrant, donc je pense que bash est mieux si vous voulez vous lancer facilement!

[^ 1]: C'est un paquet Linux, que je ne vais pas expliquer en détail ici. En plus du noyau Linux, les commandes et applications utilisables depuis le début sont incluses, et chacune est légèrement différente. Même si vous achetez le même manga, les cartes postales, autocollants, figurines, etc. qui accompagnent les avantages différeront légèrement selon le magasin que vous avez acheté. Les noms spécifiques que vous entendez souvent sont Ubuntu, CentOS, etc.

Lot et coque

Je dis complètement shell shell, "Au fait, pourquoi ne dites-vous pas que vous avez fait un" lot "au début? Où est passé le lot? Le lot et la coque sont-ils identiques? " Tsukkomi est venu de quelqu'un dans mon cœur.

Au fait, on m'a demandé de créer moi-même un "batch", mais j'ai en fait créé un shell (un script shell utilisant bash), et alors? est devenu.

D'après ce que nous avons vu jusqu'à présent, "shell" a les significations suivantes.

  1. Logiciel d'interface qui enveloppe le noyau
  2. Abréviation de script shell (terme général pour sh, bash, zsh, etc.)
  3. "sh" qui est l'un des types de shells (on dit qu'il s'appelle Bourne Shell en bref)

200217_01.png

De même, «lot» a de nombreuses significations.

1. Traitement par lots

Pour exécuter un flux de programmes (travaux) de manière séquentielle sur un ordinateur. Un terme informatique qui indique qu'un processus prédéterminé est exécuté en une seule fois. Les mots opposés sont des traitements interactifs / interactifs ou en temps réel. Traitement par lots-Wikipedia

Alors que l'acte de "saisir une commande directement dans le shell à partir de" l'écran noir "" qui est sorti plus tôt était une ** opération interactive **, le ** traitement par lots ** consiste à effectuer un traitement prédéterminé à la fois. Pointer vers. En d'autres termes, démarrer un script shell dans des conditions prédéterminées et effectuer un traitement est également un "traitement par lots".

200217_02.png

(La figure est juste une image. Normalement, je ne pense pas que je vais faire un travail avec différentes extensions ...)

2. Fichier batch

Un fichier texte qui décrit la séquence d'instructions que vous souhaitez exécuter à l'invite de commande (shell) sous MS-DOS, OS / 2 et Windows. [Fichier batch-Wikipedia](https://ja.wikipedia.org/wiki/%E3%83%90%E3%83%83%E3%83%81%E3%83%95%E3%82%A1% E3% 82% A4% E3% 83% AB)

Ceci est fonctionnellement similaire à un script shell. Bien qu'il s'agisse d'un compagnon en tant que langage de script, il s'agit d'un fichier de commandes ≠ fichier de script shell. À titre d'exemple, comparons dans un Hello World très simple.

Hello World dans un fichier batch
@echo off
echo Hello World
pause > nul
Bonjour le monde du script shell (bash)
#!/bin/bash
echo "Hello World"
exit 0

Il existe des commandes similaires, telles que la commande echo, mais vous pouvez voir que ce sont essentiellement des langues différentes. J'ai aussi ls à l'invite de commande et je deviens une clé, souvent.

Le moyen le plus simple de dire est que les extensions sont différentes.

--Fichier batch: .bat --Fichier de script Shell: .sh

Droite? N'est-ce pas facile? (S'il vous plaît ne me demandez pas plus en détail, je pleurerai)

en conclusion

o (・ \ _ ・ = ・ _ ・) o <Sont ~? commande curl Où ~?

En fait, après cela, expliquez Commandes Linux fréquemment utilisées, expliquez la commande curl, expliquez certaines options et faites-la. Je voulais vous présenter l'endroit auquel j'étais accro ...

Le nombre de personnages a déjà augmenté jusqu'à présent, donc cette fois je vais m'arrêter ici!

Même avec cela, j'ai écrit un peu UNIX et Distribution, donc ça m'intéresse. Certaines personnes essaient de sauter sur le lien!

Merci pour la lecture.

Recommended Posts

[Pour la phobie de l'écran noir] Je veux en savoir plus sur Linux et les shells, donc je les ai illustrés de manière lâche.
Je veux savoir comment fonctionne LINUX!
[Acquisition de la qualification] J'ai réussi le niveau LinuC 1, donc j'écrirai sur la façon d'étudier et comment c'était.
Je veux connaître la nature de Python et pip
Je veux connaître la légende du monde des technologies informatiques
[Linux] Je souhaite connaître la date à laquelle l'utilisateur s'est connecté
Je veux créer un fichier pip et le refléter dans le menu fixe
(Débutant) Je ne suis pas sûr de SSH et de la commande Linux ssh-keygen, alors je l'ai résumé.
Je souhaite en savoir plus sur les développeurs individuels. YouDev a été libéré.
Je veux utiliser Linux sur mac
Rejoignez Azure avec Go ~ Pour ceux qui veulent démarrer et connaître Azure avec Go ~
Je veux écrire un élément dans un fichier avec numpy et le vérifier.
Je souhaite convertir du texte horizontal en texte vertical et le publier sur Twitter, etc.
Docker x Visualization ne fonctionnait pas et j'en étais accro, alors je l'ai résumé!
Notez que j'étais accro à la configuration de TensowFlow