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

基础操作与命令行技巧
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
命令删除的文件无法直接恢复,文件复制、移动和重命名分别通过cp
、mv
命令实现,例如cp -r dir1 dir2
递归复制目录,mv old.txt new.txt
重命名文件。touch
命令可创建空文件或更新文件时间戳,cat
、more
、less
用于查看文件内容,其中less
支持分页和搜索功能,文件权限管理通过chmod
命令实现,如chmod 755 file
设置所有者可读写执行,组用户和其他用户可读执行;chown
命令用于修改文件所有者,如chown user:group file
。
系统监控与进程管理
系统资源监控是确保服务器稳定运行的重要环节。top
命令实时显示进程资源占用情况,按P
按CPU排序,按M
按内存排序;htop
是top
的增强版,提供更直观的界面和交互操作。ps
命令查看当前进程,ps -ef
显示所有进程的详细信息,ps aux
以BSD格式显示进程,进程管理通过kill
、pkill
、killall
命令实现,如kill -9 PID
强制终止进程,pkill -f process_name
根据进程名终止进程,磁盘空间使用情况通过df -h
查看(-h
以人类可读格式显示),du -sh *
统计当前目录下各文件和目录的大小,系统负载信息可通过uptime
命令查看,显示系统运行时间和平均负载。
网络配置与诊断
网络配置与诊断是Linux系统管理的重要部分。ifconfig
或ip addr
命令查看和配置网络接口,例如ifconfig eth0 up
启用网卡,ip addr add 192.168.1.100/24 dev eth0
设置IP地址。ping
命令测试网络连通性,如ping www.baidu.com
;traceroute
或traceroute
跟踪数据包路径,诊断网络延迟,网络连接状态通过netstat -tuln
查看(-t
显示TCP端口,-u
显示UDP端口,-l
只显示监听端口,-n
以数字形式显示地址),ss
命令是netstat
的替代工具,性能更优,文件传输方面,scp
用于安全复制文件,如scp -r local_dir user@remote:/path/to/remote_dir
;wget
或curl
用于下载文件,如wget https://example.com/file.zip
。

文本处理与搜索
文本处理是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
保存退出),文本排序与去重可通过sort
和uniq
实现,例如sort file.txt | uniq
去除重复行,sort -n file.txt
按数字排序。awk
和sed
是强大的文本处理工具,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
解压。zip
和unzip
用于处理.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/bash
,tar -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
。

Q2: 如何查找并删除系统中所有大于1GB的.log文件?
A2: 使用find
命令查找文件并通过xargs
或-exec
删除,具体步骤为:
- 查找文件:
find / -type f -name "*.log" -size +1G
,其中表示从根目录开始搜索,-type f
只查找文件,-name "*.log"
匹配.log后缀文件,-size +1G
查找大于1GB的文件。 - 删除文件:在确认文件路径无误后,执行
find / -type f -name "*.log" -size +1G -exec rm -f {} \;
,其中-exec
对查找到的文件执行rm -f
命令(-f
强制删除),表示查找到的文件路径,\;
为命令结束符。