菜鸟科技网

Shell常见命令有哪些?

Shell是Linux和Unix系统中用户与系统交互的重要接口,通过命令行操作可以高效管理文件、进程、系统资源等,以下是Shell常见命令的详细介绍,涵盖文件操作、文本处理、系统管理等多个方面,并辅以表格说明常用命令的格式与功能。

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

文件与目录操作命令

文件和目录管理是Shell最基础的功能。ls命令用于列出目录内容,常用选项包括-l(显示详细信息)、-a(显示隐藏文件)、-h(以人类可读格式显示文件大小)。ls -lah会以长格式、显示隐藏文件、并带可读大小的方式列出当前目录所有文件。cd命令用于切换目录,如cd /var/log进入/var/log目录,cd ..返回上级目录,cd ~进入用户主目录。mkdir用于创建目录,mkdir -p parent/child可递归创建多级目录。rm命令删除文件或目录,rm -rf强制递归删除(需谨慎使用)。cp复制文件或目录,cp -r递归复制目录;mv用于移动文件或重命名,如mv old.txt new.txt将文件重命名。

文本处理命令

文本处理是Shell的核心能力之一。cat命令用于查看文件内容,cat file.txt直接输出文件内容,cat -n显示行号。grep用于文本搜索,grep "error" log.txtlog.txt中搜索包含"error"的行,-i选项忽略大小写,-r递归搜索目录。sed是流编辑器,用于文本替换,如sed 's/old/new/g' file.txt将文件中所有"old"替换为"new"。awk用于文本分析,awk '{print $1}' file.txt打印每行的第一列,-F可指定分隔符,如awk -F, '{print $2}' csv.txt处理CSV文件。sort对文本行排序,sort -n按数字排序,-r降序排列;uniq去除重复行,需与sort配合使用,如sort file.txt | uniq

系统管理与监控命令

系统管理命令帮助用户监控和管理系统资源。tophtop(需安装)实时显示进程状态,包括CPU、内存占用,top -p <PID>可监控特定进程。ps命令查看当前进程,ps aux显示所有进程的详细信息,grep结合使用可过滤进程,如ps aux | grep nginxkill终止进程,kill -9 <PID>强制终止,killall通过进程名终止,如killall nginxdf查看磁盘使用情况,df -h以人类可读格式显示;du统计目录大小,du -sh *显示当前目录下各文件及目录的总大小。free查看内存使用,free -h以GB/MB格式显示。tar用于文件打包与解压,tar -czf archive.tar.gz files打包并压缩,tar -xzf archive.tar.gz解压。

权限与用户管理命令

Linux通过权限控制文件访问。chmod修改文件权限,chmod 755 script.sh设置所有者可读写执行,组和其他用户可读执行;chmod +x script.sh添加可执行权限。chown修改文件所有者,chown user:group file.txt将文件所有者改为user,组改为group。sudo以超级用户身份执行命令,sudo apt update更新软件包列表(需配置sudo权限)。useradduserdel分别用于创建和删除用户,如useradd -m newuser创建用户并创建主目录,userdel -r newuser删除用户及其主目录。

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

网络相关命令

网络命令用于诊断和管理网络连接。ping测试网络连通性,ping google.com向Google发送ICMP包。ifconfigip addr查看网络接口信息,ip addr show eth0显示以太网接口配置。netstat查看网络连接状态,netstat -tuln显示监听的TCP/UDP端口,ssnetstat的替代品,功能更强大。curlwget用于下载文件,curl -O url下载文件并保持原文件名,wget url直接下载。ssh远程登录,ssh user@host以user身份登录到host主机。

常用命令速查表

命令 功能 常用选项 示例
ls 列出目录内容 -l, -a, -h ls -lah
grep 文本搜索 -i, -r, -n grep "error" log.txt
sed 流编辑器(文本替换) s/old/new/g sed 's/test/example/g' file
ps 查看进程 aux, -ef ps aux | grep nginx
tar 文件打包/解压 -czf(打包), -xzf(解压) tar -czf backup.tar.gz dir
chmod 修改文件权限 755, +x chmod +x script.sh
ping 测试网络连通性 -c(次数) ping -c 4 google.com

相关问答FAQs

Q1: 如何查找大文件并删除?
A1: 使用dusort组合查找大文件,例如du -sh * | sort -rh | head -10显示当前目录下最大的10个文件/目录,删除时需谨慎,建议先确认文件路径,再用rm -rf命令删除,如rm -rf large_directory

Q2: 如何后台运行长时间执行的命令?
A2: 可通过nohup&实现。nohup command > output.log 2>&1 &在后台运行命令,并将标准输出和错误输出重定向到output.log,即使终端关闭命令也会继续执行;直接使用command &可在后台运行,但关闭终端后命令可能终止。

Shell常见命令有哪些?-图3
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇