《Unix & Linux 大学教程》 - 第九、十章 学习笔记

jiangxinyu 2012-08-07

学习笔记,内容基础,适合初学者。

阅读之前,请务必花30秒查看前言说明(在第一、二章前面部分)

《Unix & Linux 大学教程》 - 第一、二章 学习笔记    Unix简介 & 什么是Linux?什么是Unix

《Unix & Linux 大学教程》 - 第三、四章 学习笔记    Unix连接 & 开始使用Unix

《Unix & Linux 大学教程》 - 第五、六章 学习笔记    GUI:图形用户界面 & Unix工作环境

《Unix & Linux 大学教程》 - 第七、八章 学习笔记    Unix键盘使用 & 能够立即使用的程序

《Unix & Linux 大学教程》 - 第九、十章 学习笔记    文档资料:Unix手册与Info & 命令语法

《Unix & Linux 大学教程》 - 第十一、十二章 学习笔记    shell & 使用shell:变量和选项

《Unix & Linux 大学教程》 - 第十三章 学习笔记    使用shell:命令和定制

《Unix & Linux 大学教程》 - 第十四、十五章 学习笔记     使用shell:初始化文件

《Unix & Linux 大学教程》 - 第十六、十七章 学习笔记    过滤器:简介和基本操作
《Unix & Linux 大学教程》 - 第十八章 学习笔记    过滤器:统计和格式化
《Unix & Linux 大学教程》 - 第十九章(一) 学习笔记    过滤器:选取、排序、组合及变换
《Unix & Linux 大学教程》 - 第十九章(二)、第二十章 学习笔记  过滤器:选取、排序、组合及变换 正则表达式

《Unix & Linux 大学教程》 - 第二十一章 学习笔记  显示文件

《Unix & Linux 大学教程》 - 第二十二章(一) 学习笔记  vi文本编辑器(一)

《Unix & Linux 大学教程》 - 第二十二章(二) 学习笔记  vi文本编辑器 (二)

《Unix & Linux 大学教程》 - 第二十二章(三) 学习笔记  vi文本编辑器 (三)

《Unix & Linux 大学教程》 - 第二十三章 学习笔记  Unix文件系统

《Unix & Linux 大学教程》 - 第二十四章 学习笔记  目录操作

《Unix & Linux 大学教程》 - 第二十五章 学习笔记  文件操作

《Unix & Linux 大学教程》 - 第二十六章(一) 学习笔记  进程和作业控制

《Unix & Linux 大学教程》 - 第二十六章(二) 学习笔记  进程和作业控制

《Unix & Linux 大学教程》 - 附录F 时区与24小时制时间

第九章:Unix手册与Info
基础知识
命令/程序
Unix手册:分为8节,分别为:
1命令、2系统调用、3库函数、4特殊文件、5文件格式、6有戏、7杂项、8系统管理
每一节又分很多小节。比如在一些linux系统上,第三节有一下一些小节:
3c:标准C函数、3f:Fortran函数、3m:数学函数、3s:标准I/O函数、3x:特殊函数。
man (+命令):查看此命令文档。阅读文档时想执行命令,可以使用“!”,比如查看日期,那么可以输入“!date”,然后回车。
-u, --utc, --universal
              print or set Coordinated Universal Time
       --help display this help and exit
       --version
              output version information and exit
       FORMAT controls the output.  Interpreted sequences are:
       %%     a literal %
!date --utc
执行结果如下
$ man date
2012年 08月 07日 星期二 02:25:20 UTC
!done  (press RETURN)
之后按下return回返回到date的文档中。
Bang字符:即上面提到的叹号。
man中也可以指定节号,比如:
man 2 kill 3f kill
每节和其中小节都包含一个intro的页面,充当简介。
man intro
man 1 intro
man 1c intro
说明书页的引用方式:手册中经常出现命令后面跟着圆括号括起来的数字。比如:
man git 写道
See gittutorial(7) to get started, then see Everyday Git[1] for a useful minimum set of commands, and "man git-commandname" for documentation of each command. CVS users may also want to read gitcvs-migration(7). See the Git User’s Manual[2] for a more in-depth introduction.
 See gittutorial(7)的意思是参看gittutorial的第七节说明。man 7 gittutorial即可。
说明书页的格式:
标题含义
Name命令的名称和用途(摘要)
Synopsis命令语法(摘要)
Description完整描述
Environment命令使用的环境变量
Author作者
Files对该命令重要的文件列表
See also查看相关的信息的位置
Diagnostics可能的错误和警告
Bugs错误、缺点、警告
Environment:根据上下文的不同,这些变量还有其他几个不同的名称:环境变量
全局变量或者shell变量。根据约定,环境变量和全局变量的名称完全由大写字母构成。(这里书中说到“这些变量还有其他几个不同的名称”,我觉得正常应该理解为他们是同一种变量,只是叫法不一样了,但是后面又说“环境变量和全局变量的名称”,似乎说他们不是同一种类型的变量,并且只提到了两个名称没有提到第三个,作为初学者的我极其迷惑。。。希望后面章节中能解释清楚)
Diagnostics:包含两种信息:对可能的错误消息进行解释;命令结束时返回的错误代码。
man也可以只查看手册中的NAME,比如:
$ whatis date time
date (1)             - print or set the system date and time
time (7)             - overview of time and timers
time (2)             - get time in seconds
time (1)             - run programs and summarize system resource usage
显示了date和time的NAME内容,括号为所在小节。
此命令等同于
man -f date time
搜索命令:apropos(s不发音)
如果知道自己要做什么,但是不知道命令,那么man也提供搜索功能,可以在MANE中搜索。
man -k(keyword) +关键字:搜索带有关键字的NAME
$ man -k copy
AuSoundCreateDataFromBucket (3nas) - copy the data from a bucket into local memory.
AuSoundCreateFileFromBucket (3nas) - copy the data from a bucket into a file.
bcopy (3)            - copy byte sequence
bf_copy (1)          - shell script to copy a bogofilter working directory
bf_copy-bdb (1)      - shell script to copy a bogofilter working directory
copysign (3)         - copy sign of a number
copysignf (3)        - copy sign of a number
copysignl (3)        - copy sign of a number
copywin (3ncurses)   - overlay and manipulate overlapped curses windows
cp (1)               - copy files and directories
……
等同
apropos copy
xman:man的备选方案。(x暗含该程序基于GUI的X-Window编写),ctrl+s为搜索。(个人觉得很难用。。。)
whatis:等同于man -f
命令后的&:例如xman&,告诉shell将程序启动为后台运行。
大多数命令就是程序,但是也有一些最基本的命令由shell本身来执行,这些命令称为内置命令,这些命令记录在shell的说明说中,手册中没有单独条目。
3个分屏显示程序:
less、more(搜索默认不是正则模式)、pg
下面是他们通用的命令
通用命令
q退出
h显示帮助信息
阅读说明书页
space显示下一屏
pagedown显示下一屏
f(forward)显示下一屏
pageup显示上一屏
b(backward)显示上一屏
搜索
/pattern向下搜索特定的模式
?pattern向上搜索特定的模式
/向下搜索上一个模式
n(next)向下搜索上一个模式
?向上搜索上一个模式
N(next)向上搜索上一个模式
在说明书页中移动
return向下移一行
down向下移一行
up向上移一行
g(go to top)移到页的顶部

G(go to bottom)

移到页的底部
Info系统:独立于Unix手册,用来记录GNU实用工具,许多Linux说明书页指向Info。Info文件需要用Info程序打开。
Info不仅包含信息,还包含连接到其他文件的链接。
查看Info有很多命令可以用,比联机手册多的多。
Info是Textinfo的一部分,有时也称Info为Textinfo
书中介绍了一些树的知识,由于我是数学专业的,所以这部分就略过了
有兴趣的同学最好看看图论,而不是拿本离散数学。
Info的数据结构为树。需要掌握:
1.使用info启动Info
2.为了阅读整个文件,从一个节点跳到下一个节点
3.使用链接从一个文件跳到另一个文件
链接的格式:“*”开始,然后是主题名,后面跟着冒号“:”,然后是简短描述
info (+命令):查看此命令的信息。不加参数,则显示目录节点(Directory Node)
通用命令
q退出
h启动帮助向导
?显示命令摘要列表
阅读节点
PageDown显示下一屏
Space显示下一屏
Space(在节点底部)跳转到下一个节点
PageUp显示上一屏
Backspace显示上一屏
Delete显示上一屏
Backspace(在节点顶部)跳转到上一个节点
Delete(在节点顶部)跳转到上一个节点
在节点中移动
b跳转到当前节点的开头
Up将光标向上移动一行
Down将光标向下移动一行
Right将光标向右移动一个位置
Left将光标向左移动一个位置
在同一个文件中从一个节点跳转到另一个节点
n跳到同一个文件中的下一个节点
p跳到同一个文件中的上一个节点
t跳到顶节点(Top Node,文件中的第一个节点)
从一个文件跳到另一个文件
Tab将光标移动到下一个链接上
M-Tab将光标移动到上一个链接上
Retun到达链接指向的新节点或者文件
l(字母L)跳转到上一个(刚才浏览的)节点
d跳转到目录节点(主菜单)
M-x表示法:M-代表Meta键,Meta键是Emacs中重要概念,通过如下两种方式使用
1.<ALT-X>(同时按下)
2.<ESC> <X>(分别按下)
名次解释
RTFM(Read the fucking manual):动词,表示需要信息或解决问题时,在请求他人帮助之前,应该花一些时间尝试自己去寻找所需要的东西。委婉的解释:Read the fine manual。
foo、bar、foobar:表示讨论或讲解中没有命名的项。
foobar:取自FUBAR(fouled/fuck up beyond all recognition,搞的一团糟而无法识别)。
第十章:命令语法
基础知识:
一次输入多条命令:用分号隔开,结尾分号可省略
命令语法(command syntax):Unix命令语法可以表示为:键入命令的名称,后面是选项(option)(也称开关Switches或标志Flags),再后面是参数(arguments)
$  ls -l -F email\ Notes.txt 
-rw-r--r-- 1 su1216 su1216 6432 2012-03-29 13:18 email Notes.txt
$ ls -lF email\ Notes.txt 
-rw-r--r-- 1 su1216 su1216 6432 2012-03-29 13:18 email Notes.txt
上面的例子中,l和F是ls的两个选项,选项区分大小写。他们可以分别写,也可以放到一起。(“-”读作dash)
短选项“-”和长选项“--”
短选项输入方便,长选项方便记忆,例如:ls -r与ls -reverse等价
两个长选项需要记住:--help和--version
如果写成-help,则解析为-h -e -l -p
空白符(whitespace)
在命令行中,空白符是指一个或多个连续的空格或者(对于一些shell来说)制表符。其他情形中, 空白符是指一个或多个连续的空格、制表符或者新行字符。
命令的每个部分之间必须至少有一个空格或者制表符,Unix命令的名称中没有空格。
命令的形式描述:语法
Unix中,命令语法遵循7条规则,其中前5条是最基本的规则。
1.方括号中的项是可选的
2.不在方括号中的项是必选项
3.黑体字必须按原样准确键入
4.斜体字必须用适当的值代替(不显示斜体字的系统上通常用下划线代替)
5.后面接省略号(…)的参数可以重复任意次
6.如果一个单独的选项和一个参数组合在一起,那么该选项和参数必须同时使用
7.右|(竖线)字符分开的两个或多个项,表示可以从这个列表中选择一个项
passwd (+用户标识):修改此用户标识的口令
前十章到此结束,希望作者不要再大量传授历史知识了,不然这真就变成了一本历史书了!

转贴请保留以下链接

本人blog地址

http://blog.csdn.net/su1216/

相关推荐