Linux 常见内容速查

Linux 常见内容速查

前言

记录日常维护与使用的常见指令.

基础管理

进程

  • ps: 报告当前系统的进程状态
  • pidof: 查找指定名称的进程的进程号ID号
  • pstree: 以树状图的方式展现进程之间的派生关系
  • pstack: 显示每个进程的栈跟踪
  • fuser: 使用文件或文件结构识别进程
  • times: 显示进程累计时间
  • pgrep: 查找进程
  • wait: 等待进程执行完后返回
  • renice: 修改正在运行的进程的调度优先级
  • kill: 发送信号到进程
  • pkill: 按照进程名杀死进程
  • killall: 杀死一组同名进程
  • skill: 发送信号冻结进程
  • nohup: 将程序以忽略挂起信号的方式运行起来
  • trap: 捕捉信号和其他事件并执行命令
  • ipcs: 分析消息队列共享内存和信号量

文件

  • scp: 在本地主机和远程主机之间复制文件
  • rcp: 在两台Linux主机之间进行文件复制
  • cp: 复制文件
  • touch: 创建新的空文件或者更新时间标签
  • mkdir: 创建目录
  • rename: 用字符串替换的方式批量改变文件名
  • mv: 对文件或目录重新命名
  • rm: 删除给定的文件和目录
  • rmdir: 删除空目录
  • basename: 打印目录或者文件的基本名称
  • ln: 创建链接
  • du: 显示每个文件和目录的磁盘使用空间
  • lsof: 显示系统当前已打开的所有文件列表
  • find: 查找文件
  • locate: 查找文件的改进
  • file: 探测给定文件的类型
  • split: 分割任意大小的文件
  • csplit: 将一个大文件分割成小的碎片文件
  • cat: 连接多个文件
  • diff: 比较给定的两个文件的不同

常用工具

  • info: 帮助指令
  • man: 帮助指令
  • type: 显示指定命令的类型
  • alias: 定义或显示别名
  • tar: 归档管理, 包含解压与压缩
  • zip: 解/压缩文件
  • zipinfo: 列出压缩文件信息
  • md5sum: 计算和校验文件报文摘要
  • base64: base64 编码/解码文件或标准输入输出
  • dirs: 目录堆栈
  • dris: 显示和清空目录堆栈中的内容
  • echo: 输出指定的字符串或者变量
  • openssl: 安全套接字层密码库

计算

  • let: 执行算术表达式
  • expr: 输出表达式计算
  • shuf: 产生随机的排列

网络

  • telnet: 登录远程主机和管理(测试ip端口是否连通)
  • ping: 测试主机之间网络的连通性
  • fping: 检测主机是否存在
  • hping3: 测试网络及主机的安全
  • arping: 通过发送ARP协议报文测试网络
  • tracepath: 追踪目的主机经过的路由信息
  • traceroute: 显示数据包到主机间的路径
  • host: 域名查询
  • hostname: 显示和设置系统的主机名
  • hostid: 显示当前主机的十六进制数字标识, 用于软件授权
  • hostnamectl: 查询或更改系统主机名
  • netstat: 网络系统状态信息
  • wget: 文件下载工具
  • curl: URL 规则在命令行下工作的文件传输工具

日期与时间

实用指令

  • date: 查询/手动设置系统日期和时间
  • ntpdate: 使用网络计时协议 (NTP) 设置日期和时间

管理用户和组

实用指令

  • chage: 修改密码时效策略和帐户过期的命令
  • gpasswd: 管理 /etc/group 文件的命令
  • groupadd: 添加组
  • grpck: 验证 /etc/group 文件
  • groupdel: 删除组
  • groupmod: 修改组成员
  • pwck: 验证 /etc/passwd/etc/shadow 文件
  • pwconv: 将标准密码转换为影子密码
  • pwunconv: 将影子密码转换为标准密码
  • useradd: 添加用户
  • userdel: 删除用户
  • usermod: 修改用户
  • newgrp: 暂时更改登陆组

配置文件

  • /etc/group: 包含系统组信息
  • /etc/passwd: 包含系统用户信息
  • /etc/shadow: 包含系统密码和帐户过期信息
  • /etc/login.defs:包含影子密码套件配置
  • /etc/default/useradd: 添加用户指令的默认值

特权提升

实用指令

  • su: 输入密码切换到到 root 用户
  • sudo: 使用 root 权限执行命令

配置文件

  • /etc/pam.d/su: 包含 su 指令的限制, 取消注释 #auth required pam_wheel.so , 将只允许 wheel 组使用该命令
  • /etc/sudoers: 包含允许执行 sudo 指令的用户, 请阅读 /etc/sudoers.d/README 文件
  • /var/log/messages: sudo 指令的日志记录

系统管理

基本信息

  • arch: 显示当前主机的硬件架构类型
  • lscpu: 显示有关CPU架构的信息

资源与监控

实用指令

  • vmstat: 进程、内存、交换、I/O、系统和 CPU 利用率
  • iostat: 监视系统输入输出设备和CPU
  • sar: 系统运行状态统计
  • top: 显示或管理执行中的程序
  • top: 显示或管理执行中的程序
  • iftop: 实时流量监控
  • iotop: 磁盘I/O监视
  • ftptop: 显示 proftpd 服务器的连接状态
  • slabtop: 实时显示内核 slab 内存缓存信息
  • free: 显示内存的使用情况
  • pmap: 报告进程的内存映射关系
  • ipcs: 分析消息队列共享内存和信号量

存储管理

实用指令

  • 交换分区
    • mkswap: 建立和设置SWAP交换分区
    • swapon: 激活Linux系统中交换空间
    • swapoff: 关闭指定的交换空间
  • 磁盘信息
    • df: 显示磁盘的相关信息
    • fdisk: 查看磁盘使用情况和磁盘分区
    • mkfs: 在设备上创建 Linux 文件系统
  • 磁盘修复
    • badblocks: 查找磁盘中损坏的区块
    • fsck: 检查并且试图修复文件系统中的错误
    • e2fsck: 检查第二扩展文件系统的完整性
  • 磁盘配额
    • quotacheck: 检查磁盘的使用空间与限制
    • edquota: 编辑指定用户或工作组磁盘配额
  • 逻辑卷
    • vgdisplay: 显示 LVM 卷组的信息
    • lvcreate: 创建 LVM 卷组
    • lvremove: 删除 LVM 卷组
    • vgcreate: 创建 LVM 卷组
    • vgremove: 用户删除 LVM 卷组
    • pvck: 检测物理卷的 LVM 元数据的一致性
  • 文件挂载
    • showmount: 显示 NFS 服务器加载的信息
    • mount: 挂载 Linux 系统外的文件
    • umount: 卸载已经加载的文件系统
  • 备份
    • dump: 备份ext2或者ext3文件系统, 常用选项包含层级

配置文件

  • /proc/swaps: 存放 swap 空间
  • /etc/fstab: 磁盘配置表, 参考
  • /etc/mtab: 安装或卸载文件系统时, mount 程序都会更新该文件
  • /proc/mounts: 进程虚拟文件系统的一部分, 查看所有已挂载的文件系统的状态

软件包管理

常见包管理器

  • apt-get: Debian Linux 发行版中的 APT 软件包管理工具. /etc/apt/sources.list 为源配置
  • aptitude: Debian Linux 下的软件包管理工具
  • snap: Snap 将应用程序打包包括任何外部依赖项, 并且应用程序在沙盒环境中运行
  • yum: 在 Fedora 和 RedHat 以及 SUSE 中基于 RPM 的软件包管理器. /etc/yum.repos.d/ 下为各种源配置文件
  • dnf: 新一代的 RPM 软件包管理器. 取代了yum, 正式成为 Fedora 22 的包管理器
  • apk: Alpine Linux 下的包管理工具
  • dpkg-deb: Debian Linux 下的软件包管理工具

Ubuntu 常用的为 snapapt.

日志

实用指令

  • logger: 在系统日志中记录相应条目
  • logsave: 将命令的输出信息保存到指定的日志文件
  • logrotate: 系统日志进行轮转、压缩和删除
  • logwatch: 可定制和可插入式的日志监视系统
  • tail: 在屏幕上显示指定文件的末尾若干行, 使用 文件描述符fstat 系统调用, 不可感知文件删除
  • tailf: 在屏幕上显示指定文件的末尾若干行, 使用 文件名stat 系统调用, 可感知文件删除

日志文件

  • /var/log/syslog: 系统日志, 日志守护进程 syslog, 配置 /etc/syslog.conf
  • /var/log/auth.log: 授权日志
  • /var/log/kern.log: 内核日志

脚本

调度

实用指令

  • crontab: 提交和管理用户的需要周期性执行的任务

文件配置

  • /etc/crontab: 系统任务调度的配置
  • /var/spool/cron: 用户任务调度的配置
  • /etc/cron.allow: 所列用户允许使用 crontab 命令
  • /etc/cron.deny: 所列用户不允许使用 crontab 命令

服务

  • /sbin/service crond: crond 服务