Linux 面试常见(55题)

@TOC删除线格式
一、文件管理
目录操作

  1. 创建目录:mkdir

mkdir命令可以创建一个新的目录。例如,在当前目录下创建一个名为“test”的目录:

mkdir test
2. 删除目录:rmdir

rmdir命令可以删除一个空目录。例如,要删除名为“test”的空目录,

rmdir test
如果目录不为空,可以使用rm -r命令来递归删除目录及其所有子目录和文件。

rm -r
3. 列出目录内容:ls

使用ls命令可以列出目录中的所有文件和子目录

ls
ls -l命令显示文件和文件夹的权限、所有者、大小、创建日期等详细信息。

ls -l
4. 更改目录:cd

使用cd命令可以更改当前工作目录。例如,要进入名为“test”的目录

cd test
5. 复制目录:cp -r

使用cp -r命令可以复制一个目录及其所有子目录和文件。例如,要将名为“test”的目录复制到名为“backup”的目录中

cp -r test backup
6. 移动目录:mv

使用mv命令可以移动或重命名一个目录。例如,要将名为“test”的目录移动到名为“backup”的目录中,可以在终端中输入以下命令:mv test backup。如果你想要重命名目录,可以将目录的新名称作为第二个参数传递给mv命令。

  1. 查找目录:使用find命令可以在文件系统中查找目录。例如,要查找名为“test”的目录,可以在终端中输入以下命令:find / -type d -name test。这将从根目录开始搜索名为“test”的目录。

说出10个以上的Linux命令
ls:列出当前目录下的所有文件和文件夹。

ls
该命令单独使用时,只会简单地列出当前目录下的文件和文件夹名称,不会显示文件或文件夹的详细信息。
ls -l
将显示文件和文件夹的权限、所有者、大小、创建日期等详细信息
cd:切换当前工作目录。

示例:cd ~/Documents

解释:在这个例子中,~ 表示当前用户的 home 目录,即主文件夹。这个命令会将工作目录切换到当前用户的 Documents 文件夹。

pwd:显示当前所在路径。

示例:pwd

解释:该命令会在屏幕上显示当前所在路径的绝对路径。

mkdir:创建新目录。

示例:mkdir ~/Documents/NewFolder

解释:在这个例子中,该命令会在当前用户的 Documents 文件夹中创建一个名为 “NewFolder” 的新文件夹。

rmdir:删除空目录。

示例:rmdir ~/Documents/NewFolder

解释:该命令会删除当前用户的 Documents 文件夹中名为 “NewFolder” 的文件夹,但前提是该文件夹是空的。对于非空文件夹,请使用 rm -r 命令。

touch:创建新的空文件。

示例:touch ~/Documents/NewFile.txt

解释:该命令会在当前用户的 Documents 文件夹中创建一个名为 “NewFile.txt” 的新文件。

cp:复制文件或目录。

示例:cp ~/Documents/OldFile.txt ~/Documents/NewFile.txt

解释:该命令会将当前用户的 Documents 文件夹中名为 “OldFile.txt” 的文件复制到名为 “NewFile.txt” 的新文件。

mv:移动文件或目录。

示例:mv ~/Documents/OldFile.txt ~/Desktop/

解释:该命令会将名为 “OldFile.txt” 的文件从当前用户的 Documents 文件夹中移动到桌面。

rm:删除文件或目录。

示例:rm ~/Documents/OldFile.txt

解释:该命令会从当前用户的 Documents 文件夹中删除名为 “OldFile.txt” 的文件。对于文件夹,请使用 rm -r 命令。

cat:查看文件内容。

示例:cat ~/Documents/OldFile.txt

解释:该命令会打印出当前用户 Documents 文件夹中名为 “OldFile.txt” 的文件中的全部内容。

more/less:分页查看文件内容。

示例:more ~/Documents/OldFile.txt

解释:该命令可以分页查看文件内容,用户可以通过按下空格键来逐页查看文件内容。类似的命令还有 less ,用法相同。

echo:输出文本。

示例:echo “Hello World!”

解释:该命令会将一段文本打印到屏幕上,输出为 Hello World!。

chmod:修改文件或目录的权限。

示例:chmod u+x ~/Documents/OldFile.txt

解释:该命令会将当前用户对于名为 “OldFile.txt” 的文件的执行权限设置为允许,其他用户的执行权限不变。这里,“u” 表示 “user” 即当前用户,“+x” 表示增加执行权限。

chown:修改文件或目录的所有者。

示例:chown user:group ~/Documents/OldFile.txt

解释:该命令会将名为 “OldFile.txt” 的文件的所有者和所在用户组分别设置为指定的用户和用户组。

ps:显示当前进程信息。

示例:ps aux

解释:该命令会列出系统上所有正在运行的进程的详细信息。

RedHat中,从root用户切到userl用户,一般用什么命令
su - userl
su表示切换用户(superuser),-表示切换至指定用户的环境变量,保持与目标用户相同的环境配置。userl是需要切换到的普通用户的用户名。

如何快速切换到用户John的主目录下
使用cd John命令快速切换到用户John的主目录下。其中,表示当前用户(即使用该命令的用户)的主目录,John则是需要进入到其主目录下的用户名。

Linux中,一般怎么隐藏文件?
一般通过在文件或目录名前添加一个.来隐藏文件。例如,如果要隐藏一个名为example.txt的文件,可以将其重命名为.example.txt。此时,该文件在默认情况下会被视为隐藏文件,不会在文件管理器等界面上显示出来。

Linux系统中,一个文件的访问权限是755,其含义是什么?
在Linux系统中,文件的访问权限是用三个数字来表示的,每个数字都代表一组权限,分别为“所有者权限”、“同组用户权限”和“其他用户权限”。其中,每一组权限的数字由三位二进制数(即rwx)转换而来,r表示读(read)、w表示写(write)、x表示执行(execute)。755是一种常见的文件访问权限设置,它的意义如下:

所有者权限为“读、写、执行”,对应的数字为7(二进制为111)。

同组用户权限为“读、执行”,对应的数字为5(二进制为101)。

其他用户权限为“读、执行”,对应的数字为5(二进制为101)。

因此,755表示该文件所有者具有读、写、执行的权限,同组用户和其他用户则只具有读、执行的权限。

查看CPU信息
打开终端,输入命令 cat /proc/cpuinfo,回车执行即可。

在Linux系统图形界面中,可以通过“系统监控”等工具来查看CPU信息。

查看占用CPU使用率最高的进程
top -o %CPU
“-o"参数表示按照指定字段进行排序,”%CPU"则表示按照CPU使用率进行排序。如果想按照其他字段(如内存使用率)进行排序,只需要将"%CPU"替换为对应的字段即可

查看一个文件的末尾50行
可以使用 tail 命令来查看一个文件的末尾50行,命令格式如下:

tail -n 50 filename
其中,"-n"参数表示要显示的行数,"filename"则是文件的路径和名称。

例如,如果要查看当前目录下的文件 “example.log” 的末尾50行,可以执行以下命令:

tail -n 50 example.log
执行该命令后,会在终端中输出文件 “example.log” 的末尾50行内容。

查看一个文件最后几行
显示一个文件最后几行可以使用 tail 命令,其命令格式如下:

tail [选项] 文件名
该命令默认显示文件末尾10行,如果要显示其他行数,可以通过 -n 选项指定所需行数。例如,要显示文件 “example.txt” 的末尾20行,可以执行以下命令:

tail -n 20 example.txt
执行该命令后,终端会输出文件 “example.txt” 的最后20行内容。

查看一页内容
可以使用 less 命令一次显示一页内容。less 命令是一个分页器,通常用于查看文件内容。使用 less 命令可以一次显示一页内容,使用上下箭头可以滚动查看页面的内容。

使用 less 命令的格式为:

less [options] [file]
其中,options 是可选参数,file 是要查看的文件名。如果省略 file 参数,less 命令会从标准输入读取内容进行分页显示。

如果要一次显示一页内容,可以直接输入 less 命令并在旁边加上文件名,例如:

less example.txt
执行命令后,将会显示文件的第一页内容,按下空格键显示下一页内容,按下上箭头和下箭头可以滚动查看页面的内容。

查看IP地址
可以通过多种方式在Linux中查看IP地址,以下是其中几种常见的方法:

使用ifconfig命令:该命令可以显示网络接口的配置信息,包括IP地址。在终端中输入ifconfig命令并回车,即可查看系统中所有网络接口的IP地址。

ifconfig
使用ip命令:该命令也可以显示网络接口的配置信息,包括IP地址。在终端中输入ip addr命令并回车,即可查看系统中所有网络接口的IP地址。

ipaddr
使用hostname命令:该命令可以显示当前主机的名称和IP地址。在终端中输入hostname -I命令并回车,即可查看当前主机的IP地址。

hostname -I
查看文件
在Linux中查看文件可以使用多个命令和工具,以下是其中常见的几种方法:

使用cat命令:该命令可以显示文件内容。在终端中输入cat [文件名]命令并回车,即可将文件内容输出到终端。

catfile.txt
使用less命令:该命令也可以显示文件内容,但相比cat命令,less命令更适合查看大型文件,因为它可以分页显示。在终端中输入less [文件名]命令并回车,即可使用less工具查看文件。

lessfile.txt
在less界面中,可以使用上下箭头键上下滚动文件内容,按q键退出查看。

使用head和tail命令:这两个命令分别用于查看文件开头和结尾的几行内容。在终端中输入head -n [行数] [文件名]或者tail -n [行数] [文件名]命令并回车,即可查看文件的前n行或者末尾的n行内容。

head -n 10 file.txt
tail -n 10 file.txt
动态查看日志文件
在Linux中,可以使用tail命令来实时查看日志文件的更新情况。下面是具体的命令格式及参数解释:

tail -f 日志文件路径
其中,-f参数表示持续监控日志文件的变化,当产生新的日志内容时,会自动输出在终端上。

例如,要查看/var/log/syslog日志文件的最新更新记录,可以使用以下命令:

tail -f /var/log/syslog
执行该命令后,终端上会实时显示出syslog日志文件的最新更新记录。如果想立即停止查看日志文件,可以按Ctrl+C键退出。

查看日志常用什么命令,主要查看什么内容?
在Linux系统中,查看日志的常用命令有tail、cat、less等。

tail:可以实时查看正在更新的日志文件,常用于监控系统运行时产生的日志信息;

cat:可以显示整个日志文件的内容,适合查看较小的日志文件;

less:按页查看日志文件的内容,同时还支持在文件中进行搜索和跳转操作。

在查看日志时,主要需要关注以下内容:

错误信息和异常事件:这些信息可以帮助我们快速发现系统中存在的问题,从而及时处理。

系统的运行状态:包括系统启动和关闭时间、CPU、内存和网络等资源的使用情况等,可以帮助我们了解系统的性能状况,及时优化系统配置。

应用程序的日志信息:记录应用程序的运行过程,包括访问日志、调试日志、业务异常等,可以帮助我们诊断应用程序的问题,提高应用程序的稳定性和可靠性。

查看系统硬盘空间
要查看Linux系统硬盘空间的命令,可以使用df命令。该命令可以显示文件系统的磁盘空间使用情况,包括已用空间、可用空间、文件系统类型等。

命令格式为:

df [选项][文件系统]
常用的选项包括:

-h:以人类可读的方式显示磁盘空间;

-T:显示文件系统类型;

-x:排除指定的文件系统类型。

例如,要查看当前系统的所有文件系统的磁盘空间使用情况,可以执行以下命令:

df -h
该命令会输出各个文件系统的磁盘空间使用情况信息。

查看某端口号
使用 netstat 命令或 lsof 命令来查看 Linux 系统上某个端口是否被占用。

使用 netstat 命令的格式为:

netstat -anp | grep 端口号
其中,-a 表示显示所有连接和监听中的端口,-n 表示以数字形式输出,-p 表示显示占用该端口的进程信息,grep 命令则过滤出包含指定端口号的行

例如,要查看系统中是否有进程监听 80 端口,可以使用以下命令:

netstat -anp | grep 80
执行命令后,如果输出结果为空,则表示系统没有进程监听 80 端口;否则输出结果中会包含占用该端口的进程信息。

使用 lsof 命令查看某个端口是否被占用,命令格式如下:

lsof -i :端口号
例如,要查看系统中是否有进程监听 80 端口,可以使用以下命令:

lsof -i :80
执行命令后,如果输出结果为空,则表示系统没有进程监听 80 端口。否则输出结果中会显示占用该端口的进程信息。

查看当前机器listen的所有端口
可以使用以下命令查看当前机器listen的所有端口:

netstat -tlnp
其中,-t表示显示TCP协议的连接状态,-l表示显示监听状态的连接,-n表示不显示域名与服务名,-p表示显示PID和程序名。

查看进程号
使用 ps 命令来查看 Linux 系统上某个进程的进程号(PID)。ps 命令是一个常用的进程查看工具,可以列出当前用户的进程列表或系统所有进程列表等。

使用 ps 命令的格式为:

ps -ef | grep 进程名
其中,-e 表示列出所有进程,-f 表示显示进程详细信息,grep 命令用于过滤出包含指定进程名的行。

例如,要查看进程名为 “nginx” 的进程的进程号,可以使用以下命令:

ps -ef | grep nginx
执行命令后,输出结果中会包含进程名为 “nginx” 的进程信息,其中第二列就是该进程的进程号。

如果知道要查找的进程的名称或者关键字,还可以直接使用 pgrep 命令来查找该进程的进程号,其命令格式为:

pgrep 进程名
例如,要查找进程名为 “nginx” 的进程的进程号,可以使用以下命令:

pgrep nginx
执行命令后,输出结果中将会包含进程名为 “nginx” 的进程号。

查看网络故障
tracert 命令可以用来查看网络在连接站点时经过的步骤或采取哪种路线,如果是网络出现故障,就可以通过这条命令查看出现问题的位置。因此, tracert 命令可以用来检测和排查网络故障。

如何过滤文件内容中包含“ERROR”?
可以使用 grep 命令在文件内容中过滤出包含特定字符串的行。grep 命令是一个强大的文本搜索工具,可以在文件或标准输入中查找包含指定字符串的文本行,并输出匹配到的行。

要在 Linux 中过滤文件内容中包含 “ERROR” 的行,可以使用以下命令:

grep"ERROR" filename
其中,filename 是要过滤的文件名。执行命令后,grep 命令会在 filename 文件中查找包含 “ERROR” 的文本行,并输出它们的内容。

如果想要忽略大小写,可以添加 -i 参数,例如:

grep -i “error” filename
以上命令会在 filename 文件中查找包含 “error” 或 “ERROR” 的文本行。

在ps命令中什么参数是用来显示所有用户的进程的?
在Linux ps命令中,使用参数"-e"或者"-A"可以显示所有用户的进程。其中,“-e"参数用于显示所有进程,而”-A"参数等同于"-e"参数。因此,运行如下命令可以列出所有用户的进程:

ps -e
或者

ps -A
如何查询出tomcat的进程并杀掉这个进程
使用ps命令查询Tomcat进程的进程号(PID)和其他信息。可以使用以下命令:

ps -ef | grep tomcat
该命令将列出所有与Tomcat相关的进程及其详细信息。

找到要结束的Tomcat进程的PID。

使用kill命令关闭进程。可以使用以下命令:

kill [PID]
其中,[PID]是要关闭的Tomcat进程的PID。

等待一段时间后,再次运行ps命令以确保Tomcat进程已经成功地结束。

命令kill9的含义
命令kill -9表示强制结束一个进程。通过执行该命令,可以向特定PID进程发送SIGKILL信号,直接结束进程的运行,而不经过正常的关闭流程。

使用该命令可能会导致某些进程数据损坏或者资源泄漏等问题,因此建议在必要时才使用kill -9命令,同时进行必要的备份和数据保护工作。

需要注意的是,如果正常的方式不能结束进程,才使用kill -9命令来强制停止。如果目标进程没有响应,或者无法通过其他方式终止进程时,才考虑使用该命令。

在当前用户目录中查找haha.txt文件
可以使用Linux中的find命令在当前用户目录中查找文件,具体命令如下:

find~ -name"haha.txt"
其中符号“~”表示当前用户目录,-name参数用于指定要搜索的文件名,上述命令表示在当前用户目录中查找文件名为“haha.txt”的文件。

如何在文件中查找显示所有以“”打头的行
可以在Linux系统中使用grep命令来搜索文件中的所有以“
”打头的行,具体命令如下:

grep"^*" filename
其中,^表示匹配行首,*是所要查找的字符串,filename是要搜索的文件名。

执行该命令后,系统会在指定文件中查找所有以“*”打头的行,并将这些行输出到终端。如果想要将搜索结果保存到文件中,可以将命令改为:

grep “^*” filename > result.txt
把一个文件夹打包压缩成.tar.gz的命令,以及解压拆包.tar.gz的命令
将一个文件夹打包成.tar.gz的命令如下所示:

tar -zcvf filename.tar.gz foldername
其中,-z 表示使用 gzip 压缩,-c 表示创建一个新的存档文件,-v 表示显示详细的过程信息,-f 表示指定压缩后的文件名。filename.tar.gz 是你希望生成的压缩文件名,foldername 是你希望压缩的文件夹名称。

解压缩一个.tar.gz压缩包的命令如下:

tar -zxvf filename.tar.gz
其中,-x 表示提取文件,-z 表示使用gzip进行解压缩,-v 表示显示详细的过程信息,-f 表示指定要操作的文件名。

该命令会在当前目录下解压出文件夹以及文件夹中的内容。如果你希望将文件解压到指定的目录下,可以在命令最后加上目标路径。

Xshell工具如果想要实现从服务器上传或者下载文件的话,可以在服务器上安装什么包?
Xshell工具可以通过使用SFTP协议实现从服务器上传或下载文件。因此,需要在服务器上安装OpenSSH包来支持SFTP协议。

在Linux系统上,可以通过以下命令安装OpenSSH:

sudo apt-getupdate
sudo apt-get install openssh-server
在Windows系统上,需要在官网下载并安装OpenSSH。

以/etc/passwd的前五行内容为例,提取用户名?
以/etc/passwd的前五行内容为例,其格式如下:

root❌0:0:root:/root:/bin/bashdaemon❌1:1:daemon:/usr/sbin:/usr/sbin/nologinbin❌2:2:bin:/bin:/usr/sbin/nologinsys❌3:3:sys:/dev:/usr/sbin/nologinsync❌4:65534:sync:/bin:/bin/sync
可以看到,用户名是每一行的第一个冒号(:)之前的字符串。因此,可以使用cut命令提取用户名。具体的命令如下:

cat /etc/passwd | cut -d: -f1 | head -n 5
其中,cut -d: -f1 表示以冒号作为分隔符,提取第一列(即用户名),head -n 5 表示只显示前五行的结果。

运行上述命令后,输出的结果为:

root
daemon
bin
sys
sync
在Linux中grep和find的区别?
grep:用于在文件中查找指定的字符串,并输出包含该字符串的行。语法如下:

grep [options] pattern [file…]
其中,pattern 是需要查找的字符串,file 是待查找的文件。如果没有指定文件,则默认从标准输入中读取内容。grep 命令支持很多选项,例如 -i(忽略大小写)、-v(显示不包含匹配字符串的行)、-n(显示匹配行所在的行号)等。

find:用于在指定目录下查找符合条件的文件或目录,并执行指定的操作。语法如下:

find [path][expression]
其中,path 是需要查找的目录,默认为当前目录。expression 是由各种选项和测试条件组成的表达式。常见的选项包括 -name(按文件名匹配)、-type(按类型匹配)、-exec(执行命令)等。

可以看到,grep 和 find 的主要区别在于它们的作用对象不同。grep 作用于文件内容,用于在文件中查找指定的字符串;而 find 作用于文件系统,用于查找符合条件的文件或目录。

grep都有哪些用法?
在单个文件中查找字符串:

grep pattern filename
pattern 是需要搜索的模式,可以是普通字符串,也可以是正则表达式。

filename 是需要搜索的文件名。

在多个文件中查找字符串

grep pattern file1 file2 …
可以同时指定多个文件名,表示在这些文件中查找指定的模式。

递归地查找目录中的文件

grep pattern -r directory
directory 是需要递归搜索的目录,可以是相对路径或绝对路径。

查找字符串时忽略大小写:

grep -i pattern filename
使用 -i 选项可以忽略大小写,将小写字母和大写字母视为相同的字符。

显示匹配行的行号:

grep -n pattern filename
使用 -n 选项可以显示匹配行的行号,方便快速定位。

显示不匹配的行:

grep -v pattern filename
使用 -v 选项可以显示不包含匹配模式的行。

统计匹配行数:

grep -c pattern filename
使用 -c 选项可以输出匹配到的行数。

匹配整个单词:

grep -w pattern filename
使用 -w 选项可以匹配整个单词,而不是模式的一部分。

创建和删除多级目录
创建多级目录的 Linux 命令有两种方式:

使用 mkdir -p 命令

mkdir -p dir1/dir2/dir3
说明:上述命令会在当前目录下创建名为 dir1 的目录,并在其中创建名为 dir2 的子目录,最后在 dir2 中创建名为 dir3 的目录。

使用逐级创建目录的方式

mkdir dir1 && cd dir1 && mkdir dir2 && cd dir2 && mkdir dir3
说明:上述命令使用了多个 && 连接符将多个命令串联在一起。首先在当前目录下创建名为 dir1 的目录,然后切换到 dir1 目录下,在其中创建名为 dir2 的子目录。接着进入 dir2 目录,在其中创建名为 dir3 的目录。

删除多级目录的 Linux 命令也有两种方式:

使用 rm -r 命令

rm -r dir1
说明:上述命令会递归地删除名为 dir1 的目录及其中所有的子目录和文件。需要注意的是,该命令不会提示用户确认操作,一旦执行即会直接删除。

使用 rmdir 命令

rmdir dir1/dir2/dir3
说明:上述命令会删除名为 dir3 的目录,然后在其中执行 rmdir … 命令来删除 dir2 目录,再在其中执行 rmdir … 命令来删除 dir1 目录。需要注意的是,该命令只能删除空目录,如果目录中存在文件或子目录,则无法直接使用该命令删除。

如何删除一个非空子目录/tmp
在 Linux 中,可以使用 rm 命令删除目录。如果要删除的是一个非空子目录,则需要添加 -r 参数来递归删除其中所有的文件和子目录。

具体操作如下:

rm -r /tmp/your_directory
上述命令中,your_directory 是要删除的非空子目录的名称,/tmp/ 则是该子目录所在的父目录。

怎么了解当前目录下还有多大空间?
du 命令可以显示指定目录或文件的磁盘使用情况,其中包括文件或目录占用的总磁盘空间大小以及其子目录的空间大小。

要了解当前目录的空间占用情况,可以在终端中输入以下命令:

du -sh .
其中,-s 参数表示只统计当前目录的空间大小,-h 参数可以将输出结果以人类可读的格式进行显示,方便查看。最后的 . 表示当前目录,也可以替换为指定的目录。

执行上述命令后,终端会显示当前目录的总空间大小,单位为 KB、MB 或 GB 等。例如:

43M .
上述输出结果表明当前目录下共占用了 43 MB 的磁盘空间

怎么更改一个文件的权限设置?
在 Linux 中,可以使用 chmod 命令更改文件或目录的权限设置。chmod 命令可以修改文件或目录的访问权限(读、写、执行),并允许用户、用户组和其他用户分别具有不同的权限。

要更改文件的权限设置,可以在终端中输入以下命令:

chmod file
其中,mode 为权限设置参数,可以使用数字或符号两种方式来表示,file 则为要更改权限的文件名。

使用数字表示权限时,mode 参数由三位数字组成,每一位都可以取 0-7 的值,分别表示用户、用户组和其他用户的权限。其中,0 表示无权限,1 表示执行权限,2 表示写权限,3 表示写和执行权限,4 表示读权限,5 表示读和执行权限,6 表示读和写权限,7 表示读、写和执行权限。例如,chmod 755 file.txt 表示将文件 file.txt 的权限设置为 -rwxr-xr-x,即用户具有读、写和执行权限,用户组和其他用户具有读和执行权限。

使用符号表示权限时,mode 参数由多个符号组成,包括:

u:表示用户的权限。

g:表示用户组的权限。

o:表示其他用户的权限。

a:表示所有用户的权限。

+:表示增加权限。

-:表示取消权限。

=:表示设置权限。

例如,chmod u+w file.txt 表示将文件 file.txt 的用户权限中增加写权限。

需要注意的是,更改文件或目录的权限时需要具有足够的权限,否则会提示 Permission denied 错误。

Linux怎么定义在以后特定时间运行一次的所有任务
在 Linux 中,可以使用 at 命令来在未来的特定时间执行一次任务。要定义在特定的时间运行一次任务,可以按照以下步骤操作:

使用 at 命令创建一个新的任务,语法如下:

at
其中, 参数表示任务将要运行的时间。 可以使用多种格式,例如绝对时间(如 15:30、2023-04-11 08:00)或相对时间(如 now + 2 hours、tomorrow noon)。更多可用的时间格式可以在 at 命令的 man 手册中查看。

在任务提示符 at> 下输入要执行的命令或脚本。任务提示符后添加的所有内容都将在指定时间运行。例如,要在明天早上 8 点运行 /path/to/my/script.sh 脚本文件,可以输入以下命令:

at8am tomorrow
at> /path/to/my/script.sh
at>
第一行命令将会话交给 at,并设置任务在明天早上 8 点运行;第二行命令输入要运行的脚本内容;最后一行 表示结束输入。

使用 atq 命令列出当前所有的待执行的任务,确认任务已经成功添加。

关闭终端并等待指定时间到达,任务将被自动执行。

需要注意的是,at 命令的可用性取决于系统上是否已安装并启用 atd 服务。如果系统没有安装该服务,则需要先安装并启动该服务,例如在 Ubuntu 中可以使用以下命令:

sudo apt-get install at
sudo systemctl start atd
在bash中,export命令的作用是什么
在bash shell中,export命令的作用是设置或显示环境变量。在shell中执行程序时,shell会提供一组环境变量,export命令可以新增、修改或删除环境变量,供后续执行的程序使用。

有一个备份程序mybackup,需要在周一至周五下午1点和晚上8点各运行一次,用哪条crontab的项能完成这项工作
可以使用如下的 crontab 表达式来完成这项任务:

0 13,20 * * 1-5 /path/to/mybackup
这条 crontab 表达式表示在周一至周五的下午1点和晚上8点分别执行 /path/to/mybackup 命令。具体解释如下:

0 表示分钟,表示每小时的第0分钟执行任务;

13,20 表示小时,表示每天的下午1点和晚上8点执行任务;

  • 表示日期,表示任意日期;

  • 表示月份,表示任意月份;

1-5 表示星期几,表示周一至周五执行任务。

如何从当前系统中卸载一个已装载的文件系统
要卸载一个已装载的文件系统,需要使用 umount 命令。以下是基本语法:

umount [选项] 文件系统路径
其中,选项包括:

-f:强制卸载,即使文件系统处于忙碌状态也会被卸载;

-l:延迟卸载,等到文件系统不再使用时再卸载。

要卸载一个已装载的文件系统,可以按照以下步骤进行操作:

确定要卸载的文件系统路径,例如 /mnt/mydata;

在终端中输入命令 umount /mnt/mydata,把 /mnt/mydata 文件系统卸载掉。

怎么装载所有在/ect/fstab中定义的文件
在Linux系统中,要装载所有在 /etc/fstab 中定义的文件系统,可以使用 mount -a 命令,-a 选项的含义是装载所有在 /etc/fstab 文件中列出的已定义但当前未挂载的文件系统。

这个命令可以在系统启动时自动执行,也可以在修改 /etc/fstab 文件后手动执行,以使新的文件系统条目生效。

怎么把f1.txt复制为f2.txt
在Linux中,可使用 cp 命令将一个文件复制为另一个文件。在终端中输入以下命令即可复制 f1.txt 为 f2.txt:

cp f1.txt f2.txt
其中,cp 是复制命令的名称,f1.txt 是要复制的源文件名,f2.txt 是复制后的目标文件名。

ps:如果当前目录下已存在同名的目标文件 f2.txt,会提示是否覆盖该文件。如果要强制覆盖,可以加上 -f 选项,即 cp -f f1.txt f2.txt。

在一行结束位置加上什么符号,表示未结束,下一行继续
在一行结束位置加上反斜杠符号(\),表示未结束,下一行继续。这种技巧被称为行续行或行折叠,在编程语言、Shell脚本等场景中比较常见。

例如,在Shell脚本中可以使用行续行来将一条长命令分成多行书写,提高代码的可读性。示例如下:

echo"这是一条比较长的命令,需要分成
多行才能完整显示在终端中。"
在这个例子中,我们使用反斜杠符号来将一条长字符串拆成两行,但是这两行字符串实际上是一条完整的命令,会在执行时被当成单独一行来处理。

对所有用户的变量设置,应当放在哪个文件下?
在Linux中,对所有用户的变量设置可以放在 /etc/profile 或者 /etc/environment 文件下。这两个文件分别具有不同的作用:

/etc/profile 文件:是系统全局的shell配置文件,它会在用户登录时被读取,并设置环境变量、执行系统级别的脚本等。如果要为所有用户设置环境变量,可以将相应的语句添加到 /etc/profile 文件中。

/etc/environment 文件:是系统全局的环境变量配置文件,它包含了系统范围内的所有环境变量设置,这些设置会在系统启动时被读取,并且在所有进程中都生效。如果要为所有用户设置全局的环境变量,可以将变量名和值添加到 /etc/environment 文件中。

在Linux系统中脚本文件一般以什么开头?
在Linux系统中,脚本文件一般以 #!/bin/bash 或者 #!/usr/bin/env bash 开头。这行开头的语句被称为 shebang 或 sha-bang,它告诉系统该脚本应该使用哪种解释器来执行。

以 #!/bin/bash 开头的脚本文件会使用 Bash 解释器来执行,而以 #!/usr/bin/env bash 开头的脚本文件则会在系统的 $PATH 中查找名为 bash 的程序,并使用它来执行脚本文件。

Linux中,提供TCL/IP包过滤功能软件叫什么?
在 Linux 中,提供 TCP/IP 包过滤功能的软件叫做 iptables。它是一个基于内核的软件,能够监视和过滤网络中传输的 IP 包,并且可以在服务器上实现网络流量控制,增强网络的安全性和稳定性。

在vi中退出不保存的命令是什么?
在 vi 中,要退出不保存修改的文件,可以使用 :q! 命令。这个命令会强制退出 vi,并放弃之前做的所有修改。

具体操作步骤如下:

进入 vi 编辑器界面。

按下 Esc 键,确保进入了命令模式。

输入 :q! 命令,包括冒号 : 和感叹号 !。

按下回车键,便可退出 vi 编辑器,并放弃之前的修改。

需要注意的是,这个命令不能恢复之前的修改内容,而且一旦执行之后就无法撤销,所以在使用前请确认是否需要保存修改。

Linux 中,使用什么命令检测基本网络连接
在 Linux 中,可以使用 ping 命令来检测基本的网络连接情况。ping 命令发送 ICMP 回显请求到指定 IP 地址或域名,并等待响应。如果目标主机正确响应,则说明网络连接正常;否则,可能存在网络故障或目标主机不可达。

检测网络连接的具体命令格式为:

ping
例如,要检测与百度的网络连接情况,可以输入以下命令:

ping www.baidu.com
需要注意的是,有些网络环境下可能会禁止 ICMP 请求,这时候 ping 命令可能无法使用。此外,ping 命令可以进行一些参数设置,如设置发包间隔、设置发送包数量等等,可以通过 man ping 命令查看帮助文档来了解详细内容。

对于Apache服务器,提供子进程的缺省值的用户是哪个
对于Apache服务器,提供子进程的缺省值的用户是该服务器进程所属的用户(通常是 httpd 用户)。

Apache HTTP 服务器本质上是一个多进程服务器,主进程会接收来自客户端的连接请求,并创建子进程来处理这些请求。在默认情况下,新创建的子进程会继承主进程的有效用户 ID 和组 ID,并使用这些 ID 来运行程序。因此,如果主进程以特权用户(如 root 用户)的身份运行,那么所有的子进程也将拥有相同的权限,并且可能存在安全风险。

为了避免这种安全风险,通常可以通过修改 Apache 配置文件中的 User 和 Group 指令来指定运行服务器进程的用户和组,从而降低服务器进程所占用权限的级别。例如,将这些指令设置为非特权用户(如 httpd 用户)可以增强服务器的安全性。

apache的主配置文件是哪个
pache 的主配置文件是 httpd.conf 文件。这个文件通常位于 Apache 服务器的安装目录下,可以通过编辑这个文件来配置服务器的各种参数,包括监听 IP 地址和端口号、虚拟主机配置、用户权限设置等

通过Makefile来安装已编译过的代码的命令是什么?
如果想要将已编译过的代码安装到某个指定的位置,可以在 Makefile 中定义 install 目标,并在其中编写安装命令。在安装之前,需要先编译生成目标文件和可执行文件,并将它们打包成一个发布包。在 Makefile 中,可以借助 tar 工具来打包,使用 install 命令来安装到指定位置。

例如,在 Linux 下,可以使用以下命令将文件打包:

tar -czvf my_project.tar.gz my_project
然后,在 Makefile 中添加一个 install 目标,如下所示:

install:
mkdir -p /usr/local/my_project
tar -xzvf my_project.tar.gz -C /usr/local/my_project
执行 make install 命令即可将已编译过的代码安装到 /usr/local/my_project 目录下。

命令netstat-a停了很长时间没有响应,可能是哪里的问题?
命令 netstat -a 的作用是列出所有的网络连接(包括 TCP、UDP 协议等),以及相关的状态、端口号等信息。如果 netstat -a 命令停了很长时间没有响应,这可能是因为系统中有大量的连接和网络流量,导致命令需要较长时间才能完成。另外,如果系统性能较差或者存在网络故障等情况,也可能导致 netstat -a 命令的执行变得缓慢或无响应。

ping使用的协议是什么
ping 命令使用的协议是 ICMP(Internet Control Message Protocol)协议。ICMP 是 TCP/IP 协议族中的一个子协议,主要用于网络设备之间传递控制消息,例如判断主机是否可达、计算网络延迟等。由于 ICMP 是一个面向无连接的协议,所以可以直接通过 ICMP 报文来检测主机的可达性和网络状况,而无需建立 TCP 或 UDP 连接。在执行 ping 命令时,使用 ICMP 协议向目标主机发送探测报文,通过目标主机的回应判断网络连接和延迟等情况。

TCP/IP中,哪个协议是用来进行IP自动分配的?
在 TCP/IP 协议族中,DHCP(Dynamic Host Configuration Protocol)协议是用来进行 IP 自动分配的。DHCP 是一种面向无连接的协议,支持将 IP 地址、子网掩码、网关、DNS 服务器等网络配置信息自动分配给客户端设备。当一个新设备加入网络时,它可以向 DHCP 服务器发起请求,自动获取可用的 IP 地址和其他网络配置信息。使用 DHCP 可以简化网络管理,提高网络的稳定性和可扩展性。
————————————————
版权声明:本文为CSDN博主「清微清微」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_71986704/article/details/130062372

欢迎使用Markdown编辑器

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

新的改变

我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:

  1. 全新的界面设计 ,将会带来全新的写作体验;
  2. 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
  3. 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
  4. 全新的 KaTeX数学公式 语法;
  5. 增加了支持甘特图的mermaid语法1 功能;
  6. 增加了 多屏幕编辑 Markdown文章功能;
  7. 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
  8. 增加了 检查列表 功能。

功能快捷键

撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
查找:Ctrl/Command + F
替换:Ctrl/Command + G

合理的创建标题,有助于目录的生成

直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。

如何改变文本的样式

强调文本 强调文本

加粗文本 加粗文本

标记文本

删除文本

引用文本

H2O is是液体。

210 运算结果是 1024.

插入链接与图片

链接: link.

图片: Alt

带尺寸的图片: Alt

居中的图片: Alt

居中并且带尺寸的图片: Alt

当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

如何插入一段漂亮的代码片

去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

// An highlighted block
var foo = 'bar';

生成一个适合你的列表

  • 项目
    • 项目
      • 项目
  1. 项目1
  2. 项目2
  3. 项目3
  • 计划任务
  • 完成任务

创建一个表格

一个简单的表格是这么创建的:

项目 Value
电脑 $1600
手机 $12
导管 $1

设定内容居中、居左、居右

使用:---------:居中
使用:----------居左
使用----------:居右

第一列 第二列 第三列
第一列文本居中 第二列文本居右 第三列文本居左

SmartyPants

SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

TYPE ASCII HTML
Single backticks 'Isn't this fun?' ‘Isn’t this fun?’
Quotes "Isn't this fun?" “Isn’t this fun?”
Dashes -- is en-dash, --- is em-dash – is en-dash, — is em-dash

创建一个自定义列表

Markdown
Text-to- HTML conversion tool
Authors
John
Luke

如何创建一个注脚

一个具有注脚的文本。2

注释也是必不可少的

Markdown将文本转换为 HTML

KaTeX数学公式

您可以使用渲染LaTeX数学表达式 KaTeX:

Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n1)!nN 是通过欧拉积分

Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t   . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=0tz1etdt.

你可以找到更多关于的信息 LaTeX 数学表达式here.

新的甘特图功能,丰富你的文章

2014-01-07 2014-01-09 2014-01-11 2014-01-13 2014-01-15 2014-01-17 2014-01-19 2014-01-21 已完成 进行中 计划一 计划二 现有任务 Adding GANTT diagram functionality to mermaid
  • 关于 甘特图 语法,参考 这儿,

UML 图表

可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:

张三 李四 王五 你好!李四, 最近怎么样? 你最近怎么样,王五? 我很好,谢谢! 我很好,谢谢! 李四想了很长时间, 文字太长了 不适合放在一行. 打量着王五... 很好... 王五, 你怎么样? 张三 李四 王五

这将产生一个流程图。:

链接
长方形
圆角长方形
菱形
  • 关于 Mermaid 语法,参考 这儿,

FLowchart流程图

我们依旧会支持flowchart的流程图:

Created with Raphaël 2.3.0 开始 我的操作 确认? 结束 yes no
  • 关于 Flowchart流程图 语法,参考 这儿.

导出与导入

导出

如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

导入

如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。


  1. mermaid语法说明 ↩︎

  2. 注脚的解释 ↩︎

你可能感兴趣的:(linux,面试,运维)