外观
Linux 有用过吗?使用过哪些命令?
⭐ 题目日期:
腾讯 - 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/Ubuntu | apt | apt install nginx(安装软件)、apt update(更新源) |
| CentOS/RHEL | yum 或 dnf | yum 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 文件)自动化重复任务(如日志切割、服务部署)。例如,通过 grep 和 awk 快速定位问题,或使用 cron 定时执行备份任务。熟悉这些命令能显著提升开发与运维效率。
