GNOME的操作与注销:
GNOME的窗口大约分为三个部分:
上方任务栏(control panel)
上半部左侧有『应用程序』与『位置』,右侧则有『输入法切换』、声音、网络、日期、账号相关设定切换等
桌面
整个画面中央就是桌面,桌面上默认有两个小按钮,账号的家目录和垃圾桶
下方任务栏
下方任务栏的目的是将各工作显示在这里,可以方便使用者快速的在各个工作间切换,还有多个可用的虚拟桌面 (Virtual Desktop),就是画面中右下角那个 1/4 的东东
注销 GNOME、重新启动 X 窗口管理员或关机:
点选右上角你的账号名称, 然后在出现的画面中去选择
重新启动X Window的快速按钮:
- 直接注销,然后再重新登入即可;
- 在X的画面中直接按下[Alt] + [Ctrl] + [Backspace]
X window与文本模式的切换
Linux默认的情况下会提供六个Terminal来让使用者登入, 切换的方式为使用:[Ctrl] + [Alt] + [F1]~[F6]的组合按钮,系统会将[F1] ~ [F6]命名为tty1 ~ tty6的操作接口环境。
- [Ctrl] + [Alt] + [F2] ~ [F6] :文字接口登入 tty2 ~ tty6 终端机;
- [Ctrl] + [Alt] + [F1] :图形接口桌面。
在终端界面登入linux
CentOS Linux 7 (Core)
Kernel 3.10.0-229.el7.x86_64 on an x86_64
test login: username
Password: <==这里输入你的密码
Last login: Fri May 29 11:55:05 on tty1 <==上次登入的情况
[username@test ~]$ _ <==光标闪烁,等待你的指令输入
使用三个文件/etc/issue、/etc/issue.net和/etc/motd 来控制本地及远程登录前后的信息显示,issue负责本地登录前显示,issue.net负责网络登录前显示,/etc/motd是在你登录之后显示的内容
# cat /etc/issue
\S #显示操作系统的名称,如:CentOS Linux 7 (Core)
Kernel \r on an \m #显示内核版本和机器架构,如:Kernel 3.10.0-229.el7.x86_64 on an x86_64
登录提示很明显的泄漏了系统信息,为了安全起见,建议将系统相关信息去除,清空issue
文本模式下指令的执行
$ command [-options] parameter1 parameter2 ...
指令 选项 参数(1) 参数(2)
语言环境:
显示目前所支持的语言
$ locale
LANG=en_US.utf8 # 语言的输出
LC_CTYPE="en_US.utf8" # 下面为许多信息的输出使用的特别语言
LC_NUMERIC=en_US.UTF-8
LC_TIME=en_US.UTF-8 # 时间方面的语言数据
LC_COLLATE="en_US.utf8"
....中间省略....
LC_ALL= # 全部的数据同步更新的设定值
# 上面的意思是说,目前的语言(LANG)为en_US.UTF-8
修改语言环境
[dmtsai@study ~]$ LANG=zh_CN.utf8
[dmtsai@study ~]$ export LC_ALL= zh_CN.utf8
# LANG 只与输出信息有关,若需要更改其他不同的信息,要同步更新 LC_ALL
基础指令
显示日期的指令:date
# date
Fri Jan 4 17:32:54 CST 2019
# date +%Y%m%d
20190104
显示日历的指令:cal
# cal
January 2019
Su Mo Tu We Th Fr Sa
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
# cal 10 2018
October 2018
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
计算器: bc
- + 加法
- - 减法
- * 乘法
- / 除法
- ^ 指数
- % 余数
有两种主要的模式:
- 一种是直接显示结果然后回到命令提示字符等待下一个指令的输入;
- 一种是进入到该指令的环境,直到结束该指令才回到命令提示字符的环境
重要的几个热键[Tab], [ctrl]-c, [ctrl]-d
[Tab]按键
具有『命令补全』与『文件补齐』的功能,文件补齐的功能可能会变成『参数/选项补齐』
- [Tab] 接在一串指令的第一个字的后面,则为『命令补全』;
- [Tab] 接在一串指令的第二个字以后时,则为『文件补齐』;
- 若安装 bash-completion 软件,则在某些指令后面使用 [tab] 按键时,可以进行『选项/参数的补齐』功能
[Ctrl]-c 按键
中断目前程序
[Ctrl]-d 按键
『键盘输入结束(End Of File, EOF 或 End Of Input)』的意思,相当于输入exit
指令的 --help 求助说明
使用『 --help 』能够列出指令大致的用法,快速的取得指令的选项、参数说明
# date --help
Usage: date [OPTION]... [+FORMAT] # 这里有基本语法
or: date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] # 这是设定时间的语法
Display the current time in the given FORMAT, or set the system date.
# 下面是主要的选项说明
Mandatory arguments to long options are mandatory for short options too.
-d, --date=STRING display time described by STRING, not 'now'
-f, --file=DATEFILE like --date once for each line of DATEFILE
....(中间省略)....
# 下面则是重要的格式 (FORMAT) 的主要项目
FORMAT controls the output. Interpreted sequences are:
%% a literal %
%a locale's abbreviated weekday name (e.g., Sun)
%A locale's full weekday name (e.g., Sunday)
....(中间省略)....
# 下面是几个重要的范例 (Example)
Examples:
Convert seconds since the epoch (1970-01-01 UTC) to a date
$ date --date='@2147483647'
....(下面省略)...
man page
man是manual(操作说明)的简写,列出指令的详细用法
$ man date
DATE(1) User Commands DATE(1)
# 请注意上面这个括号内的数字
NAME <==这个指令的完整全名,如下所示为date且说明简单用途为设定与显示日期/时间
date - print or set the system date and time
SYNOPSIS <==这个指令的基本语法如下所示
date [OPTION]... [+FORMAT] <==第一种单纯显示的用法
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] <==这种可以设定系统时间的用法
DESCRIPTION <==详细说明刚刚语法谈到的选项与参数的用法
『DATE(1)』,DATE是指令的名称,(1)代表的是『一般用户可使用的指令』的意思,常见的几个数字的意义:
代号 | 代表内容 |
1 | 用户在shell环境中可以操作的指令或可执行文件 |
2 | 系统核心可调用的函数与工具等 |
3 | 一些常用的函数(function)与函式库(library),大部分为C的函式库(libc) |
4 | 设备文件的说明,通常在/dev下的文件 |
5 | 配置文件或者是某些文件的格式 |
6 | 游戏(games) |
7 | 惯例与协议等,例如Linux文件系统、网络协议、ASCII code等等的说明 |
8 | 系统管理员可用的管理指令 |
9 | 跟kernel有关的文件 |
man page大致分成下面这几个部分:
代号 | 内容说明 |
NAME | 简短的指令、数据名称说明 |
SYNOPSIS | 简短的指令下达语法(syntax)简介 |
DESCRIPTION | 较为完整的说明,这部分最好仔细看看! |
OPTIONS | 针对 SYNOPSIS 部分中,有列举的所有可用的选项说明 |
COMMANDS | 当这个程序(软件)在执行的时候,可以在此程序(软件)中下达的指令 |
FILES | 这个程序或数据所使用或参考或链接到的某些文件 |
SEE ALSO | 可以参考的,跟这个指令或数据有相关的其他说明! |
EXAMPLE | 一些可以参考的范例 |
man page常用的按键:
按键 | 进行工作 |
空格键 | 向下翻一页 |
[Page Down] | 向下翻一页 |
[Page Up] | 向上翻一页 |
[Home] | 去到第一页 |
[End] | 去到最后一页 |
/string | 向『下』搜寻 string 这个字符串,如果要搜寻 vbird 的话,就输入 /vbird |
?string | 向『上』搜寻 string 这个字符串 |
n, N | 利用 / 或 ? 来搜寻字符串时,可以用 n 来继续下一个搜寻 (不论是 / 或 ?) ,可以利用 N 来进行『反向』搜寻。 |
q | 结束这次的 man page |
man page的数据:
通常是放在/usr/share/man这个目录里,记录在/etc/man_db.conf 这个配置文件当中
搜寻特定指令文件的man page说明文件
$ man -f man
man (1) - an interface to the on-line reference manuals
man (1p) - display system documentation
man (7) - macros to format man pages
$ man -k man
fallocate (2) - manipulate file space
zshall (1) - the Z shell meta-man page
....(中间省略)....
yum-groups-manager (1) - create and edit yum's group metadata
yum-utils (1) - tools for manipulating repositories and extended package management
$ whatis [指令或者是数据] <==相当于 man -f [指令或者是数据]
$ apropos [指令或者是数据] <==相当于 man -k [指令或者是数据]
必须要建立 whatis 数据库才能使用上面2个指令,这个数据库的建立需要以 root 的身份下达如下的指令:
# mandb
info page
info与man的用途其实差不多,都是用来查询指令的用法或者是文件的格式。info page是将文件数据拆成一个一个的段落,每个段落用自己的页面来编写, 并且在各个页面中还有类似网页的『超链接』来跳到各不同的页面中,每个独立的页面也被称为一个节点(node)。
info的格式才能够使用info的特殊功能(例如超链接)。 而这个支持info指令的文件默认是放置在/usr/share/info/这个目录当中的。
$ info info
File: info.info, Node: Top, Next: Getting Started, Up: (dir)
Info: An Introduction
*********************
....(中间省略)....
* Menu:
* Getting Started:: Getting started using an Info reader.
* Advanced:: Advanced Info commands.
* Expert Info:: Info commands for experts.
* Index:: An index of topics, commands, and variables.
--zz-Info: (info.info.gz)Top, 52 lines --Bot------------------------------------------
直接按下N, P, U来去到下一个、上一个与上一层的节点(node), 按下 h 系统就能够提供一些基本按键功能的介绍
按键 | 进行工作 |
空格键 | 向下翻一页 |
[Page Down] | 向下翻一页 |
[Page Up] | 向上翻一页 |
[tab] | 在 node 之间移动,有 node 的地方,通常会以 * 显示。 |
[Enter] | 当光标在 node 上面时,按下 Enter 可以进入该 node 。 |
b | 移动光标到该 info 画面当中的第一个 node 处 |
e | 移动光标到该 info 画面当中的最后一个 node 处 |
n | 前往下一个 node 处 |
p | 前往上一个 node 处 |
u | 向上移动一层 |
s(/) | 在 info page 当中进行搜寻 |
h, ? | 显示求助菜单 |
q | 结束这次的 info page |
其他有用的文件(documents)
/usr/share/doc目录下,有各个软件的说明文档,这个目录下的数据主要是以软件(packages)为主的,例如grub2-tools这个软件的相关信息在 /usr/share/doc/grub2-tools-2.02 (那个2.02表示版本)。
总结上面的三个 (man, info, /usr/share/doc/):
- 在终端机模式中,如果你知道某个指令,但却忘记了相关选项与参数,使用--help来查询相关信息;
- 当有任何你不知道的指令或文件格式,使用man或者是info来查询;
- 而如果你想要架设一些其他的服务,或想要利用一些软件来达成某项功能时,到/usr/share/doc下面查该服务的说明文件。
关机方法
关机时需要注意下面几件事:
- 观察系统的使用状态:
使用who命令看目前有谁在线,使用netstat -a看网络的联机状态,使用ps -aux看后台执行的程序。 - 通知在线使用者关机:
要关机前总得给在线的使用者一些时间来结束他们的工作,可以使用 shutdown指令。
数据同步写入磁盘: sync
在Linux系统中,为了加快数据的读取速度,在默认的情况中,某些已经加载内存中的数据将不会直接被写回硬盘,而是先暂存在内存当中,如此一来,如果一个数据被你重复的改写,那么由于他尚未被写入硬盘中,因此可以直接由内存当中读取出来,在速度上一定是快上相当多的
万一系统因为某些特殊情况造成不正常关机 (例如停电或者是不小心踢到power)时,由于数据尚未被写入硬盘当中,就会造成数据的更新不正常,这时就需要sync这个指令来进行数据的写入动作
目前的 shutdown/reboot/halt 等等指令均已经在关机前进行了 sync 这个工具的调用
惯用的关机指令: shutdown
shutdown可以达成如下的工作:
- 可以自由选择关机模式:是要关机或重新启动均可;
- 可以设定关机时间: 可以设定成现在立刻关机, 也可以设定某一个特定的时间才关机。
- 可以自定义关机信息:在关机之前,可以将自己设定的信息传送给在线 user 。
# /sbin/shutdown [-krhc] [时间] [警告信息]
选项与参数:
-k : 不要真的关机,只是发送警告信息出去!
-r : 在将系统的服务停掉之后就重新启动(常用)
-h : 将系统的服务停掉后,立即关机。 (常用)
-c : 取消已经在进行的 shutdown 指令内容。
时间 : 指定系统关机的时间。若没有这个项目,则默认 1 分钟后自动进行
重新启动,关机: reboot, halt, poweroff
halt, poweroff, reboot, shutdown 等等,其实都是调用这个 systemctl 指令的:
# systemctl [指令]
指令项目包括如下:
halt 进入系统停止的模式,屏幕可能会保留一些信息,这与你的电源管理模式有关
poweroff 进入系统关机模式,直接关机
reboot 直接重新启动
suspend 进入休眠模式
[root@study ~]# systemctl reboot # 系统重新启动
[root@study ~]# systemctl poweroff # 系统关机
参考文档:
《鸟哥的Linux私房菜基础篇第三版》