设为首页 收藏本站
查看: 356|回复: 0

[经验分享] 《Unix & Linux 大学教程》

[复制链接]

尚未签到

发表于 2016-3-8 08:39:43 | 显示全部楼层 |阅读模式


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

 
阅读之前,请务必花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://su1216.iyunv.com/
  http://blog.csdn.net/su1216/

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-187828-1-1.html 上篇帖子: Linux嵌入式实时操作系统开发与设计(三) 下篇帖子: 《Unix & Linux 大学教程》
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表