操作过程中,可能会遇到的一些命令

目录

一.日常命令

1.date

2.cal

3.history

4.scp

5.rsync

6.ssh

7.nohup

8.reboot

9.shutdown

10.free命令 优化命令

① 命令功能

② 显示当前内存使用情况

③ 友好方式显示内存

④显示内存以 MB 为单位使用情况

⑤显示内存和交换空间的总和

⑥每 5 秒刷新一次显示内存使用情况

⑦典型应用场景

⑧高级技巧

⑨使用 free 监控系统健康状态

二.Linux 网络命令

1.ping

2.ip addr

4.ip route

5.ifconfig

6.netstat 常用工具

7.traceroute

8.mtr

9.ss

10.telnet

11.nslookup

12.dig

13.route

14.lsof

15.uname

16.uptime


一.日常命令

系统信息与时间管理类命令: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

解释: 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 系统的基础。建议读者结合实际环境多加练习,将理论转化为实践能力,从而提升系统运维和问题排查的效率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值