Heim > Artikel > System-Tutorial > 10 interessante Linux-Shell-Skripte „Interviews und Antworten“, können erfahrene Fahrer „umkippen“?
Die Weitläufigkeit von Linux ermöglicht es den Menschen, jedes Mal einzigartige Inhalte zu präsentieren. Diese Inhalte sind nicht nur für ihre berufliche Entwicklung von Vorteil, sondern ermöglichen ihnen auch, ihr Wissen zu erweitern. Hier versuchen wir dies zu tun und lassen unsere Leser beurteilen, wie effektiv es sein kann.
Als Ergänzung zu Shell-Skripten beantworten wir in diesem Artikel Fragen im Zusammenhang mit Linux Shell aus einer Interviewperspektive.
1. Wie unterbreche ich die Skriptausführung, bevor das Shell-Skript erfolgreich ausgeführt wird?
Antwort: Wir müssen den Befehl exit
命令来实现以上描述的场景。exit
命令被强制输出非0值时,脚本会报错并退出。在 Unix 环境下的 shell 脚本中,0值表示成功执行。因此,在脚本结束前执行一个不带引号的exit -1
verwenden, um das Skript zu beenden.
#!/bin/bash echo "Hello" exit -1 echo "bye"
Speichern Sie die Datei und führen Sie sie aus.
#!/bin/bash echo "Hello" exit -1 echo "bye"
Sie können dem obigen Skript deutlich entnehmen, dass das Skript vor dem Befehl exit -1
einwandfrei ausgeführt wird.
2. Wie verwende ich Linux-Befehle, um Dateiheader zu entfernen?
Antwort: Wenn wir bestimmte Zeilen in einer Datei löschen müssen, kann der Befehl sed
verwendet werden, um dieses Problem zu lösen.
Dies ist der richtige Befehl, um den Dateikopf (die erste Zeile der Datei) zu löschen.
# sed '1 d' file.txt
Nun, tatsächlich kann der im sed-Befehl integrierte -i
-Schalter diese Aufgabe übernehmen, sodass kein Umleitungszeichen erforderlich ist.
# sed -i '1 d' file.txt
3. Wie überprüft man die Länge einer Zeile in einer Textdatei?
Antwort: Der Befehl sed
kann auch verwendet werden, um eine bestimmte Zeile in einer Textdatei zu finden oder deren Länge zu überprüfen.
sed -n ‘n p’ file.txt
可以解决,这里n
表示行号,p
打印出匹配内容(到标准输出),该命令通常与-n
命令行选项连用。那么,怎样来获取长度计数呢?很明显,我们需要通过管道输出给wc
Befehl zum Berechnen.
# sed –n 'n p' file.txt | wc –c
Um die Länge der fünften Zeile der Textdatei „linuxmi.txt“ zu ermitteln, führen Sie den folgenden Befehl aus:
# sed -n '5 p' linuxmi.txt | wc -c
4. Können alle nicht druckbaren Zeichen auf einem Linux-System angezeigt werden? wie hast du es gemacht?
Antwort: Ja. Alle nicht druckbaren Zeichen können unter Linux angezeigt werden. Um die oben genannte Lösung umzusetzen, müssen wir im Editor nicht druckbare Zeichen anzeigen? vi
编辑器的帮助。怎样在vi
Drücken Sie zuerst die Taste [esc] und dann
, um in den Befehlsmodus des vi-Editors zu gelangen. :
最后,从 vi 编辑器的命令界面输入set list
命令并执行。
“
注: 这种方式可以查看文本文件中的所有非打印字符,包括 ctrl+m(^M)。
”
5. 假如你是一个员工组的团队领导,为xyz公司工作。公司要求你创建一个**dir_xyz
目录,让该组成员都能在该目录下创建或访问文件,但是除了文件创建者之外的其他人不能删除文件,你会怎么做?**
解答:这真是个有趣的工作方案。好吧,上面所讲的方案,我们需要通过下面的步骤来实施,这简直就是小菜一碟。
# mkdir dir_xyz # chmod g+wx dir_xyz # chmod +t dir_xyz
第一行命令创建了一个目录(dir_xyz),上面的第二行命令让组(g)具有‘写’和‘执行’的权限,而上面的最后一行命令——权限位最后的‘+t’是‘粘滞位’,它用来替换‘x’,表明在这个目录中,文件只能被它们的拥有者、目录的拥有者或者是超级用户root删除。
6. 你能告诉我一个Linux进程经历的各个阶段吗?
解答:一个 Linux 进程在它的一生中,通常经历了四个主要阶段。
这里是Linux进程要经历的四个阶段。
7. Linux中**cut
命令怎么用?**
解答:cut
是一个很有用的 Linux 命令,当我们要截取文件的指定部分并打印到标准输出,当文本区域以及文件本身很大时,这个命令很有用。
例如,截取txt_linuxmi
文件的前10列。
# cut -c1-10 txt_linuxmi
要截取该文件中的第二,第五和第七列。
# cut -d;-f2 -f5 -f7 txt_linuxmi
8. cmp
和diff
命令的区别是什么?
解答:cmp
和diff
命令用来获取相同的东西,但各有侧重。diff
命令输出为了使两个文件一样而应该做的修改。而‘cmp’命令则将两个文件逐字节对比,并报告第一个不匹配的项。
9. Kann ich den Befehl **echo
命令来替换ls
verwenden? **
Antwort: Ja. Der Befehl „ls“ kann durch den Befehl „echo“ ersetzt werden. Der Befehl „ls“ listet den Verzeichnisinhalt auf. Aus der Perspektive des Ersetzens des obigen Befehls können wir „echo *“ verwenden. Die Ausgabe der beiden Befehle ist genau gleich.
10. Sie haben vielleicht schon von Inode gehört. Können Sie den Inode kurz beschreiben?
Antwort: Inode ist eine Datenstruktur, die zur Dateiidentifizierung unter Linux verwendet wird. Jede Datei hat einen separaten Inode und eine eindeutige Inode-Nummer auf Unix-Systemen.
Das obige ist der detaillierte Inhalt von10 interessante Linux-Shell-Skripte „Interviews und Antworten“, können erfahrene Fahrer „umkippen“?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!