【嵌入式八股23】Linux关键指令
系统关机命令
在 Linux 系统中,有多种命令可用于实现系统关机或重启操作,以下为你详细介绍各命令及其特点:
shutdown |
该命令能够安全地将系统关机。它允许用户指定关机的时间,还可以在关机前向所有登录用户发送警告消息。例如,shutdown -h now 可立即关机,shutdown -h 20:30 则会在晚上 8 点 30 分关机。 |
halt |
本质上就是调用 shutdown -h 。此命令会停止系统运行,使计算机进入停机状态。 |
reboot |
其工作过程与 halt 类似,不过它的作用是引发主机重启,让系统重新启动。 |
poweroff |
是 halt 的软链接,功能同样是停止系统运行,最终切断电源。 |
init |
作为所有进程的祖先,它的进程号始终为 1。使用 init 0 可实现关机操作,而 init 6 则用于重启系统。 |
Linux 查看文本的指令
在 Linux 中,有许多指令可用于查看文本内容,以下是一些常用指令及其功能:
cat |
用于将文件内容连续输出到标准输出,适合查看内容较少的文件。 |
tac |
与 cat 相反,它会从文件的最后一行开始倒序显示全部内容。 |
sed |
是一个强大的流编辑器,可用于对文本进行替换、删除、插入等操作,也能用于查看文本。 |
head |
只显示文件的头几行,默认显示前 10 行,可通过 -n 选项指定显示的行数。 |
tail |
只显示文件的最后几行,默认显示后 10 行,使用 -f 选项可以实时显示日志文件的更新内容。 |
more |
以分页的方式显示文件内容,按空格键翻页,按 q 键退出。 |
less |
也是分页查看文件内容的工具,它比 more 功能更强大,支持向前和向后翻页,使用起来更加灵活。 |
nl |
类似于 cat -n ,在显示文件内容时会输出行号。 |
mount
命令
mount
命令用于将文件系统挂载到指定的挂载点,其基本命令格式如下:
mount [-t vfstype] [-o options] device dir
-t vfstype
:指定要挂载的文件系统类型,如ext4
、nfs
等。-o options
:用于指定挂载选项,如ro
(只读)、rw
(读写)等。device
:要挂载的设备,如硬盘分区、U盘等。dir
:挂载点,即文件系统挂载到的目录。
以下是一个挂载 NFS(网络文件系统)的示例:
mount -t nfs 192.168.0.1:/tmp /mnt/nfs
此命令将 IP 地址为 192.168.0.1
的服务器上的 /tmp
目录挂载到本地的 /mnt/nfs
目录。
dmesg
命令
dmesg
命令用于显示内核环缓冲区中的消息,这些消息包含了系统启动时的硬件检测信息、驱动程序加载信息等。你也可以通过以下命令查看系统日志文件:
cat /var/log/messages
该文件记录了系统的各种事件和错误信息。
grep
命令
grep
是一个强大的文本搜索工具,可用于在文件中查找匹配指定模式的行。
选项
-c:只输出匹配行的计数。
-C [number]:显示匹配行及其前后各 [number] 行的上下文。
-I:不区分大小写(只适用于单字符)。
-i:不区分大小写。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-L:列出不匹配的文件名。
-n:显示匹配行及行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。
-w:只匹配整个单词。
-E:使用扩展的正则表达式。
-R:递归搜寻指定目录及其子目录下的文件。
--exclude=FILE:跳过指定的文件。
正则表达式主要参数
\:忽略正则表达式中特殊字符的原有含义。
^:匹配正则表达式的开始行。
$:匹配正则表达式的结束行。
\<:从匹配正则表达式的单词开始。
\>:到匹配正则表达式的单词结束。
[]:匹配单个字符,如 [A] 表示匹配字符 A。
[-]:指定范围,如 [A-Z] 表示匹配从 A 到 Z 的任意一个大写字母。
.:匹配所有的单个字符。
*:匹配零个或多个前面的字符。
经典使用方法
# 查找所有以 d 开头的文件中包含 test 的匹配行
grep "test" d*
# 查找包含 test 或者 zephyr 的行,不区分大小写,显示行号,使用扩展正则表达式
grep -inE "test|zephyr" d*
# 查找同时包含 test 和 zephyr 的行,不区分大小写,显示行号,使用扩展正则表达式
grep -in "test" d* | grep 'zephyr'
find
命令
find
命令用于在指定目录下查找符合条件的文件和目录,其基本用法如下:
find [-path ..] [expression]
选项
-name:按照文件名查找。
-iname:按照文件名查找,忽略大小写。
-perm:按照文件权限查找。
-user:按照文件拥有者查找。
-group:按照文件所属的组查找。
-mtime -n +n:按照文件的更改时间来查找文件,-n 表示 n 天以内更改的文件,+n 表示 n 天以前更改的文件。
-type:查找某一类型的文件,文件类型有:普通文件 (f),目录 (d),字符设备文件 (c),块设备文件 (b),符号链接文件 (l),套接字文件 (s),管道文件 (p)。
-size n:查找文件长度为 n 块(一块等于 512 字节)的文件,带有 c 时表示文件长度以字节计。
-mount:不跨越文件系统进行查找。
-follow:遇到符号链接文件,就跟踪至链接所指向的文件。
-path:匹配文件路径或者文件名。
-exec:对查找到的文件执行后续命令操作。
-a:逻辑与操作。
-o:逻辑或操作。
-not:逻辑非操作。
经典使用方法
# 查找 /run 中所有的 socket 文件
find /run -type s
# 搜索 /dev 中所有包含 tty 的文件
find /dev -name
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
嵌入式八股/模拟面试拷打 文章被收录于专栏
一些八股模拟拷打Point,万一有点用呢