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: 监视系统输入输出设备和CPUsar: 系统运行状态统计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 常用的为 snap 和 apt.
日志
实用指令
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 服务