企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# 练习 30:打磨、洗练、重复:总复习 > 原文:[Exercise 30. Lather, Rinse, Repeat: The Grand Rote Learning](https://archive.fo/RCaku) > 译者:[飞龙](https://github.com/wizardforcel) > 协议:[CC BY-NC-SA 4.0](http://creativecommons.org/licenses/by-nc-sa/4.0/) > 自豪地采用[谷歌翻译](https://translate.google.cn/) 本指南中的信息量相当大。没有足够长的练习和一些深入研究,你不能记住它。所以剩下的唯一的工作就是填写这张表,每天都把这张表打印在你的记忆中,直到你知道了它。 你可能想问,为什么需要记住所有这些东西,如果你可以随时查看的话。那么简短的答案是因为你不能。这意味着为了高效地查找事物,你需要知道要寻找什么,并且为了知道要寻找什么,你需要一个坚实的基础。一旦你有了这个基础,一旦你明白什么是重要的,什么不是,以及系统的组织方式,你将能够高效寻找东西。 你可能会想知道,为什么在我的指南中有很多详细的表格,其中包含许多字段的列表,其中包含几乎不需要的信息。你必须明白的是,你应该以这种方式训练自己,来查看任何控制台程序。你应该熟悉这个信息,而不像是一本科幻小说那样,其中你可能不会注意细节,但仍然很了解它。你应该将所有这些数据看做数学公式,其中每个符号都有其意义,甚至更多,如果你不明白特定的符号意味着什么,你将无法走地更远。 有时完全可以留下一些未解释的东西,但让自己变得更深入,即使经常是这样。通过研究这个特定的工具,了解它告诉你什么以及为什么,给自己一个礼物。如果你这样做,如果你会深入内部,你对操作系统的理解(在我们这种情况下是 Linux)将会极大增加。 ## 文档 ### `man`, `info` | 命令或概念 | 含义 | | --- | --- | | `man` | | | `info` | | | `man 1` | | | `man 2` | | | `man 3` | | | `man 4` | | | `man 5` | | | `man 6` | | | `man 7` | | | `man 8` | | | `man 9` | | | `man -k` | | | `man -wK` | | | **粗体** | | | | *斜体* | | | | `[]` | | | `-a&#x7c;-b` | | | `argument ...` | | | `[expression] ...` | | ### Google 和实用资源 | 搜索术语/资源 | 含义 | | --- | --- | | `(a&#x7c;b) c` | | | `site:foo.bar` | | | `"a long query"` | | | <http://en.wikipedia.org> | | | <http://stackexchange.com/> | | | <http://www.cyberciti.biz/> | | | <http://tldp.org/> | | | `programname.site` | | ### 包管理:Debian 包管理工具`aptitude` | 命令或概念 | 含义 | | --- | --- | | `aptitude` | | | `aptitude search` | | | `aptitude install` | | | `dpkg -l` | | | `dpkg -L` | | | 预期操作 | | | 包状态 | | | <http://www.debian.org/distrib/packages> | | ### 系统启动:运行级别, `/etc/init.d`, `rcconf`, `update-rc.d` | 命令或概念 | 含义 | | --- | --- | | `rcconf` | | | `update-rc.d` | | | `sysv-rc-conf` | | | 运行级别 | | | 运行级别 1 | | | 运行级别 2 | | | 运行级别 6 | | ### 进程:处理进程,`ps`,`kill` | 命令或概念 | 含义 | | --- | --- | | `ps` | | | `kill` | | | `ps ax` | | | `ps axue` | | | `ps axue --forest` | | | 信号 | | | `HUP` | | | `TERM` | | | `KILL` | | | 为什么 `KILL -9` 是不好的? | | ### 任务调度:`cron`,`at` | 命令或概念 | 含义 | | --- | --- | | `crontab -l` | | | `crontab -e` | | | `crontab -r` | | | `crontab /foo` | | | `crontab > foo` | | | `* * * * *` | | | `at` | | | `atq` | | | `atq` | | | `atrm` | | | `batch` | | ### 日志, `/var/log`, `rsyslog`, `logger` | 命令或概念 | 含义 | | --- | --- | | `logger` | | `grep -irl` | | `find . -mmin -5` | | `tail -f` | | `logrotate` | | 日志守护程序 | | | 日志级别 | | | 日志轮替 | | ### 文件系统 | 命令或概念 | 含义 | | --- | --- | | 文件系统 | | | 文件 | | | 目录 | | | 索引节点 | | | 块 | | | 挂载 | | | UUID | | | 日志 | | | MBR | | | 分区 | | | 分区表 | | ### 挂载, `mount`, `/etc/fstab` | 命令或概念 | 含义 | | --- | --- | | `parted` | | | `cfdisk` | | | `fdisk` | | | `mount` | | | `umount` | | | `mount -a` | | | `/etc/fstab` | | | `fsck` | | | `blkid` | | ### 创建和修改文件系统,`mkfs`,`tune2fs` | 命令或概念 | 含义 | | --- | --- | | `tune2fs` | | | `mkfs` | | | 块大小 | | | 保留块数量 | | | 最大挂载数量 | | | 检查间隔 | | ### 更改根目录,`chroot` | 命令或概念 | 含义 | | --- | --- | | `chroot` | | | `ldd` | | | 根目录 | | | 更改根目录 | | | 动态库依赖 | | ### 移动数据:`tar`,`dd` | 命令或概念 | 含义 | | --- | --- | | `tar` | | | `dd` | | | `losetup` | | ### 安全权限:`chown`,`chmod` | 命令或概念 | 含义 | | --- | --- | | `chmod` | | | `chown` | | | `umask` | | | 权限 | | | 权限模式 | | | 权限类 | | | Umask 机制 | | ### 网络 | 网络概念 | 含义 | | --- | --- | | OSI 模型 | | | DOD 模型 | | | 通信协议 | | | 以太网 | | | MAC 地址 | | | 以太网广播地址 | | | TCP/IP | | | IP | | | IP 封包 | | | IP 地址 | | | IP 子网 | | | 端口 | | | 网络套接字 | | | 本地套接字地址 | | | 远程套接字地址 | | | 套接字对 | | | 路由 | | | 默认网关 | | | IP 广播地址 | | | ICMP | | | TCP | | | TCP 封包 | | | UDP | | | UDP 封包 | | | 主机名称 | | ### 网络配置, `ifconfig`, `netstat`, `iproute2`, `ss` | 命令或概念 | 含义 | | --- | --- | | `/etc/network/interfaces` | | | `auto` | | | `allow-hotplug` | | | `/etc/hosts` | | | `/etc/hostname` | | | `localhost` | | | 回送接口 | | | 伪接口 | | ### 封包过滤配置,`iptables` | 命令或概念 | 含义 | | --- | --- | | `iptables-save` | | | `iptables` | | | `modprobe` | | | `nc` | | | `tcpdump` | | | `LINKTYPE_LINUX_SLL` | | | 以太网帧头部 | | | IPv4 头部 | | | TCP 段 | | | `netfilter` | | | iptables 表 | | | iptables 链 | | | iptables 目标 | | ### 安全 Shell, `ssh`, `sshd`, `scp` | 命令或概念 | 含义 | | --- | --- | | `ssh` | | | `sshd` | | | `scp` | | | `ssh-keygen` | | | 主机密钥 | | | 证密钥 | | | 数据加密密码 | | | 数据完整性算法 | | | SSH 会话密钥 | | ### 性能:获取性能状态, `uptime`, `free`, `top` | 命令或概念 | 含义 | | --- | --- | | `uptime` | | | `free` | | | `vmstat` | | | `top` | | | CPU 占用 (`us`,`sy`,`id`,`wa`) | | | 内存 (`swpd`, `free`, `buff`, `cache`, `inact`, `active`) | | Slab 分配 | | | 磁盘 (`IOPS`, `read`, `write`) | | | 进程 (`PR`, `NI`, `VIRT`, `RES`, `SHR`, `Status`) | | ### 内核:内核消息,`dmesg` | 命令或概念 | 含义 | | --- | --- | | `dmseg` | | | `/var/log/dmesg` | | | `/var/log/messages` | | | `/var/log/syslog` | | | `/var/log/kern.log` | | | 内核消息缓冲区 | |