菜鸟科技网

Shell常见命令有哪些?

Shell作为Linux和Unix系统下用户与操作系统交互的重要工具,其命令的灵活运用能极大提升操作效率,以下详细介绍Shell中常见的命令,涵盖文件操作、文本处理、系统管理等多个维度,并通过表格形式辅助说明常用选项及功能。

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

在文件与目录操作方面,ls命令是最基础的列表工具,其常用选项包括-l(长格式显示,包含权限、所有者、大小等详细信息)、-a(显示所有文件,包括隐藏文件)、-h(以人类可读格式显示文件大小,如K、M、G)。cd命令用于切换目录,cd ..返回上级目录,cd -在最近两次目录间切换。mkdir用于创建目录,-p选项可递归创建多级目录,例如mkdir -p /tmp/test/a/b会自动创建不存在的父目录。rm命令删除文件或目录,-r递归删除目录,-f强制删除不提示,需谨慎使用。cp命令复制文件或目录,-r用于目录复制,-p保留文件属性(如权限、时间戳)。mv命令实现文件移动或重命名,-i选项会在覆盖前提示用户确认。

文本处理是Shell的核心功能之一。cat命令用于查看文件内容,-n显示行号,-A显示所有字符(包括空格和换行符)。grep是强大的文本搜索工具,-i忽略大小写,-r递归搜索目录,-v反选(输出不匹配的行),例如grep -r "error" /var/log可搜索日志中所有包含"error"的行。sed(流编辑器)用于文本替换,sed 's/old/new/g' file将文件中所有"old"替换为"new",-i选项直接修改原文件。awk是强大的文本分析工具,awk '{print $1}' file输出每行的第一列,-F可指定分隔符,如awk -F: '{print $1}' /etc/passwd显示系统所有用户名。sort对文本行排序,-n按数字排序,-r降序排列,-k指定按某列排序。uniq用于去除重复行,-c统计重复次数,需配合sort使用,例如sort file | uniq -c

系统信息与管理命令中,tophtop实时显示系统进程资源占用,ps查看当前进程,aux选项显示所有进程详细信息。kill终止进程,-9强制终止,需配合进程ID(PID)使用,如kill -9 1234df查看磁盘空间使用情况,-h以人类可读格式显示,du统计目录大小,-sh显示总大小且易读。free查看内存使用,-h同样以友好格式展示。tar用于文件打包压缩,-c创建归档,-x解压,-v显示过程,-f指定文件名,例如tar -czvf backup.tar.gz /home将/home目录打包为gzip格式。chmod修改文件权限,rwx分别代表读、写、执行,chmod 755 file设置所有者可读写执行,其他用户可读执行。chown修改文件所有者,-R递归修改目录及其内容。

网络相关命令中,ping测试网络连通性,-c指定发送次数,如ping -c 4 8.8.8.8ifconfigip addr查看网络接口信息,sudo ifconfig eth0 up/down启用或禁用网卡。ssh远程登录,ssh user@hostname-p指定端口。scp secure copy,用于远程文件传输,scp file.txt user@remote:/path/to/destnetstat查看网络连接状态,-tuln显示监听端口,-an显示所有连接地址和端口。wgetcurl用于下载文件,wget https://example.com/file.zip直接下载,curl -O同样支持下载并保留原文件名。

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

以下为常用命令选项及功能速查表:

命令 常用选项 功能描述
ls -l, -a, -h 列出文件及目录信息
grep -i, -r, -v 文本搜索,支持正则表达式
sed 's/old/new/g', -i 流编辑,文本替换
awk -F, '{print $N}' 文本分析,按列处理
tar -czvf, -xzvf 打包压缩/解压
chmod 755, -R 修改文件/目录权限
ps aux 查看进程详细信息
scp -r, -P 远程文件传输

相关问答FAQs

Q1: 如何快速查找大文件并清理磁盘空间?
A1: 可使用du命令结合sorthead查找大文件,例如du -sh /* | sort -hr | head -10查看根目录下最大的10个目录,对于文件,可使用find / -type f -size +100M -exec ls -lh {} \;查找大于100MB的文件,清理时需谨慎,建议先确认文件重要性,再使用rm删除或tar打包归档至其他存储设备。

Q2: 如何后台运行长时间执行的命令且避免中断?
A2: 可使用nohup命令配合&实现后台运行,例如nohup long_running_command > output.log 2>&1 &,其中nohup使进程忽略挂断信号,> output.log将标准输出重定向到日志文件,2>&1将错误输出合并到标准输出,&将命令放入后台,也可使用screentmux工具创建会话,在会话中运行命令,即使退出终端,命令仍会继续执行。

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