读《开源世界旅行手册》

这是一本在线书籍,地址开源世界旅行手册,书的内容很广,补充了笔者的知识系统。这里笔者摘抄部分自己还不熟悉的部分记录下来,方便日后复习

UNIX缩写风格

原文地址

这一章节介绍了UNIX系统里一些命令的缩写规则,一些常用命令选项的含义,帮助笔者理解了一些命令的含义。这里摘抄部分笔者不太熟悉的:

  • 最常见的缩写,取每个单词的首字母
dd	Disk Dump
df	Disk Free
du	Disk Usage
ps	Processes Status
PS	Prompt Strings
su	Substitute User
rc	Run Command
Tcl	Tool Command Language
bg	BackGround
ping	Packet InterNet Grouper
  • 如果某种缩写比较深入人心,例如“mesg”代表“message”,在新的复合缩写中,将沿用这种缩写方式
dmesg	Diagnostic MESsaGe
sed	Stream EDitor
stty	Set TTY
fstab	FileSystem TABle
passwd	PASSWorD

另外还介绍了常用选项的含义,这里不再赘述,命令选项,从a到z

命令系统

命令系统

本章节系统介绍了UNIX/Linux里面的命令系统,包括通配符、任务管理等。笔者摘抄下个人不太熟悉的通配符和任务管理。

通配符

通配符和正则表达式里面的规则不同,这里介绍的是命令系统里面的通配符

  • 使用 ? 代表任意单个字符。例如 ???lo ,表示 lo 前有三个字符,它可以匹配 Hello
  • 使用 * 代表随意几个任意字符。例如 *.iso ,代表所有 iso 格式的文件。

任务管理

  • &,在命令的末尾加上一个 & 符号,表示背景任务,例如:
wget http://www.download.net/xxx/mp3 &
  • ;,使用 ; 将多个命令连结起来,则表示任务按顺序执行
  • &&,使用 && 将多个命令连结起来,则表示只有前面的命令执行成功,后面的命令才能得以执行
  • ``,`(命令)` ,如果一个命令中包含以 `` (Esc键 下方的按键)括起来的子命令,那么子命令将被优先执行,执行结果被代入上一级命令继续执行,例如创建一个以当前时间命名的文件:
touch `date +%m.%d_%H:%M:%S`
  • $(command),和上面的含义类似,区别在于$()不需要转义和支持环境变量
  • Ctrl+z,将当前 Shell 中的任务挂起,这个时候任务的状态为
[1]+  Stopped   xxx	  
  • bg,将挂起的任务背景运行。这时它的状态为
[1]+ xxx &
  • fg,将背景任务调到前台执行
  • jobs,查看背景任务,方括号中的数字为命令的任务编号

启动流程

这个很经典,也很重要,直接放地址:启动流程

配置文件

这本书中详细介绍了各个服务的配置文件,部分细节会因操作系统不同而异。

  • 系统初始化
    • /etc/inittab 运行级别、控制台数量

      -/etc/timezone 时区
    • /etc/inetd.conf 超级进程
  • 文件系统
    • /etc/fstab 开机时挂载的文件系统
    • /etc/mtab 当前挂载的文件系统
  • 用户系统
    • /etc/passwd 用户信息
    • /etc/shadow 用户密码
    • /etc/group 群组信息
    • /etc/gshadow 群组密码
    • /etc/sudoers Sudoer 列表1
  • Shell
    • /etc/shell 可用 Shell 列表
    • /etc/inputrc ReadLine 控件设定
    • /etc/profile 用户首选项
    • /etc/bash.bashrc bash 配置文件
  • 系统环境
    • /etc/environment 环境变量
    • /etc/updatedb.conf 文件检索数据库配置信息
    • /etc/issue 发行信息
    • /etc/issue.net
    • /etc/screenrc 屏幕设定
  • 网络
    • /etc/iftab 网卡 MAC地址绑定
    • /etc/hosts 主机列表
    • /etc/hostname 主机名
    • /etc/resolv.conf 域名解析服务器地址
    • /etc/network/interfaces 网卡配置文件

核心工具集

介绍UNIX/Linux上常用的命令,不详细介绍,给出地址核心工具集,方便查阅。

国际化

国际化是个人掌握不太熟的部分。

Linux中,通过定义一系列环境变量来设置程序的语言环境,这种机制称为local(本地化)

locale变量

很多,自己查看原文

locale值

locale 变量的值有三个要素:

  • 语言代码 (Language Code)
  • 地域代码 (Country Code)
  • 字符集(Encoding)
语言代码[_地域代码[.字符集]]

例如:

语言/国家代码	描述
en_US.ISO-8859-1	美国英语
en_US.UTF-8
zh_CN.UTF-8	简体中文
zh_TW.UTF-8	繁体中文

字符集

涉及到编码系统,另做介绍

重点

内核

书籍剩下部分个人相对熟悉,没有列出来。

comments powered by Disqus