常用命令第二篇

1.0 常用Linux命令

1.1 ps

  ps命令用于显示当前系统进程信息的命令。它提供了关于系统中运行的进程的详细信息,包括进程 ID、用户、进程状态、CPU 和内存使用情况等。

1.1.1 ps

  默认情况下,ps 会显示当前终端会话中与当前用户相关的进程信息。

ps

  样例输出:

  PID TTY          TIME CMD
  1234 pts/0    00:00:00 bash
  1235 pts/0    00:00:00 ps
  • PID:进程 ID。
  • TTY:进程所属的终端设备。
  • TIME:进程占用 CPU 的累计时间。
  • CMD:进程的命令名称。

1.1.2 ps -aux

  ps -aux,-a 表示显示所有终端上的进程;-u 表示显示详细信息;-x 表示显示没有控制终端的进程。ps -aux 是一种常用的组合,用于显示系统中所有进程的详细信息。

ps -aux

  样例输出:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1 123456  1234 ?        Ss   Mar01   0:01 /sbin/init
user1      123  0.1  0.2 234567  2345 pts/0    S+   Mar01   0:02 /bin/bash
user2      456  0.0  0.1 345678  3456 pts/1    S+   Mar01   0:01 /bin/ps
  • USER:进程所属的用户。
  • %CPU:进程占用的 CPU 使用率。
  • %MEM:进程占用的物理内存使用率。
  • VSZ:进程占用的虚拟内存大小。
  • RSS:进程占用的物理内存大小。
  • TTY:进程所属的终端设备。
  • STAT:进程状态(例如,S 表示睡眠,R 表示运行)。
  • START:进程启动时间。
  • TIME:进程占用 CPU 的累计时间。
  • COMMAND:进程的完整命令行。

1.1.3 ps -u username

  ps -u username,其中username为指定的用户名,用于指定显示某个用户的进程信息。

ps -u username

  样例输出:

  PID TTY          TIME CMD
  1234 pts/0    00:00:00 bash
  1235 pts/0    00:00:00 vim

1.1.4 其他常用方式

  • ps -p PID:显示指定 PID 的进程信息。

1.2 netstat

  netstat是一个功能强大的网络诊断工具,通过不同的选项可以查看网络连接、接口统计信息、路由表等。

1.2.1 netstat -a

  netstat -a,用于显示所有网络连接,包括监听的和已建立的连接。

netstat -a 

  样例输出:

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 192.168.1.100:22        192.168.1.2:56789       ESTABLISHED
udp        0      0 0.0.0.0:5353            0.0.0.0:*                          
udp        0      0 0.0.0.0:68              0.0.0.0:* 
  • Proto:协议类型(如 TCP 或 UDP)。
  • Recv-Q 和 Send-Q:接收和发送队列的大小。
  • Local Address 和 Foreign Address:本地和远程地址及端口。
  • State:连接状态(如 LISTEN、ESTABLISHED 等)。

1.2.2 netstat -t

  netstat -t,用于显示所有 TCP 连接。

netstat -t 

  样例输出:

Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 192.168.1.100:22        192.168.1.2:56789       ESTABLISHED

1.2.3 netstat -u

  netstat -u,用于显示所有 UDP 连接。

netstat -u 

  样例输出:

Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
udp        0      0 0.0.0.0:5353            0.0.0.0:*                          
udp        0      0 0.0.0.0:68              0.0.0.0:*   

1.2.4 其他常用方式

  • netstat -i:用于显示网络接口的统计信息,包括接收和发送的数据包数量、错误等。
  • netstat -r:用于显示系统的路由表。
  • netstat -p:用于显示每个连接对应的进程 ID 和程序名称。需要管理员权限。
      注意:在较新的系统中,netstat 的功能逐渐被 ss 命令替代。例如:
  • netstat -tuln 的功能可以用 ss -tuln 替代。
  • netstat -an 的功能可以用 ss -an 替代。
      ss 命令通常比 netstat 更高效,且输出格式更简洁。

1.3 ip

  ip命令是一个功能强大的网络管理工具,广泛用于显示和配置网络接口、路由表等。

1.3.1 ip addr show

  ip addr show,显示系统中所有网络接口的 IP 地址、子网掩码、MAC 地址等详细信息。

ip addr show

  样例输出:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:11:22:33:44:55 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.130/24 brd 192.168.1.255 scope global dynamic eth0
       valid_lft 86399sec preferred_lft 86399sec
    inet6 fe80::1234:5678:9abc:def0/64 scope link 
       valid_lft forever preferred_lft forever
  • lo:本地回环接口。
  • eth0:以太网接口。
  • inet:IPv4 地址。
  • inet6:IPv6 地址。
  • link/ether:MAC 地址。

1.4 sync

  sync命令是 Linux 系统中用于将内存中的数据同步到磁盘的工具,确保文件系统中的数据与内存中的数据保持一致,从而防止数据丢失。
  使用场景:

  • 系统维护:在执行文件系统操作(如分区调整或格式化)前,运行 sync 确保数据完整性。
  • 设备卸载:在拔出 USB 设备前,使用 sync 确保所有数据已写入。
  • 数据备份:在备份数据时,使用 sync 确保所有修改的数据被写入磁盘。

1.4.1 sync

  sync,将内存中的所有缓存数据强制写入磁盘,确保数据的持久化。

sync

1.4.2 sync file/dirName

  仅同步指定的文件或目录。

sync file1 file2
sync /path/to/directory

1.4.3 sync -f

  sync -f,强制刷新文件系统缓存,将所有缓冲区的数据写入磁盘。

sync -f

1.5 scp

  scp(Secure Copy Protocol)是 Linux 和类 Unix 系统中用于在服务器之间安全地复制文件和目录的命令。它基于 SSH(Secure Shell)协议进行数据传输,因此提供了加密传输和身份验证功能,确保数据在传输过程中的安全性。

1.5.1 本地到远程服务器的文件传输

  命令格式:

scp [源文件路径] [用户名]@[远程服务器地址]:[目标路径]

  功能:将本地文件或目录复制到远程服务器的指定路径。
  示例:

scp /path/to/local/file.txt user@remote.example.com:/path/to/remote/directory/

  这条命令会将本地路径 /path/to/local/file.txt 中的文件 file.txt 上传到远程服务器 remote.example.com 上的 /path/to/remote/directory/ 目录中。

1.5.2 从远程服务器到本地的文件传输

  命令格式:

scp [用户名]@[远程服务器地址]:[源文件路径] [本地目标路径]

  功能:从远程服务器下载文件或目录到本地。
  示例:

scp user@remote.example.com:/path/to/remote/file.txt /path/to/local/directory/

  这条命令会从远程服务器 remote.example.com 上的 /path/to/remote/file.txt 下载文件到本地的 /path/to/local/directory/ 目录中。

1.5.3 远程服务器之间的文件传输

  命令格式:

scp [用户名1]@[远程服务器1地址]:[源文件路径] [用户名2]@[远程服务器2地址]:[目标路径]

  功能:直接在两台远程服务器之间复制文件或目录。
  示例:

scp user1@server1.example.com:/path/to/file.txt user2@server2.example.com:/path/to/destination/

  这条命令会将 server1.example.com 上的 /path/to/file.txt 文件复制到 server2.example.com 的 /path/to/destination/ 目录中。

1.5.4 -r、-C、-P选项

  • -r 选项用于递归复制整个目录。
  • -C 选项启用压缩功能,可以加速传输速度,尤其是在传输大文件或低带宽网络中。
  • -P 选项用于指定远程服务器的 SSH 端口(默认端口为 22)。
posted @   平安顺遂233  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示