1. 组成
linux指令的组成有三部分组成,指令 选项 和参数
[mahao@study ~]$ command [-options] parameter1 parameter2 ...
[账户名@主机名 当前目录]$ 指令 选项 参数1 参数2
上述指令详细说明如下:
- 一行指令中第一个输入的部分绝对是“指令(command)”或“可可执行文件案(例如批次脚本,script)”
- command 为指令的名称,例如变换工作目录的指令为 cd 等等;
- 中刮号[]并不存在于实际的指令中,而加入选项设置时,通常选项前会带 - 号,例如 -h;有时候会使用选项的完整全名,则选项前带有 – 符号,例如 --help;
- parameter1 parameter2… 为依附在选项后面的参数,或者是 command 的参数;
- 指令, 选项, 参数等这几个咚咚中间以空格来区分,不论空几格 shell 都视为一格。所以空格是很重要的特殊字符!;
- 按下[Enter]按键后,该指令就立即执行。[Enter]按键代表着一行指令的开始启动。
- 指令太长的时候,可以使用反斜线 (\) 来跳脱[Enter]符号,使指令连续到下一行。注意!反斜线后就立刻接特殊字符,才能跳脱!
- 其他:
- 在 Linux 系统中,英文大小写字母是不一样的。举例来说, cd 与 CD 并不同。
[dmtsai@study ~]$ ls -al ~
[dmtsai@study ~]$ ls -al ~
[dmtsai@study ~]$ ls -a -l ~
上面这三个指令的下达方式是一模一样的执行结果。
2. 基础指令
- 显示日期与时间的指令: date
- 显示日历的指令: cal
- 简单好用的计算机: bc
1. 时间显示指令 date
[mahao@localhost ~]$ date
2019年 12月 13日 星期五 11:31:19 CST
显示给定的格式:
[mahao@localhost ~]$ date +%Y/%m/%d:%H/%M/%S
2019/12/13:11/34/14
2. 日历显示指令 cal
[mahao@localhost ~]$ cal #显示当前月分的日历
十二月 2019
日 一 二 三 四 五 六
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
[mahao@localhost ~]$ cal 10 2019 #显示某年某月,按照西方格式
十月 2019
日 一 二 三 四 五 六
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
[mahao@localhost ~]$ cal 2019 #某一年日历
2019
一月 二月 三月
日 一 二 三 四 五 六 日 一 二 三 四 五 六 日 一 二 三 四 五 六
1 2 3 4 5 1 2 1 2
6 7 8 9 10 11 12 3 4 5 6 7 8 9 3 4 5 6 7 8 9
13 14 15 16 17 18 19 10 11 12 13 14 15 16 10 11 12 13 14 15 16
20 21 22 23 24 25 26 17 18 19 20 21 22 23 17 18 19 20 21 22 23
27 28 29 30 31 24 25 26 27 28 24 25 26 27 28 29 30
31
四月 五月 六月
日 一 二 三 四 五 六 日 一 二 三 四 五 六 日 一 二 三 四 五 六
1 2 3 4 5 6 1 2 3 4 1
7 8 9 10 11 12 13 5 6 7 8 9 10 11 2 3 4 5 6 7 8
14 15 16 17 18 19 20 12 13 14 15 16 17 18 9 10 11 12 13 14 15
21 22 23 24 25 26 27 19 20 21 22 23 24 25 16 17 18 19 20 21 22
28 29 30 26 27 28 29 30 31 23 24 25 26 27 28 29
30
七月 八月 九月
日 一 二 三 四 五 六 日 一 二 三 四 五 六 日 一 二 三 四 五 六
1 2 3 4 5 6 1 2 3 1 2 3 4 5 6 7
7 8 9 10 11 12 13 4 5 6 7 8 9 10 8 9 10 11 12 13 14
14 15 16 17 18 19 20 11 12 13 14 15 16 17 15 16 17 18 19 20 21
21 22 23 24 25 26 27 18 19 20 21 22 23 24 22 23 24 25 26 27 28
28 29 30 31 25 26 27 28 29 30 31 29 30
十月 十一月 十二月
日 一 二 三 四 五 六 日 一 二 三 四 五 六 日 一 二 三 四 五 六
1 2 3 4 5 1 2 1 2 3 4 5 6 7
6 7 8 9 10 11 12 3 4 5 6 7 8 9 8 9 10 11 12 13 14
13 14 15 16 17 18 19 10 11 12 13 14 15 16 15 16 17 18 19 20 21
20 21 22 23 24 25 26 17 18 19 20 21 22 23 22 23 24 25 26 27 28
27 28 29 30 31 24 25 26 27 28 29 30 29 30 31
3. 简易计算机 cal
[mahao@localhost ~]$ bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
2019 + 1024 #加法
3043
15 / 2 #除法,结果默认整数
7
100^2
10000
scale= 3 #按照小数计算,
1/3
.333
quit #退出
3. 热键 【tab】 【ctrl-c】 【ctrl-d】
table:
在指令上,双按下,补全指令或者给出提示。
在文件上,补全目录。
ctrl-c:
结束执行;
ctrl-d:
相当于 exit
指令
shift+page【up/down】:
上一页和下一页
4. --help
查看指令的使用
[mahao@localhost home]$ ls --help
用法:ls [选项]... [文件]...
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.
Mandatory arguments to long options are mandatory for short options too.
-a, --all 不隐藏任何以. 开始的项目
-A, --almost-all 列出除. 及.. 以外的任何项目
--author 与-l 同时使用时列出每个文件的作者
-b, --escape 以八进制溢出序列表示不可打印的字符
--block-size=SIZE scale sizes by SIZE before printing them; e.g.,
'--block-size=M' prints sizes in
会显示指令的用法,与一些选项的指令使用。
5. man page
会显示详细的使用,
-
第一行: **LS(1)**显示指令名称与类型数字
-
第二行是 name,介绍作用
-
描述 介绍指令的详细的描述与操作选项。
进入man 后可以使用空格和page down下翻页,使用下键换行,使用 b键和page up上翻页,使用上键上翻行。
关于数字的意义:
比较重要的是: 1.表示普通指令或者可执行文件,5.表示配置文件或者文件格式,8表示特殊的管理员指令。
man指令显示内容:
如何使用这些指令的内容:
-
- 先查看 name 属性,了解基本特征
-
- 在看提要,了解使用与用法
-
- 而如果这个指令其实很熟悉了(例如上面的date),那么鸟哥主要就是查询关于OPTIONS的部分了! 可以知道每个选项的意义,这样就可以下达比较细部的指令内容呢!
man 中关于页面查看的用法:
按键 | 工作 |
---|---|
空格 | 下翻页 |
page down | 下翻页 |
b 键 | 上翻页 |
page up | 上翻页 |
home | 首页 |
end | 尾页 |
/ 字符 | 搜索man页中的字符关键字,如果要搜寻 vbird 的话,就输入 /vbird |
n键和N键 | 小写n键时下一个搜索关键字,大写N键是上一个搜索的关键字 |
6. 文本编辑器: nano
#打开或者创建一个文件
nano text.txt
7. 正确的关机方法
linux是多用户的系统,因此关机或者重启的时候,要确保其他用户是否保存了数据。我们可以通过who
命令查看,系统中的用户。
[mahao@localhost ~]$ who #显示已经登录的用户
mahao :0 2019-12-15 22:34 (:0) #图形界面的登录
mahao pts/0 2019-12-15 22:34 (:0) #在图形界面打开的终端。
mahao tty2 2019-12-15 22:38 #使用客户端tty2登录的mahao账户
root pts/1 2019-12-15 22:41 (172.30.78.197) #通过xshell登录的root
当系统要关机时,我们需要一个机制,通知其他账户要关机了,然后进行数据状态保护的功能。
shutdowm,sync
-
数据同步写入磁盘:
sync
数据在计算机中运行的模式, 所有的数据都得要被读入内存后才能够被CPU所处理,但是数据又常常需要由内存写回硬盘当中(例如储存的动作)。 由于硬盘的速度太慢(相对于内存来说),如果常常让数据在内存与硬盘中来回写入/读出,系统的性能就不会太好。因此在Linux系统中,为了加快数据的读取速度,所以在默认的情况中, 某些已经载入内存中的数据将不会直接被写回硬盘,而是先暂存在内存当中,如此一来, 如果一个数据被你重复的改写,那么由于他尚未被写入硬盘中,因此可以直接由内存当中读取出来, 在速度上一定是快上相当多的!
不过,如此一来也造成些许的困扰,那就是万一你的系统因为某些特殊情况造成不正常关机 (例如停电或者是不小心踢到power)时,由于数据尚未被写入硬盘当中,哇!所以就会造成数据的更新不正常啦! 那要怎么办呢?这个时候就需要sync这个指令来进行数据的写入动作啦! 直接在命令行下输入sync,那么在内存中尚未被更新的数据,就会被写入硬盘中!所以,这个指令在系统关机或重新开机之前, 很重要喔!最好多执行几次!
sync
事实上sync也可以被一般帐号使用喔!只不过一般帐号使用者所更新的硬盘数据就仅有自己的数据,不像root可以更新整个系统中的数据了。
-
关机指令:
shutdowm
shutdowm [-krhc] [时间分钟/具体时间] [提醒信息] 参数: -k: 并非真正的关机,只是发送警告信息 -r: 重启主机 -h: 关机 -c: 取消之前的关机操作。 shutdown -h 10 '关机了在10分钟后' #系统在10分钟后关机
关机指令很重要,只能使用root账户进行关机,即使是使用主机的实体终端机tty1-tty7都不可以进行关机了。
[root@study ~]# shutdown -h now 立刻关机,其中 now 相当于时间为 0 的状态 [root@study ~]# shutdown -h 20:25 系统在今天的 20:25 分会关机,若在21:25才下达此指令,则隔天才关机 [root@study ~]# shutdown -h +10 系统再过十分钟后自动关机 [root@study ~]# shutdown -r now 系统立刻重新开机 [root@study ~]# shutdown -r +30 'The system will reboot' 再过三十分钟系统会重新开机,并显示后面的讯息给所有在线上的使用者 [root@study ~]# shutdown -k now 'This system will reboot' 仅发出警告信件的参数!系统并不会关机啦!吓唬人!
-
重新开机:
reboot
reboot #立即重新开机