设为首页 加入收藏

TOP

Linux 常用命令最全总结大全【推荐收藏】 - 心冰之海 - 博客园
2025-12-26 22:51:50 来源: 作者:AI Assistant 【 】 浏览:0
Tags:Linux 常用 命令 最全 总结 大全 推荐 收藏 博客

本文全面总结了Linux系统中常用命令的使用方法和技巧,涵盖文件管理、文本处理、进程管理、系统监控等多个方面,旨在为在校大学生和初级开发者提供一份系统、实用的命令参考手册,助力他们在日常开发和运维中游刃有余。

Linux 常用命令最全总结大全【推荐收藏】

在Linux系统中,命令行是每一位开发者和系统管理员的核心工具。掌握常用命令不仅可以显著提升工作效率,还能够帮助你更深入地理解系统底层原理。本文将从文件管理、文本处理、进程管理、系统监控等维度,系统性地梳理Linux中常用的命令及其使用方式。

文件和目录管理

cd 命令

cd 是“change directory”的缩写,用于切换当前目录。
- cd /home:进入 /home 目录
- cd ..:返回上一级目录
- cd ../..:返回上两级目录
- cd /:进入根目录
- cd -:返回最近一次所在的目录

cd 命令的灵活性使其成为日常操作中的基础工具,尤其在项目文件夹切换和路径导航中不可替代。

pwd 命令

pwd 是“print working directory”的缩写,用于显示当前所在目录。
- pwd:打印当前工作路径

该命令常用于确认文件路径是否正确,尤其是在涉及脚本和自动化时尤为重要。

ls 命令

ls 是“list”的缩写,用于列出目录内容。
- ls:列出当前目录内容
- ls -l:显示文件和目录的详细信息
- ls -a:列出所有文件,包括隐藏文件
- ls -lh:以可读格式显示文件大小

ls 命令的参数组合可以满足多种场景需求,比如查看文件详情、确认隐藏文件是否存在等。对于开发人员和系统管理员而言,了解这些参数是理解系统结构的重要一步。

mkdir 命令

mkdir 是“make directory”的缩写,用于创建目录。
- mkdir <目录名>:创建一个新目录
- mkdir dir1 dir2:同时创建两个目录
- mkdir -p /tmp/dir1/dir2:递归创建目录树

mkdir 命令在组织项目文件结构时非常关键,-p 参数尤其适用于多层目录结构的创建。

rm 命令

rm 是“remove”的缩写,用于删除文件或目录。
- rm -f file1:强制删除文件,不提示
- rmdir dir1:删除一个空目录
- rm -rf dir1:递归删除目录及其所有内容

rm -rf 是一个极具破坏力的命令,必须极其谨慎使用。在删除目录时,务必确认目标内容是否为预期删除对象。

find 命令

find 用于在文件系统中查找文件或目录。
- find / -name file:从根目录开始搜索文件
- find / -user user1:搜索用户 user1 的文件
- find /dir -name *.bin:在 /dir 目录中搜索 .bin 后缀文件
- find / -name file1:在根目录下搜索文件和目录
- find /usr/bin -type f -atime +100:搜索过去100天未被访问的文件

find 命令的强大功能使其成为文件排查和系统管理中不可或缺的工具。通过结合时间、用户、文件类型等条件,能够精准定位目标文件。

查看文件内容

cat 命令

cat 用于显示文本文件内容。
- cat file1:从第一个字节开始正向查看文件
- cat -n file1:标示文件的行数
- tac file1:从最后一行开始反向查看文件内容

cat 命令非常适合快速查看文本文件或日志内容,但在处理大文件时,应配合 lessmore 使用,以避免内存占用过高。

moreless 命令

moreless 均用于查看长文件内容,但 less 更加灵活。
- more file1:查看文件内容,只能向后翻页
- less file1:支持向前和向后翻页,且支持搜索功能

这两个命令是查看大容量日志或配置文件时的首选工具。

headtail 命令

headtail 分别用于查看文件的开头和结尾部分。
- head -n 2 file1:查看文件的前两行
- tail -f /log/msg:实时查看日志文件的新增内容
- tail -n 2 file1:查看文件的最后两行
- tail -n +1000 file1:从第1000行开始显示内容

headtail 命令常用于日志分析和调试,尤其在处理大型日志文件时非常实用。

grep 命令

grep 用于在文件中搜索特定内容。
- grep ss hello.txt:在文件中查找关键词 ss
- grep ^s hello.txt:查找以 s 开头的行
- grep [0-9] hello.txt:查找包含数字的行

grep 的强大搜索能力使其成为文本处理和日志分析的利器。结合 -R 参数可以递归搜索目录中的文件。

文本处理

sed 命令

sed 是一个流编辑器,用于对文本进行替换、删除等操作。
- sed 's/ss/mm/g' hello.txt:将文件中的 ss 替换为 mm
- sed '/^$/d' hello.txt:删除所有空白行
- sed -e 's/ *$//' hello.txt:删除每行末尾的空白字符
- sed -n '1,5p;5q' hello.txt:查看从第一行到第五行的内容

sed 命令在文本处理和日志清理中具有显著优势,尤其是其支持正则表达式的能力。

paste 命令

paste 用于合并多个文件或两列内容。
- paste file1 file2:合并两个文件或两栏的内容
- paste -d '+' file1 file2:合并两个文件或两栏内容,中间用 + 分隔

paste 命令常用于合并日志文件或对数据进行格式化处理。

sort 命令

sort 用于对文件中的内容进行排序。
- sort file1 file2:排序两个文件内容
- sort file1 file2 | uniq:去重并合并两个文件内容
- sort file1 file2 | uniq -u:删除交集,只保留其他行
- sort file1 file2 | uniq -d:取出两个文件的交集

sort 命令在数据处理和日志分析中非常实用,尤其在处理大量数据时,排序和去重功能可以显著提升效率。

comm 命令

comm 用于比较两个文件内容。
- comm -1 file1 file2:只显示 file1 中独有的行
- comm -2 file1 file2:只显示 file2 中独有的行
- comm -3 file1 file2:只显示两个文件共有的行

comm 命令常用于数据一致性检查,尤其适用于文本文件之间的差异分析。

打包和压缩文件

tar 命令

tar 是一个常用的打包工具,也可以用于压缩和解压。
- -c:创建新的打包文件
- -t:查看打包文件内容
- -x:解包或解压缩
- -j:使用 bzip2 压缩
- -z:使用 gzip 压缩
- -v:显示处理过程

例如:
- tar -jcv -f filename.tar.bz2 要被处理的文件或目录:压缩文件或目录
- tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录:解压到指定目录

tar 是Linux系统中处理文件打包和压缩的首选工具,尤其适用于大规模数据备份和迁移。

gzipbzip2 命令

  • gzip file1:压缩单个文件
  • gzip -9 file1:最大程度压缩文件
  • gunzip file1.gz:解压 .gz 文件
  • bzip2 file1:压缩单个文件
  • bunzip2 file1.bz2:解压 .bz2 文件

这些命令是压缩和解压常用文件格式的基础工具,尤其在处理日志和数据时非常实用。

进程管理

ps 命令

ps 用于查看进程运行状态。
- ps -ef:显示所有进程的详细信息
- ps aux:查看系统所有进程
- ps ax:查看不与终端相关的进程
- ps -lA:查看系统所有进程信息
- ps axjf:查看进程树状态

ps 命令支持多种参数组合,能够满足不同的进程监控需求。

kill 命令

kill 用于终止进程。
- kill -9 pid:强制终止进程
- kill -9 程序名:通过程序名终止进程

kill -9 是最彻底的终止方式,虽然有效,但应慎用。在终止进程前,应确保目标进程确实无用。

系统管理与监控

关机、重启与注销命令

Linux中提供了多种方式来管理系统状态。
- shutdown -h now:立即关机
- shutdown -h 10:10分钟后关机
- shutdown -h 11:00:在指定时间关机
- shutdown -c:取消关机
- reboot:重启系统
- init 6:重启
- init 0:立即关机
- telinit 0:关机
- poweroff:立刻关机
- halt:关机
- sync:将缓冲区数据同步到磁盘
- logout:退出登录

这些命令在系统维护和管理中非常重要,尤其在服务器管理中能快速响应异常情况。

查看系统信息与性能

Linux系统提供了丰富的命令用于查看系统状态和性能指标。
- lsb_release -a:查看系统详细信息
- uname -a:查看内核信息
- uname -r:查看内核版本
- uname -m:查看处理器架构
- hostname:显示主机名称
- who:显示当前登录用户
- who am i:显示当前用户信息
- whoami:显示当前用户名
- cat /proc/version:查看内核版本
- cat /proc/cpuinfo:查看CPU信息
- cat /proc/interrupts:查看中断信息
- cat /proc/loadavg:查看系统负载
- uptime:查看系统运行时间和负载
- env:查看系统环境变量
- lspci -tv:查看PCI设备信息
- lsmod:查看已加载的内核模块
- grep MemTotal /proc/meminfo:查看内存总量
- grep MemFree /proc/meminfo:查看空闲内存量
- free -m:查看内存和交换区使用情况
- date:查看系统时间
- cal 2021:查看2021年日历
- top:动态显示系统状态
- vmstat 1 20:每1秒采样一次系统状态,共采样20次
- iostat:查看磁盘读写和CPU使用情况
- sar -u 1 10:查看CPU使用情况(1秒1次,共10次)

这些命令帮助开发者和系统管理员快速了解系统运行状态,是排除性能瓶颈的重要工具。

查看进程资源使用

  • ps -auxf | sort -nr -k 4 | head -10:查看占用内存最多的前10个进程
  • ps -auxf | sort -nr -k 3 | head -10:查看占用CPU最多的前10个进程

这些命令在性能优化和故障排查中具有关键作用。

系统操作与高级使用

文件权限管理

在Linux中,文件权限是安全和管理的重要组成部分。
- chmod 777 文件名:为文件赋予最高权限
- chmod ugo+rwx dir:为目录的所有人、组和他人赋予读、写和执行权限
- chmod go-rwx dir1:删除群组和他人对目录的读、写和执行权限
- chmod u+s /bin/file1:设置SUID位
- chmod u-s /bin/file1:禁用SUID位
- chmod g+s /home/public:设置SGID位
- chmod g-s /home/public:禁用SGID位
- chmod o+t /home/public:设置STIKY位
- chmod o-t /home/public:禁用STIKY位
- chmod +x 文件路径:为所有用户添加执行权限
- chmod -x 文件路径:为所有用户删除执行权限
- chmod =wx 文件路径:为所有用户添加写和执行权限,取消读权限

正确设置文件权限是保障系统安全的重要手段,特别是在开发和部署环境中。

chownchgrp 命令

  • chown user1 file1:更改文件所有者
  • chown -R user1 dir1:递归更改目录及其内容的所有者
  • chown user1:group1 file1:同时更改所有者和所属组
  • chgrp group1 file1:更改文件所属组

这些命令用于调整文件和目录的归属,对于权限管理至关重要。

Linux Shell脚本与自动化

Shell脚本基础

Shell脚本是Linux系统中实现自动化运维的重要工具。
- #!/bin/bash:脚本开头,指定使用 bash 解释器
- echo "Hello World":打印信息
- read -p "请输入用户名: " username:读取用户输入
- if [ -f "file.txt" ]; then echo "文件存在"; fi:条件判断
- for file in *.txt; do echo "处理文件 $file"; done:循环处理文件

Shell脚本可以显著提升重复性任务的执行效率,是开发和系统管理中不可或缺的工具。

常用Shell命令

  • time:测算命令执行时间
  • history:查看历史命令

这些命令在脚本编写和调试中非常有用,尤其是在分析性能瓶颈时。

Linux开发与运维最佳实践

在Linux系统中,掌握命令行操作是开发者和运维人员的基本技能。以下是一些实用的最佳实践:
1. 使用 pstop 监控系统资源:当系统负载过高时,这些命令能快速定位问题。
2. 定期检查日志文件:使用 tail -fgrep 能帮助你及时发现异常。
3. 合理使用 findgrep 搜索文件:避免手动查找,提升效率。
4. 避免使用 rm -rf:这个命令可能导致数据丢失,务必慎用。
5. 正确设置文件权限:通过 chmodchown 保护系统安全。
6. 使用 tree 查看文件结构:在处理复杂目录结构时非常实用。
7. 编写脚本自动化任务:例如备份、日志清理等。

这些最佳实践能够帮助你在开发和系统管理中减少错误,提高效率。

总结与展望

Linux命令行工具不仅强大,而且灵活。通过掌握这些命令,可以大幅提升开发和运维效率。随着容器化技术、云原生架构和自动化运维的发展,Linux命令在现代系统管理中的作用变得更加重要。未来,这些基础命令将与更多高级工具结合,如Docker、Kubernetes和Ansible,形成更加完善的系统管理方案。

在实际应用中,开发者和系统管理员应不断学习和实践,将这些命令融入日常工作中,不仅掌握其使用方式,更要理解其背后的原理。通过这种方式,你将能够更自信地应对各种系统问题和挑战。

关键字列表:
Linux命令, 文件管理, 文本处理, 进程管理, 系统监控, Shell脚本, 权限设置, 自动化运维, 容器技术, 系统调试

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇SOLVED: Ubuntu 24.04 LTS Instal.. 下一篇新人如何从零开始学习Linux? - ..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·MySQL 基础入门视频 (2025-12-26 23:20:22)
·小白入门:MySQL超详 (2025-12-26 23:20:19)
·关于 MySQL 数据库学 (2025-12-26 23:20:16)
·SOLVED: Ubuntu 24.0 (2025-12-26 22:51:53)
·Linux 常用命令最全 (2025-12-26 22:51:50)