菜鸟科技网

bash基本命令有哪些?

bash基本命令大全涵盖了文件操作、系统管理、文本处理、权限控制等多个方面,是Linux和Unix系统管理中最常用的命令行工具,以下从基础到进阶,详细介绍常用bash命令及其使用场景。

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

文件和目录操作

文件和目录是系统中最基本的元素,bash提供了丰富的命令来管理它们。ls命令用于列出目录内容,常用选项包括-l(显示详细信息)、-a(显示隐藏文件)、-h(以人类可读格式显示文件大小)。ls -lah会以长格式、显示所有文件(包括隐藏文件)并以KB、MB等单位显示文件大小。cd命令用于切换目录,cd ..返回上一级目录,cd ~进入用户主目录,cd -在最近两次访问的目录间切换。

mkdir用于创建目录,mkdir -p可以递归创建多级目录,例如mkdir -p /tmp/test/a/b会同时创建test、a、b三个目录。rmdir只能删除空目录,而rm命令功能更强大,rm -r递归删除目录及其内容,rm -f强制删除文件而不提示,rm -rf需谨慎使用,会直接删除目录及所有文件且不提示。cp命令用于复制文件或目录,cp -r复制目录,cp -p保留文件权限、时间戳等属性。mv命令用于移动文件或重命名文件,例如mv old.txt new.txt将文件重命名,mv /tmp/test /home/将目录移动到home下。

touch命令用于创建空文件或更新文件时间戳,例如touch newfile.txt创建新文件,touch -a file.txt仅更新访问时间。cat用于查看文件内容,cat -n显示行号,适合查看小文件。moreless用于分页查看大文件,less功能更强大,支持向前翻页(按b键)、搜索(按/键)等操作。headtail用于查看文件开头或结尾部分,head -n 10 file.txt查看前10行,tail -f file.txt实时跟踪文件内容变化(常用于日志监控)。

文本处理

bash的文本处理能力非常强大,常用命令包括grepsedawk等。grep用于文本搜索,grep "pattern" file.txt在文件中搜索包含pattern的行,-i选项忽略大小写,-r递归搜索目录,-v反选(输出不包含pattern的行)。grep -r "error" /var/log/在日志目录中搜索包含error的行。

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

sed(流编辑器)用于文本替换和编辑,sed 's/old/new/g' file.txt将文件中所有old替换为new,-i选项直接修改文件(如sed -i 's/old/new/g' file.txt)。awk用于文本分析和格式化,awk '{print $1}' file.txt打印每行的第一列,-F选项指定分隔符(如awk -F: '{print $1}' /etc/passwd以冒号为分隔符打印用户名)。sort用于排序,sort -n按数字排序,-r倒序排序,-k指定按哪一列排序。uniq用于去重,需配合sort使用(如sort file.txt | uniq),-c选项显示重复次数。

系统信息和进程管理

uname命令显示系统信息,uname -a显示所有信息(内核版本、主机名等)。tophtop用于实时监控系统进程,top按CPU占用排序,htop以彩色界面显示,支持交互操作(如按k键终止进程)。ps命令查看当前进程,ps aux显示所有进程的详细信息,grep结合使用可筛选特定进程(如ps aux | grep nginx)。killkillall用于终止进程,kill -9强制终止进程,killall nginx终止所有nginx进程。

dfdu用于磁盘空间管理,df -h显示各分区使用情况(以人类可读格式),du -sh /home显示home目录的总大小。free命令查看内存使用情况,-h选项以GB、MB等单位显示。date用于显示和设置系统时间,date "+%Y-%m-%d %H:%M:%S"自定义时间格式。

权限管理

Linux通过权限位控制文件访问,chmod修改权限,chmod 755 file.txt设置所有者可读写执行、组用户和其他用户可读执行,r=4、w=2、x=1chown修改文件所有者,chown user:group file.txt同时修改所有者和所属组。susudo用于切换用户,su -切换到root用户并加载root环境,sudo command以管理员权限执行命令。

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

压缩和解压

tar是常用的打包工具,tar -czvf archive.tar.gz /path/to/dir打包并gzip压缩,-x解压,-v显示过程,-f指定文件名。zipunzip用于zip格式压缩,zip -r archive.zip /path/to/dir递归压缩目录,unzip archive.zip解压。

网络命令

ping测试网络连通性,ping www.baidu.comifconfigip addr查看网络接口信息,ip addr show eth0查看指定网卡IP。netstatss查看网络连接,netstat -tuln显示监听端口,ss -tuln功能类似但更快。wgetcurl用于下载文件,wget https://example.com/file.zipcurl -O https://example.com/file.zip

常用快捷键

bash支持多种快捷键提高效率,Ctrl+C终止当前命令,Ctrl+D退出终端,Ctrl+R搜索历史命令,Tab自动补全命令或文件名,Ctrl+L清屏。

相关问答FAQs

Q1: 如何查看一个文件的行数?
A1: 可以使用wc -l file.txt命令,其中-l选项表示统计行数。wc -l /etc/passwd会显示该文件的行数。

Q2: 如何查找包含特定关键词的文件?
A2: 可以使用find命令结合grep,例如find /path/to/dir -type f -exec grep -l "keyword" {} \;,其中-type f表示查找文件,-exec grep -l "keyword"表示在每个文件中搜索包含keyword的行并输出文件名。

分享:
扫描分享到社交APP
上一篇
下一篇