1. Linux基础命令入门指南
作为一名Linux系统管理员,我经常被问到:"新手应该从哪里开始学习Linux?"我的回答永远是:从最基础的命令开始。Linux命令是操作系统的核心,就像木匠的锤子和锯子,掌握了它们,你就能在终端里完成90%的日常任务。
Linux命令行的强大之处在于它的简洁和高效。一个简单的命令组合就能完成图形界面下需要多次点击的操作。比如ls -l | grep "Aug" | sort -k5n这个命令管道,可以列出8月份修改过的文件并按大小排序——这在图形界面下需要多少步骤?
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. Linux基础命令全解析
2.1 文件与目录操作命令
ls命令是大多数人学会的第一个Linux命令,但它的选项你都知道吗?
bash复制ls -l # 长格式显示
ls -a # 显示隐藏文件
ls -lh # 人类可读的文件大小
ls -t # 按修改时间排序
cd命令看似简单,但有几个技巧很实用:
bash复制cd - # 返回上一个目录
cd ~ # 回到家目录
cd ../.. # 上两级目录
cp和mv命令使用时要注意权限问题:
bash复制cp -r dir1 dir2 # 递归复制目录
mv file1 file2 # 重命名文件
mv dir1/* dir2/ # 移动目录下所有文件
提示:使用
cp时加上-i选项可以避免意外覆盖文件,建议在.bashrc中设置别名alias cp='cp -i'
2.2 文件查看与编辑命令
cat是最基础的文件查看命令,但处理大文件时应该用less:
bash复制cat file.txt # 显示整个文件
less file.txt # 分页查看(支持搜索)
head -n 10 file.txt # 查看前10行
tail -f log.txt # 实时查看日志
vim是Linux下最强大的文本编辑器,初学者可以先掌握这些基本操作:
bash复制vim file.txt # 打开文件
i # 进入插入模式
ESC # 退出插入模式
:wq # 保存退出
:q! # 不保存强制退出
2.3 系统信息查询命令
了解系统状态是运维的基础:
bash复制uname -a # 显示系统信息
df -h # 磁盘空间使用情况
free -h # 内存使用情况
top # 动态查看进程(类似任务管理器)
ps aux | grep nginx # 查找特定进程
grep是文本搜索的瑞士军刀:
bash复制grep "error" log.txt # 查找包含error的行
grep -r "function" /path/ # 递归搜索目录
grep -v "debug" file.txt # 排除包含debug的行
3. 实用命令组合技巧
3.1 管道与重定向
Linux最强大的特性之一就是可以将命令组合使用:
bash复制cat access.log | grep "404" | wc -l # 统计404错误次数
ps aux | sort -nk 4 | tail # 查看内存占用最高的进程
find / -name "*.conf" 2>/dev/null # 查找所有.conf文件并忽略错误
3.2 权限管理命令
Linux的权限系统是安全的基础:
bash复制chmod 755 script.sh # 设置权限(rwxr-xr-x)
chown user:group file # 改变文件所有者
chmod +x script.sh # 添加执行权限
注意:修改系统文件权限时要特别小心,错误的权限设置可能导致安全问题或系统故障
3.3 压缩与解压命令
不同压缩格式使用不同命令:
bash复制tar -czvf archive.tar.gz dir/ # 创建gzip压缩包
tar -xzvf archive.tar.gz # 解压gzip包
zip -r archive.zip dir/ # 创建zip压缩包
unzip archive.zip # 解压zip包
4. 网络相关命令
4.1 网络配置与诊断
bash复制ifconfig # 查看网络接口(旧版)
ip addr # 查看IP地址(新版)
ping google.com # 测试网络连通性
netstat -tulnp # 查看监听端口
traceroute google.com # 跟踪网络路径
4.2 文件传输命令
bash复制scp file.txt user@remote:/path/ # 安全拷贝到远程
rsync -avz dir/ user@remote:/path/ # 高效同步
wget http://example.com/file.zip # 下载文件
curl -O http://example.com/file.zip # 另一种下载方式
5. 系统管理进阶命令
5.1 用户与组管理
bash复制useradd newuser # 添加用户
passwd newuser # 设置密码
usermod -aG sudo newuser # 添加到sudo组
groupadd developers # 创建新组
5.2 服务管理
不同Linux发行版服务管理命令不同:
bash复制# Systemd系统(Ubuntu 16.04+, CentOS 7+)
systemctl start nginx # 启动服务
systemctl enable nginx # 设置开机启动
journalctl -u nginx # 查看服务日志
# SysVinit系统(旧版)
service nginx start # 启动服务
chkconfig nginx on # 设置开机启动
6. 实用技巧与常见问题
6.1 命令历史与补全
bash复制history # 查看命令历史
!100 # 执行历史中第100条命令
Ctrl+R # 反向搜索历史命令
Tab键 # 命令/文件名补全
6.2 环境变量与别名
bash复制echo $PATH # 查看PATH变量
export PATH=$PATH:/new/path # 临时添加PATH
alias ll='ls -alF' # 创建命令别名
6.3 常见问题排查
-
命令找不到?
- 检查命令是否安装:
which command - 检查PATH变量:
echo $PATH
- 检查命令是否安装:
-
权限被拒绝?
- 检查权限:
ls -l file - 使用sudo:
sudo command
- 检查权限:
-
磁盘空间不足?
- 查看磁盘使用:
df -h - 查找大文件:
find / -type f -size +100M
- 查看磁盘使用:
7. 学习资源与进阶建议
掌握基础命令后,可以继续学习:
- Shell脚本编程
- 正则表达式
- AWK和Sed文本处理
- 系统性能监控工具(htop, iotop等)
- 版本控制工具(git)
我个人的学习建议是:每天掌握3-5个新命令,在实际工作中应用它们。Linux命令行就像乐器,需要不断练习才能熟练掌握。遇到问题时,善用man command查看手册页,或者command --help查看帮助信息。
