4.1 首次登入系统
4.1.1 首次登入TODO图形接口
登录时,root用户是不显示的,可以点下方的“没有列出来”,输入账号,密码来登录。
** 文件管理员 file manager **
4.1.3 X window与文本模式的切换
Linux 默认提供6个Terminal给使用者,切换方式为Ctrl + Alt + F1 ~ F6。
一般图形界面为F1。如果你默认以命令行环境进入,在命令行环境中启动图形界面。那么你原有的命令行环境归属的终端tty n,就是图形界面的tty。
所谓的窗口环境,就是:文字界面加上X窗口软件的组合。是否默认使用图形界面,只要在后续管理服务的程序中,将graphical.target 目标服务设为默认。
4.1.4 在终端界面登入Linux
登录系统,输入密码时。不会显示任何内容,正常现象不要以为键盘坏了。
登录后,会显示[name@computer~] 就是提示字符。
提示字符:默认root的是#,一般身份用户的是$。
退出系统,即注销Linux命令如下:
exit
4.2 文本模式下指令的下达
文本模式登入后所取得的程序叫:壳(Shell),因为这支程序负责最外面跟我们使用者沟通。
4.2.1 开始下达指令
command [-options] parameter1 parameter2 ...
//指令 选项 参数1 参数2
- 一行指令中:第一个输入的数据绝对是指令(command)或可执行文件(例如批次脚本,script)
- 中括号[ ]并不存在于实际的指令中,而加入选项设定时,通常选项前会带 - 号,例: - h;有时候会使用完整名,则要带 – 符号,例如: – help;
- parameter1 parameter2为依附在选项后的参数,或者是command (命令)的参数;
- 指令,选项,参数中间以空格区分,不论空几格shell都视为一格。
- 输入完后,按[Enter],执行命令。
- 指令太长时,使用反斜杠()来跳脱Enter符,使指令连续到下一行。反斜杠后立刻接特殊字符,才能跳脱;
- Linux 中,区分大小写。大小写是完全不同的。
** 语系的支援**
有时候命令会显示乱码,是因为语系编码格式不同。
locale
命令,会列出当前环境的语言语系。
以下命令会修改语系为英文语系:
LANG=en_US.utf8
export LC_ALL=en_US.utf8
# LANG只与输出信息有关,若更改其他信息,需要同步更新 LC_ALL。
注意:等号两边没有空格符,这样才能够在“这次登陆”查看英文信息。
** 基础指令的操作**
- 显示日期的指令:date
date
date +%Y/%m/%d
2019/06/01
date +%H:%M
12:00
上述的[+%Y/%m/%d]就是date指令的参数功能啦。
- 显示日历的指令:cal
···
cal //列出当前月份的月历
cal 2019 //列出2019年整年的月历
cal [month] [year] //指令参数形式
3. 简单好用的计算器:bc
···
bc //进入计算器
1+2-3 //计算器操作
scale=3 //计算结果保留3为小数
quit //退出bc计算器
bc计算器,默认输出整数。如果需要计算小数,需要执行scale=[number]命令。
指令模式里面下达指令主要由两种情况:
- 一种是该指令会直接显示结果然后回到命令提示字符等待下一个指令的输入;
- 一种是进入到该指令的环境,直到结束该指令才回到命令提示字符的环境。
4.2.3 重要的几个热键
** Tab按键**
在各种Unix-like的shell中,Tab键具有[命令补全]与[文件补全]的功能。
- Tab接在一串指令的第一个字后面,为命令补全;
- Tab接在一串指令的第二个字后面,为文件补全;
- 若安装bash-completion软件,在某些指令后面使用Tab,可以进行[选项/参数的补齐] 功能
** Ctrl+c**
Ctrl+c组合键,是中断目前程序。如果你想停止一个一直在跑的命令,就用这个。
** Ctrl+d**
Ctrl+d组合键,代表:键盘输入结束的意思。可以用来取代exit。
** shift+{PageUp|PageDown}**
有时候输出的讯息很长,看不到前面的部分了。可以通过shift+PageUp往前翻页,shift+PageDown往后翻页。
4.2.4 错误信息的查看
如果输入错误的指令,bash会给出提示信息。
$ DATE
bash: DATE: command not found... //这里显示错误的信息
Similar command is: 'date' //这里提示你可能的解决方案
command not found的可能原因是:
- 指令不存在,因为该软件没有安装。去安装该软件;
- 指令所在的目录,目前的用户并没有将他加入指令搜索路径中,可参考第十章bash的PATH;
- 打错命令了。
4.3 Linux系统的在线求助man page与info page
4.3.1 指令的–help求助说明
指令配合 --help使用,就能够对该指令的用法做一个大致的理解。
首先是使用语法的方式(Usage)。
通常,–help用在协助你查询[ 你曾经用过的指令所具备的选项与参数 ],如果你没有使用过,或者查询的根本不是指令就要透过man page。
4.3.2 man page
man是manual(操作说明)的简写。
回车后,此时就进入了man环境。可以按[ 空格键 ] 往下翻页,按[ q ]离开man环境。
man指令后第一行的:[ DATE(1) ],这个(1)什么意思呢?它代表[ 一般用户可使用的指令 ]。常见含义如下:
代号 | 代表内容 |
---|---|
1 | 用户在shell环境中可以操作的指令或可执行文件 |
2 | 系统核心课调用的函数与工具 |
3 | 一些常用的函数(function)与函数库(library),大部分为C的函数库(libc) |
4 | 装置文件的说明,常在/dev下的文件 |
5 | 配置文件或者某些文件的格式 |
6 | 游戏 |
7 | 惯例与协议,如:Linux文件系统,网络协议,ASCII code |
8 | 系统管理员可用的管理指令 |
9 | 跟kernel有关的文件 |
上述表格可用[ man man]取得更详细的说明。其中1.5.8 含义比较重要。
一般情况下,man page 提示大致分为以下几个部分:
代号 | 内容说明 |
---|---|
NAME | 简短的指令、数据名称说明简介 |
SYNOPSIS | 简短的指令下达语法(syntax) |
DESCRIPTION | 较为完整的说明,需要仔细看哦 |
OPTIONS | 针对SYNOPSIS部分中,有列举的所有可用的选项说明 |
COMMANDS | 当这个程序在执行的时候,可以在此程序中下达的指令 |
FILES | 这个程序或数据所使用或参考或连接到的某些文件 |
SEE ALSO | 可以参考的,跟这个指令或数据有关的其他说明 |
EXAMPLE | 一些可以参考的范例 |
通常查询指令时可以如下来查阅:
- 先查看NAME的项目,大概看一下什么意思;
- 详细看DESCRIPTION,这里会提到很多相关的资料与使用时机,从这里可以学很多小细节;
- 使用熟悉后,查询OPTIONS部分,详细了解每个选项的意义,下达比较细部的指令内容;
- 接下里,看跟这个有关的还有哪些可以使用?例如上面的SEE ALSO告诉我们可以利用info coreutils date 进一步查阅数据。
- 某些说明内容还会列举有关的文件(FILES部分)供参考。
在任何时候,都可以输入[ /word ],进行搜索。
代号 | 内容说明 |
---|---|
空格键 | 向下翻一页 |
Home | 去到第一页 |
End | 到最后一页 |
/string | 向下搜索string这个字符串, |
?string | 向上搜索string字符串 |
n,N | 利用/ 或? 搜索字符串时,可以用n 继续下一个搜索,N来反向搜索。 |
q | 退出此次man page |
man page指令,底层肯定是有文件数据支撑的。不同的distribution有差异,通常在/usr/share/man 目录里头。我们可以通过修改man page 搜索路径来改善搜索。修改/etc/man_db.conf(有的是man.conf, manpath.conf, man.config)。更多信息可以用[ man man ] 来查询。
** 搜索特定指令/文件的man page说明文件 **
@TODO
4.3.3 info page
所有的Unix like系统中,都可以用man查询指令或相关文件。但是,在Linux里面又额外提供了一种方法,就是info。info与man用法差不多,可以简单理解为网页版显示的man。
在info page中可以使用的按键:
按键 | 进行工作 |
---|---|
空格键 | 向下翻一页 |
Page Down | 向下翻一页 |
Page Up | 向上翻一页 |
Tab | 在节点之间移动,有节点的地方通常以“ * ”显示 |
Enter | 进入光标所在节点 |
B | 移动光标到该info界面当中的第一个节点处 |
E | 移动光标到该info界面当中的最后一个节点处 |
N | 前往下一个节点 |
P | 前往上一个节点 |
U | 向上移动一层 |
S(/) | 在info page 中进行查询 |
H | 显示求助菜单 |
? | 命令一览表 |
Q | 结束这次的 info page |
4.3.4 其他有用的文件
处了在线文档外,其他的帮助相关文件在/usr/share/doc目录下。例如,CentOS 很多相关信息就在:
/usr/share/doc/centos-release-notes-5.3
/usr/share/doc/bash-3.2 //bash 帮助文档
/usr/share/doc/gcc-xxx //gcc 软件包相关信息
4.4 超简单文本编辑器:nano
nano时超级简答的编辑器,直接nano [文件名] 就能打开旧的或新建的文件。
$ nano student.txt
GNU nano 1.3.12 File:student.txt //反白,声明版本及文件名
//光标所在
New File //文件的状态
^G Get Help ....//两行命令说明。
组合键中,^ 代表Ctrl,M代表Alt。
- Ctrl+G: 取得在线帮助。
- Ctrl+X:离开nano,若有修改过文件会提示是否保存。
- Ctrl+O:保存文件,如果你有权限的话。
- Ctrl+R:从其他文件读入数据,可以将某个文件的内容贴在本文件中。
- Ctrl+W:查询字符串。
- Ctrl+C:说明目前光标所在处的行数与列数信息。
- Ctrl+_:可以直接输入行号,光标快速移动到该行。
- Alt+Y:校正语法功能开启或关闭。
- Alt+M:可以支持鼠标来移动光标的功能。
4.5 正确的关机方法
Linux关机时要注意下面几件事:
** 查看系统使用状态 **
使用who查看目前有谁在线;“netstat -a”,查看网络联机状态;查看后台执行的程序用“ps -aux”命令。
** 通知在线用户关机的时刻 **
关机使用shutdown命令;
将数据同步写入硬盘中:sync;
重启,关机:reboot,halt,poweroff。
一般只有root用户才能执行shutdown,reboot命令。部分distributions可以执行或在特殊ttyX图形界面下使用。
5.5.1数据同步写入磁盘:sync
为了提高运行速度,会在内存中进行文件缓存。如果不正常关机可能会导致问题。可以调用sync命令,执行数据写入操作。一般账号执行sync只更新硬盘中自己的数据,root是更新整个系统。
5.5.2关机命令:shutdown
shutdown功能:
- 自由选择关机模式:关机,重启,进入单用户模式;
- 设置关机时间:立刻或指定时间;
- 自定义关机消息:关机前,将自己设置的消息传送给在线用户;
- 仅发出警告消息:测试时,可以用来通知用户注意,但并没有真正关机;
- 选择是否用fsck检查文件系统。
# /sbin/shutdown [-t 秒] [-arkhncfF] 时间 [警告消息]
选项与参数:
-t :后面加秒数,即几秒后关机。
-k : 不要真的关机,只是发送警告讯息出去!
-r : 在将系统的服务停掉之后就重启(常用)
-h :将系统的服务停掉后,立即关机。(常用)
-n :不经过init程序,直接shutdown关机。
-f :关机并开机后,强制略过fsck的磁盘检查。
-F :系统重启后,强制进行fsck的磁盘检查。
-c :取消已经在进行的shutdown 指令内容。
时间 :指定系统关机的时间!时间的范例下面会说明。若没有这个项目,则默认1分钟后自动进行。
@todo
时间参数务必加入命令中,否则shutdown会自动跳到run-level 1(即单用户维护的登陆情况):
shutdown -h now
// 立刻关机,now相当于时间为0
shutdown -h 20:25
// 在今天20:25关机,若在20:25之后执行,会在明天20:25关机。
shutdown -h +10
// 系统再过10分钟后自动关机
shutdown -r now
// 系统立刻重启
shutdown -r +30 ‘The system will reboot’
// 再过30分钟系统重启,并显示后面的消息给所有在线用户
shutdown -k now 'The system will reboot'
// 仅发出警告信件的参数,系统不会关机
4.5.3 重启关机:reboot,halt,poweroff
基本上,在默认的情况下, 这几个指令都会完成一样的工作!(全部的动作都是去调用 systemctl 这个重要的管理命 令!)halt会先调用shutdown,shutdown最后会调用halt。shutdown依据已启动服务逐次关闭各服务后关机。halt能在不理会系统状况下,进行硬件关机。执行以下命令查看区别
shutdown -h now
poweroff -f
4.5.4 切换执行等级:init
系统运作的模式分为命令行界面(3)及图形界面模式(5).Linux共七种等级:
- run level 0:关机
- run level 1:
- run level 2:
- run level 3:存命令行模式
- run level 4:关机
- run level 5:含有图形界面模式
- run level 6:重启
init 0即可切换到 run level 0 模式,也可实现关机功能。
5.6 开机问题排解
5.6.1 文件系统错误
** 如果硬盘整个坏掉了 **
5.6.2 忘记root密码
重启系统时,在读秒时按任意键进入grub管理程序菜单页面。按e进入grub编辑模式。将光标移动到kernel所在行,再一次按e,在出现的界面中,输入:single并回车。再按下b就开机进入单用户维护模式了。此模式下,你会在tty1的地方不输入密码即可获得终端控制权,且是root身份。使用passwd命令即可修改密码。