适合人群:Linux新手 | 运维工程师 | 开发者
目录
[1. 文件与目录操作](#1. 文件与目录操作)
[2. 文件内容查看与编辑](#2. 文件内容查看与编辑)
[1. 系统管理与监控](#1. 系统管理与监控)
[2. 网络与通信](#2. 网络与通信)
[3. 权限与用户管理](#3. 权限与用户管理)
[1. 管道符 |](#1. 管道符 |)
[2. 重定向 > 和 >>](#2. 重定向 > 和 >>)
[3. 后台运行 & 和 nohup](#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 |
代码示例:
python
# 创建目录并复制文件
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 保存退出) |
代码示例:
bash
# 查找包含特定关键字的日志
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为单位显示) |
代码示例:
bash
# 查找并终止占用过高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 [email protected] |
scp |
安全传输文件 | scp file.txt user@host:/remote/path |
代码示例:
bash
# 检查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 |
代码示例:
bash
# 将目录所有权转移给用户www-data
chown -R www-data:www-data /var/www/html
# 赋予脚本执行权限
chmod +x backup_script.sh
三、高阶技巧与组合命令
1. 管道符 |
将前一个命令的输出作为后一个命令的输入:
bash
# 统计当前目录下文件数量
ls -l | grep "^-" | wc -l # 仅统计普通文件
2. 重定向 >
和 >>
>
覆盖写入文件,>>
追加写入文件:
bash
echo "Hello Linux" > log.txt # 覆盖写入
date >> log.txt # 追加当前时间
3. 后台运行 &
和 nohup
bash
# 后台运行脚本并忽略挂断信号
nohup python3 server.py > output.log 2>&1 &
四、学习资源推荐
-
在线练习 :Linux命令大全(手册)
-
书籍推荐:《鸟哥的Linux私房菜》
-
实战平台 :OverTheWire(通过游戏学习命令)