Linux: 常见工具、命令使用集锦

文章目录

  • 1. 前言
  • 2. Linux 命令和工具
    • 2.1 查询进程信息
    • 2.2 内存工具
    • 2.3 CPU 工具
    • 2.4 磁盘工具
    • 2.5 虚拟化相关工具
    • 2.6 ELF 工具
    • 2.7 系统信息查询
    • 2.8 其它
  • 3. 后记

1. 前言

限于作者能力水平,本文可能存在谬误,因此而给读者带来的损失,作者不做任何承诺。

2. Linux 命令和工具

2.1 查询进程信息

# 查询进程命名空间信息
ps -e -o pidns,pid,args
lsns

# 查看系统进程信息
ps -ef
top

2.2 内存工具

sudo dmidecode -t memory | grep Speed # 查询 DDR 速度
sudo lshw -short -C memory
pcstat # 查看文件 page cache 状态,https://github.com/tobert/pcstat

2.3 CPU 工具

lscpu
/proc/cpuinfo
/sys/devices/system/cpu/*

2.4 磁盘工具

fdisk # 查询、格式华磁盘等
gparted # 磁盘扩容等
df # 磁盘已用、剩余容量
du # 查看目录树、文件占用磁盘容量
lsblk # 磁盘块信息
iostat # io 行为观测
iotop # io 行为观测
losetup # loop device 工具
......

2.5 虚拟化相关工具

# 查看系统是否运行在 虚拟机下: lscpu, systemd-detect-virt
# . lscpu 是来自于 util-linux 工具的程序,通过 CPUID 指令来获取的信息来判定系统是否运行于虚拟机下;
# . systemd-detect-virt 来自于 systemd 包的一个程序,具体实现没探究过。
$ lscpu
Architecture:            x86_64
...
Virtualization features:
  Hypervisor vendor:     KVM
  Virtualization type:   full
...
$ systemd-detect-virt
none
$ systemd-detect-virt
kvm
$ systemd-detect-virt
vmware
# 通过查看系统首号进程(PID=1)的 cgroup 属性节点,查看系统是否运行于容器环境
$ cat /proc/1/cgroup

2.6 ELF 工具

readelf
objdump
nm
patchelf
......

2.7 系统信息查询

uname
/proc/version
/proc/version_signature
/proc/sys/kernel/version
/proc/sys/kernel/osrelease
/proc/sys/kernel/ostype
/proc/sys/kernel/bootloader_type
/proc/sys/kernel/bootloader_version

2.8 其它

# screen 是一个窗口管理程序,可以用来分离 终端 和 运行程序, screen 典型应用场景之一是 ssh 远程登录编译。
# 在我们使用 ssh 登录到远程服务器,编译耗时长的大的工程时(如编译 android 系统),中间可能出现登录终端电脑
# 和 服务器短线的情况,由于我们发起的编译命令隶属于 ssh 登录的 session,当登录终端断开,隶属于该登录 session
# 的进程都将随之退出,我们的编译工作也就被中断了,此时我们可以通过 screen 将我们的编译命令放到服务器电脑的后台
# 运行,这样我们在需要时直接退出 ssh 登录中断,编译工作也不会受到影响,再次 ssh 登录再切入到服务器电脑后台看看
# 编译工作是否完成。使用 ssh 远程登录服务器后:
$ screen -S test # 首次,我们创建一个服务器后台窗口,会进入到这个后台窗口
$ make # 在 服务器后台窗口 执行耗时的编译命令,接着按 Ctrl + A,D 退出后台窗口,最后 断开 ssh 连接,然后再次登录
$ screen -ls # 查看现有的服务器后台窗口, 3282678 为后台窗口程序的 PID
There is a screen on:
        3282678.test     (12/23/2023 03:38:02 PM)        (Detached)
$ screen -r 3282678 # 切回服务器后台窗口
$ kill 3282678 # 即使服务器后台窗口的命令执行完毕,后台窗口一直存在,不需要的时候用 kill 移除它

3. 后记

本着积少成多、集腋成裘的想法,着力将本文打造成一篇 Linux 用户常见命令的常见用法快捷参考,将持续更新。

你可能感兴趣的:(工具,linux,工具)