引言
想象这样一个场景:
-
你刚入职一家科技公司,拿到一台全新的 Linux 服务器
-
需要快速部署一个 Web 应用,同时监控系统性能
-
但你对 Linux 命令行还不熟悉,面对黑屏终端不知所措
别担心!本文将带你从零开始,掌握 Linux 指令的精髓,让你从命令行小白进阶为 Linux 高手。
一、Linux 指令基础
1. 文件与目录操作
指令 | 功能描述 | 常用选项 |
---|---|---|
ls | 列出目录内容 | -l 详细信息,-a 显示隐藏文件 |
cd | 切换目录 | cd ~ 回到家目录 |
pwd | 显示当前目录路径 | |
mkdir | 创建目录 | -p 创建多级目录 |
rm | 删除文件或目录 | -r 递归删除,-f 强制删除 |
cp | 复制文件或目录 | -r 递归复制 |
mv | 移动或重命名文件/目录 |
示例:
# 创建项目目录结构
mkdir -p myproject/{src,doc,test}
ls myproject/
# 输出:doc src test
2. 文件查看与编辑
指令 | 功能描述 | 常用选项 |
---|---|---|
cat | 显示文件内容 | -n 显示行号 |
more | 分页显示文件内容 | |
less | 更强大的分页查看器 | / 搜索,q 退出 |
head | 显示文件开头部分 | -n 10 显示前10行 |
tail | 显示文件末尾部分 | -f 实时跟踪文件更新 |
vim | 强大的文本编辑器 | i 插入模式,:wq 保存退出 |
示例:
# 实时查看日志更新
tail -f /var/log/syslog
二、系统管理与监控
1. 进程管理
指令 | 功能描述 | 常用选项 |
---|---|---|
ps | 显示当前进程 | aux 显示所有进程 |
top | 实时显示系统进程状态 | P 按CPU排序,M 按内存排序 |
kill | 终止进程 | -9 强制终止 |
nice | 调整进程优先级 | -n 10 设置优先级 |
nohup | 后台运行程序 | & 后台运行 |
示例:
# 查找并终止特定进程
ps aux | grep python
kill -9 1234
2. 系统信息
指令 | 功能描述 | 常用选项 |
---|---|---|
uname | 显示系统信息 | -a 显示所有信息 |
df | 显示磁盘使用情况 | -h 人类可读格式 |
du | 显示目录占用空间 | -sh 汇总显示 |
free | 显示内存使用情况 | -m 以MB为单位 |
uptime | 显示系统运行时间 |
示例:
# 查看磁盘使用情况
df -h
# 输出:
# Filesystem Size Used Avail Use% Mounted on
# /dev/sda1 50G 20G 28G 42% /
三、网络与安全
1. 网络配置
指令 | 功能描述 | 常用选项 |
---|---|---|
ifconfig | 配置网络接口 | eth0 指定网卡 |
ping | 测试网络连通性 | -c 4 发送4个包 |
netstat | 显示网络连接状态 | -tuln 显示监听端口 |
ssh | 远程登录 | user@host 指定用户和主机 |
scp | 安全复制文件 | -r 递归复制 |
示例:
# 远程复制文件
scp -r myproject user@remote:/path/to/dest
2. 安全管理
指令 | 功能描述 | 常用选项 |
---|---|---|
chmod | 修改文件权限 | 755 设置权限 |
chown | 修改文件所有者 | user:group 指定所有者和组 |
passwd | 修改用户密码 | |
sudo | 以超级用户权限执行命令 | |
iptables | 配置防火墙规则 | -L 列出规则 |
示例:
# 修改文件权限
chmod 755 script.sh
# 修改文件所有者
chown user:group file.txt
四、高级技巧与脚本编写
四、高级技巧与脚本编写
1. 管道与重定向
符号 | 功能描述 | 示例 | ||
---|---|---|---|---|
` | ` | 管道,前一个命令的输出作为后一个命令的输入 | `ps aux | grep python` |
> | 重定向输出到文件 | ls > file.txt | ||
>> | 追加输出到文件 | echo "new line" >> file.txt | ||
< | 从文件读取输入 | sort < file.txt |
示例:
# 统计当前目录文件数量
ls | wc -l
2. Shell 脚本基础
#!/bin/bash
# 这是一个简单的脚本示例
echo "Starting backup..."
tar -czf backup_$(date +%Y%m%d).tar.gz /path/to/data
echo "Backup completed!"
运行脚本:
chmod +x backup.sh
./backup.sh
结语
通过本文的学习,你已经掌握了 Linux 指令的基础知识和高级技巧。无论是日常系统管理,还是部署复杂的应用,这些命令都将成为你的得力助手。记住,Linux 的强大之处在于它的灵活性和可定制性,不断实践和探索,你将发现更多令人惊叹的功能。