Linux面试题
# Linux常见命令
# 目录、文件
pwd 查看当前目录
cd 切换目录
ls 列出目录内容
-l
:以长格式显示文件和目录。-a
:显示所有文件(包括隐藏文件)。-h
:以人类可读的格式显示文件大小。
mkdir 创建目录
- -p 自动创建多级父目录
rm 删除文件或目录
-r
:递归删除目录及其内容。-f
:强制删除,不提示确认。
cp 复制文件或目录
- -a 最完整的复制功能,用于备份和迁移
mv 移动或重命名文件或目录
查看文件内容
cat <文件名>
:显示文件内容。less <文件名>
:分页显示文件内容。head <文件名>
:显示文件开头部分(默认前 10 行)。tail <文件名>
:显示文件结尾部分(默认后 10 行)。
# 查询日志文件后200条数据并实时监控
tail -f -n 200 /path/to/your/logfile.log
查找文件
- find <路径> -name <文件名>
查找文件内容
- grep <关键字> <文件名>
压缩和解压缩文件
- 压缩:
tar -czvf <压缩文件名>.tar.gz <目录/文件>
- 解压缩:
tar -xzvf <压缩文件名>.tar.gz
- c: 创建一个新的归档文件。
- z: 使用 gzip 压缩归档文件。
- v: 显示处理过程中的文件信息。
- f: 指定归档文件的名称。
文件字符替换
sed
常见选项
选项 | 说明 |
---|---|
-n | 禁止自动输出,只输出处理过的行。 |
-e | 指定多个命令。 |
-i | 直接修改文件内容(原地编辑)。 |
-r | 使用扩展正则表达式(默认是基础正则表达式)。 |
- 常见命令
命令 | 说明 |
---|---|
s/原字符串/新字符串/ | 替换文本。 |
d | 删除行。 |
p | 打印行。 |
a\ | 在指定行后追加文本。 |
i\ | 在指定行前插入文本。 |
c\ | 替换整行内容。 |
sed -i 's/旧字符串/新字符串/g' 文件名
# 将文件中i改为I
sed -i 's/i/I/g' 文件名
-i 直接修改文件内容,如果不加
-i
,则只输出到终端,不修改原文件。s 表示替换操作
g表示全局替换
删除所有包含
foo
的行。sed '/foo/d' example.txt
d
:表示删除匹配的行。
插入或追加文本
sed '2i\插入的内容' example.txt # 在第2行前插入 sed '2a\追加的内容' example.txt # 在第2行后追加
vim
:%s/旧字符串/新字符串/g
:%s
:表示在整个文件中进行替换。g
:表示全局替换(每行中的所有匹配项)。
# 系统
- 查看系统信息
- 查看内核版本:
uname -r
- 查看系统信息:
cat /etc/os-release
- 查看 CPU 信息:
lscpu
- 查看内存信息:
free -h
- 查看内核版本:
# 查看内存使用情况
free -h
查看进程
- 指令:
ps
-ef
:显示所有进程。aux
:显示详细进程信息。
- 指令:
查看网络信息
- 查看 IP 地址:
ip addr
或ifconfig
- 查看网络连接:
netstat -tuln
- 测试网络连通性:
ping <目标地址>
- 查看 IP 地址:
文件权限管理
修改权限:
chmod <权限> <文件名>
符号模式
chmod [who][operator][permissions] <文件/目录> chmod +x script.sh #添加执行权限
数字模式
chmod <数字> <文件/目录> chmod 754 file.txt #设置权限为 `rwxr-xr--`
修改所有者:
chown <用户>:<组> <文件名> chown alice:developers file.txt
# 修改用户权限
# 下载
curl 用于与服务器进行数据传输
选项 说明 -o <文件名>
将输出保存到文件。 -O
将输出保存为文件名(从 URL 中提取文件名)。 -I
仅显示响应头。 -L
自动跟随重定向。 -X <方法>
指定 HTTP 请求方法(如 GET、POST)。 -H <头部>
添加自定义请求头。 -d <数据>
发送 POST 请求的数据。 -F <字段>
上传文件(表单数据)。 -u <用户:密码>
添加认证信息。 -v
显示详细输出(调试模式)。 -s
静默模式(不显示进度和错误信息)。 -k
忽略 SSL 证书验证。
# 线上服务CPU占用过高怎么排查
使用 top命令 查看哪个进程CPU资源占用过高
# 修改系统环境变量
临时修改(仅对当前会话有效)
export PATH=$PATH:/your/new/path
对所有用户永久修改
在文件/etc/profile的末尾添加你的环境变量设置
export PATH=$PATH:/your/new/path
更新
source /etc/profile
# 后台运行
# 使用 &
符号
在命令末尾加上 &
,命令会在后台运行,终端可以继续使用。
command &
# 使用 nohup
命令
nohup
可以让命令在后台运行,即使终端关闭也不会中断。输出默认重定向到 nohup.out
。
nohup command &
# 使用 disown
命令
如果命令已经在运行,可以使用 Ctrl+Z
暂停,然后通过 bg
放入后台,最后用 disown
使其在终端关闭后继续运行。
command
Ctrl+Z
bg
disown
# 查看启动的后台任务
# 使用 jobs
命令
jobs
可以查看当前终端启动的后台任务。
# 使用 ps
命令
ps
可以查看系统中所有运行的进程,包括后台任务。
上次更新: 2025/3/31 20:10:39