命令格式
格式:主命令 选项 参数(操作对象)
格式:
- 由Shell程序自带的命令:内置命令(builtin)
- 有独立的可执行程序文件,文件名即命令名:外部命令
选项:指定命令的运行特征,指明要运行命令中的哪一个功能代码
- 短选项:例如:-I、-d,如果同一命令同时使用多个短选项,大多数可合并。
注意:有些命令的选项没有- - 长选项:例如--help,--human-readable
参数:命令的作用对象,即命令对什么生效
注意:有些选项可以带参数,有些选项可以不带参数;有些命令可同时带多个参数,多个参数之间以空白字符分隔
注:
- 按【Ctrl+C】键可终中断正在执行的命令
- 输入命令关键字的前几个字符后,按Tab键,可实现命令自动补全
Shell的介绍及其相关命令
Shell
Linux的操作界面常称为Shell
Shell是操作系统提供给用户使用的界面(图形、字符),它提供了用户与内核进行交互操作的一种接口。当用户发出指令(命令或鼠标操作),先将这些指令发送给Shell,由Shell将用户的指令翻译后传送给内核,再由内核来控制硬件的工作。然后内核将硬件的工作情况发送给Shell,并由Shell返回硬件的工作信息和情况。
Shell的分类:
- 图形界面的Shell :KDE、GNOME
- 字符界面的Shell(命令行Shell)
Shell的相关命令
查看Shell类型
方法1:cat /etc/shells
[root@localhost ~]# cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
方法2:chsh -l
[root@localhost ~]# chsh -l
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
[root@localhost ~]#
查看当前默认的shell
[root@localhost ~]# echo $SHELL
/bin/bash
Shell提示符:#和$
对于普通用户,Base shell 默认的提示符是美元符号 $ ;对于超级用户(root 用户),Bash Shell 默认的提示符是井号 # 。
普通用户登录:[当前登录用户@主机名 当前工作目录 ] $
root用户登录:[root@主机名 当前工作目录 ] #
这种格式包含了以下三个方面的信息:
启动 Shell 的用户名,也即 root;
本地主机名称,也即 localhost;
当前目录,波浪号~是主目录的简写表示法。
Shell 通过PS1和PS2两个环境变量来控制提示符格式:
PS1 控制最外层命令行的提示符格式。
PS2 控制第二层命令行的提示符格式。
[root@localhost ~]# echo $PS1
[\u@\h \W]\$
[root@localhost ~]# echo $PS2
>
常用命令
date命令
date命令用于显示或设置系统的时间与日期,语法格式为:“ date [+指定的格式]
”。
用户只需在date命令后输入以“+”号开头的参数,即可按照指定格式来输出系统的时间或日期,这样在日常工作时便可以把备份数据的命令与指定格式输出的时间信息结合到一起。例如,把打包后的文件自动按照“年-月-日”的格式打包成“backup-2020-9-1.tar.gz”,用户只需要看一眼文件名称就能大概了解到每个文件的备份时间了。
date命令中的参数以及作用
参数 | 作用 |
---|---|
%S | 秒(00~59) |
%M | %M |
%H | 小时(00~23) |
%I | 小时(00~12) |
%m | 月份(1~12) |
%p | 显示出AM或PM |
%a | 缩写的工作日名称(例如:Sun) |
%A | 完整的工作日名称(例如:Sunday) |
%b | 缩写的月份名称(例如:Jan) |
%B | 完整的月份名称(例如:January) |
%q | 季度(1~4) |
%y | 简写年份(例如:20) |
%Y | 完整年份(例如:2020) |
%d | 本月中的第几天 |
%j | 今年中的第几天 |
%n | 换行符(相当于按下回车键) |
%t | 跳格(相当于按下Tab键) |
按照默认格式查看当前系统时间的date命令如下所示:
[root@localhost ~]# date
Sat Sep 5 09:13:45 CST 2020
按照“年-月-日 小时:分钟:秒”的格式查看当前系统时间的date命令如下所示:
[root@localhost ~]# date "+%Y-%m-%d %H:%M:%S"
2020-09-05 09:14:35
将系统的当前时间设置为2020年11月1日8点30分的date命令如下所示:
[root@localhost ~]# date -s "20201101 8:30:00"
Sun Nov 1 08:30:00 CST 2020
再次使用date命令并按照默认的格式查看当前的系统时间,如下所示:
[root@localhost ~]# date
Sun Nov 1 08:30:08 CST 2020
date命令中的参数%j可用来查看今天是当年中的第几天。
这个参数能够很好地区分备份时间的新旧,即数字越大,越靠近当前时间。该参数的使用方式以及显示结果如下所示:
[root@localhost ~]# date "+%j"
306
timedatectl命令
timedatectl命令用于设置系统的时间,英文全称为:“time date control”,语法格式为:“ timedatectl [参数]
”。
timedatectl命令中的参数以及作用:
参数 | 作用 |
---|---|
status | 显示状态信息 |
list-timezones | 列出已知时区 |
set-time | 设置系统时间 |
set-timezone | 设置生效时区 |
查看系统时间与时区:
[root@localhost ~]# timedatectl status
Local time: Sun 2020-09-06 19:51:22 CST
Universal time: Sun 2020-09-06 11:51:22 UTC
RTC time: Sun 2020-09-06 19:51:21
Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: no
NTP service: inactive
RTC in local TZ: no
如果您查到的时区不是上海(Asia/Shanghai),可以手动进行设置:
(在上一篇文章中建议将时区设为上海)
[root@localhost ~]# timedatectl set-timezone Asia/Shanghai
如果时间还是不正确,我们可以手动的修改系统日期:
[root@localhost ~]# timedatectl set-time 2021-05-18
而如果想修改时间的话,也很简单:
[root@localhost ~]# timedatectl set-time 9:30
[root@localhost ~]# date
Tue May 18 09:30:01 CST 2021
wget命令
wget命令用于在终端命令行里下载网络文件,英文全称为:“web get”,语法格式为:“wget [参数] 网址
”。
无需打开浏览器,直接在命令界面就能下载文件,但如果您没有Linux系统的管理经验,当前只需了解一下wget命令的参数以及作用,然后看一眼下面的演示实验就够了,切记不要急于求成。
wget命令中的参数以及作用
参数 | 作用 |
---|---|
b | 后台下载模式 |
-P | 下载到指定目录 |
-t | 最大尝试次数 |
-c | 断点续传 |
-p | 下载页面内所有资源,包括图片、视频等 |
-r | 递归下载 |
查看目录下的文件:ls(list)
ls命令用来列出当前目录下的文件
选项 | 功能 |
---|---|
-l | 以长格形式显示文件和目录的详细信息(ls命令默认只显示名称的短格式) |
-d | 显示指定目录本身的信息,而不显示目录下的各个文件和子目录的信息 |
-c | 按文件的修改时间排序后,予以显示 |
-h | 以更人性化的方式显示出目录或文件的大小,默认的大小单位为字节(使用-h选项后将显示为K、M等单位。此选项需要和-l选项结合使用才能体现出结果) |
-R | 以递归的方式显示指定目录及其子目录中的所有内容 |
-a | 显示所有子目录和文件的信息,包括名称以“.”开头的隐藏目录和隐藏文件 |
-A | 与-a选项的作用类似,但不显示表示当前目录的“.”和表示父目录的“..” |
-i | 显示文件索引节点号(inode)。一个索引节点代表一个文件,在linux中保存在磁盘分区中的文件都给它分配一个编号,称为索引节点号inode |
切换目录:cd
cd是"Change Directory"的缩写,这是用来切换工作目录的命令,语法为“cd [相对路径或绝对路径或特殊符号]
”
不加参数时,默认切换到用户主目录,即环境变量HOME指定的目录,如:root用户的HOME变量为/root,那么cd命令不带参数时便切换到/root目录下。
- 绝对路径:是从根目录开始的,如
/root
或/home/Pictures
。用Windows系统举例就是由盘符开始的路径。 - 相对路径:是相对于当前路径来说的,假如当前目录在
/home/Pictures
下面,那么前面的/home/Videos
的相对路径就是../Videos
,即当前目录的上级目录下的Videos目录。
~
表示用户主目录,即HOME变量指定的目录,如root用户的主目录为/root。
[root@localhost Pictures]# cd ~
[root@localhost ~]#
-
表示前一个工作目录。
[root@localhost Pictures]# cd ../Videos
[root@localhost Videos]# cd -
/root/Pictures
[root@localhost Pictures]#
..
表示上级目录,多用于跳转其他目录(见上)。
[root@localhost Pictures]# cd ..
[root@localhost ~]#
.
表示当前目录,多用于跳转其他目录。
[root@localhost Pictures]# cd .
[root@localhost Pictures]#
[root@localhost Pictures]# ls
csdn
[root@localhost Pictures]# cd ./csdn/
[root@localhost csdn]#
目录后的"/"可有可不有