菜鸟科技网

Linux常用命令bash有哪些?

Linux作为广泛使用的操作系统,其命令行界面(CLI)是高效管理系统的核心工具,而Bash(Bourne Again Shell)作为默认的命令行解释器,提供了丰富的命令和脚本功能,掌握Linux常用Bash命令是提升工作效率的关键,以下从基础操作、文件管理、系统监控、网络配置及文本处理等方面详细介绍。

Linux常用命令bash有哪些?-图1
(图片来源网络,侵删)

基础操作与命令行技巧

Bash命令的基本格式为命令选项参数,选项通常以或开头,用于调整命令行为。ls -l以长格式列出文件,ls -a显示隐藏文件,命令行补全功能可通过按Tab键快速补全命令或文件名,极大提升输入效率,历史命令记录功能允许用户通过上下箭头键调用之前的命令,或使用history命令查看历史记录,结合号可快速执行历史命令,如!10执行第10条历史命令。

文件与目录管理

文件和目录操作是Linux日常使用中最频繁的任务。cd命令用于切换目录,cd ..返回上级目录,cd ~进入用户主目录。ls命令配合不同选项可灵活显示文件信息,例如ls -lh以人类可读格式显示文件大小(如K、M、G)。mkdir用于创建目录,mkdir -p可递归创建多级目录;rmdir只能删除空目录,删除非空目录需使用rm -r,但需谨慎操作,因为rm命令删除的文件无法直接恢复,文件复制、移动和重命名分别通过cpmv命令实现,例如cp -r dir1 dir2递归复制目录,mv old.txt new.txt重命名文件。touch命令可创建空文件或更新文件时间戳,catmoreless用于查看文件内容,其中less支持分页和搜索功能,文件权限管理通过chmod命令实现,如chmod 755 file设置所有者可读写执行,组用户和其他用户可读执行;chown命令用于修改文件所有者,如chown user:group file

系统监控与进程管理

系统资源监控是确保服务器稳定运行的重要环节。top命令实时显示进程资源占用情况,按P按CPU排序,按M按内存排序;htoptop的增强版,提供更直观的界面和交互操作。ps命令查看当前进程,ps -ef显示所有进程的详细信息,ps aux以BSD格式显示进程,进程管理通过killpkillkillall命令实现,如kill -9 PID强制终止进程,pkill -f process_name根据进程名终止进程,磁盘空间使用情况通过df -h查看(-h以人类可读格式显示),du -sh *统计当前目录下各文件和目录的大小,系统负载信息可通过uptime命令查看,显示系统运行时间和平均负载。

网络配置与诊断

网络配置与诊断是Linux系统管理的重要部分。ifconfigip addr命令查看和配置网络接口,例如ifconfig eth0 up启用网卡,ip addr add 192.168.1.100/24 dev eth0设置IP地址。ping命令测试网络连通性,如ping www.baidu.comtraceroutetraceroute跟踪数据包路径,诊断网络延迟,网络连接状态通过netstat -tuln查看(-t显示TCP端口,-u显示UDP端口,-l只显示监听端口,-n以数字形式显示地址),ss命令是netstat的替代工具,性能更优,文件传输方面,scp用于安全复制文件,如scp -r local_dir user@remote:/path/to/remote_dirwgetcurl用于下载文件,如wget https://example.com/file.zip

Linux常用命令bash有哪些?-图2
(图片来源网络,侵删)

文本处理与搜索

文本处理是Linux命令行的核心优势之一。grep命令用于文本搜索,如grep "error" log.txt在文件中搜索包含"error"的行,grep -r "error" /var/log递归搜索目录。find命令用于文件查找,如find / -name "*.txt"查找所有.txt文件,find . -type f -size +10M查找当前目录下大于10MB的文件,文本编辑工具中,nano适合简单编辑,vim功能强大但需学习基本操作(如i进入编辑模式,wq保存退出),文本排序与去重可通过sortuniq实现,例如sort file.txt | uniq去除重复行,sort -n file.txt按数字排序。awksed是强大的文本处理工具,awk '{print $1}' file.txt打印每行第一列,sed 's/old/new/g' file.txt全局替换文本。

压缩与归档

文件压缩与归档可节省存储空间并方便传输。tar命令用于打包文件,如tar -czf archive.tar.gz dir/将目录打包并gzip压缩,tar -xzf archive.tar.gz解压。zipunzip用于处理.zip文件,如zip -r archive.zip dir/创建压缩包,unzip archive.zip解压。gzip用于压缩单个文件,如gzip file.txt生成file.txt.gz,gunzip file.txt.gz解压。

定时任务与脚本自动化

cron是Linux定时任务工具,通过crontab -e编辑任务,格式为"分 时 日 月 周 命令",例如0 2 * * * /backup.sh每天凌晨2点执行备份脚本,Bash脚本自动化可将重复操作封装为脚本,例如创建backup.sh#!/bin/bashtar -czf /backup/$(date +%Y%m%d).tar.gz /data,赋予执行权限chmod +x backup.sh后即可手动或通过cron执行。

相关问答FAQs

Q1: 如何查看当前系统运行的进程并过滤出特定进程?
A1: 使用ps命令结合grep过滤进程,查看所有包含"nginx"的进程,可执行ps -ef | grep nginx,其中ps -ef显示所有进程的详细信息,为管道符,将前一个命令的输出作为后一个命令的输入,grep nginx过滤出包含"nginx"的行,若需实时监控进程状态,可使用top | grep nginx

Linux常用命令bash有哪些?-图3
(图片来源网络,侵删)

Q2: 如何查找并删除系统中所有大于1GB的.log文件?
A2: 使用find命令查找文件并通过xargs-exec删除,具体步骤为:

  1. 查找文件:find / -type f -name "*.log" -size +1G,其中表示从根目录开始搜索,-type f只查找文件,-name "*.log"匹配.log后缀文件,-size +1G查找大于1GB的文件。
  2. 删除文件:在确认文件路径无误后,执行find / -type f -name "*.log" -size +1G -exec rm -f {} \;,其中-exec对查找到的文件执行rm -f命令(-f强制删除),表示查找到的文件路径,\;为命令结束符。
分享:
扫描分享到社交APP
上一篇
下一篇