第二节——linux 初识 本文共有58807个字,关键词: 对于linux操作系统,怎么说呢?起初我并没有拿来感谢什么的想法,就是一个劲儿的死磕,从兄弟连的一百多集的教程到linux高级运维教程,再到铭哥linux,以及shell相关的课程,当然,还有马哥的详细的教程,除了马哥的教程,其余的都是在腾讯课堂上完成的,嗯,再次感谢腾讯课堂、网易云课堂、MOCC等教育类APP,给了我一个学习的机会,我没能在一个梦想中的大学里系统的学习计算机课程,是我的一大遗憾,没能迅速的把握住方向,是对兴趣爱好的渎职。嗯,这是我第五遍的学习linux操作系统,到目前为止我没有过多的仔细的取尝试假设大的服务,我不知道我为什么和这些基础杠上了,似乎冥冥中有那么一股力量指引着我一遍一遍不厌其烦的学习,记录下详细的笔记,虽然我们能很好的整理笔记。其实我写这些笔记的原因是我了方便自己查阅,当然我更希望看到是的一种可以量化的、看得见的积累,我选择了博客,有些过时的东西,但是对于我来说,足够了。我不是那么一个喜欢花里胡哨的人,但是我又不能接受没有章法的简单。简约风格,比花里胡哨更加需要创造力的一种风格,好像占据了我的审美。好吧,闲聊到此为止,开始说一说,我还不知道能拿来干些什么的linux操作系统。 开始记录之前,得声明一下,安装linux的过程就不放了,原因在第一节里面讲过了,就不再赘述,直接开始正文,也就是linux下经典的黑底白字界面,字符界面。 当我们进入linux字符界面,并成功登录的时候,会看见首部有一长串的字符,使用中括号括起来的‘[root@localhost ~]#’的字样,我们将这个称之为命令提示符。 # 表示为管理员 $ 表示为普通用户 在linux中管理员是无所不能的,甚至可以直接干掉(删除)操作系统,当然,我并不建议这样做。 命令提示符是拿来干甚的?肯定不是让咱们傻傻的看着的,既然是命令提示符,肯定就有命令。是的,在字符界面下,所有的操作都是依靠命令来完成的,命令的格式如下: COMMAND(命令名称) [options...](选项) [arguments...](参数) 命令:由英文字母组成,大多是英文的缩写,所以命令是需要记住的。 选项:用来调整或者启用、关闭命令的某个功能。选项又分为短选项,使用短横线作为前缀(-),长选项,使用两个短横线(--),作为某个单词的前缀。 一般来说,短选项是可以合并的,而长选项不能。 参数:命令的作用对象,参数其实就是向命令提供数据的。 #echo ${SHELL} 显示当前系统的shell #cat /etc/shells 查看当前系统上所有的shell #echo ${PS1} 显示提示符的格式 #which CAMMAND 查看命令的具体位置 命令的格式: COMMAND(命令) [options](选项) [arguments..](参数) 命令:命令就是我们之前使用的echo、ls、cat等等,其实就是一个个的小程序的名字,我们要做的就是记住它们。 选项:选项的作用是调整或者启用/关闭命令的某些功能,选项有短选项和长选项的区别: 短选项:短选项通常为一个短横线‘-’跟一个字符,在大多数情况下这些短选项是可以合并的,即一个短横线后跟上多个字符,如果不合并则要使用空格(空白字符)隔开。 长选项:长选项使用两个短横线‘--’跟上一个单词,长选项一般不能合并。 参数:参数为命令的作用对象,参数其实就是给命令提供数据的。 我们在初次使用命令的时候,很可能会因为少了参数而处于一个退不出去的界面下,比如在命令行下键入cat不给任何参数,就会出现一个很奇怪的现象,能输入,还能回车,但是没有任何反应,不论怎么按就是回不到刚才的命令提示符下。至于为什么cat命令会变成这样,等我们有一定的基础的时候再做讲解,这里只是说一说怎么退出这个界面。 ctrl + c 取消命令的执行,组合键的使用方法就不再赘述,当我们按下ctrl + c之后会发现我们从刚才的界面下退出来了!是不是很神奇?有了这个神器,在以后的学习环境下绝大多数情况下是可以退出的。 我们在命令行下输入命令回车时,实际上上时提请shell程序找到键入命令所对应的可执行程序或者代码,并由其分析后提交给内核分配资源使其运行起来,表现为一个或多个进程。 shell中可执行的命令有两类: 一个是外部命令,什么是外部命令?也就是我们之前使用which查看命令时能够显示出具体路径的命令,我们称为是外部命令。 一个是内建命令,内建命令是shell程序自带的,并且以命令的方式提供给用户,这些命令使用which是查询不到具体的路径的,例如#which cd 其实我们有更好的方法来实现命令的甄别,使用一个命令来实现: #type COMMAND 查看命令的类型 我们先来简单讲一讲文件系统: 我们知道在windows下文件都是有名称的,即按名存取,在linux下也是这样的,以文件名来进行区分不同的文件,在linux中,文件系统的查找是自上而下的方式,有点像倒置的树状结构,末端的我们称为叶子节点。 对于一个文件来说,它有两类数据,一个就是它本身存储的数据,另一个就是元数据(matedate,记录了与文件内容无关的信息:文件名称、大小、时间等等)。 在命令行下有两个特殊的命令: #./ 当前目录,是的就是一个点 #../ 上一级目录,或者说父目录,用两个点表示。 l 文件名严格区分大小写:file1,File1,FILE1是不同的 l 文件名可以使用除了/的任意字符,‘/’为根目录和路径分隔符,不建议使用特殊字符。 l 文件名的长度不能超过255个字符 l 所有以点‘.’开头的文件均为隐藏文件 获取命令的帮助文档: #help COMMAND查询内建命令的使用帮助文档 #man 查询外部命令的使用帮助 #COMMAND --help或者-h 获取自带的帮助 #info COMMAND 获取更详细的命令信息,文档中支持超链接 我们还可以到网上获取其官方文档(documentation)。 还可以获取发行版(red hat、centOS等等)的官方文档。 还有什么不懂可以google 帮助文档一般为纯文本文件,而纯文本文件压缩比较大,因此帮助文档都是压缩后的文档,一般存储在特定的位置:/usr/share/man,在/usr/share/man目录下,我们可以发现有man1-man9的目录,这是将不同权限的命令分门别类存放,当我们使用man COMMAND命令时,会到/usr/share/man下从man1开始寻找,最近的一个便作为结果,找到文档后解压缩至临时目录并打开。 man1 普通命令,用户命令 man2 系统调用 man3 库调用(c库) man4 设备文件及特殊文件 man5 配置文件格式 man6 与游戏相关 man7 杂项,不便归档的 man8 管理类命令 #man #(数字、章节数) COMMAND 指定查看章节数的命令 #whatis 查看命令属于哪几个章节,man默认打开的是排在前面的,也就是说,有些关键字并不是只在一个章节中存在,此时我们就需要指定章节中的手册。 man手册不一定会在/usr/share/man目录下,但是man命令是怎么知道其文档位置?可能大家猜到了,是由配置文件进行配置的。 man命令的配置文档在/etc/man.config,使用MANPATH定义man手册的位置。 MANPATH /path/to/somewhere 在/etc/man.config中添加一句定义即可/path/to/somewhere为文档位置(父目录),我们现在还没有将编辑器,于是使用命令向其中追: #echo ‘MANPATH /path/to/somewhere’>>/etc/man.config 我们需要知道的是,修改配置文件不会立即生效,需要重启主机或者服务后生效,也有其他的方法,但是此处不过多涉及。 我们可以使用man命令直接指定文档的位置搜索手册 #man –M /path/to/some COMMAND 帮助手册中的段落说明: NAME 程序的名字 SYNOPSIS 程序的简要使用说明 {} 大括号用于定界,方便区分 []中括号中的内容为可选内容 <>尖括号内的内容为必选内容 a|b多选一 .... 同一内容可以出现多次 DESCRIPTION 功能的详细描述 OPTIONS 选项 EXAMPLES 示例 AUTHOR 作者 man命令解压文档会调用less命令,其窗口操作同less命令,less命令是一个和cat一样的文档查看命令,但是less命令可以翻页查看长文档,而cat命令不行(如果硬要使用cat查看长文档也是可以的,但是效果很差)。 space,ctrl+v/V,ctrl+f/F 向文件尾部翻屏 b,ctrl+b/B 向文件首部翻屏 d,ctrl+d/D 向文件尾部翻半屏 u,ctrl+u/U 向文件首部翻半屏 enter/e/j 向文件尾部翻一行 y/k 向文件首部翻一行 q 退出 #(键入数字) 跳转至多少行 1G 回到文件头 G 翻至文件尾部 「一键投喂 软糖/蛋糕/布丁/牛奶/冰阔乐!」 赞赏 × 几人行 (๑>ڡ<)☆谢谢老板~ 2元 5元 10元 50元 100元 任意金额 2元 使用微信扫描二维码完成支付 版权声明:本文为作者原创,如需转载须联系作者本人同意,未经作者本人同意不得擅自转载。 基础笔记二 2017-03-18 评论 1808 次浏览