1、首次登陆
1.1 首次登陆图形接口
1.1.1 ubuntu的界面如下:
1号箭头就是我们可以使用帐号登陆的密码输入框。
2号箭头则是切换其他帐号登陆时才会用到的按钮。
3号箭头就是我们可以使用帐号登陆的输入框框。
品字形图示,网络设置图标。
喇叭的小图示,就是代表着音效的大小声控制。
关机的小图示,就是准备要关机的一些功能按钮; **重新启动就是重新开机**,**关闭电源当然就是关机**。
倒三角图标,扩展选项,可以打开设置或者蓝牙选项。
1.1.2 CentOS的界面如下:
1号箭头显示目前的日期与时间;点击箭头 1 的地方,会出现下一级的窗口, 主要在告诉你日期、日历与时间。
2号箭头则是辅助功能、语系、音量与关机钮;
小人形图示,那个是协助登陆的无障碍画面处理。
zh 按键,是语系的选择,例如:英语或者汉字。
喇叭的小图示,就是代表着音效的大小声控制。
关机的小图示,就是准备要关机的一些功能按钮; **暂停是进入休眠模式**,**重新启动就是重新开机**,**关闭电源当然就是关机**,所以,你不需要登陆系统,也能够通过这个画面来“关机”。
3号箭头就是我们可以使用帐号登陆的输入框框。
4号箭头则是在使用特别的帐号登陆时才会用到的按钮。
root 因为身份比较特殊,所以就没有被列出来。因此, 使用 root 的身份来登陆,就得要点选箭头 4 的地方,然后分别输入帐密即可。
1.2 GNOME的操作与登入
在每一个用户“第一次”以图形接口登陆系统时,系统都会询问使用者的操作环境,以依据使用者的国籍、 语言与区域等制定与系统默认值不同的环境。
上述的画面其实是 GNOME 的求助软件窗口,并不是浏览器窗口。
Linux是多用户多任务的操作系统, 每个人都会有自己的“工作目录”,这个目录是使用者可以完全掌控的, 所以就称为“使用者个人主文件夹”了。一般来说,主文件夹都在/home下面, sw,那么我的主文件夹就应该在/home/sw/下。
应用程序
点击添加到收藏夹,可以将程序固定在左侧
文件资源管理器
文件资源管理器
文件资源管理器可以直接打开目录的内容,下面有主文件夹、下载、图片、影片等等。
黄色框代表图标显示方式。
绿色框点击进入下一级选择,红色表示新建文件;绿色表示图标的放大、缩小方式。
根目录下方的目录分类
返回自己计算机:ctrl+alt
返回自己虚拟机:ctrl+G
不论是登出还是关闭电源(关机),都会有一个警告窗口来告知你 60 秒内没有任何动作的话,就会被登出了。
1.3 X 窗口与文字模式切换
我们通常也称文字模式为终端机接口, terminal 或 console。Linux默认的情况下会提供六个Terminal来让使用者登陆, 切换的方式为使用:[Ctrl] + [Alt] + [F1]~[F6]的组合按钮。系统会将[F1] ~ [F6]命名为tty1 ~ tty6的操作接口环境。
[Ctrl] + [Alt] + [F2] ~ [F6] :命令行登陆 tty2 ~ tty6 终端机;
[Ctrl] + [Alt] + [F1] :图形接口桌面。
若你在纯文本环境中启动 X 窗口,那么图形界面就会出现在当时的那个 tty 上面。
举例来说,你在 tty3 登陆系统,然后输入 startx 启动个人的图形界面, 那么这个图形界面就会产生在tty3 上面。
# 纯命令行下 (不能有 X 存在) 启动窗口界面的作法
[sw@ubentu ~]$ startx
1.4 在终端接口登陆linux
如果有按下[Ctrl] + [Alt] + [F4]就可以来到tty4的登陆画面,而如果你并没有启用图形窗口界面的话, 那么默认就是会来到tty1这个环境中。
ubentu login: sw
Password: ==这里输入你的密码
sw@ubentu:~$ ==光标闪烁,等待你的指令输入
sw@ubentu:~$
最左边的 ubentu 显示的是“目前使用者的帐号”;
@之后接的 sw 则是“主机名称”;
最右边的~则指的是“目前所在的目录”,即"使用者的主文件夹”的意思,他是个“变量;
例如:root的主文件夹在/root, 所以 ~ 就代表/root的意思。
而ubentu的主文件夹在/sw/ubentu, 所以如果你以sw登陆时,他看到的 ~ 就会等于/sw/ubentu。
$则是我们常常讲的“提示字符”。
login:则是一支可以让我们登陆的程序。 你可以在login:后面输入你的帐号,如sw。
离开系统(登出Linux):exit
登出Linux,但是请注意:“离开系统并不是关机!” 基本上,Linux本身已经有相当多的工作在进行,你的登陆也仅是其中的一个“工作”而已, 所以当你离开时,这次这个登陆的工作就停止了,但此时Linux其他的工作是还是继续在进行的。
2、文字模式下指令的下达
文字模式登陆后所取得的程序被称为壳(Shell),这是因为这支程序负责最外面跟使用者(我们)沟通,所以才被称为壳程序。我们Linux的壳程序就是厉害的bash这一支。
2.1 开始下达指令
[sw@ubentu ~]$ command [-options] parameter1 parameter2 ...
指令 选项 参数(1) 参数(2)
上述指令详细说明如下:
1. 一行指令中第一个输入的部分绝对是“指令(command)”或“可可执行文件案(例如批次脚本,script)”
2. command 为指令的名称,例如变换工作目录的指令为 cd 等等;
3. 中刮号[]并不存在于实际的指令中,而加入选项设置时,通常选项前会带 - 号,例如 -h;有时候会使用选项的完整全名,则选项前带有 -- 符号,例如 --help;
4. parameter1 parameter2.. 为依附在选项后面的参数,或者是 command 的参数;
5. 指令, 选项, 参数等这几个咚咚中间以空格来区分,不论空几格 shell 都视为一格。所以空格是很重要的特殊字符!;
6. 按下[Enter]按键后,该指令就立即执行。[Enter]按键代表着一行指令的开始启动。
7. 指令太长的时候,可以使用反斜线 (\) 来跳脱[Enter]符号,使指令连续到下一行,注意!反斜线后就立刻接特殊字符,才能跳脱!
8. 在 Linux 系统中,英文大小写字母是不一样的。举例来说, cd 与 CD 并不同。
语系的支持及修改
1\. 显示目前所支持的语系
[sw@ubentu ~]$ locale
LANG=zh_CN.UTF-8 # 语言语系的输出
LC_CTYPE="zh_CN.UTF-8" # 下面为许多信息的输出使用的特别语系
LC_NUMERIC=zh_CN.UTF-8
LC_TIME=zh_CN.UTF-8 # 时间方面的语系数据
LC_COLLATE="zh_CN.UTF-8"
....中间省略....
LC_ALL= # 全部的数据同步更新的设置值
# 上面的意思是说,目前的语系(LANG)为zh_CN.UTF-8,即中文
2\. 修改语系成为英文语系
[sw@ubentu ~]$ LANG=en_US.utf8
[sw@ubentu ~]$ export LC_ALL=en_US.utf8
# LANG 只与输出讯息有关,若需要更改其他不同的信息,要同步更新 LC_ALL 才行!
[sw@ubentu ~]$ date
Sun Mar 20 00:37:35 PDT 2022 # 顺利显示出正确的英文日期时间啊!
[sw@ubentu ~]$ locale
LANG=en_US.utf8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
....中间省略....
LC_ALL=en_US.UTF-8
# 再次确认一下,结果出现,确实是en_US.UTF-8这个英文语系!
如果你登出Linux后,刚刚下达的中文变英文指令就没有用啦,为一次性指令,重启后无效。
2.2 基础指令的操作
1.显示日期与时间的指令: date
2.显示日历的指令: cal
3.简单好用的计算机: bc
2.2.1 date操作
如果在命令行中想要知道目前Linux系统的时间,那么就直接在命令行界面输date即可显示:
sw@ubuntu:~$ date
Sun Mar 20 00:49:49 PDT 2022
sw@ubuntu:~$ date +%Y+%m+%d
2022+03+20
sw@ubuntu:~$ date +%H+%M
00+50
注意:指令后面的选项除了前面带有减号“-”之外,某些特殊情况下, 选项或参数前面也会带有正号“+”的情况。
2.2.2 cal操作
基本上cal这个指令可以接的语法为:
sw@ubuntu:~$ cal [month] [year]
如果想要列出目前这个月份的月历,直接给他下达cal即可!
sw@ubuntu:~$ cal
除了本月的日历之外,连同今日所在日期处都会有反白的显示。
如果想要知道某年的月历情况:
sw@ubuntu:~$ cal 2035
2035
January February March
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 1 2 3 1 2 3
7 8 9 10 11 12 13 4 5 6 7 8 9 10 4 5 6 7 8 9 10
14 15 16 17 18 19 20 11 12 13 14 15 16 17 11 12 13 14 15 16 17
21 22 23 24 25 26 27 18 19 20 21 22 23 24 18 19 20 21 22 23 24
28 29 30 31 25 26 27 28 25 26 27 28 29 30 31
April May June
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7 1 2 3 4 5 1 2
8 9 10 11 12 13 14 6 7 8 9 10 11 12 3 4 5 6 7 8 9
15 16 17 18 19 20 21 13 14 15 16 17 18 19 10 11 12 13 14 15 16
22 23 24 25 26 27 28 20 21 22 23 24 25 26 17 18 19 20 21 22 23
29 30 27 28 29 30 31 24 25 26 27 28 29 30
....(以下省略)....
如果想要知道某个月历,可以直接下达cal 月份 年份即可。
sw@ubuntu:~$ cal 8 2026
August 2026
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
某些指令有特殊的参数存在, 若输入错误的参数,则该指令会有错误讯息的提示,通过这个提示我们可以借以了解指令下达错误之处。
sw@ubuntu:~$ cal 13 2026
cal: 13 is neither a month number (1..12) nor a name
2.2.3 bc操作
bc:Linux中提供一支计算程序(相当于小算盘)。
你在命令行输入bc后,屏幕会显示出版本信息, 之后就进入到等待指示的阶段。运算子有:加法+、减法-、乘法*、除法/、指数^、余数%。
sw@ubuntu:~$ bc
bc 1.07.1
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
1+2+3+4+5 //加法,回车计算结果
15
7-3
4
10*4
40
10%3 //回车计算余数
1
2^6
64
10/100 //这个最奇怪!不是应该是 0.1 吗?
0
quit //离开 bc 这个计算器
sw@ubuntu:~$_ //光标会停留在这里等待你的输入
怎么10/100会变成0呢?这是因为bc默认仅输出整数,如果要输出小数点下位
数,那么就必须要执行 scale=number ,那个number就是小数点位数,例如:
sw@ubuntu:~$ bc
bc 1.07.1
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
10/100
0
scale=4 //保留4位小数点,单次有效
10/100
.1000
7/3
2
scale=5 //保留5位小数点
7/3
2.33333
1/3
.33333
quit
sw@ubuntu:~$
要离开bc回到命令提示字符时,务必要输入“quit”来离开bc的软件环境。
命令行界面里面下达指令时,会有两种主要的情况:
一种是该指令会直接显示结果然后回到命令提示字符等待下一个指令的输入,如:data与cal;
一种是进入到该指令的环境,直到结束该指令才回到命令提示字符的环境。如:bc , 需要输入quit结束软件功能环境指令。
2.3 重要的几个热键[Tab], [ctrl]-c, [ctrl]-d
2.3.1 [Tab]
在各种Unix-Like的Shell当中, 这个[Tab]按键算是Linux的Bash shell最棒的功能之一,他具有“命令补全”与“文件补齐”的功能喔!可以避免我们打错指令或文件名称。
命令行输入 ca 再按两次 [tab] 按键
sw@ubuntu:~$ ca[tab][tab] //[tab]按键是紧接在 a 字母后面,[tab] 指的是“按下那个tab键”,不是要你输入中括号内的tab。
cal canberra-gtk-play case cautious-launcher
calendar cancel cat
calibrate_ppa capsh catchsegv
caller captoinfo catman
sw@ubuntu:~$
[tab]按键在第二个字以后的,就会变成“文件补齐”的功能。
sw@ubuntu:~$ ls -al ~/.bash[tab][tab]
.bash_history .bash_logout .bash_profile .bashr
但是在某些特殊的指令下面,文件补齐的功能可能会变成“参数/选项补齐”。 我们同样使用 date 这个指令来查一下:
命令行输入 date 再按两次 [tab] 按键
sw@ubuntu:~$ date --[tab][tab] //[tab]按键是紧接在 -- 后面!
--date --help --rfc-3339= --universal
--date= --iso-8601 --rfc-email --version
--debug --reference= --set=
//系统会列出来 date 这个指令可以使用的选项有哪些,包括未来会用到的 --date 等项目。
总计一下:
[Tab] 接在一串指令的第一个字的后面,则为“命令补全”。
[Tab] 接在一串指令的第二个字以后时,则为“文件补齐”。
若安装 bash-completion 软件,则在某些指令后面使用 [tab] 按键时,可以进行“选项/参数的补齐”功能。
2.3.2 [ctrl]-c,中断目前程序的按键
如果Linux下面输入了错误的指令或参数,有的时候这个指令或程序会在系统下面“跑不停”,让当前的程序“停掉”,可以输入:[Ctrl]与c按键(是组合按键)。
sw@ubuntu:~$ find /
....(一堆东西都省略)....
//此时屏幕会很花,你看不到命令提示字符的!直接按下[ctrl]-c即可!
sw@ubuntu:~$ //此时提示字符就会回来了!find程序就被中断!
2.3.3 [ctrl]-d
[ctrl]-d这个组合按键通常代表着: “键盘输入结束(End Of File, EOF 或 End Of Input)”的意思, 另外,他也可以用来取代exit的输入,例如你想要直接离开命令行,可以直接按下[Ctrl]-d就能够直接离开了(相当于输入exit啊!)。
2.3.4 [shift]+{[PageUP]|[Page Down]}按键
如果你在纯文本的画面中执行某些指令,这个指令的输出讯息相当长,导致前面的部份已经不在目前的屏幕画面中,用 [Shift]+[Page Up] 来往前翻页,也能够使用 [Shift]+[Page Down] 来往后翻页。
2.4 错误讯息的察看
下达了错误的指令,可以借由屏幕上面显示的错误讯息来了解你的问题点, 那就很容易知道如何改善这个错误讯息啰,举个例子来说,假如想执行date却因
为大小写打错成为DATE时, 这个错误的讯息是这样显示的:
sw@ubuntu:~$ DATE
bash: DATE: command not found... //这里显示错误的讯息
Similar command is: 'date' //这里给你一个可能的解决方案耶!尝试解决问题。
bash:表示的是我们的Shell的名称, Linux的默认壳程序就是bash。
DATE: command not found... //DATE这个指令,指令找不到
可能原因:
1.这个指令不存在,因为该软件没有安装之故。解决方法就是安装该软件;
2.这个指令所在的目录目前的用户并没有将他加入指令搜寻路径中,可以在bash的PATH中添加;
3.可能命令打错字。
3、 线上求助man page与info page
3.1 指令的 --help 求助说明
几乎 Linux 上面的指令,在开发的时候,开发者就将可以使用的指令语法与参数写入指令操作过程中了!你只要使用“ --help ”这个选项, 就能够将该指令的用法作一个大致的理解喔!如: date 这个指令的基本用法与选项参数的介绍:
sw@ubuntu:~$ date --help
用法:date [选项]... [+格式] //基本格式
或:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] //设置时间的语法
Display the current time in the given FORMAT, or set the system date.
//下面是主要的选项说明
必选参数对长短选项同时适用。
-d, --date=STRING display time described by STRING, not 'now'
--debug annotate the parsed date,
and warn about questionable usage to stderr
-f, --file=DATEFILE like --date; once for each line of DATEFILE
-I[FMT], --iso-8601[=FMT] output date/time in ISO 8601 format.
FMT='date' for date only (the default),
'hours', 'minutes', 'seconds', or 'ns'
for date and time to the indicated precision.
Example: 2006-08-14T02:34:56-06:00
-R, --rfc-email output date and time in RFC 5322 format.
Example: Mon, 14 Aug 2006 02:34:56 -0600
--rfc-3339=FMT output date/time in RFC 3339 format.
FMT='date', 'seconds', or 'ns'
for date and time to the indicated precision.
Example: 2006-08-14 02:34:56-06:00
-r, --reference=FILE display the last modification time of FILE
-s, --set=STRING set time described by STRING
-u, --utc, --universal print or set Coordinated Universal Time (UTC)
--help 显示此帮助信息并退出
--version 显示版本信息并退出
给定的格式FORMAT 控制着输出,解释序列如下:
%% 一个文字的 %
%a 当前locale 的星期名缩写(例如: 日,代表星期日)
%A 当前locale 的星期名全称 (如:星期日)
....(下面省略)....
3.2 man page
通常 --help 用在协助你查询“你曾经用过的指令所具备的选项与参数”而已, 如果你要使用的是从来没有用过得指令,或者是你要查询的根本就不是指令,而是文件的“格式”时,那就得要使用 man page 。man是manual(操作说明)的简写。 进入man指令的功能后,你可以按下“空白键”往下翻页,可以按下“ q ”按键来离开man的环境。
sw@ubuntu:~$ man date //进入man指令的功能,称呼他为man page,可以在里头查询他的用法与相关的参数说明
在上面图片的第一行,你可以看到的是:“DATE(1)”,DATE我们知道是指令的名称,(1)代表是“一般使用者可使用的指令”的意思,在查询数据的后面的数字是有意义的喔!他可以帮助我们了解或者是直接查询相关的数据。 常见的几个数字的意义是这样的:
代号 代表内容
1* 使用者在shell环境中可以操作的指令或可可执行文件
2 系统核心可调用的函数与工具等
3 一些常用的函数(function)与函数库(library),大部分为C的函数库(libc)
4 设备文件的说明,通常在/dev下的文件
5* 配置文件或者是某些文件的格式
6 游戏(games)
7 惯例与协定等,例如Linux文件系统、网络协定、ASCII code等等的说明
8* 系统管理员可用的管理指令
9 跟kernel有关的文件
1, 5, 8这三个号码特别重要。
通过这张表格的说明, 未来你如果使用man page在察看某些数据时,就会知道该指令/文件所代表的基本意义是什么了。 例如:man null,会出现的第一行是:“NULL(4)”,对照一下上面的数字意义,null是一个“设备文件”。
man page的内容也分成好几个部分来介绍该指令,就是上头man date那个表格内, 以NAME作为开始介绍,最后还有个SEE ALSO来作为结束。基本上,man page大致分成下面这几个部分:
代号 内容说明
NAME 简短的指令、数据名称说明
SYNOPSIS 简短的指令下达语法(syntax)简介
DESCRIPTION 较为完整的说明,这部分最好仔细看看!
OPTIONS 针对 SYNOPSIS 部分中,有列举的所有可用的选项说明
COMMANDS 当这个程序(软件)在执行的时候,可以在此程序(软件)中下达的
指令
FILES 这个程序或数据所使用或参考或链接到的某些文件
SEE ALSO 可以参考的,跟这个指令或数据有相关的其他说明!
EXAMPLE 一些可以参考的范例
//有时候除了这些外,还可能会看到Authors与Copyright等,不过也有很多时候仅有NAME与DESCRIPTION等部分。
查询数据的步骤:
1. 先察看NAME的项目,约略看一下这个数据的意思;
2. 再详看一下DESCRIPTION,这个部分会提到很多相关的数据与使用时机;
3. 而如果这个指令其实很熟悉了(例如上面的date),主要就是查询关于OPTIONS的部分了! 可以知道每个选项的意义,这样就可以下达比较细部的指令内容呢;
4. 跟这个数据有关的还有哪些东西可以使用的?举例来说,上面的SEE ALSO就告知我们还可以利用“info coreutils date”来进一步查阅数据;
5. 某些说明内容还会列举有关的文件(FILES 部分)来提供我们参考。
在man page常用的按键给他整理整理:(注意:以下按键是在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的数据通常是放在/usr/share/man这个目录里头(不同的distribution通常可能有点差异性),然而,我们可以通过修改他的man page搜寻路径来改善这个目录。修改/etc/man_db.conf (有的版本为man.conf或manpath.conf或man.config等)即可。
用 -f 这个选项就可以取得更多与man相关的信息;用 -k关键字查找.
sw@ubuntu:~$ man -f man
man (1) - 在线参考手册的接口
man (7) - macros to format man pages
sw@ubuntu:~$ man 1 man //这里是用 man(1) 的文件数据
sw@ubuntu:~$ man 7 man //这里是用 man(7) 的文件数据
sw@ubuntu:~$ man man //就跟搜寻的顺序有关了。搜寻的顺序是记录在/etc/man_db.conf 这个配置文件当中, 先搜寻到的那个说明文档,就会先被显示出来!
//一般来说,通常会先找到数字较小的那个啦!因为排序的关系啊!所以, man man 会跟 man 1 man 结果相同!
sw@ubuntu:~$ man -k man //是利用关键字将说明文档里面只要含有man那个字眼的(不见得是完整字串)取出来
accessdb (8) - 以易读的格式转储 man-db 数据库的内容
catman (8) - 创建或更新预格式化的手册页
lexgrog (1) - 解析 man 手册页的头部信息
man (1) - 在线参考手册的接口
manconv (1) - 将手册页从一种编码转换到另一种
mandb (8) - 创建或更新手册页索引缓存
manpath (1) - 确定手册页的搜索路径
....(省略)....
man的简略写法:
sw@ubuntu:~$ whatis [指令或者是数据] //相当于 man -f [指令或者是数据]
sw@ubuntu:~$ apropos [指令或者是数据] //相当于 man -k [指令或者是数据]
注意:这两个特殊指令要能使用,必须要有创建 whatis 数据库才行!这个数据库的创建需要以 root 的身份下达如下的指令:
root@ubuntu:~# mandb
//旧版的 Linux 这个指令是使用 makewhatis 喔!这一版开使用 mandb 了!
3.3 info page
info:线上求助的方法,基本上,info与man的用途其实差不多,都是用来查询指令的用法或者是文件的格式。但是与man page一口气输出一堆信息不同的是,info page则是将文件数据拆成一个一个的段落,每个段落用自己的页面来撰写, 并且在各个页面中还有类似网页的“超链接”来跳到各不同的页面中,每个独立的页面也被称为一个节点(node)。 所以,你可以将info page想成是文字模式的网页显示数据。
支持info指令的文件默认是放置在/usr/share/info/这个目录当中的。举例来说,info这个指令的说明文档有写成info格式,所以,你使用“ info info ”可以得到如下的画面:
sw@ubuntu:~$ info info
File: info.info, Node: Top, Next: Getting Started, Up: (dir)
Info: An Introduction
*********************
The GNU Project distributes most of its on-line manuals in the "Info
format", which you read using an "Info reader". You are probably using
an Info reader to read this now.
....(中间省略)....
If you are new to the Info reader and want to learn how to use it,
type the command 'h' now. It brings you to a programmed instruction
sequence. //这一段在说明,按下 h 可以有简易的指令说明!很好用!
....(结尾省略)....
File:代表这个info page的数据是来自info.info文件所提供的;
Node:代表目前的这个页面是属于Top节点。 意思是info.info内含有很多信息,而Top仅是info.info文件内的一个节点内容而已;
Next:下一个节点的名称为Getting Started,你也可以按“N”到下个节点去;
Up:回到上一层的节点总揽画面,你也可以按下“U”回到上一层;
Prev:前一个节点。但由于Top是info.info的第一个节点,所以上面没有前一个节点的信息。
info page当中可以使用的按键:
按键 进行工作
空白键 向下翻一页
[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
3.4 其他有用的文件(documents)
还有相当多的说明需要额外的文件!此时,这个所谓的 How-To(如何做的意思)就很重要啦!还有,某些软件不只告诉你“如何做”,还会有一些相关的原理会说明呢。默认在/usr/share/doc这个目录下。这个目录下的数据主要是以套件(packages)为主的, 例如 nano 这个软件的相关信息在usr/share/doc/nano-xxxx(那个xxx表示版本的意思!)。
在终端机模式中,如果你知道某个指令,但却忘记了相关选项与参数,请先善用 --help的功能来查询相关信息;
当有任何你不知道的指令或文件格式这种玩意儿,但是你想要了解他,请赶快使用man或者是info来查询!
而如果你想要架设一些其他的服务,或想要利用一整组软件来达成某项功能时,请赶快到/usr/share/doc 下面查一查有没有该服务的说明文档喔!
4、文书编辑器: nano
sw@ubuntu:~$ nano test.txt //不管text.txt存不存在都没有关系!存在就打开旧文件,不存在就打开新文件
下面是nano里面的显示
GNU nano 2.9.3 test.txt //宣告nano的版本与文件名
_ // 这个是光标所在处
[ Read 2 lines ]
^G 求助 ^O Write Out ^W 搜索 ^K 剪切文字 ^J 对齐
^X 离开 ^R 读档 ^\ 替换 ^U Uncut Text ^T 拼写检查
// 上面两行是指令说明列,其中^代表的是[ctrl]的意思
比较重要的几个组合按键:
[ctrl]-G:取得线上说明(help),很有用的!
[ctrl]-X:离开naon软件,若有修改过文件会提示是否需要储存喔!
[ctrl]-O:储存盘案,若你有权限的话就能够储存盘案了;
[ctrl]-R:从其他文件读入数据,可以将某个文件的内容贴在本文件中;
[ctrl]-W:搜寻字串,这个也是很有帮助的指令喔!
[ctrl]-C:说明目前光标所在处的行数与列数等信息;
[ctrl]-_:可以直接输入行号,让光标快速移动到该行;
[alt]-Y:校正语法功能打开或关闭(按一下开、再按一下关)
[alt]-M:可以支持鼠标来移动光标的功能
//你想要取得更完整的说明,可以在nano的画面中按下[ctrl]-G或者是[F1]按键, 就能够显示出完整的naon内指令说明了
当文件text.txt处于编辑模式,退出执行步骤:1.[crtl]-X离开2.是否保存?是或否,a.是,然后回车,存储后离开;b.否,直接离开nano程序。
5、关机注意事项
正常情况下,要关机时需要注意下面几件事:
了解主机目前的使用状态:
观察系统的使用状态: 如果要看目前有谁在线上,可以下达“who”这个指令;
看网络的连线状态,可以下达 “ netstat -a ”这个指令;
要看背景执行的程序可以执行“ ps-aux ”这个指令。
通知线上使用者关机的时刻: 要关机前给线上的使用者一些时间来结束他们的工作,所以,这个时候你可以使用 shutdown 的特别指令来达到此一功能。
关机/重新开机相关的指令:
将数据同步写入硬盘中的指令: sync
惯用的关机指令: shutdown
重新开机,关机: reboot, halt(最简单的关机命令), poweroff
某些distributions则在你要关机时,他会要你输入root的密码。
5.1 数据同步写入磁盘: sync
数据在计算机中运行的模式, 所有的数据都得要被读入内存后才能够被CPU所处理,但是数据又常常需要由内存写回硬盘当中(例如储存的动作)。 由于硬盘的速度太慢(相对于内存来说),如果常常让数据在内存与硬盘中来回写入/
读出,系统的性能就不会太好。在Linux系统中,为了加快数据的读取速度,所以在默认的情况中, 某些已经载入内存中的数据将不会直接被写回硬盘,而是先暂存在内存当中,如此一来, 如果一个数据被你重复的改写,那么由于他尚未被写入硬盘中,因此可以直接由内存当中读取出来, 在速度上一定是快上相当多的!
直接在命令行下输入sync,那么在内存中尚未被更新的数据,就会被写入硬盘中。目前的 shutdown/reboot/halt 等等指令均已经在关机前进行了 sync 这个工具的调用。
sw@ubuntu:~$ su - //这个指令在让你的身份变成 root !下面请输入 root 的密码!
密码: //就这里!请输入安装时你所设置的 root 密码!
root@ubuntu:~# sync
sync也可以被一般帐号使用喔!只不过一般帐号使用者所更新的硬盘数据就仅有自己的数据,不像root可以更新整个系统中的数据了。
5.2 惯用的关机(重启)指令: shutdown
shutdown 命令的基本信息如下:
命令名称:shutdown。
英文原意:bring the system down。
所在路径:/sbin/shutdown。
执行权限:超级用户。
功能描述:关机和重启
命令格式:
root@ubuntu:~# shutdown [选项] 时间 [警告信息]
若是使用远端管理工具(如通过pietty使用ssh服务来从其他计算机登陆主机), 那关机就只有root有权力。不过在linux系统中一般只有拥有root权限才可以使用这个命令常使用的是shutdown这个指令,而这个指令会通知系统内的各个程序 (processes),并且将通知系统中的一些服务来关闭。shutdown可以达成如下的工作:
可以自由选择关机模式:是要关机或重新开机均可;
可以设置关机时间: 可以设置成现在立刻关机, 也可以设置某一个特定的时间才关机。
可以自订关机讯息:在关机之前,可以将自己设置的讯息传送给线上 user 。
可以仅发出警告讯息:有时有可能你要进行一些测试,而不想让其他的使用者干扰,或者是明白的告诉使用者某段时间要注意一下!这个时候可以使用 shutdown 来吓一吓使用者,但却不是真的要关机啦!
shutdown的语法规则为:
root@ubuntu:~# man shutdown
以下为查询的内容
SHUTDOWN(8) shutdown SHUTDOWN(8)
NAME
shutdown - Halt, power-off or reboot the machine
SYNOPSIS
shutdown [OPTIONS...] [TIME] [WALL...]
......中间省略......
OPTIONS
The following options are understood:
--help
Print a short help text and exit.
-H, --halt
Halt the machine.
-P, --poweroff
Power-off the machine (the default).
-r, --reboot//在将系统的服务停掉之后就重新开机(常用)
Reboot the machine.
-h//将系统的服务停掉后,立即关机。 (常用)
Equivalent to --poweroff, unless --halt is specified.
-k//不要真的关机,只是发送警告讯息出去!
Do not halt, power-off, reboot, just write wall message.
-c//取消已经在进行的 shutdown 指令内容。
时间 : 指定系统关机的时间!时间的范例下面会说明。若没有这个项目,则默认 1 分钟后自动进行。
Manual page shutdown(8) line 25 (press h for help or q to quit)
shutdown 参数说明:
[-t] 在改变到其它runlevel之前﹐告诉init多久以后关机。
[-r] 重启计算器。
[-k] 并不真正关机﹐只是送警告信号给每位登录者〔login〕。
[-h] 关机后关闭电源〔halt〕。
[-n] 不用init﹐而是自己来关机。不鼓励使用这个选项﹐而且该选项所产生的后果往往不总是你所预期得到的。
[-c] cancel current process取消目前正在执行的关机程序。所以这个选项当然没有时间参数﹐但是可以输入一个用来解释的讯息﹐而这信息将会送到每位使用者。
[-f] 在重启计算器〔reboot〕时忽略fsck。
[-F] 在重启计算器〔reboot〕时强迫fsck。
[-time] 设定关机〔shutdown〕前的时间。
执行 shutdown 之后,系统告诉大家,这部机器会在十分钟后关机。!并且会将讯息显示在目前登陆者的屏幕前方! 你可以输入“ shutdown -c ”来取消这次的关机指令。
root@ubuntu:~# shutdown -h now
//立刻关机,其中 now 相当于时间为 0 的状态
root@ubuntu:~#shutdown -h 20:25
//系统在今天的 20:25 分会关机,若在21:25才下达此指令,则隔天才关机
root@ubuntu:~# shutdown -h +10
//系统再过十分钟后自动关机
root@ubuntu:~# shutdown -r now
//系统立刻重启
root@ubuntu:~#shutdown -r 20:25
//系统在今天的 20:25 分会重启,若在21:25才下达此指令,则隔天才重启
root@ubuntu:~# shutdown -r +30 //'The system will reboot'
//再过三十分钟系统会重启,并显示后面的讯息给所有在线上的使用者
root@ubuntu:~# shutdown -k now //'This system will reboot'
//仅发出警告信件的参数!系统并不会关机啦!吓唬人!
5.3 halt----最简单的关机命令
root@ubuntu:~# halt //系统停止~屏幕可能会保留系统已经停止的讯息!
halt 命令
# halt ### 立刻关机
# halt -p ### 关闭机器
# halt --reboot ### 重启机器
其实halt就是调用shutdown -h。halt执行时,杀死应用进程。执行sync系统调用,文件系统写操作完成后就会停止内核。
参数说明:
[-n] 防止sync系统调用﹐它用在用fsck修补根分区之后﹐以阻止内核用老版本的超级块〔superblock〕覆盖修补过的超级块。
[-w] 并不是真正的重启或关机﹐只是写wtmp〔/var/log/wtmp〕纪录。
[-d] 不写wtmp纪录〔已包含在选项[-n]中〕。
[-f] 没有调用shutdown而强制关机或重启。
[-i] 关机〔或重启〕前﹐关掉所有的网络接口。
[-p] 该选项为缺省选项。就是关机时调用poweroff。
5.4 reboot,poweroff
reboot的工作过程差不多跟halt一样。不过它是引发主机重启,而halt是关机。它的参数与halt相差不多。对于poweroff,网上说它是halt命令的链接,基本用法和 halt 差不多。
目前系统中所有服务的管理是使用 systemctl 指令,这个指令相当的复杂。 halt, poweroff, reboot, shutdown的动作都是去调用 systemctl 这个重要的管理命令!
root@ubuntu:~# systemctl [指令]
//指令项目包括如下:
//halt 进入系统停止的模式,屏幕可能会保留一些讯息,这与你的电源管理模式有关
//poweroff 进入系统关机模式,直接关机没有提供电力喔!
//reboot 直接重新开机
//suspend 进入休眠模式
root@ubuntu:~#systemctl reboot //系统重新开机
root@ubuntu:~# systemctl poweroff //系统关机
reboot 通知系统重启
# reboot ### 重启机器
# reboot --halt ### 停止机器
# reboot -p ### 关闭机器
poweroff关机命令
# poweroff ### 关闭机器
# poweroff --halt ### 停止机器
# poweroff --reboot ### 重启机器
5.5 Init
init是所有进程的祖先,它的进程号始终为1,所以发送TERM信号给init会终止所有的用户进程、守护进程等。shutdown 就是使用这种机制。init定义了8个运行级别(runlevel), init 0为关机,init 6为重启。 init 的指令,这个指令可以切换不同的执行等级~ 执行等级共有 0~6 七个,其中 0 就是关机、6 就是重新开机。
root@ubuntu:~# init 0 //关机,也就是调用系统的 0 级别
root@ubuntu:~# init 6 //重启,也就是调用系统的 6 级别
5.6 退出当前用户
注销表示退出当前用户登录
# logout
# exit #工作中常用
# ctrl+d #工作中常用
注:该内容为读书笔记,部分内容收集来源于网络,如有侵权或错误,请联系我整改,谢谢!