Shell命令是Linux和Unix系统中的基础,用于完成各种操作,如文件管理、程序执行、文本处理等。下面列举一些常用的Shell命令,并详细解释它们的功能及应用场景:
-
ls- 列出目录内容- 功能:列出指定目录中的文件和目录。
- 应用场景:查看目录中的内容。
- 例子:
ls -lh显示当前目录下的文件和目录,并以人类可读的格式显示文件大小。
-
cd- 更改当前目录- 功能:更改Shell的当前工作目录。
- 应用场景:在文件系统中导航。
- 例子:
cd /home/user切换到/home/user目录。
-
pwd- 打印当前目录- 功能:显示当前工作目录的完整路径。
- 应用场景:找出当前所在目录。
- 例子:
pwd输出当前目录路径。
-
mkdir- 创建目录- 功能:创建一个新目录。
- 应用场景:创建新的文件夹。
- 例子:
mkdir new_folder在当前目录下创建一个名为new_folder的新目录。 - 详细用法:4. 常用shell之mkdir的用法及衍生-CSDN博客
-
rmdir- 删除目录- 功能:删除空目录。
- 应用场景:移除不再需要的空目录。
- 例子:
rmdir old_folder删除名为old_folder的目录(目录必须为空)。 - 详细用法:5. 常用shell之rmdir - 删除目录 的用法和衍生用法-CSDN博客
-
touch- 创建或更新文件- 功能:创建一个新文件或更新现有文件的时间戳。
- 应用场景:快速创建空文件或更改文件时间戳。
- 例子:
touch new_file.txt创建一个名为new_file.txt的空文件。 - 详细用法:6. 常用shell之 touch - 创建或更新文件 的用法和衍生用法-CSDN博客
-
rm- 删除文件或目录- 功能:删除文件或目录。
- 应用场景:移除文件或目录。
- 例子:
rm file.txt删除名为file.txt的文件。 - 详细用法:7. 常用shell之 rm - 删除文件或目录 的用法,以及相关衍生用法-CSDN博客
-
cp- 复制文件或目录- 功能:复制文件或目录。
- 应用场景:复制文件或整个目录到新位置。
- 例子:
cp source.txt destination.txt将source.txt文件复制到destination.txt。 - 详细用法:8. 常用shell之 cp - 复制文件或目录 的用法及衍生用法-CSDN博客
-
mv- 移动或重命名文件或目录- 功能:移动文件或目录,或重命名它们。
- 应用场景:整理文件或更改文件名。
- 例子:
mv old_name.txt new_name.txt将old_name.txt重命名为new_name.txt。 - 详细用法:9. 常用shell之 mv - 移动或重命名文件或目录 的用法及衍生用法-CSDN博客
-
grep- 文本搜索- 功能:在文件中搜索符合条件的文本行。
- 应用场景:搜索包含特定文本的文件。
- 例子:
grep "search_term" file.txt在file.txt中搜索包含 "search_term" 的行。 - 详细用法:10. 常用shell之 mv - 移动或重命名文件或目录 的用法和衍生用法-CSDN博客
-
find- 查找文件- 功能:在目录树中搜索文件。
- 应用场景:寻找符合特定条件的文件或目录。
- 例子:
find /home -name "*.txt"在/home目录及其子目录下查找所有扩展名为.txt的文件。 - 详细用法:11. 常用shell之 find - 查找文件 的用法和衍生用法-CSDN博客
-
cat- 查看和连接文件- 功能:查看文件内容、连接多个文件内容到标准输出。
- 应用场景:查看文件内容或合并文件。
- 例子:
cat file1.txt file2.txt查看file1.txt和file2.txt的内容。
-
echo- 输出文本- 功能:在标准输出(通常是终端)上显示一行文本或变量。
- 应用场景:显示消息、变量值或将内容写入文件。
- 例子:
echo "Hello World"显示 "Hello World"。
-
tail- 查看文件末尾内容- 功能:显示文件的最后几行。
- 应用场景:查看日志文件或其他持续增长文件的最新内容。
- 例子:
tail -f /var/log/syslog实时查看系统日志文件的新更新。
-
head- 查看文件开头内容- 功能:显示文件的前几行。
- 应用场景:快速查看文件的开始部分。
- 例子:
head -n 5 file.txt显示file.txt的前5行。
-
sort- 排序文本文件中的行- 功能:按字母或数字顺序对文件内容进行排序。
- 应用场景:排序或合并文件。
- 例子:
sort file.txt对file.txt文件内容进行排序。
-
uniq- 报告或省略重复行- 功能:从输入中删除重复的连续行。
- 应用场景:处理排序后的文件,删除或统计重复行。
- 例子:
sort file.txt | uniq对文件排序后删除重复行。
-
cut- 剪切文本文件中的部分- 功能:按列提取文本文件的内容。
- 应用场景:从文件中提取指定的列。
- 例子:
cut -d':' -f 1 /etc/passwd提取/etc/passwd文件中以冒号分隔的第一列。
-
awk- 强大的文本处理工具- 功能:用于模式扫描和处理语言的工具,非常适合文本处理。
- 应用场景:复杂的文本处理,如分析、提取和报告。
- 例子:
awk '{print $2, $1}' file.txt交换每行的第一和第二个字段。 - 详细用法:19. 常用shell之awk的用法-CSDN博客
-
sed- 流编辑器- 功能:对文本流(如文件)执行基本的文本转换。
- 应用场景:文本替换、插入、删除等。
- 例子:
sed 's/old/new/g' file.txt将file.txt中的 "old" 全部替换为 "new"。 - 详细用法:20. 常用shell之sed的用法及优缺点-CSDN博客
-
chmod- 更改文件权限- 功能:更改文件或目录的访问权限。
- 应用场景:设置文件的读、写和执行权限。
- 例子:
chmod 755 script.sh设置script.sh可被所有人读取和执行,只有所有者可写。
-
chown- 更改文件所有者- 功能:更改文件或目录的所有者和组。
- 应用场景:更改文件的所有权。
- 例子:
chown user:group file.txt更改file.txt的所有者为 "user",组为 "group"。
-
df- 显示磁盘空间使用情况- 功能:显示文件系统的磁盘空间使用情况。
- 应用场景:监控磁盘空间。
- 例子:
df -h以人类可读的格式显示磁盘空间使用情况。
-
du- 显示目录空间使用情况- 功能:显示文件或目录所占用的磁盘空间。
- 应用场景:查找占用大量磁盘空间的文件或目录。
- 例子:
du -sh /path/to/directory显示指定目录的总磁盘使用量。
-
ps- 查看活动进程- 功能:显示当前系统中的活动进程。
- 应用场景:监控和管理进程。
- 例子:
ps aux显示系统中所有进程的详细列表。
-
top- 实时显示进程动态- 功能:实时显示进程及系统资源的使用情况。
- 应用场景:动态监控系统和进程状态。
- 例子:直接运行
top会打开一个交互界面,显示当前活动进程及资源使用情况。
-
kill- 终止进程- 功能:发送信号到进程,通常用于终止进程。
- 应用场景:终止挂起的或无响应的进程。
- 例子:
kill -9 1234强制终止 PID 为 1234 的进程。
-
tar- 打包和解压文件- 功能:将文件打包成一个大文件,可选压缩或解压。
- 应用场景:文件备份和压缩。
-
crontab- 定时任务调度- 功能:安排定时任务。
- 应用场景:自动执行周期性任务,如备份、脚本运行等。
- 例子:
crontab -e打开定时任务编辑器,添加或修改计划任务。
-
wget- 网络下载工具- 功能:从网络上下载文件。
- 应用场景:命令行下载网页、文件等。
- 例子:
wget http://example.com/file.zip下载指定URL的文件。
-
curl- 数据传输工具- 功能:与服务器交换数据。
- 应用场景:命令行下进行数据上传、下载,API测试等。
- 例子:
curl http://example.com显示指定 URL 的内容。
-
ssh- 安全远程登录- 功能:安全地远程登录到另一台计算机。
- 应用场景:远程管理服务器或设备。
- 例子:
ssh user@example.com使用 SSH 连接到 example.com。
-
scp- 安全复制文件- 功能:通过 SSH 安全地传输文件。
- 应用场景:在不同计算机间安全地复制文件。
- 例子:
scp file.txt user@example.com:/path将本地的file.txt复制到远程服务器。
-
iptables- 网络防火墙配置- 功能:配置 Linux 内核防火墙。
- 应用场景:设置网络访问控制规则。
- 例子:
iptables -L列出所有防火墙规则。
-
df- 磁盘空间使用情况- 功能:显示文件系统的磁盘使用情况。
- 应用场景:检查磁盘空间。
- 例子:
df -h以人类可读的格式显示磁盘使用情况。
-
du- 磁盘占用空间- 功能:估算和显示文件或目录所占磁盘空间。
- 应用场景:分析磁盘空间使用。
- 例子:
du -sh /path/to/dir显示指定目录的总占用空间。
-
nano/vi/vim- 文本编辑器- 功能:在命令行中编辑文本文件。
- 应用场景:创建和修改配置文件或编写代码。
- 例子:
nano file.txt或vi file.txt打开文件进行编辑。
-
jobs- 列出后台作业- 功能:显示当前后台运行的作业。
- 应用场景:管理后台进程。
- 例子:
jobs列出所有后台作业。
-
fg- 将后台作业移到前台- 功能:将后台作业移至前台继续运行。
- 应用场景:继续在前台操作被暂停的作业。
- 例子:
fg %1将作业号为1的后台作业移到前台。
-
bg- 将作业放到后台运行- 功能:使作业在后台继续运行。
- 应用场景:将暂停的作业放到后台继续运行。
- 例子:
bg %1将作业号为1的作业放到后台。
-
alias- 创建命令别名- 功能:为长命令或常用命令创建短的别名。
- 应用场景:简化复杂的命令或常用命令序列。
- 例子:
alias ll='ls -l'创建ll作为ls -l的别名。
-
unalias- 移除别名- 功能:删除之前创建的别名。
- 应用场景:删除不再需要的命令别名。
- 例子:
unalias ll移除ll这个别名。
-
env- 查看环境变量- 功能:显示当前用户的环境变量。
- 应用场景:查看或设置环境变量。
- 例子:
env显示当前所有环境变量。
-
export- 设置或显示环境变量- 功能:创建新的环境变量或修改现有的环境变量。
- 应用场景:配置程序运行时的环境设置。
- 例子:
export PATH=$PATH:/new/path添加/new/path到现有的PATH环境变量。
-
unset- 删除环境变量或函数- 功能:删除指定的环境变量或函数。
- 应用场景:清理不再需要的环境变量或函数。
- 例子:
unset PATH删除PATH环境变量。
-
which- 显示命令的完整路径- 功能:显示指定命令的完整路径。
- 应用场景:确定正在使用的命令的位置。
- 例子:
which ls显示ls命令的路径。
-
whereis- 查找文件- 功能:定位命令、源文件和手册页的位置。
- 应用场景:查找程序相关文件的位置。
- 例子:
whereis python查找 Python 的可执行文件和源码位置。
-
man- 显示命令手册- 功能:显示命令的手册页(帮助文档)。
- 应用场景:学习特定命令的用法和选项。
- 例子:
man ls显示ls命令的手册页。
-
history- 命令历史- 功能:显示用户命令历史。
- 应用场景:回顾或重用之前的命令。
- 例子:
history显示命令历史列表。
-
chmod- 更改文件权限- 功能:更改文件或目录的权限。
- 应用场景:控制对文件和目录的访问。
- 例子:
chmod 755 filename设置文件的读、写、执行权限。
-
chown- 更改文件所有者和组- 功能:更改文件或目录的所有者和组。
- 应用场景:管理文件和目录的所有权。
- 例子:
chown user:group filename更改文件的所有者和组。
-
gzip/gunzip- 压缩和解压文件- 功能:使用 Gzip 压缩或解压文件。
- 应用场景:减小文件大小以节省空间或便于传输。
- 例子:
gzip file压缩文件,gunzip file.gz解压文件。
-
zip/unzip- 压缩和解压 ZIP 文件- 功能:创建和解压 ZIP 格式的压缩文件。
- 应用场景:文件打包和压缩。
- 例子:
zip archive.zip file1 file2压缩文件,unzip archive.zip解压文件。
-
watch- 定期执行命令- 功能:定期执行命令并显示其输出。
- 应用场景:监视命令的输出,如系统资源、进程状态等。
- 例子:
watch df -h每隔2秒更新并显示磁盘空间使用情况。
-
df- 显示磁盘使用情况- 功能:显示系统中文件系统的磁盘使用情况。
- 应用场景:监控磁盘空间使用。
- 例子:
df -h以人类可读的格式显示磁盘空间使用情况。
-
free- 查看内存使用情况- 功能:显示系统的空闲和已用内存及交换空间。
- 应用场景:监控内存使用情况。
- 例子:
free -m以 MB 为单位显示内存使用情况。
-
ping- 检查网络连接- 功能:发送 ICMP ECHO_REQUEST 以测试目标主机的可达性。
- 应用场景:诊断网络连接问题。
- 例子:
ping google.com测试与 google.com 的网络连接。
-
netstat- 网络统计信息- 功能:显示网络连接、路由表、接口统计等网络信息。
- 应用场景:网络问题诊断和分析。
- 例子:
netstat -a显示所有网络连接。
-
traceroute- 跟踪网络路径- 功能:显示数据包到达主机所经过的路由。
- 应用场景:网络路径分析。
- 例子:
traceroute google.com跟踪到 google.com 的路径。
-
dig- 查询 DNS 信息- 功能:查询 DNS 名称服务器信息。
- 应用场景:DNS 故障诊断和信息查询。
- 例子:
dig example.com查询 example.com 的 DNS 信息。
-
nslookup- 查询 DNS 信息- 功能:查询域名的 DNS 信息。
- 应用场景:DNS 问题调试。
- 例子:
nslookup google.com查询 google.com 的 DNS 信息。
-
ifconfig- 配置或显示网络接口参数- 功能:配置或显示网络接口的网络参数。
- 应用场景:网络配置和故障排查。
- 例子:
ifconfig eth0显示或配置名为 eth0 的网络接口。
-
iwconfig- 配置无线网络接口- 功能:用于配置无线网络接口的参数。
- 应用场景:无线网络接口配置。
- 例子:
iwconfig wlan0查看或配置名为 wlan0 的无线网络接口。
-
hostname- 显示或设置系统的主机名- 功能:显示或设置系统的主机名。
- 应用场景:管理系统主机名。
- 例子:
hostname显示当前系统主机名。
-
useradd/userdel- 添加或删除用户- 功能:添加或删除系统用户。
- 应用场景:用户账户管理。
- 例子:
useradd newuser添加新用户,userdel olduser删除用户。
-
groupadd/groupdel- 添加或删除组- 功能:添加或删除用户组。
- 应用场景:用户组管理。
- 例子:
groupadd newgroup添加新组,groupdel oldgroup删除组。
-
passwd- 更新用户密码- 功能:更新用户的密码。
- 应用场景:修改用户账户密码。
- 例子:
passwd username修改指定用户的密码。
-
chgrp- 更改文件或目录的群组- 功能:更改文件或目录的群组归属。
- 应用场景:管理文件或目录的群组权限。
- 例子:
chgrp groupname file更改文件的群组。
-
chmod- 更改文件或目录的权限- 功能:更改文件或目录的访问权限。
- 应用场景:管理文件或目录的访问权限。
- 例子:
chmod 755 file设置文件的权限。
-
su- 切换用户身份- 功能:切换当前用户身份到另一个用户。
- 应用场景:临时以其他用户身份执行命令。
- 例子:
su - username切换到指定用户。
-
sudo- 以超级用户身份执行命令- 功能:以超级用户或指定用户身份执行命令。
- 应用场景:执行需要管理员权限的命令。
- 例子:
sudo apt update以超级用户身份更新软件包列表。
-
apt-get/yum/dnf- 包管理器- 功能:软件包安装和管理(基于发行版)。
- 应用场景:安装、更新和移除软件包。
- 例子:
apt-get install nginx安装 Nginx(在基于Debian的系统上)。
-
mount/umount- 挂载或卸载文件系统- 功能:挂载或卸载文件系统。
- 应用场景:管理设备或存储的挂载点。
- 例子:
mount /dev/sdb1 /mnt挂载设备,umount /mnt卸载。
-
fdisk- 磁盘分区工具- 功能:查看和修改磁盘分区表。
- 应用场景:磁盘分区管理。
- 例子:
fdisk /dev/sda修改/dev/sda磁盘的分区表。
-
mkfs- 创建文件系统- 功能:在分区上创建新的文件系统。
- 应用场景:格式化分区,准备存储使用。
- 例子:
mkfs.ext4 /dev/sdb1在/dev/sdb1创建一个新的 ext4 文件系统。
-
fsck- 检查和修复文件系统- 功能:检查和修复文件系统的一致性和完整性。
- 应用场景:修复损坏或不一致的文件系统。
- 例子:
fsck /dev/sda1检查并修复/dev/sda1分区。
-
dd- 转换和复制文件- 功能:复制文件并在复制过程中进行指定的转换。
- 应用场景:备份整个磁盘或分区,创建启动盘等。
- 例子:
dd if=/dev/sda of=/dev/sdb将 sda 磁盘的内容复制到 sdb 磁盘。
-
find- 查找文件和目录- 功能:在目录树中查找文件和目录。
- 应用场景:搜索文件和目录,执行搜索到的文件上的操作。
- 例子:
find / -name "*.conf"在根目录下查找所有以.conf结尾的文件。
-
locate- 快速查找文件- 功能:基于数据库快速查找文件的位置。
- 应用场景:快速定位文件。
- 例子:
locate nginx.conf快速查找名为nginx.conf的文件。
-
tar- 打包和压缩/解压缩文件- 功能:创建文件档案,并可选地对其进行压缩或解压缩。
- 应用场景:文件打包和压缩。
- 例子:
tar -czvf archive.tar.gz /path/to/dir