ホームページ  >  記事  >  システムチュートリアル  >  Linux シェル スクリプトに関する 10 の役立つ「インタビューの質問と回答」

Linux シェル スクリプトに関する 10 の役立つ「インタビューの質問と回答」

WBOY
WBOY転載
2024-02-12 10:00:18509ブラウズ

Linux の広大さは、ユーザーがいつでも独自のコンテンツを投稿できることを意味します。このコンテンツは彼らのキャリアに役立つだけでなく、知識を増やすことにもなります。ここではそれを試みますが、それがどの程度成功するかは読者の判断に委ねます。

シェル スクリプトの補足として、この記事では Linux シェル関連の問題をインタビューの観点から解釈します。

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

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

リーリー

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

リーリー Linux Shell 脚本的 10 个有用的“面试问题和解答”

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

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

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

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

リーリー

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

リーリー

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

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

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

リーリー

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

Linux Shell 脚本的 10 个有用的“面试问题和解答”

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 までご連絡ください。