Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  10 'Soalan dan Jawapan Temu Bual' Berguna untuk Skrip Linux Shell

10 'Soalan dan Jawapan Temu Bual' Berguna untuk Skrip Linux Shell

Linux中文社区
Linux中文社区ke hadapan
2023-08-04 16:14:021743semak imbas

Keluasan Linux membolehkan orang ramai menghantar kandungan unik setiap masa. Kandungan ini bukan sahaja berguna untuk kerjaya mereka, tetapi juga membolehkan mereka menambah pengetahuan mereka. Di sini, kami cuba lakukan ini, sejauh mana kejayaan yang boleh kami capai, terpulang kepada pembaca dan rakan kami untuk menilai.

Di sini, sebagai tambahan kepada skrip shell, dalam artikel ini kami akan mentafsir soalan berkaitan Linux Shell dari perspektif temu bual.
1. Bagaimanakah cara untuk mengganggu pelaksanaan skrip shell sebelum ia berjaya dilaksanakan?
Jawapan: Kita perlu menggunakan arahan 'keluar' untuk mencapai senario yang diterangkan di atas. Apabila arahan 'keluar' dipaksa untuk mengeluarkan nilai bukan sifar, skrip akan melaporkan ralat dan keluar. Dalam skrip shell dalam persekitaran Unix, nilai 0 menunjukkan pelaksanaan yang berjaya. Oleh itu, melaksanakan perintah 'exit -1' tanpa petikan sebelum skrip ditamatkan akan membatalkan skrip.
Sebagai contoh, buat skrip berikut bernama "linuxmi.sh".
#!/bin/bash
echo "Hello"
exit-1
echo "bye"
Simpan fail dan laksanakan:
10 'Soalan dan Jawapan Temu Bual' Berguna untuk Skrip Linux Shell
Jelas daripada skrip di atas bahawa skrip dijalankan dengan baik sebelum arahan keluar -1.
2. 如何使用Linux命令来移除文件头?
解答:当我们需要删除文件中的指定行时,‘sed’命令可以用来解决该问题。
这个是用来删除文件头(文件的首行)的正确命令。
# sed '1 d' file.txt
上面命令的问题是,它会在标准输出设备上输出不带首行的文件内容。为了保存输出到文件,我们需要使用重定向操作符,它将帮助你将输出重定向到文件。
# sed '1 d' file.txt > new_file.txt
好吧,其实sed命令内建的‘-i’开关就可以干这活,就不需要重定向符了吧。
# sed -i '1 d' file.txt
3. 你怎么检查一个文本文件中某一行的长度?
解答:‘sed’命令也可以用来查找文本文件中的某一行或者检查其长度。
# sed -n 'n p' file.txt
可以解决,这里‘n’表示行号,‘p’打印出匹配内容(到标准输出),该命令通常与-n命令行选项连用。那么,怎样来获取长度计数呢?很明显,我们需要通过管道输出给‘wc’命令来计算。
# sed –n 'n p' file.txt | wc –c
要得到文本文件‘linuxmi.txt’的第五行的长度,运行如下命令:
# sed -n '5 p' linuxmi.txt | wc -c
10 'Soalan dan Jawapan Temu Bual' Berguna untuk Skrip Linux Shell
4. 可以在Linux系统上查看到所有非打印字符吗?你是怎么做到的?
解答:可以。可以在Linux中查看所有的非打印字符。要实现上面所讲的方案,我们需要‘vi’编辑器的帮助。怎样在‘vi’编辑器中显示非打印字符?
打开vi编辑器。
先按[esc]键,然后按‘:’进入到vi编辑器的命令模式。
最后,从‘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进程要经历的四个阶段。
  • 等待: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’命令的区别是什么?
Jawapan: Arahan 'cmp' dan 'diff' digunakan untuk mendapatkan perkara yang sama, tetapi masing-masing mempunyai penekanan tersendiri.
Arahan 'diff' mengeluarkan pengubahsuaian yang perlu dibuat untuk menjadikan kedua-dua fail itu sama. Perintah 'cmp' membandingkan dua bait fail demi bait dan melaporkan ketidakpadanan pertama.
9. Bolehkah arahan 'ls' digantikan dengan arahan 'echo'?
Jawapan: Ya. Perintah 'ls' boleh digantikan dengan arahan 'echo'. Perintah 'ls' menyenaraikan kandungan direktori Dari perspektif menggantikan arahan di atas, kita boleh menggunakan 'echo *' Output kedua-dua arahan adalah sama.
10 Anda mungkin pernah mendengar tentang inode. Bolehkah anda menerangkan secara ringkas inode?
Jawapan: 'inode' ialah 'struktur data' yang digunakan untuk pengenalan fail pada Linux. Setiap fail mempunyai 'inod' bebas dan nombor inod 'unik' pada sistem Unix.

Atas ialah kandungan terperinci 10 'Soalan dan Jawapan Temu Bual' Berguna untuk Skrip Linux Shell. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:Linux中文社区. Jika ada pelanggaran, sila hubungi admin@php.cn Padam