外观
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
定时执行备份任务。熟悉这些命令能显著提升开发与运维效率。