Skip to content

Linux 有用过吗?使用过哪些命令?

约 887 字大约 3 分钟

系统架构与运维腾讯

2025-03-18

⭐ 题目日期:

腾讯 - 2024/12/20

📝 题解:

1. 文件与目录操作

命令用途示例
ls列出目录内容ls -l(详细列表)、ls -a(显示隐藏文件)
cd切换目录cd /var/log(进入日志目录)
pwd显示当前路径pwd → 输出 /home/user
cp复制文件/目录cp file.txt backup/(复制文件到 backup 目录)
mv移动或重命名文件mv old.txt new.txt(重命名)
rm删除文件rm -r dir/(递归删除目录)
mkdir创建目录mkdir project
find搜索文件find / -name "*.log"(全局搜索日志文件)
tar压缩/解压文件tar -czvf archive.tar.gz dir/(压缩)、tar -xzvf archive.tar.gz(解压)

2. 文本处理与查看

命令用途示例
cat显示文件内容cat config.yml
grep文本搜索grep "ERROR" app.log(查找日志中的错误)
tail查看文件尾部tail -f app.log(实时监控日志更新)
sed流编辑器(替换/删除文本)sed 's/foo/bar/g' file.txt(全局替换 foo 为 bar)
awk文本分析(提取字段、统计)awk '{print $1}' access.log(提取日志第一列)
vim/nano文本编辑vim server.conf(编辑配置文件)

3. 系统与进程管理

命令用途示例
ps查看进程状态`ps aux
top/htop实时监控系统资源(CPU、内存等)top(交互式查看资源占用)
kill终止进程kill -9 1234(强制终止 PID 为 1234 的进程)
systemctl管理系统服务(Systemd)systemctl start nginx(启动服务)
df/du查看磁盘空间df -h(显示磁盘使用情况)、du -sh dir/(统计目录大小)
free查看内存使用free -m(以 MB 为单位显示内存)

4. 网络相关

命令用途示例
ping测试网络连通性ping google.com
curl发送 HTTP 请求curl -X POST http://api.com/data(调用 API)
wget下载文件wget https://example.com/file.zip
netstat查看网络连接/端口netstat -tuln(列出监听中的 TCP/UDP 端口)
ssh远程登录ssh user@192.168.1.100(连接远程服务器)
scp安全传输文件scp file.txt user@host:/path/(上传文件到远程主机)

5. 权限与用户管理

命令用途示例
chmod修改文件权限chmod 755 script.sh(赋予可执行权限)
chown修改文件所有者chown user:group file.txt(修改属主和属组)
sudo以超级用户权限执行命令sudo apt update(更新软件包列表)
useradd创建用户useradd -m john(创建用户并生成家目录)
passwd修改用户密码passwd john(为 john 用户设置密码)

6. 包管理工具

系统命令示例
Debian/Ubuntuaptapt install nginx(安装软件)、apt update(更新源)
CentOS/RHELyumdnfyum install httpd(安装 Apache)

7. 实战场景示例

(1) 日志分析

# 统计日志中每个 IP 的访问次数(常用于分析攻击来源)
cat access.log | awk '{print $1}' | sort | uniq -c | sort -nr

(2) 批量重命名文件

# 将所有 .txt 文件后缀改为 .log
rename 's/\.txt$/.log/' *.txt

(3) 定时备份

# 使用 crontab 每天凌晨备份目录
0 0 * * * tar -czvf /backup/$(date +\%Y\%m\%d).tar.gz /data

总结

我常用的 Linux 命令主要集中在 文件操作文本处理系统监控网络管理 四大方向。实际工作中,通常会结合 Shell 脚本(如 .sh 文件)自动化重复任务(如日志切割、服务部署)。例如,通过 grepawk 快速定位问题,或使用 cron 定时执行备份任务。熟悉这些命令能显著提升开发与运维效率。