常用Shell命令
约 6551 字大约 22 分钟
ShellLinux脚本
2024-03-02
文件操作命令
1. ls - 列出目录内容
功能:列出指定目录中的文件和目录。
应用场景:查看目录中的内容。
例子:ls -lh 显示当前目录下的文件和目录,并以人类可读的格式显示文件大小。
2. cd - 更改当前目录
功能:更改Shell的当前工作目录。
应用场景:在文件系统中导航。
例子:cd /home/user 切换到 /home/user 目录。
3. pwd - 打印当前目录
功能:显示当前工作目录的完整路径。
应用场景:找出当前所在目录。
例子:pwd 输出当前目录路径。
6. touch - 创建或更新文件
功能:创建一个新文件或更新现有文件的时间戳。
应用场景:快速创建空文件或更改文件时间戳。
例子:touch new_file.txt 创建一个名为 new_file.txt 的空文件。
详细用法:6. 常用shell之 touch - 创建或更新文件 的用法和衍生用法-CSDN博客
7. rm - 删除文件或目录
功能:删除文件或目录。
应用场景:移除文件或目录。
例子:rm file.txt 删除名为 file.txt 的文件。
详细用法:7. 常用shell之 rm - 删除文件或目录 的用法,以及相关衍生用法-CSDN博客
8. cp - 复制文件或目录
功能:复制文件或目录。
应用场景:复制文件或整个目录到新位置。
例子:cp source.txt destination.txt 将 source.txt 文件复制到 destination.txt。
详细用法:8. 常用shell之 cp - 复制文件或目录 的用法及衍生用法-CSDN博客
9. mv - 移动或重命名文件或目录
功能:移动文件或目录,或重命名它们。
应用场景:整理文件或更改文件名。
例子:mv old_name.txt new_name.txt 将 old_name.txt 重命名为 new_name.txt。
详细用法:9. 常用shell之 mv - 移动或重命名文件或目录 的用法及衍生用法-CSDN博客
10. cat - 查看和连接文件
功能:查看文件内容、连接多个文件内容到标准输出。
应用场景:查看文件内容或合并文件。
例子:cat file1.txt file2.txt 查看 file1.txt 和 file2.txt 的内容。
详细用法:12. [常用shell之 cat - 查看和连接文件 的用法和衍生用法-CSDN博客
搜索命令
1. grep - 文本搜索
功能:在文件中搜索符合条件的文本行。
应用场景:搜索包含特定文本的文件。
例子:grep "search_term" file.txt 在 file.txt 中搜索包含 "search_term" 的行。
详细用法:10. 常用shell之 mv - 移动或重命名文件或目录 的用法和衍生用法-CSDN博客
2. find - 查找文件
功能:在目录树中搜索文件。
应用场景:寻找符合特定条件的文件或目录。
例子:find /home -name "*.txt" 在 /home 目录及其子目录下查找所有扩展名为 .txt 的文件。
详细用法:11. 常用shell之 find - 查找文件 的用法和衍生用法-CSDN博客
3. whereis - 查找文件
功能:定位命令、源文件和手册页的位置。
应用场景:查找程序相关文件的位置。
例子:whereis python 查找 Python 的可执行文件和源码位置。
4. locate - 快速查找文件
功能:基于数据库快速查找文件的位置。
应用场景:快速定位文件。
例子:locate nginx.conf 快速查找名为 nginx.conf 的文件。
目录操作命令
1. mkdir - 创建目录
功能:创建一个新目录。
应用场景:创建新的文件夹。
例子:mkdir new_folder 在当前目录下创建一个名为 new_folder 的新目录。
详细用法:4. 常用shell之mkdir的用法及衍生-CSDN博客
2. rmdir - 删除目录
功能:删除空目录。
应用场景:移除不再需要的空目录。
例子:rmdir old_folder 删除名为 old_folder 的目录(目录必须为空)。
详细用法:5. [常用shell之rmdir - 删除目录 的用法和衍生用法-CSDN博客
3. df - 磁盘空间使用情况
功能:显示文件系统的磁盘使用情况。
应用场景:检查磁盘空间。
例子:df -h 以人类可读的格式显示磁盘使用情况。
4. du - 磁盘占用空间
功能:估算和显示文件或目录所占磁盘空间。
应用场景:分析磁盘空间使用。
例子:du -sh /path/to/dir 显示指定目录的总占用空间。
5. tree-以树形结构列出文件目录
权限操作命令
1. chmod - 更改文件权限
功能:更改文件或目录的权限。
应用场景:控制对文件和目录的访问。
例子:chmod 755 filename 设置文件的读、写、执行权限。
2. chown - 更改文件所有者和组
功能:更改文件或目录的所有者和组。
应用场景:管理文件和目录的所有权。
例子:chown user:group filename 更改文件的所有者和组。
3. chgrp - 更改文件或目录的群组
功能:更改文件或目录的群组归属。
应用场景:管理文件或目录的群组权限。
例子:chgrp groupname file 更改文件的群组。
网络操作命令
1. iptables - 网络防火墙配置
功能:配置 Linux 内核防火墙。
应用场景:设置网络访问控制规则。
查看 iptables 服务状态
service iptables status
1.1 列出所有防火墙规则
iptables -nL
1.2 屏蔽单个IP
屏蔽单个IP的命令如下,需要用具体IP替换:
iptables -I INPUT -s xxx.xxx.xxx.xxx -j DROP
iptables -A INPUT -s xxx.xxx.xxx.xxx -j DROP
命令简单解释:
-I 表示添加
-A 表示追加
INPUT 表示入站
xxx.xxx.xxxxxx 表示要屏蔽的IP
DROP 表示丢弃数据包。
提示
这两个命令有啥区别呢?其实 -A 表示"追加" 一条规则,只能追加到末尾。而 -I 表示插入一条规则。
其实上面命令只是修改了当前iptables的配置,然而它并没有保存这些配置修改,如果系统重启,这些配置就会丢失。所以如果想这些配置永久生效,那么你必须保存这些修改配置。一般而言使用service iptables save
命令保存配置,针对不同系统,需要执行对应的命令:
CentOS/RHEL/Fedora系统
service iptables save
Ubuntu系统:
sudo invoke-rc.d iptables-persistent save
提示
另外,iptables-save > /etc/sysconfig/iptables可以把你当前的iptables规则放到/etc/sysconfig/iptables中,系统启动iptables时自动执行。
[!WARNING] 注意: 本文后续的一些命令都是需要用上面命令保存的,后续不再重复强调。
1.3 屏蔽单个IP访问某个端口
如果我想阻止来自10.134.57.24 的 IP 访问服务器的3306端口,可以这样处理:
iptables -A INPUT -s IP-ADDRESS -p tcp --destination-port port_number -j DROP
例子:
iptables -A INPUT -s 10.20.57.24 -p tcp --destination-port 3306 -j DROP
测试验证如下:
1.4 禁止服务器访问某IP
我们知道,上面是禁止其它IP访问服务器,那么如果要禁止服务器访问某些IP呢?其实上面是禁止进入服务器,那么如何禁止服务器出去呢?
iptables -I OUTPUT -s xxx.xxx.xxx.xxx -j DROP
iptables -A OUTPUT -s xxx.xxx.xxx.xxx -j DROP
栗子:
# 禁止服务器访问此IP
iptables -A OUTPUT -d 10.20.57.24 -j DROP
ping 10.20.57.24
验证一下:
1.5 屏蔽IP网段
上面是屏蔽单个地址,实际环境中,我们可能需要屏蔽掉某个IP地址段。
屏蔽IP地址段的命令:
iptables -I INPUT -s xxx.xxx.0.0/16 -j DROP
iptables -I INPUT -s xxx.xxx.xxx.0/24 -j DROP
iptables -A INPUT -s xxx.xxx.0.0/16 -j DROP
iptables -A INPUT -s xxx.xxx.xxx.0/24 -j DROP
如果你设置过云端数据库或服务器的白名单或Linux服务器的防火墙,你可能见过IP地址后面接 xxx.xxx.xxx.xxx/8 、xxx.xxx.xxx.xxx/16 、 xxx.xxx.xxx.xxx/24、xxx.xxx.xxx.xxx/32 这样的设置,那么/8, /16,/24 ,/32分别代表啥意思?这个数字标示了我们的网络号的位数,也就是子网掩码中前多少号为1,也就是掩码的位数。
在了解这个之前,我们先了解一下网络地址的相关概念:最初设计互联网络时,为了便于寻找以及层次化构造网络,每个IP地址包括两个标识码(ID),既网络ID和主机ID。同一个物理网络上的所有主机都使用同一个网络ID,网络上的一个主机(包括网络上工作站,服务器和路由器等)有一个主机ID与其对应。IP地址根据网络ID的不同分为5种类型,A类地址、B类地址、C类地址、D类地址和E类地址。其中D类和E类被用于特殊用途。我们一般很少用到。
A类:
A类地址第1字节为网络地址,其它3个字节为主机地址。
A类IP地址的默认子网掩码为255.0.0.0(由于255相当于二进制的8位1,所以也缩写成“/8”,表示网络号占了8位); 即11111111.00000000.00000000.00000000(1.0.0.0-126.0.0.0)(默认子网掩码:255.0.0.0或 0xFF000000)第一个字节为网络号,后三个字节为主机号。该类IP地址的最前面为“0”。一般用于大型网络。
A类地址范围:1.0.0.1—126.155.255.254
B类:
B类地址第1字节和第2字节为网络地址,其它2个字节为主机地址。B类IP地址的默认子网掩码为255.255.0.0(/16); 即11111111.11111111.00000000.00000000(128.0.0.0-191.255.0.0)。(默认子网掩码:255.255.0.0或0xFFFF0000)前两个字节为网络号,后两个字节为主机号。该类IP地址的最前面为“10”。一般用于中等规模网络。
B类地址范围:128.0.0.1—191.255.255.254。
C类:
C类地址第1字节、第2字节和第3个字节为网络地址,第4个个字节为主机地址。另外第1个字节的前三位固定为110 (192.0.0.0-223.255.255.0)(子网掩码:255.255.255.0或 0xFFFFFF00)前三个字节为网络号,最后一个字节为主机号。该类IP地址的最前面为“110”。一般用于小型网络。
C类地址范围:192.0.0.1—223.255.255.254。
D类:
D类地址是多播地址,一般用于多路广播用户[1]。它的第1个字节的前四位固定为1110。
D类地址范围:224.0.0.1—239.255.255.254
E类:
E类是保留地址。E类地址也不分网络地址和主机地址,它的第1个字节的前五位固定为11110。
E类地址范围:地址的网络号取值于240~255之间, 具体为240.0.0.1—255.255.255.254。
所以你在设置防火墙或云端数据库的白名单时,就会发现一些 xxx.xxx.xxx.xxx/8 这类设置是啥意思了,它们表示一段IP地址。
/8 表示子网掩码为255.0.0.0
/16 表示子网掩码为255.255.0.0
/24 表示子网掩码为255.255.255.0
/30 表示子网掩码为255.255.255.252
/32 表示子网掩码为255.255.255.255
例如,指定IP段:若输入192.168.0.0/24,表明允许192.168.0.0到192.168.0.255之间所有的IP地址访问当前实例。而,192.168.0.0/16,表示运行192.68.0.0到192.168.255.255之间所有的IP地址。有些云平台仅仅支持 "/8","/16","/24"
1.6 禁止服务器访问IP段
#禁止服务器访问此IP段
iptables -A OUTPUT -d xxx.xxx.xxx.xxx/8 -j DROP
iptables -A OUTPUT -d xxx.xxx.xxx.xxx/16 -j DROP
iptables -A OUTPUT -d xxx.xxx.xxx.xxx/24 -j DROP
iptables -A OUTPUT -d xxx.xxx.xxx.xxx/32 -j DROP
栗子:
iptables -A OUTPUT -d 10.20.0.0/16 -j DROP
1.7 查看屏蔽了哪些IP
既然你屏蔽了一些IP,那么我们怎么查看呢?下面是查看屏蔽IP的相关命令
# iptables --list INPUT
# iptables --list OUTPUT
# iptables -L INPUT
# iptables -L OUTPUT
例子1:
# iptables -L INPUT
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP all -- 10.20.57.24 anywhere
RH-Firewall-1-INPUT all -- anywhere anywhere
例子2:
注意:屏蔽的IP地址,可能会转换为机器名(xxxx.xxx.xxx.com表示对于机器的机器名),如下例子所示
# iptables -L INPUT
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP all -- xxxx.xxx.xxx.com anywhere
DROP all -- 10.20.57.24 anywhere
例子3:
#iptables -L OUTPUT
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
DROP all -- anywhere 10.20.57.24
DROP all -- anywhere 10.20.0.0/16
1.8 清空屏蔽的IP
有时候需要屏蔽IP,但是随着业务的变化或情况变化,也有可能需要取消限制一些IP(解封IP)。
# iptables -D INPUT -s xxx.xxx.xxx.xxx -j DROP
# iptables -D INPUT -s IP-ADDRESS -p tcp --destination-port port_number -j DROP
# iptables --flush #表示全部清理
# iptables -t filter -D INPUT -s xxx.xxx.xxx.xxx -j DROP
# iptables -t filter -D OUTPUT -s xxx.xxx.xxx.xxx -j DROP
例子1:
# iptables -L INPUT
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP tcp -- 10.20.57.24 anywhere tcp dpt:mysql
# iptables -D INPUT -s 10.20.57.24 -p tcp --destination-port 3306 -j DROP
# iptables -L INPUT
Chain INPUT (policy ACCEPT)
target prot opt source destination
例子2:
# iptables -L INPUT
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP all -- 10.20.57.24 anywhere
RH-Firewall-1-INPUT all -- anywhere anywhere
# iptables -t filter -D INPUT -s 10.20.57.24 -j DROP
# iptables -L INPUT
Chain INPUT (policy ACCEPT)
target prot opt source destination
RH-Firewall-1-INPUT all -- anywhere anywhere
例子3:
# iptables -L INPUT
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP all -- 10.20.0.0/16 anywhere
RH-Firewall-1-INPUT all -- anywhere anywhere
# iptables -t filter -D INPUT -s 10.20.0.0/16 -j DROP
# iptables -L INPUT
Chain INPUT (policy ACCEPT)
target prot opt source destination
RH-Firewall-1-INPUT all -- anywhere anywhere
例子4:
# iptables -L OUTPUT
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
DROP all -- anywhere 10.20.57.24
# iptables -t filter -D INPUT -s 10.20.57.24 -j DROP
iptables: Bad rule (does a matching rule exist in that chain?).
# iptables -t filter -D OUTPUT -d 10.20.57.24 -j DROP
注意:删除屏蔽服务器访问其他IP地址,必须加上-t filter
,否则就会有上面信息输出。
ps:护网期间加班到22点,真的是离了一个大谱。但是还是要工作尽责,主要是自己不会。咳咳,还是要学习一下!
2. ping - 检查网络连接
功能:发送 ICMP ECHO_REQUEST 以测试目标主机的可达性。
应用场景:诊断网络连接问题。
例子:ping google.com 测试与 google.com 的网络连接。
3. ifconfig - 配置或显示网络接口参数
功能:配置或显示网络接口的网络参数。
应用场景:网络配置和故障排查。
例子:ifconfig eth0 显示或配置名为 eth0 的网络接口。
4.firewall
查看 firewall启动状态
systemctl status firewalld.service
查看配置规则
firewall-cmd --list-all
1.允许特定IP地址访问特定端口
firewall-cmd --permanent --zone='public' --add-rich-rule=
'rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept'
提示
- 添加使用--permanent选项表示设置成永久生效,需要重新启动 firewalld 服务或执行
firewall-cmd --reload
命令 - 重新加载防火墙规则时才会生效。若不带有此选项,表示用于设置运行时规则,但是这些规则在系统或firewalld服务重启、停止时配置将失效。
5. ping - 检查网络连接
功能:发送 ICMP ECHO_REQUEST 以测试目标主机的可达性。
应用场景:诊断网络连接问题。
例子:ping google.com 测试与 google.com 的网络连接。
6. netstat - 网络统计信息
功能:显示网络连接、路由表、接口统计等网络信息。
应用场景:网络问题诊断和分析。
例子:netstat -a 显示所有网络连接。
7. traceroute - 跟踪网络路径
功能:显示数据包到达主机所经过的路由。
应用场景:网络路径分析。
例子:traceroute google.com 跟踪到 google.com 的路径。
8. dig - 查询 DNS 信息
功能:查询 DNS 名称服务器信息。
应用场景:DNS 故障诊断和信息查询。
例子:dig example.com 查询 example.com 的 DNS 信息。
9. nslookup - 查询 DNS 信息
功能:查询域名的 DNS 信息。
应用场景:DNS 问题调试。
例子:nslookup google.com 查询 google.com 的 DNS 信息。
10. curl - 数据传输工具
功能:与服务器交换数据。
应用场景:命令行下进行数据上传、下载,API测试等。
例子:curl http://example.com 显示指定 URL 的内容。
11. iwconfig - 配置无线网络接口
功能:用于配置无线网络接口的参数。
应用场景:无线网络接口配置。
例子:iwconfig wlan0 查看或配置名为 wlan0 的无线网络接口。
进程和系统控制命令
1. ps - 查看活动进程
功能:显示当前系统中的活动进程。
应用场景:监控和管理进程。
例子:ps aux 显示系统中所有进程的详细列表。
2. top - 实时显示进程动态
功能:实时显示进程及系统资源的使用情况。
应用场景:动态监控系统和进程状态。
例子:直接运行 top 会打开一个交互界面,显示当前活动进程及资源使用情况。
3. kill - 终止进程
功能:发送信号到进程,通常用于终止进程。
应用场景:终止挂起的或无响应的进程。
例子:kill -9 1234 强制终止 PID 为 1234 的进程。
文本操作命令
1. tail - 查看文件末尾内容
功能:显示文件的最后几行。
应用场景:查看日志文件或其他持续增长文件的最新内容。
例子:tail -f /var/log/syslog 实时查看系统日志文件的新更新。
详细用法:14. 常用shell之 tail - 查看文件末尾内容 的用法和衍生用法-CSDN博客
2. head - 查看文件开头内容
功能:显示文件的前几行。
应用场景:快速查看文件的开始部分。
例子:head -n 5 file.txt 显示 file.txt 的前5行。
详细用法:15. 常用shell之 head - 查看文件开头内容 的用法和衍生用法-CSDN博客
3. sort - 排序文本文件中的行
功能:按字母或数字顺序对文件内容进行排序。
应用场景:排序或合并文件。
例子:sort file.txt 对 file.txt 文件内容进行排序。
详细用法:16. 常用shell之 sort - 排序文本文件中的行 的用法和衍生用法-CSDN博客
4. uniq - 报告或省略重复行
功能:从输入中删除重复的连续行。
应用场景:处理排序后的文件,删除或统计重复行。
例子:sort file.txt | uniq 对文件排序后删除重复行。
详细用法:17. 常用shell之 uniq - 报告或省略重复行 的用法和衍生用法-CSDN博客
5. cut - 剪切文本文件中的部分
功能:按列提取文本文件的内容。
应用场景:从文件中提取指定的列。
例子:cut -d':' -f 1 /etc/passwd 提取 /etc/passwd 文件中以冒号分隔的第一列。
6. awk - 强大的文本处理工具
功能:用于模式扫描和处理语言的工具,非常适合文本处理。
应用场景:复杂的文本处理,如分析、提取和报告。
例子:awk '{print $2, $1}' file.txt 交换每行的第一和第二个字段。
详细用法:19. 常用shell之awk的用法-CSDN博客
7. sed - 流编辑器
功能:对文本流(如文件)执行基本的文本转换。
应用场景:文本替换、插入、删除等。
例子:sed 's/old/new/g' file.txt 将 file.txt 中的 "old" 全部替换为 "new"。
详细用法:20. [常用shell之sed的用法及优缺点-CSDN博客
压缩与解压命令
1. gzip / gunzip - 压缩和解压文件
功能:使用 Gzip 压缩或解压文件。
应用场景:减小文件大小以节省空间或便于传输。
例子:gzip file 压缩文件,gunzip file.gz 解压文件。
2. zip / unzip - 压缩和解压 ZIP 文件
功能:创建和解压 ZIP 格式的压缩文件。
应用场景:文件打包和压缩。
例子:zip archive.zip file1 file2 压缩文件,unzip archive.zip 解压文件。
3. tar - 打包和压缩/解压缩文件
功能:创建文件档案,并可选地对其进行压缩或解压缩。
应用场景:文件打包和压缩。
例子:tar -czvf archive.tar.gz /path/to/dir
磁盘使用管理命令
1. df - 显示磁盘使用情况
功能:显示系统中文件系统的磁盘使用情况。
应用场景:监控磁盘空间使用。
例子:df -h 以人类可读的格式显示磁盘空间使用情况。
2. free - 查看内存使用情况
功能:显示系统的空闲和已用内存及交换空间。
应用场景:监控内存使用情况。
例子:free -m 以 MB 为单位显示内存使用情况。
3. fdisk - 磁盘分区工具
功能:查看和修改磁盘分区表。
应用场景:磁盘分区管理。
例子:fdisk /dev/sda 修改 /dev/sda 磁盘的分区表。
4. du - 显示目录空间使用情况
功能:显示文件或目录所占用的磁盘空间。
应用场景:查找占用大量磁盘空间的文件或目录。
例子:du -sh /path/to/directory 显示指定目录的总磁盘使用量。
包管理命令
1. apt-get / yum / dnf - 包管理器
功能:软件包安装和管理(基于发行版)。
应用场景:安装、更新和移除软件包。
例子:apt-get install nginx 安装 Nginx(在基于Debian的系统上)。
2. wget - 网络下载工具
功能:从网络上下载文件。
应用场景:命令行下载网页、文件等。
例子:wget http://example.com/file.zip 下载指定URL的文件。
环境变量命令
1. env - 查看环境变量
功能:显示当前用户的环境变量。
应用场景:查看或设置环境变量。
例子:env 显示当前所有环境变量。
2. export - 设置或显示环境变量
功能:创建新的环境变量或修改现有的环境变量。
应用场景:配置程序运行时的环境设置。
例子:export PATH=$PATH:/new/path 添加 /new/path 到现有的 PATH 环境变量。
3. unset - 删除环境变量或函数
功能:删除指定的环境变量或函数。
应用场景:清理不再需要的环境变量或函数。
例子:unset PATH 删除 PATH 环境变量。
系统控制命令
1.hostname - 显示或设置系统的主机名
功能:显示或设置系统的主机名。
应用场景:管理系统主机名。
例子:hostname 显示当前系统主机名。
2. useradd / userdel - 添加或删除用户
功能:添加或删除系统用户。
应用场景:用户账户管理。
例子:useradd newuser 添加新用户,userdel olduser 删除用户。
3. groupadd / groupdel - 添加或删除组
功能:添加或删除用户组。
应用场景:用户组管理。
例子:groupadd newgroup 添加新组,groupdel oldgroup 删除组。
4.passwd - 更新用户密码
功能:更新用户的密码。
应用场景:修改用户账户密码。
例子:passwd username 修改指定用户的密码。
5. su - 切换用户身份
功能:切换当前用户身份到另一个用户。 应用场景:临时以其他用户身份执行命令。 例子:su - username 切换到指定用户。
6. sudo - 以超级用户身份执行命令
功能:以超级用户或指定用户身份执行命令。
应用场景:执行需要管理员权限的命令。
例子:sudo apt update 以超级用户身份更新软件包列表。
文本编辑命令
1. echo - 输出文本
功能:在标准输出(通常是终端)上显示一行文本或变量。
应用场景:显示消息、变量值或将内容写入文件。
例子:echo "Hello World" 显示 "Hello World"。
详细用法:13. 常用shell之 echo - 输出文本 的用法和衍生用法-CSDN博客
其他有用命令
1. df - 显示磁盘空间使用情况
功能:显示文件系统的磁盘空间使用情况。
应用场景:监控磁盘空间。
例子:df -h 以人类可读的格式显示磁盘空间使用情况。
2. crontab - 定时任务调度
功能:安排定时任务。
应用场景:自动执行周期性任务,如备份、脚本运行等。
例子:crontab -e 打开定时任务编辑器,添加或修改计划任务。
3. ssh - 安全远程登录
功能:安全地远程登录到另一台计算机。
应用场景:远程管理服务器或设备。
例子:ssh user@example.com 使用 SSH 连接到 example.com。
4. scp - 安全复制文件
功能:通过 SSH 安全地传输文件。
应用场景:在不同计算机间安全地复制文件。
例子:scp file.txt user@ip:/path 将本地的 file.txt 复制到远程服务器。
5. alias - 创建命令别名
功能:为长命令或常用命令创建短的别名。
应用场景:简化复杂的命令或常用命令序列。
例子:alias ll='ls -l' 创建 ll 作为 ls -l 的别名。
6. unalias - 移除别名
功能:删除之前创建的别名。
应用场景:删除不再需要的命令别名。
例子:unalias ll 移除 ll 这个别名。
46. which - 显示命令的完整路径
功能:显示指定命令的完整路径。
应用场景:确定正在使用的命令的位置。
例子:which ls 显示 ls 命令的路径。
48. man - 显示命令手册
功能:显示命令的手册页(帮助文档)。
应用场景:学习特定命令的用法和选项。
例子:man ls 显示 ls 命令的手册页。
49. history - 命令历史
功能:显示用户命令历史。
应用场景:回顾或重用之前的命令。
例子:history 显示命令历史列表。
54. watch - 定期执行命令
功能:定期执行命令并显示其输出。
应用场景:监视命令的输出,如系统资源、进程状态等。
例子:watch df -h 每隔2秒更新并显示磁盘空间使用情况。