鸟哥Linux—第五章、首次登入与在线求助 man page

来源:互联网 发布:中国旅游服务贸易数据 编辑:程序博客网 时间:2024/06/08 18:29

1. 首次登入系统

以root身份登入系统
这里写图片描述
以一般用户身份登入系统
这里写图片描述

如上图所示,正确登入系统后,打开终端中,最左边的scau[root]显示的是『目前用户的账号』,而@之后接的Jere则是『主机名』,至于最右边的~则指的是 『目前所在的目录』,那个$[#]则是我们常常讲的『提示字符』啦!
注意:那个~符号代表的是『用户的家目录』的意思,举例来说,root的家目录在/root, 所以 ~ 就代表/root的意思。而scau的家目录在/home/scau, 所以如果你以scau登入时,他看到的 ~ 就会等于/home/scau喔!至于提示字符方面,在Linux当中,默认root的提示字符为 # ,而一般身份用户的提示字符为 $ 。

2. 文本模式下指令的下达

1. 语序的支持

很多时候,我们发现输入指令之后显示的结果是乱码,呵呵!不要紧张~,Linux是可以支持多国语序的,若可能的话,屏幕的讯息是会以该支持语序来输出的。但是,我们的终端机接口(terminal)在默认的情况下,无法支持以中文编码输出数据的。这个时候,我们就得将支持语序改为英文,才能够以英文显示出正确的讯息。那怎么做呢?你可以这样做:

(1). 显示目前所支持的语序

这里写图片描述
上面的意思是说,目前的语序(LANG)为zh_CN. UTF-8

(2). 修改语序成为英文语序

这里写图片描述
注意到上面的指令中没有空格符,且英文语序为en_US才对喔!

2. 基础指令的操作

(1). 显示日期的指令:date

这里写图片描述
好了,那么如果我想要让这个程序显示出 [2015/04/10] 这样的日期显示方式呢?那么就使用date的格式化输出功能吧!
这里写图片描述

(2). 显示日历的指令:cal

如果我想要列出目前这个月份的月历呢?直接给他下达cal即可!
这里写图片描述
可以显示整年的月历情况:
这里写图片描述
基本上cal这个指令可以接的语法为:
这里写图片描述
所以,如果我想要知道2015年10月的月历,可以直接下达:
这里写图片描述

(3). 简单好用的计算器:bc

这里写图片描述
注意:quit为退出计算器的指令。怎么10/100会变成0呢?这是因为bc预设仅输出整数,如果要输出小数点下位数,那么就必须要执行scale=number,那个number就是小数点位数,例如:
这里写图片描述

3. 重要的几个热键[Tab],[ctrl]-c,[ctrl]-d

(1). [Tab]按键

具有【命令补全】与【档案补齐】的功能
[Tab]按键在不同的地方输入,会有不一样的结果喔!如果我在指令列输入ca再按两次[tab]按键,会出现什么讯息?
这里写图片描述
结果是所有以ca为开头的指令都被显示出来啦!那如果你输入[ls -al ~/.bash]再加两个[tab]会出现什么?
这里写图片描述
在该目录下面所有以.bash为开头的文件名都会被显示出来。通过以上两个例子,我们按[tab]按键的地方如果是在command(第一个输入的数据)后面时,他就代表着【命令补全】,如果是接在第二个字以后的,就会变成【档案补齐】的功能了!

(2). [Ctrl]-c按键

如果在Linux底下输入了错误的指令或参数,有的时候这个指令或程序会在系统底下【跑不停】这个时候怎么办?别担心,如果你想让当前的程序【停掉】的话,可以输入:[Ctrl]与c按键。举例来说,如果你输入了[find /]这个指令时,系统会开始跑一些东西,此时给他按下[Ctrl]-c组合按键,嘿嘿!立刻发现这个指令串被终止了!

(3). [Ctrl]-d按键

这个组合键通常代表着:【键盘输入结束】的意思!另外,他也可以用来取代exit的输入呢!

3. Linux系统的在线求助man page与info page

1. man page

这里写图片描述
这里写图片描述
进入man指令的功能后,你可以按下[空格键]往下翻页,可以按下[q]按键来离开man的环境。
从上图中可以看出:[DATE(1)],DATE我们知道是指令的名称,那么(1)代表什么呢?他代表的是 [一般用户可使用的指令] 的意思!呵呵!没错~在查询数据的后面的数字是有意义的喔!常见的几个数字的意义是这样的:

代号 代表内容 1 用户在shell环境中可以操作的指令或可执行文件 2 系统核心可呼叫的函数与工具等 3 一些常用的函数(function)与函式库(library),大部分为C的函式库(libc) 4 装置档案的说明,通常在/dev下的档案 5 配置文件或者是某些档案的格式 6 游戏(games) 7 惯例与协议等,例如Linux文件系统、网络协议、ASCII code等等的说明 8 系统管理员可用的管理指令 9 跟kernel有关的文件

Tips: 上表中的1, 5, 8这三个号码特别重要,也请读者要将这三个数字所代表的意丿背下来喔!
man page的内容也分成好几个部分来加以介绍该指令呢!就是上头man date那个表格内,以NAME作为开始介绍,最后还有个SEE ALSO来作为结束。基本上,man page大致分成底下这几个部分:

代号 内容说明 NAME 简短的指令、数据名称说明 SYNOPSIS 简短的指令下达语法(syntax)简介 DESCRIPTION 较为完整的说明,这部分最好仔细看看! OPTIONS 针对 SYNOPSIS 部分中,有列举的所有可用的选项说明 COMMANDS 当这个程序(软件)在执行的时候,可以在此程序(软件)中下达的指令 FILES 这个程序或数据所使用或参考或连结到的某些档案 SEE ALSO 可以参考的,跟这个指令或数据有相关的其他说明! EXAMPLE 一些可以参考的范例 BUGS 是否有相关的臭虫

一些在man page常用的按键:

按键 进行工作 空格键 向下翻一页 [Page Down] 向下翻一页 [Page Up] 向上翻一页 [Home] 去到第一页 End 去到最后一页 /string 向『下』搜寻string这个字符串,如果要搜寻vbird的话,就输入 /vbird ?string 向『上』搜寻string这个字符串 n,N 利用/或?来搜寻字符串时,可以用n来继续下一个搜寻(不论是/或?),可以利用N来进行『反向』搜寻。举例来说,我以/vbird搜寻vbird字符串,那么可以n继续往下查询,用N往上查询。若以?vbird向上查询vbird字符串,那我可以用n继续『向上』查询,用N反向查询。 q 结束这次的man page

既然有man page,自然就是因为有一些文件数据,所以才能够以man page读出来啰!那么这些man page的数据放在哪里呢?不同distribution通常可能有点差异性,不过,通常是放在/usr/share/man这个目录里头,然而,我们可以透过修改他的man page搜寻路径来改善这个目录的问题!修改/etc/man.config(有的版本为man.conf或manpath.conf)即可啰!

2. info page

基本上,info与man的用途其实差不多,都是用来查询指令的用法或者是档案的格式。但是与man page一口气输出一堆信息不同的是,info page则是将文件数据拆成一个一个的段落,每个段落用自己的页面来撰写,并且在各个页面中还有类似网页的『超链接』来跳到各不同的页面中,每个独立的页面也被称为一个节点(node)。所以,你可以将info page想成是文本模式的网页显示数据啦!

4. 超简单文本编辑器:nano

nano的使用其实很简单,你可以直接加上档名就能够开启一个旧档或新档!底下我们就来开启一个名为test.txt的档名来看看:
这里写图片描述
这里写图片描述
其中^代表的是[Ctrl]的意思

5. 正确的关机方法:sync,shutdown, reboot,halt,poweroff,init

在 Linux 底下,由于每个程序 (或者说是服务) 都是在在背景下执行的,因此,在你看不到的屏幕背后其实可能有相当多人同时在你的主机上面工作, 例如浏览网页啦、传送信件啦以 FTP 传送档案啦等等的,如果你直接按下电源开关来关机时, 则其他人的数据可能就此中断!那可就伤脑筋了!
此外,最大的问题是,若不正常关机,则可能造成文件系统的毁损 (因为来不及将数据回写到档案中,所以有些服务的档案会有问题!)。所以正常情况下,要关机时需要注意底下几件事:
- 观察系统的使用状态:
如果要看目前有谁在在线,可以下达『who』这个指令,而如果要看网络的联机状态,可以下达 『 netstat -a 』这个指令,而要看背景执行的程序可以执行『 ps -aux 』这个指令。使用这些指令可以让你稍微了解主机目前的使用状态!
- 通知在线使用者关机的时刻:
要关机前总得给在线的使用者一些时间来结束他们的工作,所以,这个时候你可以使用 shutdown 的特别指令来达到此一功能。
- 正确的关机指令使用:
例如 shutdown 与 reboot 两个指令!

1.数据同步写入磁盘: sync

数据在计算机中运作的模式, 所有的数据都得要被读入内存后才能够被CPU所处理,但是数据又常常需要由内存写回硬盘当中(例如储存的动作)。 由于硬盘的速度太慢(相对于内存来说),如果常常让数据在内存与硬盘中来回写入/读出,系统的效能就不会太好。

因此在Linux系统中,为了加快数据的读取速度,所以在默认的情况中, 某些已经加载内存中的数据将不会直接被写回硬盘,而是先暂存在内存当中,如此一来, 如果一个数据被你重复的改写,那么由于他尚未被写入硬盘中,因此可以直接由内存当中读取出来, 在速度上一定是快上相当多的!

不过,如此一来也造成些许的困扰,那就是万一你的系统因为某些特殊情况造成不正常关机 (例如停电或者是不小心踢到power)时,由于数据尚未被写入硬盘当中,哇!所以就会造成数据的更新不正常啦! 那要怎么办呢?这个时候就需要sync这个指令来进行数据的写入动作啦! 直接在文字接口下输入sync,那么在内存中尚未被更新的数据,就会被写入硬盘中!所以,这个指令在系统关机或重新启动之前, 很重要喔!最好多执行几次!

虽然目前的 shutdown/reboot/halt 等等指令均已经在关机前进行了 sync 这个工具的呼叫, 不过,多做几次总是比较放心点~呵呵~

2.惯用的关机指令: shutdown

选项与参数 意义 -t sec -t 后面加秒数,亦即『过几秒后关机』的意思 -k 不要真的关机,只是发送警告讯息出去! -r 在将系统的服务停掉之后就重新启动(常用) -h 将系统的服务停掉后,立即关机(常用) -n 不经过 init 程序,直接以 shutdown 的功能来关机 -f 关机并开机之后,强制略过 fsck 的磁盘检查 -F 系统重新启劢之后,强制进行 fsck 的磁盘检查 -c 取消已经在进行的 shutdown 指令内容。 时间 这是一定要加入的参数!挃定系统关机的时间!

范例:
1)立刻关机,其中 now 相当于时间为 0 的状态
这里写图片描述
2)系统在今天的 20:25 分会关机,若在21:25才下达此指令,则隔天才关机
这里写图片描述
3)系统再过十分钟后自动关机
这里写图片描述
4)系统立刻重新启动
这里写图片描述
5)再过三十分钟系统会重新启动,并显示后面的讯息给所有在在线的使用者
这里写图片描述
6)仅发出警告信件的参数!系统并不会关机啦!吓唬人!
这里写图片描述

3.重新启动,关机: reboot, halt, poweroff

既然这些指令都能够关机或重新启动,那他有没有什么差异啊?基本上,在预设的情况下, 这几个值令都会完成一样的工作!(因为halt会先呼叫shutdown,而shutdown最后会呼叫halt!)。 不过,shutdown可以依据目前已启动的服务来逐次关闭各服务后才关机;至于halt即能够在不理会目前系统状况下, 进行硬件关机的特殊功能!

4.切换执行等级: init

其实Linux共有七种执行等级
- run level 0:关机
- run level 3:纯文本模式
- run level 5:含有图形接口模式
- run level 6:重新启动

0 0
原创粉丝点击