对于许多刚接触Linux的新手来说,命令行操作往往让人望而生畏。虽然现在有各种图形化面板可以帮助我们管理VPS或服务器,但掌握一些常用的Linux命令,无疑能大幅提升系统管理效率。其实,不需要一口气记住所有命令,只要在实际环境中多加练习,很快就能上手。
下面整理了50个实用且高频使用的Linux命令,并配以简单说明和示例,适合新手快速查阅和学习。
- tar:用于打包与解压缩
- 打包目录为压缩文件:
tar czvf /root/x.tar.gz /home/y/
- 解压到指定目录:
tar xzvf /root/x.tar.gz -C /home/y/
- mv:移动或重命名文件、文件夹
- 移动文件到其他目录:
mv /root/x.tar.gz /home/y/
- rm:删除文件或目录
- 删除单个文件:
rm -rf /root/x.tar.gz
- 删除整个目录及其内容:
rm -rf /root/z/
- cd:切换当前工作目录
- 进入指定路径:
cd /home/x/
- 返回上一级:
cd ..
- 在最近两个目录间切换:
cd -
- wget:下载网络资源
- 下载HTTP资源:
wget http://example.com/file.zip
- 跳过证书校验(HTTPS):
wget --no-check-certificate https://example.com/file.zip
- ls:列出当前目录下的内容
- 查看详细信息并显示单位大小:
ls -lh
- 按修改时间排序(最新在后):
ls -ltr
- chmod :更改权限
- 增加可执行权限:
chmod +x script.sh
- 递归赋权:
chmod -R 644 config.php
- grep :文本搜索工具
- 忽略大小写查找字符串:
grep -i "the" demo_file
- 匹配后显示3行上下文:
grep -A 3 "example" demo_text
- find :查找符合条件的文件
- 按名称忽略大小写查找:
find . -iname "*.log"
ssh :远程登录服务器 登录远程主机:
ssh user@host.example.com
显示版本号:ssh -V
sed & awk sed批量替换、格式转换;awk擅长文本提取与处理。 示例去除重复行:
awk '!($0 in array){array[$0];print}' file.txt
vim/nano等编辑器 用于编辑配置或脚本。例如跳转至第143行:
vim +143 filename.txt
diff/sort/cat diff比较差异,sort排序,cat拼接输出多个文本。
export/pwd export设置环境变量;pwd打印当前工作路径。
15–17.常见压缩解压工具如gzip、bzip2、unzip,用法类似:
gzip test.txt # 压缩为test.txt.gz
gzip -d test.txt.gz # 解压回原始txt
bzip2 test.log # 压缩为test.log.bz2
bzip2 -d test.log.bz2# 解压
unzip archive.zip # 解压ZIP包
unzip -l archive.zip # 查看ZIP内清单但不解包
18–21.系统服务相关指令,如shutdown关机重启、ftp/sftp传输数据、crontab定时任务、service管理服务状态等:
shutdown –h now # 马上关机断电
service ssh restart # 重启SSH服务
crontab –e # 编辑计划任务表格(cron job)
22–25.进程与资源监控类,包括ps/top/free/df等:
ps –ef # 查看全部进程列表
top # 动态查看CPU内存占用排行
free –m # 内存使用情况(MB)
df –h # 磁盘空间(GB)
26–29.kill终止进程,cp复制,mv重命名/move, rm删除:
kill –9 PID # 强制杀死PID对应进程
cp file1 file2 # 拷贝file1为file2
mv old new # 文件改名(old→new) 或移动位置
rm example # 删除example(可加-r递归删子项)
30–35.日常运维基础如cat/mount/chmod/chown/passwd/mkdir:
cat file // 输出全文本内容到屏幕;
mount device dir // 挂载磁盘分区;
chown user:group f // 改变属主属组;
passwd // 修改密码;
mkdir dir // 新建一个空白子目录;
mkdir –p a/b/c // 一次性创建多级嵌套子目录。
36–40.网络&系统信息查询类ifconfig/uname/whereis/whatis/locate:
ifconfig // 查询网卡IP/MAC地址信息;
uname –a // 系统核心版本架构;
whereis ls // 查找程序二进制/man源代码路径;
whatis ls // 简要描述该指令用途;
locate crontab // 快速全盘定位包含关键词“crontab”的所有路径。
41–44.man帮助文档/tail日志追踪/less大文本分页浏览/su用户切换:
man tar // 阅读tar官方手册页说明;
tail –f log // 实时跟踪日志末尾变化(调试利器);
less huge-file.log // 分页阅读超大日志,不会一次加载入内存;
su USERNAME // 切换至其它账号身份继续操作。
45–47.数据库及软件安装升级卸载(mysql/yum/rpm):
mysql –u root –p // 登录MySQL数据库控制台;
yum install nginx // 在线安装nginx (RedHat/CentOS系);
rpm –ivh package.rpm // 安装RPM离线包;
yum remove nginx // 卸载已装应用。
48.–49 网络诊断(ping)、日期时间(date/hwclock)
ping www.baidu.com // 测试目标主机连通性延迟丢包率等指标;
date // 显示当前系统时间,可配合-s参数设定新时间值.
hwclock --systohc // 同步硬件时钟和系统时钟一致.
50.–51 批量下载(wget)
wget URL // 单条URL直接下载保存同名本地副本;
wget -O newname.zip URL // 指定另存为自定义名字.
cat url-list.txt | xargs wget --c # 批量下载url-list中的全部链接.
以上只是冰山一角,在实际维护过程中,你还会遇到更多细致场景。建议每学会一个新命令,就亲自在虚拟机或者云VPS上实践一下,加深理解。随着经验积累,这些看似复杂的指令将成为你日常工作的得力助手。
参考资料: 1.Tecmint《50 Most Frequently Used Linux Commands With Examples》 2.The Geek Stuff《15 Practical Grep Command Examples for Linux Users》 3.Linux man pages