Linux基础:20个必需掌握的命令(详解) 在日常的Linux运维工作中,你是否经常遇到命令记不住、操作效率低的问题?掌握这些核心命令不仅能提升工作效率,还能让你在团队中更加专业。 本文将详细介绍20个Linux常用命令,从基础操作到高级技巧,帮助你快速提升Linux操作能力。
目录
Linux命令基础介绍
文件操作类命令
系统管理类命令
网络相关命令
高级实用命令
1. Linux命令基础介绍 1.1 Linux命令行简介 Linux命令行是Linux系统的核心交互方式,通过命令行可以高效地管理系统、执行程序和处理数据。掌握Linux命令是每个Linux用户的必备技能。
命令基本结构
示例:
1.2 命令行操作技巧 Tab键自动补全
• 输入命令或文件名的前几个字符
• 按Tab键自动补全
• 如果有多个匹配,按两次Tab显示所有选项
命令历史记录
• 上下箭头键:浏览历史命令
• Ctrl+R:搜索历史命令
• !!:执行上一条命令
2. 文件操作类命令 2.1 文件和目录浏览 ls - 列出目录内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 # 基本用法 ls # 显示详细信息 ls -la # 显示隐藏文件 ls -a # 按大小排序 ls -lhS # 按时间排序 ls -lt
执行结果:
1 2 3 4 5 6 total 32 drwxr-xr-x 5 user user 4096 Jan 10 10:00 . drwxr-xr-x 20 root root 4096 Jan 9 15:00 .. -rw-r--r-- 1 user user 220 Jan 5 12:00 .bashrc -rw-r--r-- 1 user user 3800 Jan 5 12:00 .profile -rw-r--r-- 1 user user 0 Jan 10 09:45 test.txt
⚠️ 注意事项 :ls命令只显示当前目录下的文件,要查看其他目录需要指定路径。
2.2 文件和目录操作 cd - 切换目录
1 2 3 4 5 6 7 8 9 10 11 12 13 14 # 进入用户主目录 cd # 进入指定目录 cd /var/log # 返回上一级目录 cd .. # 返回主目录 cd ~ # 进入上一次访问的目录 cd -
pwd - 显示当前目录
执行结果:
mkdir - 创建目录
1 2 3 4 5 6 7 8 # 创建单个目录 mkdir newdir # 创建多级目录 mkdir -p path/to/directory # 创建带权限的目录 mkdir -m 755 secure_dir
rmdir - 删除空目录
rm - 删除文件和目录
1 2 3 4 5 6 7 8 9 10 11 # 删除文件 rm file.txt # 强制删除文件(不提示) rm -f file.txt # 删除目录及其内容 rm -r directory/ # 强制删除目录及其内容 rm -rf directory/
⚠️ 注意事项 :rm -rf命令非常危险,删除前请确认路径正确!
cp - 复制文件和目录
1 2 3 4 5 6 7 8 9 10 11 # 复制文件 cp source.txt dest.txt # 复制目录 cp -r source_dir dest_dir # 复制并保留权限 cp -p source.txt dest.txt # 复制时覆盖已有文件 cp -f source.txt dest.txt
mv - 移动和重命名
1 2 3 4 5 6 7 8 9 10 11 # 移动文件 mv file.txt /path/to/destination/ # 重命名文件 mv old_name.txt new_name.txt # 移动目录 mv directory/ /path/to/destination/ # 强制移动 mv -f source.txt dest.txt
touch - 创建空文件
1 2 3 4 5 6 7 8 # 创建空文件 touch newfile.txt # 创建多个空文件 touch file1.txt file2.txt file3.txt # 更新文件时间戳 touch existing_file.txt
2.3 文件内容查看 cat - 查看文件内容
1 2 3 4 5 6 7 8 9 10 11 # 查看文件内容 cat file.txt # 查看多个文件 cat file1.txt file2.txt # 显示行号 cat -n file.txt # 不显示空行 cat -s file.txt
less - 分页查看文件
1 2 3 4 5 6 7 8 9 # 分页查看文件 less large_file.txt # 操作说明: # 空格键:向下翻页 # b键:向上翻页 # q键:退出 # /键:搜索内容 # n键:下一个搜索结果
head - 查看文件开头
1 2 3 4 5 # 查看前10行 head file.txt # 查看前n行 head -n 20 file.txt
tail - 查看文件结尾
1 2 3 4 5 6 7 8 # 查看最后10行 tail file.txt # 查看最后n行 tail -n 20 file.txt # 实时查看文件变化 tail -f log_file.txt
3. 系统管理类命令 3.1 用户和权限管理 useradd - 添加用户
1 2 3 4 5 6 7 8 # 添加用户 sudo useradd newuser # 添加用户并指定主目录 sudo useradd -m -d /home/newuser newuser # 添加用户并指定shell sudo useradd -s /bin/bash newuser
usermod - 修改用户信息
1 2 3 4 5 6 7 8 9 10 11 # 修改用户主目录 sudo usermod -d /home/newdir username # 修改用户shell sudo usermod -s /bin/zsh username # 锁定用户账户 sudo usermod -L username # 解锁用户账户 sudo usermod -U username
passwd - 修改密码
1 2 3 4 5 # 修改当前用户密码 passwd # 修改其他用户密码 sudo passwd username
chmod - 修改文件权限
1 2 3 4 5 6 7 8 9 10 # 数字方式 chmod 755 file.txt # 符号方式 chmod u+x file.txt chmod g-w file.txt chmod o+r file.txt # 递归修改目录权限 chmod -R 755 directory/
chown - 修改文件所有者
1 2 3 4 5 6 7 8 9 10 11 # 修改文件所有者 sudo chown username file.txt # 修改文件所属组 sudo chown :groupname file.txt # 同时修改所有者和所属组 sudo chown username:groupname file.txt # 递归修改目录 sudo chown -R username:groupname directory/
3.2 系统信息查看 uname - 显示系统信息
1 2 3 4 5 6 7 8 9 10 11 # 显示所有信息 uname -a # 显示内核版本 uname -r # 显示操作系统名称 uname -s # 显示硬件架构 uname -m
top - 实时进程监控
1 2 3 4 5 6 7 8 # 启动top top # 操作说明: # M键:按内存使用排序 # P键:按CPU使用排序 # k键:终止进程 # q键:退出
ps - 查看进程
1 2 3 4 5 6 7 8 9 10 11 # 查看当前用户进程 ps # 查看所有进程 ps aux # 查看进程树 ps -ef # 查看特定进程 ps -ef | grep nginx
df - 查看磁盘使用情况
1 2 3 4 5 6 7 8 # 查看所有文件系统 df -h # 查看特定目录 df -h /var # 显示inode使用情况 df -i
du - 查看目录大小
1 2 3 4 5 6 7 8 9 10 11 # 查看当前目录大小 du -sh # 查看子目录大小 du -sh * # 查看指定目录大小 du -sh /path/to/directory # 显示详细大小信息 du -h --max-depth=1
3.3 系统服务管理 systemctl - 系统服务管理
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 # 查看服务状态 systemctl status nginx # 启动服务 sudo systemctl start nginx # 停止服务 sudo systemctl stop nginx # 重启服务 sudo systemctl restart nginx # 启用服务开机自启 sudo systemctl enable nginx # 禁用服务开机自启 sudo systemctl disable nginx # 查看所有服务 systemctl list-units --type=service
service - 传统服务管理
1 2 3 4 5 6 7 8 9 10 11 # 查看服务状态 service nginx status # 启动服务 sudo service nginx start # 停止服务 sudo service nginx stop # 重启服务 sudo service nginx restart
4. 网络相关命令 4.1 网络连接查看 ifconfig - 网络接口配置
1 2 3 4 5 6 7 8 9 10 11 # 查看所有网络接口 ifconfig # 查看特定网络接口 ifconfig eth0 # 启用网络接口 sudo ifconfig eth0 up # 禁用网络接口 sudo ifconfig eth0 down
ip - 现代网络管理工具
1 2 3 4 5 6 7 8 9 10 11 # 查看网络接口 ip addr # 查看路由表 ip route # 查看网络连接 ip link # 启用网络接口 sudo ip link set eth0 up
ping - 网络连通性测试
1 2 3 4 5 6 7 8 9 10 11 # 测试与主机的连通性 ping google.com # 指定发送包数量 ping -c 4 google.com # 指定包大小 ping -s 1024 google.com # 快速模式(每秒发送多个包) ping -f google.com
netstat - 网络连接状态
1 2 3 4 5 6 7 8 9 10 11 # 查看所有网络连接 netstat -an # 查听端口 netstat -ln # 查看进程ID和端口 netstat -tulpn # 查看路由表 netstat -rn
4.2 网络配置管理 ssh - 安全远程登录
1 2 3 4 5 6 7 8 9 10 11 # 基本登录 ssh username@hostname # 指定端口 ssh -p 2222 username@hostname # 使用密钥登录 ssh -i /path/to/private_key username@hostname # 执行远程命令 ssh username@hostname "command"
scp - 安全文件传输
1 2 3 4 5 6 7 8 9 10 11 # 复制文件到远程主机 scp local_file.txt username@hostname:/remote/path/ # 从远程主机复制文件 scp username@hostname:/remote/path/file.txt ./ # 复制目录 scp -r local_dir/ username@hostname:/remote/path/ # 指定端口 scp -P 2222 local_file.txt username@hostname:/remote/path/
wget - 文件下载
1 2 3 4 5 6 7 8 9 10 11 # 下载文件 wget http://example.com/file.zip # 保存到指定目录 wget -P /path/to/save http://example.com/file.zip # 断点续传 wget -c http://example.com/large_file.zip # 后台下载 wget -b http://example.com/file.zip
curl - 网络请求工具
1 2 3 4 5 6 7 8 9 10 11 # 发送GET请求 curl http://example.com # 发送POST请求 curl -X POST -d "data=value" http://example.com # 保存到文件 curl -o file.txt http://example.com # 显示响应头 curl -I http://example.com
5. 高级实用命令 5.1 文本处理工具 grep - 文本搜索
1 2 3 4 5 6 7 8 9 10 11 12 13 14 # 搜索包含特定字符串的行 grep "error" log.txt # 不区分大小写搜索 grep -i "ERROR" log.txt # 显示行号 grep -n "error" log.txt # 递归搜索目录 grep -r "error" /var/log/ # 排除特定文件 grep -r "error" /var/log --exclude="*.log"
sed - 流编辑器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 # 替换文本 sed 's/old/new/g' file.txt # 直接修改文件 sed -i 's/old/new/g' file.txt # 删除行 sed 'd' file.txt # 指定行范围删除 sed '1,5d' file.txt # 插入行 sed '1i\New line' file.txt
awk - 文本处理工具
1 2 3 4 5 6 7 8 9 10 11 # 打印第一列 awk '{print $1}' file.txt # 打印特定列 awk '{print $1, $3}' file.txt # 条件过滤 awk '$1 > 100' file.txt # 计算总和 awk '{sum += $1} END {print sum}' file.txt
5.2 系统监控工具 free - 内存使用情况
1 2 3 4 5 6 7 8 # 显示内存使用情况 free # 以MB为单位显示 free -m # 以GB为单位显示 free -g
vmstat - 虚拟内存统计
1 2 3 4 5 6 7 8 # 显示虚拟内存统计 vmstat # 每秒更新一次 vmstat 1 # 显示指定次数 vmstat 1 5
iostat - I/O设备统计
1 2 3 4 5 6 7 8 # 显示I/O统计 iostat # 显示CPU和I/O统计 iostat -x # 每秒更新一次 iostat 1
5.3 压缩和解压 tar - 归档工具
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 # 创建tar包 tar -cvf archive.tar file1 file2 directory/ # 创建gzip压缩包 tar -czvf archive.tar.gz file1 file2 directory/ # 创建bzip2压缩包 tar -cjvf archive.tar.bz2 file1 file2 directory/ # 解压tar包 tar -xvf archive.tar # 解压gzip压缩包 tar -xzvf archive.tar.gz # 解压bzip2压缩包 tar -xjvf archive.tar.bz2
zip/unzip - ZIP压缩工具
1 2 3 4 5 6 7 8 # 创建zip压缩包 zip archive.zip file1 file2 directory/ # 解压zip文件 unzip archive.zip # 查看zip文件内容 unzip -l archive.zip
总结 技术要点回顾
文件操作 :掌握ls、cd、cp、mv、rm等基本命令,能够高效管理文件和目录
系统管理 :学会useradd、chmod、chown等命令,进行用户和权限管理
网络操作 :熟悉ssh、scp、ping等命令,进行网络连接和文件传输
文本处理 :掌握grep、sed、awk等工具,高效处理文本数据
系统监控 :使用top、free、df等命令监控系统运行状态
实际应用建议
• 日常运维 :使用ls、cd、grep等命令快速查找和管理文件
• 系统管理 :定期使用df、du、free检查系统资源使用情况
• 网络管理 :使用ssh进行远程管理,ping测试网络连通性
• 故障排查 :使用tail查看日志,ps检查进程状态
• 自动化脚本 :结合sed、awk编写自动化处理脚本