目录
一.日常命令
系统信息与时间管理类命令:date(查看时间),cal(查看日历),history(查看历史信息)
文件传输与同步类命令:scp(安全复制文件),rsync(文件同步工具)
远程连接与后台运行类:ssh(远程登录),nohup(后台运行程序)
系统关机与重启类:reboot(重启系统),shutdown(关闭或重启系统)
系统资源查看类:free(查看内存使用情况)
1.date
功能:
date 命令用于显示当前的系统日期和时间,可以指定不同的输出格式,或用它来设置系统的日期和时间。
详细案例:
显示当前系统时间:
date
输出:Wed Aug 14 16:24:51 UTC 2025
自定义时间格式:
date "+%Y-%m-%d %H:%M:%S"
输出:2025-08-14 16:24:51
显示当前时间的时间戳(从1970年1月1日以来的秒数):
date +%s
输出:1692017091
设置系统时间:
sudo date +%Y-%m-%d -s "2025-08-14"
这会将系统日期设置为 2025年8月14日。
2.cal
功能:
cal 命令用来显示当前月份或指定月份的日历。可以方便地查看日期。
详细案例:
查看当前月份的日历:
cal
查看指定年份和月份的日历:
cal 12 2025
显示一整年的日历:
cal -y 2025
3.history
功能:
history 命令用来查看当前用户的历史命令。这个命令可以帮助你快速找到之前运行的命令。
详细案例:
history
查看历史命令中的特定条目:
history | grep "mkdir"
这会过滤出历史记录中所有包含 mkdir 的命令。
执行历史命令:
使用历史命令编号执行:
!2
这会执行编号为2的命令,即 cd /home/user。
4.scp
功能:
scp 命令用于通过 SSH 协议在本地和远程服务器之间安全地复制文件或目录。它加密了数据传输,因此更加安全。
详细案例:
将本地文件复制到远程服务器:
scp file.txt user@remote:/path/to/destination/
远程复制命令 本地文件 root 192.168.10.11:路径
这会将 file.txt 文件从本地复制到远程服务器的 /path/to/destination/ 目录。
需要先再自己的主机上添加对方的ip地址和主机名
ssh服务必须运行
防火墙放行
将本地目录复制到远程服务器:
scp -r /local/dir/ user@remote:/remote/dir/
这会将本地目录 /local/dir/ 及其内容复制到远程目录 /remote/dir/。
将远程文件复制到本地:
scp user@remote:/remote/path/to/file.txt /local/destination/
从远程服务器复制整个目录到本地:
scp -r user@remote:/remote/dir /local/dir/
5.rsync
功能:
rsync 是一个非常强大的文件同步工具,支持增量同步,减少了文件传输的时间和带宽消耗。它可以同步文件和目录,不仅可以在本地计算机之间同步,也支持远程同步。
详细案例:
将本地目录同步到远程服务器:
rsync -avz /local/dir/ user@remote:/remote/dir/
不是实时同步
参数说明:
-a:归档模式,表示保持文件的所有属性(如权限、时间戳等)。
-v:详细模式,显示传输过程中的文件。
-z:启用压缩传输。
将远程目录同步到本地:
rsync -avz user@remote:/remote/dir/ /local/dir/
命令 功能 用户 IP/主机名 自己的目录 本地
同步文件时,排除某些文件:
rsync -avz --exclude="*.log" /local/dir/ user@remote:/remote/dir/
命令 功能 排除外 本地 远端 目标
用户 IP/主机名 目标目录
这会排除所有 .log 后缀的文件。
仅同步文件变化:
rsync -avz --ignore-existing /local/dir/ user@remote:/remote/dir/
本地 远端/ 目标
这会跳过远程目录中已经存在的文件,只同步新的或修改过的文件。
6.ssh
功能:
ssh(Secure Shell)命令用于通过加密连接远程登录到计算机。它使得你可以安全地访问远程机器并执行命令。
详细案例:
登录到远程服务器:
ssh user@hostname
exit退出
这会连接到远程主机 hostname 上的 user 用户。
使用不同端口登录:
第一部修改 服务端口 配置文件路径/etc/ssh/sshd_config 如果你是登录到目标服务器 修
改目标服务器端口 0 ~~~
65535
[root@benet79 fyl]# vim /etc/ssh/sshd_config 高位端口 1027
ssh -p 2222 user@hostname
通过 -p 选项指定端口,默认端口是 22。
通过 SSH 执行远程命令:
ssh user@hostname 'ls -l /home/user'
扩展
这会在远程主机上执行 ls -l /home/user 命令,列出指定目录的内容。
7.nohup
功能:
nohup 命令用于让某个进程在后台运行,并且使其在关闭终端后依然保持运行。nohup 会将标准输出
和错误输出重定向到 nohup.out 文件中。
详细案例:
让脚本在后台运行:
nohup python script.py &
这会使 script.py 脚本在后台运行,即使终端关闭,脚本也会继续执行。
查看后台任务的输出:
tail -f nohup.out
这会实时查看后台任务的输出。 输出日志 nohup java -jar xxxx.jar 后端
8.reboot
功能:
reboot 命令用于重启计算机。在一些场景中需要重新启动计算机以应用更新或其他操作。
详细案例:
重启计算机:
sudo reboot init 6
这会立即重启计算机。
重启并延迟几分钟:
sudo reboot +5
这会在5分钟后重启计算机。
9.shutdown
功能:
shutdown 命令用于关闭计算机。它可以指定一个延迟时间,或者立即关闭系统。
详细案例:
立即关闭系统:
sudo shutdown -h now
这会立即关闭计算机。
延迟关闭系统:
sudo shutdown -h +10
这会在10分钟后关闭系统。
重启系统:
sudo shutdown -r now
这会立即重启计算机。
10.free命令 优化命令
用于显示系统的内存使用情况,包括物理内存(RAM)、交换空间(swap)和内核缓冲区。它是 Linux系统中非常常用的一个命令,用于查看内存的总体状态。
① 命令功能
free 命令提供以下几个主要信息:
1. 总内存:物理内存的总量。
2. 已用内存:已经被系统或应用程序使用的内存。
3. 空闲内存:没有被使用的内存。
4. 共享内存:不同进程之间共享的内存空间。
5. 缓存内存:操作系统用作缓存的数据。
6. 交换内存(Swap):当物理内存不足时,系统使用磁盘上的空间作为虚拟内存(交换空间)。
基本命令格式
free [options]
常用选项
-h:以人类可读的方式显示(自动选择合适的单位,如 KB, MB, GB)。
-m:以 MB 为单位显示内存。
-g:以 GB 为单位显示内存。
-t:显示内存的总和(即总内存 + 总交换空间)。
-s:以秒为单位指定显示刷新时间间隔。
-l:显示低内存和高内存的详细信息。
② 显示当前内存使用情况
free
解释:
total:总物理内存(RAM)。
used:已用内存(包括缓存、共享内存、应用程序使用的内存等)。
free:空闲内存。
shared:共享内存,指多个进程之间共享的内存。
buff/cache:缓冲区和缓存所占用的内存。系统会使用这部分内存来缓存磁盘数据,以加快访问
速度。
available:系统可用的内存。这个值并不是单纯的空闲内存,而是指经过系统缓存和缓冲区回
收后的可以使用的内存。
Swap 行:
total:总交换空间大小。
used:已使用的交换空间。
free:剩余的交换空间。
③ 友好方式显示内存
free -h
④显示内存以 MB 为单位使用情况
free -m
⑤显示内存和交换空间的总和
free -t
⑥每 5 秒刷新一次显示内存使用情况
free -s 5
这会每5秒钟更新一次内存的使用情况,直到手动终止(按 `Ctrl+C`)。
⑦典型应用场景
1. 检查内存使用情况:
你可以通过 free 命令快速了解当前系统的内存使用情况,帮助你判断是否有内存不足的情况,或
者是否需要调整交换空间
2. 监控内存和交换空间使用情况:
如果系统经常使用大量的交换空间,可能意味着系统内存不足,可能需要增加物理内存或调整系统
配置。
3. 检查缓冲区和缓存的影响:
通过 buff/cache 和 available 字段,你可以了解系统缓存占用了多少内存,以及哪些内存是可
以被回收利用的。
⑧高级技巧
查看内存使用趋势:
如果你需要实时监控内存使用情况并保存到文件中,可以结合 free 和 watch 命令:
watch -n 1 free -h
这会每秒刷新一次显示内存使用情况。
ctrl+c退出
⑨使用 free 监控系统健康状态
监控内存是否充足。
判断是否有大量的缓存内存导致可用内存减少。
如果交换空间使用量较大,考虑优化内存使用或增加物理内存。
⑩总结
free 命令是查看内存和交换空间使用情况的非常实用工具,尤其在 Linux 系统管理中频繁使用。通过它,您可以迅速了解系统内存的总体状况,帮助您优化系统性能或解决内存不足的问题。
二.Linux 网络命令
网络连通性测试类:ping(测试网络联通)
网络接口查看与管理类:ip addr(查看ip地址信息),ip link(查看网卡状态),ifconfig(查看和配置网络接口)
路由配置与查看类:ip route(查看和管理路由表),route(查看和修改路由表)
网络连接状态查看类:netstat(查看网络连接状态),ss(查看网络信息)
网络路径分析类:traceroute(查看数据包经过路径),mtr(综合网络诊断工具)
DNS 域名解析类:nslookup(查询DNS信息),dig(深入查询DNS)
远程连接测试类:telnet(测试远程端口连接)
端口与进程关联查看类:losf(查看文件和进程关系)
端口与进程关联查看类:uname(查看系统信息),uptime(查看系统运行时间)
1.ping
解释: ping命令用于测试网络连接是否畅通。通过发送ICMP回显请求报文并等待响应来确认网络连通性。
常见用法:
ping <hostname_or_IP>
实战案例:
测试到某个主机(如Google)是否可达:
ping baidu.com www.baidu.com
指定发送次数:
ping -c 4 google.com
2.ip addr
解释: ip addr命令用于查看和管理IP地址。
常见用法:
ip addr show
实战案例:
查看所有网络接口的IP地址信息:
ip addr show
查看特定接口(如ens33)的IP地址:
ip addr show ens33
3.ip link
解释: ip link命令用于显示或修改网络接口的状态。
常见用法:
ip link show
实战案例:
显示所有网络接口的状态:
ip link show
启用或禁用接口:
ip link set ens33 up 启动
ip link set ens33 down 关闭
4.ip route
解释: ip route命令用于查看和管理路由表。
ip route show
实战案例:
查看当前的路由表:
ip route show
添加一条静态路由,将网络192.168.2.0/24指向网关192.168.10.1:
ip route add 192.168.2.0/24 via 192.168.10.1
5.ifconfig
解释: ifconfig命令用于查看和配置网络接口的参数(已过时,推荐使用ip命令)。
常见用法:
ifconfig
实战案例:
查看所有网络接口的配置:
ifconfig ens33 (网卡名称) down 关闭/up开启
配置一个IP地址(例如设置ens33的IP为192.168.1.10):
ifconfig ens33 192.168.1.10/24
生产环境 配置临时IP做测试 ifconfig ens33:1 192.168.1.10/24
重启虚拟机就失效了
6.netstat 常用工具
解释: netstat命令用于显示网络连接、路由表、接口统计信息等。
常见用法:
netstat -tuln
t TCP协议连接相关信息
u UDP协议相关的链接信息
l 显示监听端口状态
n 显示以数字形式 显示 IP地址端口号
p 显示进程PID号
实战案例:
显示当前所有的TCP和UDP连接:
netstat -tuln | grep :22
查看本地端口使用情况:
netstat -tulnp
7.traceroute
解释:traceroute命令用于追踪数据包经过的路由路径。
常见用法:traceroute <hostname_or_IP>
实战案例:
跟踪到Google的路径:
traceroute www.baidu.com
8.mtr
解释: mtr是结合了ping和traceroute的网络诊断工具,提供实时的网络路径追踪和丢包情况。
常见用法:
mtr <hostname_or_IP>
实战案例:
实时追踪到Google的网络路径:
mtr google.com
9.ss
解释: ss命令用于显示和分析套接字(网络连接)。它比netstat更快速和高效。
本地地址 服务器 用应用程序 正在监听的地址和端口
远程地址 连接到你的服务器 的地址和端口
状态 连接状态 监听 已链接
进程信息 进程
常见用法:
ss -tuln
实战案例:
显示TCP和UDP连接:
ss -tuln
查看特定端口的连接:
ss -tuln sport = :80
10.telnet
解释: telnet命令用于与远程主机建立文本模式的通信连接,常用于远程登录和测试端口。
常见用法:
telnet <hostname_or_IP> <port>
实战案例:
连接到远程主机的某个端口(例如:连接到80端口):
telnet google.com 80
11.nslookup
解释: nslookup命令用于查询域名系统(DNS)记录。
常见用法:
nslookup <hostname_or_IP>
实战案例:
查询域名的IP地址:
nslookup google.com
12.dig
解释: dig命令也是一个DNS查询工具,比nslookup更强大,提供更多的功能和选项。
常见用法:
dig <hostname_or_IP>
实战案例:
查询某个域名的A记录:
dig google.com A
13.route
解释: route命令用于查看和配置网络路由表(过时,推荐使用ip route)。
常见用法:
route -n
实战案例:
查看当前路由表:
route -n
14.lsof
解释: lsof命令用于列出当前系统中打开的所有文件及其相关信息。它可以显示哪些进程正在使用特定的文件。
常见用法:
lsof
实战案例:
查看哪个进程在使用某个文件:
lsof /path/to/file
查看当前系统中所有打开的网络连接:
lsof -i
15.uname
解释: uname命令用于显示系统信息,如内核版本、操作系统类型等。
常见用法:
uname -a
实战案例:
查看操作系统信息:
uname -a
注解: 操作系统内核:Linux 主机名:localhost.localdomain 内核版本:3.10.0-1160.el7.x86_64 属于 CentOS/RHEL 7 系列(el7) 支持多核(SMP) 内核编译时间:2021-06-22 CPU 架构:64 位(x86_64) 操作系统:GNU/Linux
16.uptime
解释: uptime命令用于查看系统的运行时间及当前的负载情况。
常见用法:
uptime
实战案例:
查看系统的运行时间和负载情况:
uptime
总结
本文系统性地介绍了 Linux 系统中两大类常用命令:日常命令和网络命令。
在日常命令部分,我们学习了:
- 时间与日历管理:date 和 cal 命令用于查看和设置系统时间、日历。
- 历史命令操作:history 命令帮助快速查找和执行过往命令。
- 文件传输与同步:scp 和 rsync 实现了安全、高效的文件复制与同步。
- 远程连接与后台运行:ssh 提供安全的远程登录,nohup 确保进程在终端关闭后持续运行。
- 系统控制:reboot 和 shutdown 用于系统重启与关机。
- 内存监控:free 命令是系统管理的重中之重,它能全面展示物理内存、交换空间的使用情况,并通过多种选项(-h, -m, -t, -s)满足不同监控需求,是诊断内存问题的核心工具。
在网络命令部分,我们掌握了:
- 网络连通性测试:ping、traceroute、mtr 用于检测网络可达性和路径追踪。
- 网络配置与查看:ip addr、ip link、ip route、ifconfig(传统)用于管理网络接口、IP地址和路由表。
- 连接与端口分析:netstat 和更高效的 ss 命令用于查看网络连接、监听端口及进程信息。
- 远程登录与端口测试:telnet 可用于简单的远程登录或端口连通性测试。
- DNS 查询:nslookup 和 dig 用于解析域名信息。
- 系统与进程信息:route(传统)、lsof、uname、uptime 分别用于查看路由、打开的文件、系统内核信息及运行时间负载。
掌握这些命令是高效使用和管理 Linux 系统的基础。建议读者结合实际环境多加练习,将理论转化为实践能力,从而提升系统运维和问题排查的效率。















































1221

被折叠的 条评论
为什么被折叠?



