Maison  >  Article  >  Opération et maintenance  >  Huit commandes Shell pour faire de vous un maître de la ligne de commande Linux en un rien de temps

Huit commandes Shell pour faire de vous un maître de la ligne de commande Linux en un rien de temps

王林
王林avant
2023-06-17 09:38:561366parcourir

Avoir de solides bases en programmation est évidemment une qualité essentielle pour un bon ingénieur logiciel. Il est très important de maîtriser au moins un langage de programmation, qu’il s’agisse d’un langage interprété comme Python, ou d’un langage compilé comme le C++. Cependant, ce n’est qu’un aspect pour devenir un ingénieur véritablement accompli. Ces bases ne sont d'aucune utilité si vous êtes perdu dans l'environnement shell.

L'application flexible des commandes Bash peut vous permettre d'accéder à des domaines que les langages de programmation traditionnels ne peuvent pas couvrir. Parfois, vous n’avez pas besoin d’utiliser un langage de programmation plus puissant. Grâce au Shell, vous pouvez accomplir les tâches dont vous avez besoin plus rapidement et plus facilement, sans avoir besoin de dépendances supplémentaires.

八个 Shell 命令,让你瞬间成为 Linux 命令行大师

Dans cet article, nous explorerons quelques commandes Bash très utiles. Ces commandes peuvent vous aider à éviter d’écrire plus de code que ce dont vous avez réellement besoin. La prochaine fois que vous rencontrerez un problème, essayez ces commandes. Vous n’avez pas besoin de vous lancer dans un énorme langage de programmation juste pour boucler quelque chose. Obtenir une sortie à intervalles réguliers ou parcourir des données de base est facile à faire dans Bash.

Cette ligne de code montre comment créer une simple boucle while infinie dans Shell. Vous assemblez simplement le tout avec un point-virgule et vous avez terminé. Vous êtes libre de modifier la commande exécutée et d’ajuster la minuterie de mise en veille en conséquence.

Lorsque vous exécutez cette commande, vous devriez voir la date changer toutes les secondes sur votre terminal. 八个 Shell 命令,让你瞬间成为 Linux 命令行大师

2. La commande Redirection de sortie

linuxmi@linuxmi:~/www.linuxmi.com$ while true; do echo "hello $(date)"; sleep 1; done

tee peut effectuer des tâches qui nécessitent plusieurs lignes de code dans d'autres langages. À l'aide de ce petit outil pratique, vous pouvez envoyer certaines entrées à un fichier ou à une autre commande, qui peuvent ensuite être transmises à une autre commande. C'est en fait comme installer une vanne en « T » dans votre conduite d'eau. Vous pouvez diriger une partie de la sortie vers l’extérieur et elle continuera à s’écouler dans le tuyau.

L'exemple ci-dessus envoie le texte "bonjour les fans de Linux www.linuxmi.com" obtenu à partir de la commande echo au fichier linuxmi.rs, puis procède à son envoi à less. Une façon de le réécrire est la suivante : vous obtiendrez un fichier avec le contenu de sortie et vous pourrez le visualiser à l'écran en utilisant la commande less.

3. Fichiers compressés八个 Shell 命令,让你瞬间成为 Linux 命令行大师

linuxmi@linuxmi:~/www.linuxmi.com$ echo "hello linux迷 www.linuxmi.com" | tee linuxmi.rs | less

Déplacer des fichiers et des répertoires sur la ligne de commande est une compétence importante. Si vous travaillez sur quelque chose et devez le déplacer entre hôtes, ou si vous souhaitez simplement compresser un fichier pour un stockage hors ligne, la commande tar est votre amie.

À l'aide des commandes et options ci-dessus, vous pouvez compresser un répertoire dans un nouveau package compressé tar.gz. Vous pouvez désormais apporter vos fichiers rapidement.

4, count八个 Shell 命令,让你瞬间成为 Linux 命令行大师

linuxmi@linuxmi:~/www.linuxmi.com$ tar -czvf linuxmi.tar.gz linuxmi.sh

Vous voulez savoir combien de lignes il y a dans le fichier ? Très simple. Utilisez l'utilitaire WC. « Compte de mots » est ce que cela signifie réellement, mais il peut également être utilisé pour compter bien d'autres choses, comme le nombre de lignes.

L'extrait ci-dessus génère quatre lignes de texte dans un fichier, puis utilise wc pour compter le nombre de lignes. Cet outil est utile si vous devez manipuler un certain nombre de lignes ou confirmer si un processus a écrit de nouvelles lignes dans un fichier.

5. Générez des nombres 八个 Shell 命令,让你瞬间成为 Linux 命令行大师

linuxmi@linuxmi:~/www.linuxmi.com$ echo -e "linuxmi\n linuxmi.com\n www.linuxmi.com\n www.93139.com" > linuxmi.txt | wc -l

Si simple mais si utile. Générer des nombres dans Bash est très simple, il suffit d'utiliser l'utilitaire seq. Cette petite commande intéressante génère une séquence de nombres que vous pouvez utiliser dans des boucles, des fichiers texte ou partout où vous avez besoin d'une liste de nombres.

Vous pouvez également modifier le délimiteur si vous le souhaitez :

linuxmi@linuxmi:~/www.linuxmi.com$ seq 95 100

ou 八个 Shell 命令,让你瞬间成为 Linux 命令行大师

seq -s " " 1 10
Cela séparera tous les nombres par un espace au lieu de la nouvelle ligne par défaut . Vous pouvez également utiliser la commande echo et l'opérateur .. pour obtenir le même type de résultats. 6. Gérer vos clés SSH Nécessaire. Vous constaterez peut-être que comprendre les utilitaires ssh-add et ssh-agent peut être plus bénéfique que vous ne le pensez.

La commande ci-dessus effectue plusieurs opérations importantes :

  • eval命令将为你执行ssh-agent,并确保它在后台运行。
  • ssh-add命令将添加你的默认SSH密钥。如果你为默认密钥设置了密码,它将提示你输入密码。
  • 最后,ssh-add -l命令显示当前在你的代理中添加的所有密钥。

这个简单的一行命令确保你的代理工作正常,并包含了正确的密钥。当你需要连接到某个服务或获取一些代码时,下一步就可以直接开始了。

7、查找过去的命令

linuxmi@linuxmi:~/www.linuxmi.com$ history | grep "top"

八个 Shell 命令,让你瞬间成为 Linux 命令行大师

或者按下CTRL + R,然后输入top

还记得很久以前运行的那个命令吗?我也不记得了。在历史记录中搜索它吧。

如果你像我一样记忆力不太好,那么history命令非常有用。它会显示当前终端会话中所有已运行的命令列表。反向交互式搜索或grep工具的真正威力在于能够找到之前执行的命令。

如果你只是想查看命令历史记录而不是执行它,你可以使用grep搜索。要统一搜索和执行操作,你可以使用CTRL + R的反向交互式搜索历史记录组合键。一旦按下快捷键,一个交互提示符就会出现,当你开始输入命令时,控制台会显示相应的匹配命令。

8、将多个命令作为一个整体传递

linuxmi@linuxmi:~/www.linuxmi.com$ history | grep "top"

八个 Shell 命令,让你瞬间成为 Linux 命令行大师

有时Bash会变得有点奇怪。变量插值可能出错,嵌套引号可能会混乱且难以跟踪。情况将变得更加复杂,尤其是当你需要在不同的二进制文件或服务中传递命令字符串时。在这种情况下,你可以使用bash命令将一组命令作为单个实体进行评估。

这个指令将接收纯文本字符串,然后按照常规的Bash语法来进行解析。对于外部shell来说,你只是运行一个命令并传递一个参数,但实际上你是在指示Bash解析多个命令的字符串并执行它们。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer