Linux_系统维护命令

  1. scp 跨服务器文件复制(两台 Linux 机器传输文件)
    🌰 环境示例机器 A:192.168.80.128;机器 B:192.168.80.129
  • 把本机文件推送到另一台机器
    #本机aa.txt发送到129机器/home目录
    scp ./aa.txt root@192.168.80.129:/home
    
  • 把远程机器文件拉取到本机
    #把129机器/home/bb.txt下载到本机/home目录
    scp root@192.168.80.129:/home/bb.txt /home
    

    如果传文件夹,加参数 -r:scp -r 文件夹 root@ip:/目标路径

  1. df 磁盘查看
df       #按KB显示磁盘
df -h    #人类可读单位GB MB显示磁盘(最常用)

字段解释:

  • Filesystem:磁盘分区设备
  • 1K-blocks:说明下面的数字单位是1KB,可利用-h或-m来改变单位大小,也可以用-B来设置。
  • Used:已经使用的空间大小。
  • Available:剩余的空间大小。
  • Use%:磁盘使用率。
  • Mounted on:磁盘挂载的目录,即该磁盘挂载到了哪个目录下面。

磁盘使用率超过 90% 要警惕,磁盘满会导致程序报错。

  1. top 动态查看系统进程(动态刷新)
  • top
  • top -d 3 #设置3秒刷新一次
  • 第一行【top - 03:25:40 up 57 min, 3 users, load average: 0.00, 0.01, 0.00】
    • 03:25:40:当前系统时间
    • 57 min:系统已经运行时间(在这期间没有重启过)
    • 3 users:当前有3个用户登录系统
    • load average: 0.00, 0.01, 0.00:load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。
  • 第二行【Tasks: 136 total, 1 running, 135 sleeping, 0 stopped, 0 zombie】:任务(进程)共有136个进程,运行中的有1个,135个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。
  • 第三行【Cpu(s): 0.0%us, 0.4%sy, 0.0%ni, 99.6%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st】:cpu状态
    • 0.0%us:用户空间占用CPU的百分比。
    • 0.4%sy: 内核空间占用CPU的百分比。
    • `改变过优先级的进程占用CPU的百分比
    • 99.6%id:空闲CPU百分比
    • 0.0% wa:IO等待占用CPU的百分比
    • 0.0%hi:硬中断(Hardware IRQ)占用CPU的百分比
    • 0.0%si: 软中断(Software Interrupts)占用CPU的百分比
  • 第四行【Mem: 1030464k total, 995036k used, 35428k free, 28088k buffers】:内存状态
    • 1030464k total:物理内存总量
    • 995036k used:使用中的内存总量
    • 35428k free: 空闲内存总量
    • 28088k buffers: 缓存的内存量
  • 第五行【Swap: 1048568k total, 0k used, 1048568k free, 768460k cached】:swap交换分区
    • total:交换区总量
    • used:使用的交换区总量
    • free:空闲交换区总量
    • cached:缓冲的交换区总量
  • 第六行:空行
  • 第七行以下:各进程(任务)的状态监控
    • PID:进程id
    • USER:进程所有者
    • PR:进程优先级
    • NI:nice值。负值表示高优先级,正值表示低优先级
    • VIRT:进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
    • RES:进程使用的、未被换出的物理内存大小,单位kb。
    • RES=CODE+DATA
    • SHR:共享内存大小,单位kb
    • S:进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
    • %CPU:上次更新到现在的CPU时间占用百分比
    • %MEM:进程使用的物理内存百分比
    • TIME+:进程使用的CPU时间总计,单位1/100秒
    • COMMAND:进程名称(命令名/命令行)
    • 退出:crtl+z|c
  • 设置间隔时间查看动态进程:top -d 秒数

重点看:

  • load average:1 分钟、5 分钟、15 分钟系统负载;负载高代表 CPU 压力大
  • % id:空闲 CPU,id 越低 CPU 越忙
  • PID 进程 ID;% CPU 进程占用 CPU;% MEM 占用内存;COMMAND 进程名字
  • S 进程状态:R 运行,S 休眠,Z 僵尸进程
  1. free 查看内存
  • Men:内存的使用情况
  • Swap:交换空间的使用情况;硬盘虚拟内存,大量使用 swap 代表物理内存不足。
  • total:总内存
  • used:已经使用的内存
  • free:空闲
  • shared:共享内存(主要被tmpfs使用的内存)
  • buff/cache:buff和cache的和
  • available:启动新进程时可用的内存
  1. ps 进程查看
  • 查看所有用户的进程:ps -aux
    • USER:该进程属于那个使用者账号。
    • PID:该进程的进程ID号。
    • %CPU:该进程使用掉的 CPU 资源百分比;
    • %MEM:该进程所占用的物理内存百分比;
    • VSZ:该进程使用掉的虚拟内存量 (Kbytes)
    • RSS:该进程占用的固定的内存量 (Kbytes)
    • TTY:该进程是在那个终端机上面运作,若与终端机无关,则显示 ?。另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。
    • STAT:该程序目前的状态,主要的状态有:
      • R :该程序目前正在运作,或者是可被运作;
      • S :该程序目前正在睡眠当中,但可被某些讯号(signal) 唤醒。
      • T :该程序目前正在侦测或者是停止了;
      • Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态
    • START:该进程被触发启动的时间;
    • TIME:该进程实际使用 CPU 运作的时间。
    • COMMAND:该程序的实际指令。
  • 查看某个服务的进程:ps -ef|grep 服务进程
  1. kill 杀死进程
  • kill -9 进程PID #强制杀死进程,慎用,直接杀掉不做资源释放
  • 尽量优先 kill PID;kill‑9 是强制暴力杀掉,容易丢数据。
  1. 其他常用小命令
  • 查看当前在线用户:who

  • 查看当前操作用户:whoami

  • 查看端口是否被占用:lsof -i:端口号

  • 查看主机名称:hostname

  • 查看内核系统位数:getconf LONG_BIT【32/64位】

  • 查看当前目录的大小:du -sh

  • 查看某个文档/目录的大小:du -sh 文档/目录
  • 查看历史记录【输入的命令记录】:history
  • 清除命令:history -c
  • 设置别名:alias 简写名称=全称
  • 取消别名:unalias 别名
  • 显示多少行,详细信息也显示:nl 文档名

  • 查看所有开启的端口:netstat -nltp

  • 查看端口是否被占用:netstat -nltp|grep 端口号
  1. ln 链接:软链接 & 硬链接

inode:Linux 文件的索引编号,文件真正的身份编号。

✅软链接(符号链接≈Windows 快捷方式) ln -s 源文件 新文件

  • 源文件和软链接 inode 号不一样;

  • 删除源文件,软链接失效;

  • 可以对文件夹做软链接。

  • 查看inode号一致:ls -i 文档名

✅硬链接 ln 源文件 新文件

  • 多个文件名对应同一个 inode;源文件、硬链接 inode 号完全一样;
  • 删除其中一个文件名,真实数据还在,只要还有硬链接,文件就不会丢;
  • 不能给目录创建硬链接,只能文件。

查看 inode 编号:

ls -i aa.txt

区分记忆:ln -s →软链接;不带‑s 就是硬链接。

硬链接

  1. 多个文件名指向同一个 inode 节点,共享磁盘数据
  2. 只能针对文件,不支持目录
  3. 不能跨分区、跨文件系统
  4. 删除源文件,只是删除一个文件名,数据还在,所有硬链接依旧可用;全部链接删除,数据才真正释放
  5. ls -l看到链接计数会 + 1,文件类型-普通文件

软链接(符号链接)

  1. 相当于 Windows 快捷方式,独立文件,保存源文件路径
  2. 支持文件、也支持目录
  3. 可以跨分区、跨文件系统
  4. 源文件删除 / 移动,软链接直接失效(悬空链接,ls 显示红色)
  5. 文件类型l,权限是链接本身权限,不起实际控制作用,真正权限看源文件
  6. 创建建议尽量用绝对路径,移动软链接文件不容易失效

注意:

  1. 删除目录软链接:rm -rf link_dir,千万不要加斜杠 rm -rf link_dir/,会把原目录内部全部删掉!
  2. 相对路径创建软链接,移动链接位置就会失效,优先绝对路径。

硬链接是同一个文件多个名字,inode 相同,不能链接目录,不能跨分区,删源文件链接还能用;
软链接类似快捷方式,独立 inode,可以链接目录、跨分区,源文件删掉软链接就失效。

  1. 扩展
  • 管道符|:把前一个命令输出交给后一个命令处理,如ps -aux | grep java,过滤 java 进程。
  • grep:文本过滤,grep "关键词" 文件,在文件中找包含关键词行。
  • 权限概念:root 超级用户几乎不受权限限制;普通用户很多目录读写受限。
  • Ctrl+C:中断正在执行的命令;Ctrl+Z 放到后台(初学者不建议用,容易遗留进程)。
  • 通配符*:代表任意字符,rm *.txt删除所有 txt 文件。
posted @ 2026-08-31 14:28  一只鹿吖  阅读(15)  评论(0)    收藏  举报