Linux常用命令
Linux命令是系统管理的核心工具,掌握它们能高效执行日常任务。本教程基于真实运维场景编写,结构清晰,逐步讲解命令的语法、选项和示例。
1. 文件系统导航与操作
这些命令用于浏览和管理文件和目录。
pwd:显示当前工作目录的绝对路径。pwd # 输出:/home/usercd:切换目录。cd /var/log # 进入/var/log目录 cd .. # 返回上一级目录ls:列出目录内容。常用选项:-l:详细列表(显示权限、所有者等)。-a:显示隐藏文件(以.开头)。
ls -l /etc # 列出/etc目录的详细信息mkdir:创建目录。mkdir new_folder # 创建名为new_folder的目录 mkdir -p dir1/dir2 # 递归创建多级目录rm:删除文件或目录。谨慎使用!-r:递归删除(用于目录)。-f:强制删除(不提示确认)。
rm file.txt # 删除文件 rm -rf old_dir # 强制递归删除目录cp:复制文件或目录。-r:递归复制目录。
cp source.txt dest.txt # 复制文件 cp -r src_dir dest_dir # 复制目录mv:移动或重命名文件/目录。mv old.txt new.txt # 重命名文件 mv file.txt /tmp # 移动文件到/tmp
2. 文件内容查看与处理
处理文本文件和数据。
cat:显示文件内容。cat /etc/passwd # 查看用户配置文件less或more:分页查看文件(支持滚动)。less large_file.log # 按空格键翻页grep:搜索文本模式。-i:忽略大小写。-r:递归搜索目录。
grep "error" /var/log/syslog # 查找包含"error"的行 grep -ri "warning" /etc # 递归搜索/etc目录find:查找文件。-name:按名称搜索。-type:按类型搜索(如f为文件,d为目录)。
find /home -name "*.txt" # 查找所有.txt文件 find /var/log -type f -mtime -7 # 查找7天内修改过的文件head和tail:显示文件开头或结尾部分。head -n 10 file.log # 显示前10行 tail -f /var/log/nginx/access.log # 实时跟踪日志更新(-f选项)
3. 系统信息与监控
获取系统状态和资源使用情况。
top或htop:动态显示进程和资源占用(按q退出)。top # 查看CPU、内存使用率ps:查看进程状态。aux:显示所有进程详细信息。
ps aux | grep nginx # 查找nginx相关进程df:显示磁盘空间使用。-h:人类可读格式(如GB、MB)。
df -h # 查看所有挂载点的磁盘使用du:估算文件或目录大小。du -sh /var # 查看/var目录的总大小(-s汇总,-h可读格式)free:显示内存使用。free -m # 以MB为单位显示内存(-m选项)uname:显示系统信息。uname -a # 输出内核版本和系统架构
4. 网络管理
配置和诊断网络连接。
ping:测试网络连通性。ping google.com # 检查与Google的连接(按Ctrl+C停止)ifconfig或ip addr:查看网络接口信息(ifconfig需安装net-tools)。ifconfig eth0 # 显示eth0接口的IP和状态 ip addr show # 现代替代命令netstat:显示网络连接和端口。-tuln:列出所有监听端口。
netstat -tuln # 查看TCP/UDP监听端口ssh:远程登录服务器。ssh user@192.168.1.100 # 连接到远程主机scp:安全复制文件(基于SSH)。scp local.txt user@remote:/path/ # 复制文件到远程 scp user@remote:/file.txt ./ # 从远程复制到本地
5. 权限与用户管理
控制文件访问和用户账户。
chmod:更改文件权限。权限用八进制表示(如755755755),其中:- r=4r=4r=4(读),w=2w=2w=2(写),x=1x=1x=1(执行)。
- 所有者、组、其他用户各占三位(如7=4+2+17=4+2+17=4+2+1表示rwx)。
chmod 755 script.sh # 设置权限为rwxr-xr-x chmod +x file # 添加执行权限chown:更改文件所有者。chown user:group file.txt # 修改所有者和组useradd和passwd:管理用户账户。useradd new_user # 创建新用户 passwd new_user # 设置密码sudo:以超级用户权限执行命令。sudo apt update # 更新软件包列表(需管理员权限)
6. 压缩与归档
处理文件打包和压缩。
tar:归档文件。-c:创建归档。-x:解压归档。-z:使用gzip压缩。-v:显示过程。
tar -czvf archive.tar.gz /folder # 压缩文件夹 tar -xzvf archive.tar.gz # 解压到当前目录gzip和gunzip:压缩和解压单个文件。gzip file.txt # 压缩为file.txt.gz gunzip file.txt.gz # 解压
7. 文本处理高级工具
用于日志分析和数据处理。
awk:强大的文本分析工具。awk '{print $1}' access.log # 打印日志每行的第一列sed:流编辑器(批量替换文本)。sed 's/old/new/g' file.txt # 全局替换"old"为"new"sort和uniq:排序和去重。sort file.txt | uniq -c # 排序并统计重复行次数
8. 进程控制
管理运行中的程序。
kill:终止进程。-9:强制终止。
kill 1234 # 终止PID为1234的进程 kill -9 1234 # 强制终止bg和fg:控制后台和前台进程。sleep 60 & # 后台运行 bg %1 # 将作业1放到后台 fg %1 # 带回前台
总结
本教程涵盖了Linux运维中最常用的命令,适合日常系统管理。关键建议:
- 使用
man命令查看手册(如man ls获取详细帮助)。 - 在关键操作前备份数据(如用
cp或tar)。 - 结合管道(
|)和重定向(>或>>)提升效率,例如:grep "error" /var/log/*.log > errors.txt # 将错误日志保存到文件
通过实践这些命令,您将能高效处理Linux服务器运维任务。如果您有特定场景需求,欢迎进一步提问!
14万+

被折叠的 条评论
为什么被折叠?



