>시스템 튜토리얼 >리눅스 >흥미로운 Linux 쉘 스크립트 10가지 '인터뷰 및 답변', 숙련된 드라이버가 '전복'할 수 있습니까?

흥미로운 Linux 쉘 스크립트 10가지 '인터뷰 및 답변', 숙련된 드라이버가 '전복'할 수 있습니까?

WBOY
WBOY앞으로
2024-02-12 18:24:16665검색

Linux의 광대함 덕분에 사람들은 매번 고유한 콘텐츠를 제공할 수 있습니다. 이 콘텐츠는 경력 개발에 도움이 될 뿐만 아니라 지식을 늘리는 데에도 도움이 됩니다. 여기에서 우리는 이를 시도하고 독자들이 그것이 얼마나 효과적인지 판단하도록 합니다.

여기서 쉘 스크립트에 대한 보충 설명으로 이번 글에서는 Linux Shell과 관련된 질문을 인터뷰 관점에서 답변해드리겠습니다.

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

답변: 스크립트를 종료하려면 exit命令来实现以上描述的场景。exit命令被强制输出非0值时,脚本会报错并退出。在 Unix 环境下的 shell 脚本中,0值表示成功执行。因此,在脚本结束前执行一个不带引号的exit -1 명령을 사용해야 합니다.

으아아아

파일을 저장하고 실행하세요.

으아아아

위 스크립트를 보면 exit -1 명령 이전에 스크립트가 제대로 실행된다는 것을 확실히 알 수 있습니다.

2. Linux 명령을 사용하여 파일 헤더를 제거하는 방법은 무엇입니까?

답변: 파일에서 특정 줄을 삭제해야 할 때 sed 명령을 사용하면 이 문제를 해결할 수 있습니다.

파일 헤더(파일의 첫 번째 줄)를 삭제하는 올바른 명령입니다.

으아아아

사실 sed 명령에 내장된 -i 스위치가 이 작업을 수행할 수 있으므로 리디렉션 문자가 필요하지 않습니다.

으아아아

3. 텍스트 파일의 줄 길이를 어떻게 확인하나요?

답변: sed 명령을 사용하여 텍스트 파일에서 특정 줄을 찾거나 그 길이를 확인할 수도 있습니다.

sed -n ‘n p’ file.txt可以解决,这里n表示行号,p打印出匹配内容(到标准输出),该命令通常与-n命令行选项连用。那么,怎样来获取长度计数呢?很明显,我们需要通过管道输出给wc계산 명령.

으아아아

텍스트 파일 'linuxmi.txt'의 다섯 번째 줄 길이를 얻으려면 다음 명령을 실행하세요:

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

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

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

위 내용은 흥미로운 Linux 쉘 스크립트 10가지 '인터뷰 및 답변', 숙련된 드라이버가 '전복'할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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