>  기사  >  시스템 튜토리얼  >  Linux 쉘 스크립팅에 대한 10가지 유용한 "인터뷰 질문 및 답변"

Linux 쉘 스크립팅에 대한 10가지 유용한 "인터뷰 질문 및 답변"

WBOY
WBOY앞으로
2024-02-12 10:00:18510검색

Linux의 광대함은 사람들이 언제든지 고유한 콘텐츠를 제출할 수 있음을 의미합니다. 이 콘텐츠는 경력에 도움이 될 뿐만 아니라 지식도 향상시켜 줍니다. 여기서 우리는 그렇게 하려고 시도할 것이며 독자들이 우리가 얼마나 성공적으로 그렇게 했는지 판단하게 해줄 것입니다.

셸 스크립트에 대한 보충 자료로, 이번 글에서는 Linux Shell 관련 질문을 인터뷰 관점에서 해석해 보겠습니다.

1. 쉘 스크립트가 성공적으로 실행되기 전에 스크립트 실행을 중단하는 방법은 무엇입니까?

답변: 스크립트를 중단하려면 exit 命令来实现上述情况。当 exit 命令被强制输出非 0 值时,脚本会报错并退出。在 Unix 环境下的 shell 脚本中,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'의 다섯 번째 줄 길이를 얻으려면 다음 명령을 실행하세요:

으아아아 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' 명령은 디렉터리 내용을 나열합니다. 위 명령을 바꾸는 관점에서 보면 두 명령의 출력은 완전히 동일합니다.

10. inode에 대해 들어보셨을 겁니다. inode에 대해 간략하게 설명해주실 수 있나요?

Answer: inode는 Linux에서 파일 식별에 사용되는 데이터 구조입니다. 각 파일에는 Unix 시스템에서 별도의 inode와 고유한 inode 번호가 있습니다.

위 내용은 Linux 쉘 스크립팅에 대한 10가지 유용한 "인터뷰 질문 및 답변"의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 lxlinux.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제