Shell 命令基础
1、命令格式
常见的 Linux 命令的格式如下:
命令名称 [选项] 参数 1 参数 2 ……
(1) 命令名称:
cd dir ping shutdown 等
(2) [选项]:该选项是可选择的,使得结果执行更加符合需求
选项前面一般有一个减号(短格式):
-h -r -t -c
也可以是两个减号(长格式,如):
--help
一个命令可以有多个选项,选项之间要用空格隔开。
(3) 参数 1 参数 2 ……:
参数一般是要处理的对象,如文件或目录等。
参数之间用空格隔开
命令名称、参数和对象之间必须要有一个或多个空格,而且严格区分大小写
如下图为ping百度
-c ping多少次
-s ping包发送大小
2、man 命令
在 Linux 中,Shell 命令多达数千条,全部熟练掌握是不切实际的。因此,学会查看和使用帮助的命令是十分必要的。
利用 man 命令可以查看指定命令的帮助手册,man 是 manual 的缩写,意为手册,一般语法格式为:“man 命令名称”。 按 q 键可退出
下图为 man ping
名 | 作用 |
---|---|
NAME | 命令名称及功能简介 |
SYNOPSIS | 基本语法格式 |
DESCRIPTION | 详细说明基本语法中的各选项与参数的用法 |
AUTHOR | 说明实现该命令程序的作者 |
REPORTING BUGS | 若该命令程序存在问题,可向指定机构报告 |
COPYRIGHT | 自由软件版权声明 |
SEE ALSO | 该命令的其它方面或其它解释 |
第 1 行表示本帮助信息的类别,括号中的数字就是类别代码
类别代码 | 表示 |
---|---|
1 | 表示一般用户使用的命令 |
4 | 设备文件的说明,设备文件一般位于/dev 目录下 |
5 | 表示配置文件或者是某些文件的格式 |
8 | 表示系统管理员使用的管理命令 |
若要查看指定类别的帮助手册时,直接指定类别代码即可,语法格式为:“man 类别代码 命令名称”。如“man 8 ping”。
下表为 man 帮助页面常用按键及作用
按键 | 作用 |
---|---|
空格或 PgDn | 向下翻一页 |
PgUp | 向上翻一页 |
Home | 直接回到首页 |
end | 直接前往尾页 |
q | 退出帮助文档 |
/ | 从上至下搜索某个关键词,如“/linux” |
n | 定位到下一个搜索到的关键词,如键入/linux 后,再按 n |
若只需要查看某个命令的使用语法格式,在该命令的后面加上选项“-h”或者“ --help” 即可,如下图
3、Shell 常用快捷键
3.1、向上或向下方向键
通过向上和向下方向键来查看和调取前面执行过的命令。
3.2、Tab 键
Bash Shell 中,Tab 键可以实现命令、参数或文件名称自动补全。
如要执行 shutdown关机命令,当输入前面的三个字母 shu 后连按两次 Tab 键,系统就会把以 shu 开头的所有命令显示出来;当输入前四个字母 shut 后按一次 Tab 键时,系统将自动补全命令 shutdown。
当前输入的部分没有与其它命令/参数/文件名相同,按一次 Tab 键就能自动补全,
否则按一次 Tab 键不会有任何响应,再按一次 Tab 键时,
系统才会将所有存在重名的可能项显示出来以供用户参考选择
3.3、Ctrl+C 键
在 Windows 中,Ctrl+C 组合键表示复制,但在 Linux 中,此快捷组合键的功能是终止当前执行命令。
当执行了一条错误命令,或者需要终止正在执行的一条命令时,就可以使用Ctrl+C 组合键。
在 Linux 中,Ping 命令会一直重复执行,此时就可以使用 Ctrl+C 组合键。
3.4、Ctrl+L 键
组合键 Ctrl+L 表示清空当前 Shell 终端中已有的内容,即清屏,相当于执行 clear 命令
3.5、Ctrl+D 键
组合键 Ctrl+D 表示键盘输入结束(End OF Input),简称 EOF,相当于执行 exit 命令。
在 Shell 终端中,按组合键 Ctrl+D 的效果就是关闭当前 Shell 终端。
4、date 命令
date 命令用于显示或设置系统的时间与日期,常用语法格式为:date [“+格式”]
未指定格式时,date 命令将直接显示当前系统时间和日期
date 命令中常见的格式及含义如表
格式 | 含义 |
---|---|
%S | 秒(00~59) |
%M | 分钟(00~59) |
%H | 小时(00~23) |
%I | 小时(00~12) |
%m | 月份(1~12) |
%p | 显示出 AM 或 PM |
%a | 缩写的工作日名称(例如:Sun) |
%A | 完整的工作日名称(例如:Sunday) |
%b | 缩写的月份名称(例如:Jan) |
%B | 完整的月份名称(例如:January) |
%y | 简写年份(例如:21) |
%Y | 完整年份(例如:2021) |
%d | 本月中的第几天 |
%j | 今年中的第几天 |
举例
第 1 条命令没有指定格式,以默认格式显示当前系统日期和时间,其中 CST 是中国标准时间(China Standard Time)的缩写。
第 2 条命令按指定格式“年-月-日 小时:分钟:秒 上/下午”显示当前系统日期和时间。
第 3 条命令则是查看今天是今年中的第几天
5、 cal 命令
cal 是 calendar 的缩写,该命令的作用是显示日历,常用用法是在命令后面指定月份和年份。
未指定月份和年份时将显示系统当前月份的日历。
6、timedatectl 命令
timedatectl 的英文全称为 time date control,该命令用于设置系统时间和日期,其语法格式为:“timedatectl [参数]”
timedatectl 命令中常用参数及含义如表
参数 | 含义 |
---|---|
status | 显示当前系统关于时间和日期的状态信息 |
list-timezones | 显示目前可用的时区,如 Asia/Shanghai |
set-time | 设置系统时间 |
set-timezone | 设置系统时区 |
第 1 条命令用于显示当前系统与时间有关的状态信息
当系统时区不是上海(Asia/Shanghai)时,可执行命令图中第 2 条命令进行修改。
当系统时间和日期与实际不相符时,也可利用该命令进行修改
第 3 条命令是激活网络时间同步,使系统时间与网络时间服务器时间同步
7、重启和关机命令
在 Linux 下,常用的重启和关机命令有 reboot、shutdown、halt、poweroff 和 init 等。一般建议学会用 reboot 和 shutdown 就可以了。
由于 Linux 是多用户多任务操作系统,即在某一个时刻可能有多个用户远程登录并使用该系统,为防止重启或关机操作对其它用户产生影响,因此,执行这些命令一般需要管理员权限,并建议在重启或关机操作前执行 sync 命令做好数据同步。
shutdown 命令可以关机,也可以重启系统,其语法格式为:“shutdown [选项]”。
其常用选项及含义如表
选项 | 含义 |
---|---|
-t | 指定过多少秒后关机 |
-r | 将系统服务停掉后重新启动系统(常用) |
-h | 将系统服务停掉后再关机 (常用) |
[root@Hi_heibao ~]# shutdown -h now #现在就关机
[root@Hi_heibao ~]# shutdown -r now #现在就重启
[root@Hi_heibao ~]# shutdown -t 8 #8 秒后关机
[root@Hi_heibao ~]# shutdown -h 21:18 #晚上 9:18 分关机
[root@Hi_heibao ~]# sync;sync;sync; shutdown -t 8 #数据同步后再过 8 秒关机
shutdown -c #取消关机/重启任务
8、 wget 命令
wget 的英文全称是 web get,其功能是下载网络文件,基本语法格式为:“wget [选项] URL 地址” 。
wget 命令的常用选项及含义如表
选项 | 含义 |
---|---|
-b | 后台下载模式 |
-P | 下载到指定目录 |
-c | 断点续传 |
-r | 递归下载 |
-O | 重命名下载的文件 |
wget 命令下载文件的示例如图
9、history 命令
history 命令用于显示当前用户在以往执行过的命令,语法格式为:“history [-c]”。选项-c 的功能就是清空所有历史命令记录。
可以使用“!数字”来重复执行用该数字编号的命令
10、echo 命令
echo 命令的功能就是将其后面的参数(如字符串或变量)在标准输出(即屏幕)上打印出来,语法格式为:echo 参数。