适合人群:Linux新手 | 运维工程师 | 开发者
目录
一、Linux常用命令(每天必用)
1. 文件与目录操作
2. 文件内容查看与编辑
二、次常用命令(按需使用)
1. 系统管理与监控
2. 网络与通信
3. 权限与用户管理
三、高阶技巧与组合命令
1. 管道符 |
2. 重定向 > 和 >>
3. 后台运行 & 和 nohup
四、学习资源推荐
一、Linux常用命令(每天必用)
1. 文件与目录操作
命令 | 作用 | 示例 |
---|---|---|
ls | 列出目录内容 | ls -l (详细列表)ls -a (显示隐藏文件) |
cd | 切换目录 | cd /home (进入home目录)cd .. (返回上级目录) |
cp | 复制文件或目录 | cp file1.txt dir/ (复制文件到目录) |
mv | 移动/重命名文件 | mv old.txt new.txt (重命名) |
rm | 删除文件或目录 | rm file.txt (删除文件)rm -rf dir (强制删除目录) |
mkdir | 创建目录 | mkdir project (创建空目录) |
touch | 创建空文件或更新文件时间戳 | touch newfile.txt |
代码示例:
# 创建目录并复制文件
mkdir backup
cp /var/log/syslog backup/ # 将系统日志复制到backup目录 # 批量重命名日志文件
mv /logs/error.log /logs/error_20231015.log
2. 文件内容查看与编辑
命令 | 作用 | 示例 |
---|---|---|
cat | 查看文件全部内容 | cat config.yml (显示配置文件) |
more / less | 分页查看大文件 | less large_file.log (支持上下翻页) |
head / tail | 查看文件开头/末尾内容 | tail -f app.log (实时追踪日志更新) |
grep | 文本搜索 | grep "error" syslog (过滤含error的行) |
vim | 文本编辑器 | vim file.txt (按i 进入编辑,:wq 保存退出) |
代码示例:
# 查找包含特定关键字的日志
grep "Connection refused" /var/log/nginx/error.log # 实时监控日志新增内容
tail -f /var/log/apache2/access.log
二、次常用命令(按需使用)
1. 系统管理与监控
命令 | 作用 | 示例 | |
---|---|---|---|
top / htop | 实时监控系统资源(CPU/内存) | htop (交互式进程管理) | |
ps | 查看进程状态 | `ps aux | grep nginx`(查找Nginx进程) |
kill | 终止进程 | kill -9 1234 (强制终止PID为1234的进程) | |
df / du | 查看磁盘使用情况 | df -h (人类可读的磁盘空间)du -sh /home (统计目录大小) | |
free | 查看内存使用 | free -m (以MB为单位显示) |
代码示例:
# 查找并终止占用过高CPU的进程
ps aux | sort -nk 3 | tail -5 # 按CPU使用率排序
kill -15 5678 # 优雅终止PID为5678的进程
2. 网络与通信
命令 | 作用 | 示例 |
---|---|---|
ping | 测试网络连通性 | ping google.com |
curl / wget | 下载文件或测试API | curl -O http://example.com/file.zip |
netstat | 查看网络连接和端口监听 | netstat -tuln (显示所有监听端口) |
ssh | 远程登录服务器 | ssh user@192.168.1.100 |
scp | 安全传输文件 | scp file.txt user@host:/remote/path |
代码示例:
# 检查80端口是否被占用
netstat -tuln | grep ":80" # 从远程服务器下载文件
scp user@remote:/data/reports.zip ./downloads/
3. 权限与用户管理
命令 | 作用 | 示例 |
---|---|---|
chmod | 修改文件权限 | chmod 755 script.sh (赋予可执行权限) |
chown | 修改文件所有者 | chown user:group file.txt |
sudo | 以超级用户权限执行命令 | sudo apt update (更新软件包列表) |
useradd | 创建新用户 | useradd -m alice (创建用户并生成家目录) |
passwd | 修改用户密码 | passwd alice |
代码示例:
# 将目录所有权转移给用户www-data
chown -R www-data:www-data /var/www/html # 赋予脚本执行权限
chmod +x backup_script.sh
三、高阶技巧与组合命令
1. 管道符 |
将前一个命令的输出作为后一个命令的输入:
# 统计当前目录下文件数量
ls -l | grep "^-" | wc -l # 仅统计普通文件
2. 重定向 >
和 >>
-
>
覆盖写入文件,>>
追加写入文件:
echo "Hello Linux" > log.txt # 覆盖写入
date >> log.txt # 追加当前时间
3. 后台运行 &
和 nohup
# 后台运行脚本并忽略挂断信号
nohup python3 server.py > output.log 2>&1 &
四、学习资源推荐
-
在线练习:Linux命令大全(手册)
-
书籍推荐:《鸟哥的Linux私房菜》
-
实战平台:OverTheWire(通过游戏学习命令)