


The vastness of Linux allows people to always present unique content every time. This content is not only beneficial for their career development but also allows them to increase their knowledge. Here, we try to do this, and let our readers judge how effective it can be.
Here, as a supplement to shell scripts, in this article we will answer questions related to Linux Shell from an interview perspective.
1. How to interrupt script execution before the shell script is successfully executed?
Answer: We need to use the exit
command to achieve the scenario described above. exit
When the command is forced to output a non-zero value, the script will report an error and exit. In a Unix shell script, a value of 0 indicates successful execution. Therefore, executing an unquoted exit -1
command before the end of the script will terminate the script.
#!/bin/bash echo "Hello" exit -1 echo "bye"
Save the file and execute.
#!/bin/bash echo "Hello" exit -1 echo "bye"
It can be clearly seen from the above script that the script executes well before the exit -1
command.
2. How to use Linux commands to remove file headers?
Answer: When we need to delete specified lines in a file, the sed
command can be used to solve the problem.
This is the correct command to delete the file header (the first line of the file).
# sed '1 d' file.txt
Well, in fact, the -i
switch built into the sed command can do this job, so there is no need for a redirection character.
# sed -i '1 d' file.txt
3. How do you check the length of a line in a text file?
Answer: sed
The command can also be used to find a certain line in a text file or check its length.
sed -n 'n p' file.txt
can be solved, where n
represents the line number, p
prints out the matching content (to standard output) , this command is usually used with the -n
command line option. So, how to get the length count? Obviously, we need to pipe the output to the wc
command for calculation.
# sed –n 'n p' file.txt | wc –c
To get the length of the fifth line of the text file ‘linuxmi.txt’, run the following command:
# sed -n '5 p' linuxmi.txt | wc -c

4. Can all non-printing characters be viewed on a Linux system? how did you do it?
Answer: Yes. All non-printing characters can be viewed in Linux. To implement the solution mentioned above, we need the help of the vi
editor. How to display non-printing characters in the vi
editor?
Open the vi editor.
First press the [esc] key, and then press :
Enter the command mode of the vi editor.
最后,从 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
命令的区别是什么?
解答:cmp
和diff
命令用来获取相同的东西,但各有侧重。diff
命令输出为了使两个文件一样而应该做的修改。而‘cmp’命令则将两个文件逐字节对比,并报告第一个不匹配的项。
9. Can the **echo
command be used to replace the ls
command? **
Answer: Yes. The 'ls' command can be replaced with the 'echo' command. The ‘ls’ command lists the directory contents. From the perspective of replacing the above command, we can use ‘echo *’. The output of the two commands is exactly the same.
10. You may have heard of inode. Can you briefly describe the inode?
Answer: inode is a data structure used for file identification on Linux. Each file has a separate inode and a unique inode number on Unix systems.
The above is the detailed content of 10 Interesting Linux Shell Scripts 'Interviews and Answers', Can Experienced Drivers 'Overturn'?. For more information, please follow other related articles on the PHP Chinese website!

linux设备节点是应用程序和设备驱动程序沟通的一个桥梁;设备节点被创建在“/dev”,是连接内核与用户层的枢纽,相当于硬盘的inode一样的东西,记录了硬件设备的位置和信息。设备节点使用户可以与内核进行硬件的沟通,读写设备以及其他的操作。

区别:1、open是UNIX系统调用函数,而fopen是ANSIC标准中的C语言库函数;2、open的移植性没fopen好;3、fopen只能操纵普通正规文件,而open可以操作普通文件、网络套接字等;4、open无缓冲,fopen有缓冲。

端口映射又称端口转发,是指将外部主机的IP地址的端口映射到Intranet中的一台计算机,当用户访问外网IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上;可以通过使用动态或固定的公共网络IP路由ADSL宽带路由器来实现。

在linux中,eof是自定义终止符,是“END Of File”的缩写;因为是自定义的终止符,所以eof就不是固定的,可以随意的设置别名,linux中按“ctrl+d”就代表eof,eof一般会配合cat命令用于多行文本输出,指文件末尾。

在linux中,交叉编译是指在一个平台上生成另一个平台上的可执行代码,即编译源代码的平台和执行源代码编译后程序的平台是两个不同的平台。使用交叉编译的原因:1、目标系统没有能力在其上进行本地编译;2、有能力进行源代码编译的平台与目标平台不同。

在linux中,可以利用“rpm -qa pcre”命令判断pcre是否安装;rpm命令专门用于管理各项套件,使用该命令后,若结果中出现pcre的版本信息,则表示pcre已经安装,若没有出现版本信息,则表示没有安装pcre。

linux查询mac地址的方法:1、打开系统,在桌面中点击鼠标右键,选择“打开终端”;2、在终端中,执行“ifconfig”命令,查看输出结果,在输出信息第四行中紧跟“ether”单词后的字符串就是mac地址。

在linux中,rpc是远程过程调用的意思,是Reomote Procedure Call的缩写,特指一种隐藏了过程调用时实际通信细节的IPC方法;linux中通过RPC可以充分利用非共享内存的多处理器环境,提高系统资源的利用率。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

Dreamweaver Mac version
Visual web development tools

Notepad++7.3.1
Easy-to-use and free code editor

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft
