ホームページ  >  記事  >  システムチュートリアル  >  興味深いLinuxシェルスクリプト10選「インタビューと回答」、経験豊富なドライバーは「逆転」できるか?

興味深いLinuxシェルスクリプト10選「インタビューと回答」、経験豊富なドライバーは「逆転」できるか?

WBOY
WBOY転載
2024-02-12 18:24:16587ブラウズ

Linux の広大さにより、人々は常に独自のコンテンツを提示することができます。このコンテンツは、キャリア開発に有益であるだけでなく、知識を増やすこともできます。ここでは、これを試してみて、それがどれほど効果的であるかを読者に判断してもらいます。

ここでは、シェルスクリプトの補足として、Linux シェルに関する質問にインタビューの観点から答えていきます。

1. シェル スクリプトが正常に実行される前にスクリプトの実行を中断するにはどうすればよいですか?

回答: 上記のシナリオを実現するには、exit コマンドを使用する必要があります。 exitコマンドがゼロ以外の値を出力するように強制されると、スクリプトはエラーを報告して終了します。 Unix シェル スクリプトでは、値 0 は実行が成功したことを示します。したがって、スクリプトの終了前に引用符なしの exit -1 コマンドを実行すると、スクリプトが終了します。

リーリー

ファイルを保存して実行します。

リーリー

上記のスクリプトから、exit -1 コマンドのかなり前にスクリプトが実行されることが明確にわかります。

2. Linux コマンドを使用してファイル ヘッダーを削除するにはどうすればよいですか?

回答: ファイル内の指定した行を削除する必要がある場合、sed コマンドを使用すると問題を解決できます。

これは、ファイル ヘッダー (ファイルの最初の行) を削除するための正しいコマンドです。

リーリー

そうですね、実際には、sed コマンドに組み込まれている -i スイッチがこのジョブを実行できるため、リダイレクト文字は必要ありません。

リーリー

3. テキスト ファイルの行の長さはどのように確認しますか?

回答: sedこのコマンドは、テキスト ファイル内の特定の行を検索したり、その長さを確認したりするためにも使用できます。

sed -n 'n p' file.txt を解決できます。ここで、n は行番号を表し、p は一致する内容を (標準に準拠して) 出力します。出力)、このコマンドは通常、-n コマンド ライン オプションとともに使用されます。では、長さのカウントを取得するにはどうすればよいでしょうか?明らかに、計算のために出力を wc コマンドにパイプする必要があります。

リーリー

テキスト ファイル「linuxmi.txt」の 5 行目の長さを取得するには、次のコマンドを実行します。 リーリー

10个有趣的 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. cmpdiff命令的区别是什么?

解答cmpdiff命令用来获取相同的东西,但各有侧重。
diff命令输出为了使两个文件一样而应该做的修改。而‘cmp’命令则将两个文件逐字节对比,并报告第一个不匹配的项。

9. **echo コマンドを ls コマンドの代わりに使用できますか? **

答え: はい。 「ls」コマンドは「echo」コマンドに置き換えることができます。 「ls」コマンドはディレクトリの内容をリストします。上記のコマンドを置き換えるという観点からは、「echo *」を使用できます。2 つのコマンドの出力はまったく同じです。

10. i ノードについて聞いたことがあるかもしれません。 iノードについて簡単に説明していただけますか?

回答: inode は、Linux 上でファイルの識別に使用されるデータ構造です。 Unix システムでは、各ファイルに個別の i ノードと一意の i ノード番号があります。

以上が興味深いLinuxシェルスクリプト10選「インタビューと回答」、経験豊富なドライバーは「逆転」できるか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlxlinux.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。