目录 【简单命令】
【命令帮助】
【linux 系统目录结构】
【 linux 文件类型 】
【目录操作命令】
【作业】
【简单命令】
timedatectl :
命令功能 : 显示或设置系统时间和市区。
语法格式 : timedatectl [参数]
注 : 当我们发现电脑时间和实际的并不相符的时候~~ 怎么办?
如果时间相差不是很大,只是几分钟,几十分钟,我们可以直接设置,
如果相差很大,那就很有必要检查一下时区了。 因此,timedatectl 便可用于。
参数 | 功能 |
status | 显示状态信息 |
list-timezones | 列出已知时区 |
set-time | 设置系统时间 |
set-timezone | 设置生效时区 |
命令示例 : set-time 参数
[root@bogon ~]# timedatectl set-time "20220320 11:30:00"
Failed to parse time specification '20220320 11:30:00': Invalid argument
[root@bogon ~]# timedatectl set-time "2022/03/20 11:30:00"
Failed to parse time specification '2022/03/20 11:30:00': Invalid argument
[root@bogon ~]# timedatectl set-time "2022.03.20 11:30:00"
Failed to parse time specification '2022.03.20 11:30:00': Invalid argument
[root@bogon ~]# timedatectl set-time "2022-03-20 11:30:00"
[root@bogon ~]# timedatectl set-time "11:30:00"
注 : 上示命令,其中上部分为错误格式,主要是 设置时间的时间格式为错误
的,eg : "20220320 11:30:00" "2022/03/20 11:30:00" "2022.03.20
11:30:00" 均为错误格式。 正确格式为 “2022-03-20 11:30:00” 也可以
只设置时间。不用设置年月!!!
命令示例 : set-timezone 参数
# 未设置时区之前查看此刻状态
[root@bogon ~]# timedatectl status
Local time: Sun 2022-03-20 11:49:06 CST
Universal time: Sun 2022-03-20 03:49:06 UTC
RTC time: Sun 2022-03-20 03:49:06
Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: no
NTP service: inactive
RTC in local TZ: no
# 设置时区 设置为 “America/New_York”
[root@bogon ~]# timedatectl set-timezone "America/New_York"
# 设置完成后,可以在查看一下。
[root@bogon ~]# timedatectl status
Local time: Sat 2022-03-19 23:53:13 EDT
Universal time: Sun 2022-03-20 03:53:13 UTC
RTC time: Sun 2022-03-20 03:53:13
Time zone: America/New_York (EDT, -0400)
System clock synchronized: no
NTP service: inactive
RTC in local TZ: no
注 :timedatectl status : 该命令查询此刻 时间、时区 状态
timedatectl 也可单独只用不加 status 也能查询此刻 时间 等状态
timedatectl set-zones : 设置时区时,也可以不加 引号。
reboot :
命令功能 : 用于重启系统。
注 : 此命令只限于 超级用户 root 来执行。
命令示例 :
[root@bogon ~]# reboot
poweroff :
命令功能 : 用于关闭系统 关机功能。
注 : 该命令也只能由 超级用户 root 来执行
命令示例 :
[root@bogon ~]# poweroff
wget :
命令功能 : 用于下载网络文件;网络获取,说白就是用命令进行下载。
语法格式 : wget [参数] 网址 (中间有空格)
参数
| 作用 |
-b
|
后台下载模式
|
-P
|
下载到指定目录
|
-t
|
最大尝试次数
|
-c
|
断点续传
|
-p
|
下载页面内所有资源,包括图片、视频等
|
-r
|
递归下载
|
-O (大O) | 使用 wget 下载的时候,可以指定下载后的文件名称 |
注 : 目前基础阶段,只做初步了解,后续会介绍。
注 : 参数解析
-b : 在后台运行下载,不在前台显示
-c : 就是如果在下载过程中网络突然断掉了,也不会影响,网络什么时候恢复
什么时候就接着继续下载,一般用于下载 大文件 的时候。
这分两种情况,一种是断了就重新下载,一种就是断了,等恢复接着之前
下载的地方继续接着下载。
-p : 首先,大家清楚,有的网站打开的时候里面的内容是逐渐加载的,比如百
度,打开百度网页面的时候,是你打开到哪里,那里才会被加载出来,不
会直接全部加载完。 这就是 此参数的意义。
-r : 大多数情况下 在文件夹 1 里存在文件夹 2 ,在文件夹 2 里又存在 3 ,在
3 里又会存在4,等等。 那么,所谓递归下载就是,如果我们选择下载文
件夹 1 。那么它里面的所有文件都会被下载。
-O : -O file ( file 为,我们想要拟定的 文件名称)
命令示例 : 以 -O 参数为例
[root@bogon ~]# wget -O baidu.html www.baidu.com
--2022-04-07 21:41:29-- http://www.baidu.com/
Resolving www.baidu.com (www.baidu.com)... 110.242.68.4, 110.242.68.3
Connecting to www.baidu.com (www.baidu.com)|110.242.68.4|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2381 (2.3K) [text/html]
Saving to: ‘baidu.html’
baidu.html 100%[=====================================>] 2.33K --.-KB/s in 0s
2022-04-07 21:41:29 (329 MB/s) - ‘baidu.html’ saved [2381/2381]
[root@bogon ~]# ls
anaconda-ks.cfg Desktop Downloads Music Public Templates Videos
baidu.html Documents initial-setup-ks.cfg Pictures tar_dir tr_data.txt
注 : 第一行代码 : 其中, baidu.html 为指定的下载好后的文件名称。
下载好后查看 ls 命令: 便显示了 我们所命名的下载文件-baidu.html
Bash :
命令功能 :使用 Bash 去执行命令
语法格式 : 命令名 [选项] [参数] (注意 : 中间用 空格 隔开的!!)
示例 :
date : 就是命令名。
date "+%s" : 这种格式就是 —— 命令名 [+参数]
date -s "str" : 这种格式就是 命令名 [选项] [参数] -s 就是 选项,“str” : 就是参数。
1. Shell 命令的一般格式 :
即 : 命令名 [选项] [参数]
注 : 上示格式里,其中,命令名 [选项] [参数],它们之间是用空格隔开的,并且多
余的空格是被自动忽略的——就是如果在他们三个之间多按了几个空格也是
不会有影响的。 而 方括号里 [ ] 的东西也是可以省略的,也就是说格式所示
的样子,也可以变为 eg : 命令名 [选项] ; 命令名 [参数] ; 甚至 只有单纯的命
令名,也是可以的。eg : 比如在命令行里 直接输入 date 按回车,就会显示
日期和命令。
( 1 ) 命令名 : 决定了该 命令 是做什么的。
命令名由小写的英文字母构成,往往是表示相应功能的英文单词或单词的缩写
(2) 选项 : 决定了 该命令怎么做 。
不同的命令,其能够使用的的选项也会不同(数量和内容)。
注 : 选项 是以 “-” 即 半角下的减号符 引导的,如果命令要使用多个 选项的
也可以用一个 “-” 连接起来,比如 -la 就等同于 -l-a。
绝大多数情况下 "-" 是不能够省略的,个别命令的选项中的 “-” 可以省
略的,比如 tar 命令。
(3) 参数 : 决定了 该命令对谁做。
参数就是为 命令 提供一些相关信息或者是命令执行过程中所使用的文件名。
注 : 有一些 命令 也可能 不需要参数,有一些则 可能需要多个参数。
(4) Linux的命令、选项、参数均区分大小写,大多数情况下是小写。
2. bash Shell 提示符
【命令帮助】 ※※※
前言 : 我们在学习的过程中也总会遇到一些 新的陌生的命令,我们自然也不会知道命
令到底是怎么个用法,它的 [选项] [参数] 又是怎么用。 那么这个时候,命令帮
助就会起到很大作用。
因为在 linux 中内置了很多的命令帮助文档,即使新安装的软件也会有很多帮助
文档,我们可以通过帮助文档来了解 命令的使用。
1. 查看命令的类型 : type
用法 : type 命令名 (中间有空格; 查看命令类型)
功能 : 查出 命令 是 内部 命令,还是 外部命令。
linux 中 对应的命令分为 内部命令 和 外部命令。
外部命令 : 它对应的是 path环境变量下可以找到的与命令名称一致的文件的名称,
每一个外部命令对应的是一个可执行的程序(二进制可执行文件)。
内部命令 : 内部命令是外部命令中含有的命令。
type 命令示例 :
[root@bogon ~]# type cd
cd is a shell builtin
[root@bogon ~]# type wget
wget is /usr/bin/wget
注 :
第一行所示命令 type cd 即: 查看 cd 命令类型,显示的便是 cd 是 shell 内建
的命令,也即内部命令。
第二行命令即:查看 wget 命令类型,显示含义为 wget 的路径,是一个程序
所以 wget为外部命令。
2. help
命令功能 : 查看了解 命令 。
语法格式 :
(1.) 当命令为内部命令时,对命令进行查看:
格式为 : help 命令名
(2.) 当命令为外部命令时,对命令进行查看:
格式为 : 命令名 --help
命令示例 :
[root@bogon ~]# ls --help
Usage: ls [OPTION]... [FILE]...
................
................
[root@bogon ~]# help cd
cd: cd [-L|[-P [-e]] [-@]] [dir]
...............
...............
注 :
首行命令--- 即: ls --help 就是查看 ls 的命令,因为 ls 为外部命令,所以
格式即为那样; 下面的省略号 均为 对命令的查看,由于内容太多,便以
省略号代替。 help cd 的解释也是如此。
3. man
命令功能 : 用来提供在线帮助,使用权限为所有用户。 在 linux 系统中存储着
联机使用的手册,以供用户在终端上查找。 使用 man 命令可以调
阅帮助信息。 查询后显示的内容为 帮助文档。
语法格式 : man [选项] 命令名 ([选项] 也可省略)
命令示例 :
[root@bogon ~]# man ls
LS(1) User Commands LS(1)
NAME
ls - list directory contents
SYNOPSIS
ls [OPTION]... [FILE]...
DESCRIPTION
List information about the FILEs (the current directory by default). Sort entries alphabeti‐
cally if none of -cftuvSUX nor --sort is specified.
Mandatory arguments to long options are mandatory for short options too.
-a, --all
do not ignore entries starting with .
-A, --almost-all
do not list implied . and ..
--author
with -l, print the author of each file
-b, --escape
Manual page ls(1) line 1 (press h for help or q to quit)
注 : man ls ,即是 对 ls 命令进行查阅。
大家也能看到,对要了解的命令进行查询后,会显示很多内容。
man 命令名 ,后会出现很长的内容,因此,提供了一些键盘操作。
------- man命令中 常用按键及作用---------
按键
|
作用
|
空格键
|
向下翻一页
|
PaGe down
|
向下翻一页
|
PaGe up
|
向上翻一页
|
home
|
直接前往首页
|
end
|
直接前往尾页
|
/
|
从上至下搜索某个关键词,如“/linux”
|
?
|
从下至上搜索某个关键词,如“?linux”
|
n
|
定位到下一个搜索到的关键词
|
N
|
定位到上一个搜索到的关键词
|
q
|
退出帮助文档
|
------- man 命令中 帮助文档的结构及意义----------
结构名称
|
代表意义
|
NAME
|
命令的名称
|
SYNOPSIS
|
参数的大致使用方法
|
DESCRIPTION
|
介绍说明
|
EXAMPLES
|
演示(附带简单说明)
|
OVERVIEW
|
概述
|
DEFAULTS
|
默认的功能
|
OPTIONS
|
具体的可用选项(带介绍)
|
ENVIRONMENT
|
环境变量
|
FILES
|
用到的文件
|
SEE ALSO
|
相关的资料
|
HISTORY
|
维护历史与联系方式
|
重要 : 我们目前只需要掌握 命令名 --help 和 man 命令名 就好。
【linux 系统目录结构】
前言 :
1. 回顾 :
我们当时在搭建 linux 系统环境的时候,有一部操作是对 磁盘进行了分区:
/ : 根目录
/ boot : 存放系统启动时的文件
swap : 交换空间
2. 须知 :
在 linux 中所有的目录文件的存储路径 : 都是从 / 开始的,因此我们认为 / 就
是 根目录 。
正文 :
1. linux 目录结构的特点 :
使用树形目录结构来组织和管理文件。
整个系统只有一个位通过访问挂载点目录,即可实现对这些分区的访问。通过
访问挂载点目录,即可实现对这些分区的访问。于根分区的一个根目录(树
根),其它所有分区、目录、 文件、以及外部设备(如 硬盘、光驱等)都是
以根目录为七点,挂载在目录树的某个目录中的。
2.
我们搭建 linux 系统时,创建了一块 大小为 20 GB 的硬盘, 我们没法对硬盘
物理上的分盘(你不可能把它掰成几个小硬盘呀);但是,我们可以在逻辑上
进行划分即 对硬盘进行逻辑分区处理 :
/ 根目录 : 15 GB
/ boot : 500MB
swap : 2GB
如上 : 我们对硬盘划分了 三块 : 15GB , 2GB ,500MB, 以上操作,我们
只是对硬盘进行了划分逻辑区域,但是并没有和 linux 联系起来啊,
那么怎样才可以和 linux 联系起来呢??
什么才叫联系起来呢??
解释 : 大家都熟知 在 windows 系统中,我们的文件都是怎么存放
是不是都是在 某个盘符的那个文件夹里的那个文件,那么
linux 系统怎么放文件呢?? 这便是联系的关键!!
那么怎么联系起来呢??
解释 :linux 要存储文件,存储到哪里呢? 硬盘的那一块区域呢?
linux 要怎么操作 :
1. 对硬盘进行划分区域(已经进行了)
2. 对区域进行格式化(安装文件系统)
3. 将区域和 linux 映射起来
4. 我们把文件存储到目录,相当于放在划分的这块区域
注 : 该操作叫挂载,目录叫挂载点,区域叫物理存储设备。
注 : 上图所示即我们 基础一 中的步骤操作,也即 : 我们对磁盘进行分区完
成后的内容。
要对上图作注解的是 :
如内容所示: 我们把 5GB 映射到 / home
1024MB 映射到 / boot
28 GB 映射到 / 根目录
4 GB 映射到 swap
这些 / 根目录;/ home ; swap ; / boot 就是 挂载点。
3. / 根目录
查看根目录 :
查看某个文件肯定要用到 : ls 命令!!
命令示例 :
[root@bogon ~]# ls /
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
注 :
/ 根目录的这些文件,都是linux系统 帮我们自动创建的目录。也是系统
所必需的目录。
根目录下属目录 :
/
|
Linux
文件系统的最上层根目录
,
其他所有目录均是该目录的子目录
|
/bin
|
Binary
的缩写
,
存放普通用户可执行的程序或命令
|
/boot
|
存放系统启动时所需的文件
,
这些文件若损坏常会导致系统无法启动
,
一般不要改动
|
/dev
|
dev
是设备(
device
)的英文缩写。包含所有的设备文件
|
/etc
|
存放了系统管理时要用到的各种配置文件和子目录
|
/home
|
存放一般用户的个人目录
|
/lib
|
是库(
library
)英文缩写,存放系统的各种库文件
|
/lib64
|
存放系统本身需要用到
64
位程序的共享函数库
(library)
|
/mnt/media
|
可以临时将别的文件系统挂在这个目录下,即为其他的文件系统提供安装点
|
/opt
|
该目录通常提供给较大型的第三方应用程序使用
,
例如
Sun Staroffice
、
Corel 、WordPerfect,这可避免将文件分散至整个文件系统
|
/proc
|
可以在这个目录下获取系统信息。这些信息是在内存中由系统自己产生的
|
/root
|
超级用户的个人目录,普通用户没有权限访问
|
/run
|
保存自系统启动以来描述系统信息的文件
|
/sbin
|
和
/bin
类似,这些文件往往用来进行系统管理
,
只有
root
可使用
|
/srv
|
srv
是服务
(server)
的简写
,
服务启动之后需要访问的数据目录
|
/sys
|
本目录是将内核的一些信息映射文件
,
以供应用程序所用
|
/tmp
|
用来存放不同程序执行时产生的临时文件。
|
/home
|
存放一般用户的个人目录
|
/usr
|
一般用户程序安装所在的目录
,
用于安装各种应用程序
|
/var
|
通常各种系统日志文件放在这里
|
注 :
3.1 关于查找目录的格式 :
我们在查目录时,一定是 都基于 / 根目录 的前提下,再层层目录递进的。
示例 :
[root@bogon ~]# ls /home
elttwl
[root@bogon ~]# ls /home/elttwl
注: 首先,都可以看到,两行代码都是 基于 / 根目录 开始的,这两行代
码,就是查找目录的格式,第一个斜杠 / 均代表的是,起于根目录。
[root@bogon ~]# ls home/elttwl
ls: cannot access 'home/elttwl': No such file or directory
注 : 上示代码,明显看出查找目录时,并没有从 / 根目录开始,并且报错
那么,代表着什么呢?—— 意味着,是从当前目录下开始的,报错,
也是因为,当前目录下并没有 elttwl 文件目录。
3.2 解释几个重要子目录
bin : binary 二进制,一般可以执行的命令 叫做二进制可执行的文件。 示例 :
wget 命令 =>当要执行 wget url 命令时 => 去环境变量 PATH 中查找路
径=> 在路径中去搜索 wget 文件=> 然后再去执行 wgt url
[root@bogon ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@bogon ~]# type wget
wget is /usr/bin/wget
注 :
首行代码 显示 环境变量有哪些~ ,第二行代码,解释了,wget 命
令在环境变量下的哪一个里面。
dev : device 设备的意思,比如 :磁盘, 鼠标,键盘,分区,tty1~tty6终端设备
因此,在 dev 目录里面存储的就是 与设备有关的目录。
在 linux 中,万物皆文件 : 目录称为目录文件,设备称为设备文件,总之
一切皆文件,都当文件存储在 linux 中。
etc : 存放配置文件的地方。系统大部分的配置文件都存储在 /etc 或它的子目录中
示例 :
[root@bogon ~]# cd /etc/sysconfig/network-scripts
[root@bogon network-scripts]# ls
ifcfg-ens160
注 : 第一行代码为 查找目录, 显示的内容为 网卡的配置文件。
home : 存放普通用户的目录。创建一个普通的用户,会在 / home 下创建一个和
用户名相同的目录,来存储用户的文件。
注 : 我们当时在搭建 linux 系统的时候,创建了一个 普通用户 elttwl,
那么 对应的在 /home 下必有一个 elttwl 目录。
[root@bogon ~]# ls /home
elttwl
proc : 存放系统信息。 比如 : CPU ,内存,分区的信息等等。
tmp : 是系统用来存储临时文件的目录,特点:关机后会清空,所以,重要文件
不要放在这个目录下。
usr : 不是 user,是用户的软件资源,安装软件就可以放在这个目录下。
4 . 路径 : 是用来表示文件或目录在系统结构中的位置。
相对路径 : 是针对目前你所处于目录的相对位置。
[root@bogon ~]# cd /home
[root@bogon home]# cd elttwl
注 : 第二行代码就是相对路径了,因为它目前是处在 home 工作目录下
的,是相对于 home 目录下的 elttwl 目录的。
绝对路径 : 即确定的路径,是从根目录开始的; 例如 : /home/elttwl ,这个
就是从根目录开始的,是绝对路径。 绝对路径就是,不管此刻处
于哪一个目录下,直接是从 根目录开始的路径,不用相对。
【 linux 文件类型 】
( 一 ) 文件类型 :
1. 普通文件 : 就是一个普通文件,比如:视频,音频,文本等等
2. 目录文件 : 指的是目录而已。
3. 链接文件 : 符号链接,用于不同目录下的文件共享,他自己本身么什么内容,是指向
另一个文件的。
4. 设备文件 :
块设备 : 例如磁盘,因为磁盘是一块一块存储的,划分区块的,不是一个一
字符存储的。
字符设备 : 按照字符进行操作的终端,比如 tty终端,键盘。
5. 管道文件 : 主要用于进程间数据的传递,想象成一个下水管,连接上一层楼和下一层
6. 套接字文件 : 主要应用于网络数据连接。
# : 隐藏文件 : 就是在文件名称的前面加一个 . 以 . 开始的文件名,被认为是隐藏
文件。必须使用 ls 命令 的 -a 选项。
[root@bogon ~]# ls
anaconda-ks.cfg Desktop Downloads Music Public Templates Videos
baidu.html Documents initial-setup-ks.cfg Pictures tar_dir tr_data.txt
[root@bogon ~]# ls -a
. .bash_logout .cshrc .esd_auth .mozilla tar_dir .viminfo
.. .bash_profile .dbus .ICEauthority Music .tcshrc .Xauthority
anaconda-ks.cfg .bashrc Desktop initial-setup-ks.cfg Pictures Templates
baidu.html .cache Documents .lesshst .pki tr_data.txt
.bash_history .config Downloads .local Public Videos
注 : ls 先列出有哪些目录,随后使用 ls -a 便可以查看隐藏文件。
可以看到 ls -a 列出的内容里有两个小特殊 :
一个是 . 一个是 ..
[root@bogon ~]# cd .
[root@bogon ~]#
[root@bogon ~]# cd ..
[root@bogon /]#
. 注释 : 代表当前目录的意思
.. 注释 : 代表上一级目录
( 二 ) 查看是什么类型的文件 :
1. ls -l : ls 命令 是 列出目录内容
ls -l 是使用 长格式展示
[root@bogon ~]# ls -l
total 16
-rw-------. 1 root root 1402 Mar 23 20:07 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 Mar 23 22:23 Desktop
drwxr-xr-x. 2 root root 6 Mar 23 22:23 Downloads
-rw-r--r--. 1 root root 1557 Mar 23 22:19 initial-setup-ks.cfg
drwxr-xr-x. 2 root root 6 Mar 23 22:23 Music
[root@bogon ~]# ls -l /bin/sh
lrwxrwxrwx. 1 root root 4 Aug 30 2019 /bin/sh -> bash
[root@bogon ~]# ls -l /dev/nvme0n1
brw-rw----. 1 root disk 259, 0 Mar 29 09:00 /dev/nvme0n1
[root@bogon ~]# ls -l /dev/tty3
crw--w----. 1 root tty 4, 3 Mar 29 09:00 /dev/tty3
[root@bogon ~]# ls -l /run/dmeventd-client
prw-------. 1 root root 0 Mar 29 09:00 /run/dmeventd-client
[root@bogon ~]# ls -l /run/systemd/journal/dev-log
srw-rw-rw-. 1 root root 0 Mar 29 09:00 /run/systemd/journal/dev-log
注 : 只关心第一列的第一个字符 :
d : 代表的就是 目录——目录文件
- : 代表的就是普通文件
l : 链接文件 /bin/sh => bash => 就类似于一个快捷方式
b : 块设备文件
c : 字符设备文件
p : 管道文件
s : 套接字文件
2. file : 它可以显示 比较具体的详细文件类型信息
[root@bogon ~]# file baidu.html
baidu.html: HTML document, UTF-8 Unicode text, with very long lines, with CRLF line terminators
注 : 使用 file 就可以看出 baidu.html 的相关详细信息,比如 : HTML ,UTF-8编码
【目录操作命令】
( 一 ) 命名规则 :
长度不超过 255 个字符
不能使用 / 当文件名; 最常用的使用 _ 来连接单词 :word_count.txt
严格区分大小写 word.txt 和 Word.txt 是两个文件
( 二 ) 命令 :
cd : 切换目录
pwd : 打印当前所在工作目录
ls : 列出目录内的容
1. 命令的格式 : 命令名 [ 选项 ] [ 参数 ]
ls :
ls : 以简短的形式显示: 当前工作目录的内容
ls -l : 以长格式的形式 显示当前工作目录内容 这是 : 命令名 [选项]
ls /home : 展示指定的目录的内容 这是 : 命令名 [ 参数 ]
ls -l /home : 以长格式的形式 显示当前指定目录的内容 这是 :命令名 [选项] [参数]
常用选项 :
选项 | 功能 |
-a
|
显示所有子目录和文件的信息
,
包括名称以
“.”
开头的隐藏目录和隐藏文件
|
-A
|
与
-a
选项的作用类似
,
但不显示表示当前目录的
“.”
和表示父目录的
“..”
|
-c
|
按文件的修改时间排序后
,
予以显示
|
-d
|
显示指定目录本身的信息
,
而不显示目录下的各个文件和子目录的信息。
|
-h
|
以更人性化的方式显示出目录或文件的大小
,
默认的大小单位为字节
,
使用
-h
选项后将显示为
K
、
M
等单位。此选项需要和
-l
选项结合使用才能体现出结果。
|
-l
|
以长格形式显示文件和目录的详细信息
,ls
命令默认只显示名称的短格式。
|
-R
|
以递归的方式显示指定目录及其子目录中的所有内容
|
注 :
- a : -a 是短选项, --a 是长选项,两个是一样的。 显示所有以 . 开始的内容
# 多个选项是可以合在一起使用的 : 示例 : ls -al
-d : 显示给定的目录,但不显示给定目录的内容。
[root@bogon ~]# ls /home
elttwl
[root@bogon ~]# ls -d /home
/home
注释 : 如上示代码 :
第一行是查看 home 目录下的内容,第二行便使用了 -d 结果便就是只
显示了 目录名称 home ,并没有显示 home 目录下的 elttwl 内容。
- R : 就是以递归的方式显示信息,可以显示包含的子目录中的信息,以及自目录中
子目录的信息。
mkdir : 创建一个目录
命令格式 : mkdir [选项] [路径]或者目录名
命令示例 :
[root@bogon ~]# mkdir text
[root@bogon ~]# ls
anaconda-ks.cfg Desktop Downloads Music Public Templates tr_data.txt
baidu.html Documents initial-setup-ks.cfg Pictures tar_dir text Videos
注 : 上示命令可以看出 :创建了 text 目录后,随后查看 text 也是在的。
注 : 注释下 选项 其中的 -p
-p 选项 :可快速创建出目录结构中指定的每个目录,对于已存在的目录不会被覆盖。
功能 : 在介绍 mkdir -p 选项之前,先引入问题以助于更好理解 : 现在,我们都知
道了 mkdir 是创建目录的命令功能, 那么,当我们想要创建一个目录时,我
们直接使用 mkdir 目录名 就好了,但是,如果我想创建一个类似递归的目录
呢? 说白就是 目录A 下有目录B,B下有C,C下有D。
这时就会用到 -p 选项!!!!!
怎么用 -p :
[root@bogon ~]# mkdir -p loo/pko
注 :
-p 后的格式是 loo/pko ,很明显不是 /loo/pko ,显然少了 / ,那么有什么差别
呢? 这就需要上面的内容支持理解了(需要 相对路径,绝对路径的支持)
loo/pko 是相对路径,即 : 是此时此刻我的工作目录 ~ 下创建这loo/pko目录
而加了 /loo/pko 之后,就成了绝对路径了,即不管此时此刻的工作目录是什么
不管现在是什么,直接在 / 目录下去创建 loo/pko 这个目录。
因此,在使用 -p 选项时,必须考虑 所创建的目录 是 绝对路径还是相对路径
注 : 解释一下对已存在的目录不会被覆盖。
在使用 -p 选项时,其实,还存在一个问题,就是,当我们在创建 目录A
下的目录B,下的C ...时, A 要是已经都在目前的工作目录里了呢?就是我
们要创建的 目录要是已经存在了呢 ?
解释 : 如果已经存在 目录A ,那么结果就是,不用创建 A 了,直接在已
经有 A 的目录下 创建 B ,以此类推,这就是所谓的不会被覆盖。
du :
命令功能 : 统计目录及文件的空间占用情况。
查看某个目录中的各级子目录所占用的磁盘空间数。
命令格式 : du [ 选项 ] [目录名 ]
同样,如果没有加 目录名,那么默认为 当前目录
选项
|
功能
|
-a
|
统计磁盘空间占用时包括所有的文件
,
而不仅仅只统计目录。
|
-s
|
只统计每个参数所占用空间总的大小
,
而不是统计每个子目录、文件的大小。
|
-h |
以
K,M,G
为单位显示磁盘使用情况
,
以提高信息的可读性
|
注 :
-s : 只展示当前这个目录所使用的大小。
-h : 带单位展示
du -sh * : 代表展示当前这个目录中所有文件和目录
[root@bogon ~]# du -sh *
4.0K anaconda-ks.cfg
4.0K baidu.html
0 Desktop
0 Documents
0 Downloads
4.0K initial-setup-ks.cfg
0 loo
0 Music
0 Pictures
0 Public
0 tar_dir
0 Templates
0 text
4.0K tr_data.txt
0 Videos
注 : 上示命令 即是 : 展示的是 ~ 目录中下属所有目录的大小。
-sh 即是: 把两个选项 合在一起。 后面那个是 星号 *
【补充】
(一) 命令补全功能 : TAB 键
用法 : 敲命令时,不用全部敲完,可以只敲命令的前一部分,而后按下TAB键,便会
对命令进行补全(注意:若命令本身只有一个匹配选项,那么 TAB 键便会直接
补全;若是有多个选项,便会在屏幕上均展示命令)
示例 :
[root@bogon ~]# time
time timedatectl timedatex timeout times
[root@bogon ~]# timedate
timedatectl timedatex
[root@bogon ~]# timedatectl
命令注解 :
首次,我们敲了 time 而后按下 TAB 键,便显示五个命令选项,而
后我们再在time后敲下date,即timedate,再按下 TAB 键,便只会显
示两个命令了,再补个c,即timedatec,再按下 TAB键,便会把整个
timedatectl 命令补全。
(二) 历史命令查询 : 按方向键上键 / 下键
注 : 我们已经敲过的命令,也有可能下几次就要用到,为了方便,我们可以采用历
史命令查询键 (即 :方向键上键) 按一次,就会自动显示上一次所敲的完整
命令,按两次就会显示上两次的完整命令,依次类推;同理,按方向键的下键
也会向所敲的最新命令展示。
(三) 终止快捷键 : ctrl + c
注 :比如我们在执行某条命令的时候,执行错了,一直卡在那里,那么此时我们就可以
按下 “ ctrl + c ” 来终止命令执行。
(四) 命令
1. ls : list 列出当前目录中的内容
命令示例 :
[root@bogon ~]# ls
anaconda-ks.cfg Documents initial-setup-ks.cfg Pictures tar_dir tr_data.txt
Desktop Downloads Music Public Templates Videos
注 : 就相当于 windows 系统里的 dir
2. cd - : 查看上次工作目录
命令示例 :
[root@bogon ~]# pwd
/root
[root@bogon ~]# cd /home
[root@bogon home]# pwd
/home
[root@bogon home]# cd -
/root
注 :
可以看到首行代码为 ,打印当前工作目录 : 是 / root,到第二行代码,我们切换工
作目录,切换到 / home 中,再打印当前工作目录,显示的是 / home ,然后,我们使
用, cd - 查看上次工作目录 就显示的是 / root 了。
【作业】
1. 使用timedatectl查看时间状态
列出所有已知时区
修改时区为列出时区的某一个
解答 :
查看时间状态 :
[root@bogon ~]# timedatectl
Local time: Sat 2022-05-28 15:24:10 CST
Universal time: Sat 2022-05-28 07:24:10 UTC
RTC time: Sat 2022-05-28 07:24:10
Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: no
NTP service: inactive
RTC in local TZ: no
列出所有已知时区 :
[root@bogon ~]# timedatectl list-timezones
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara
Africa/Bamako
Africa/Bangui
Africa/Banjul
Africa/Bissau
Africa/Blantyre
Africa/Brazzaville
Africa/Bujumbura
Africa/Cairo
Africa/Casablanca
Africa/Ceuta
Africa/Conakry
Africa/Dakar
Africa/Dar_es_Salaam
Africa/Djibouti
Africa/Douala
Africa/El_Aaiun
Africa/Freetown
Africa/Gaborone
注 :
# 该执行的命令就是 上示命令 ,但是结果太多不好全部展示,就列举部分内容。
# 当在屏幕上显示出 所有时区时,内容很多,查询的操作规则是 :
翻页 : 按下空格就是直接翻了一页
下一个 : 查询下一个是 按下ENTER 键
退出时区显示 : 是按下 q 键
修改时区为已知中的某一个 :
[root@bogon ~]# timedatectl set-timezone America/Chicago
[root@bogon ~]# timedatectl
Local time: Sat 2022-05-28 02:32:13 CDT
Universal time: Sat 2022-05-28 07:32:13 UTC
RTC time: Sat 2022-05-28 07:32:14
Time zone: America/Chicago (CDT, -0500)
System clock synchronized: no
NTP service: inactive
RTC in local TZ: no
注 : 在输入 时区 时,要注意 时区的大小写的输入是否和列举的一样,大小写
不一样,是输不对的。
2. 使用wget命令在https://www.pearvideo.com/这个网站下载任意一个视频
解答 :
我们在这里使用的是 梨视频 网站中的某一个视频进行下载。
在视频当前页的空白处,单击右键,选择检查选项。
当按下检查键后便会显示如上图所示内容,而后,按下红色圈的标记
红色标记的功能是 用来定位元素的,就是当你点击了红色标记的地方后,
当鼠标在左边视频里的任何区域移动的时候,相应的在右边的那 一串串
密密麻麻的看不懂的英文的那里也会有相应的 高亮显示,以表达,你鼠标
目前移动停留的位置。
如上图所示,当鼠标放在视频的那里,对应的在代码区也有相应的代码
在 高亮显示 淡蓝色的那里就是高亮显示
然后,我们需要用到 高亮显示的那里的 一段代码也即 视频链接,所以我们
需要复制那段视频链接,但是,你直接复制你会发现,根本复制不了,都不
能用鼠标光标把那段链接给突出出来,这是因为,我们没有对 HTML 进行编
辑,因此,如上图,我们需要单击右键,而后点击 Edit as HTML 这是可以
对 HTML 语言进行编辑的意思,所以点击它,然后复制那段 视频链接的代
码,就是 “ https 后面的所有内容,一直到 mp4结束”
上示即为 wget 下载命令,而后显示的便是 视频下载成功。
注 :
# 我们在这里是想使用 wget 命令 来进行下载视频,这是我们的目的所在,
但是,并不是每一个网站都可以这么用,因为并不是每一个网站都可以获取
视频链接 。我们在这里使用的是 梨视频 的网站里的视频进行下载。
# 那么下载后的视频去了哪里呢 ?
这跟当时执行 wget 命令进行下载的 当前工作目录有关系,当前工作目录在
哪里,那么视频便会下到哪里。
上示紫粉红色部分即为下载内容。
# 那么如果要指定下载文件呢? 就是将下载视频的文件指定放在某一个地方
那么,我们需要的是 wget 的一个选项 就是 wget -O(大写 O)
在我们前面的正文里面介绍了 -O 的使用方法。
# 有时,在下载视频的时候也会出现一些问题比如 :
出现上示问题时,在 ERROR : 后面就是问题。 是想说,不被信任!
解决方法为 :
在 wget 里面有一个选项 : --no-check-certificate
这个选项就是专门解决此问题的!
即在命令后面加上上示 选项即可!
[root@bogon ~]# wget https://video.pearvideo.com/mp4/adshort/20220524/cont-1763204-15884803_adpkg-ad_hd.mp4 --no-check-certificate
3. Linux中的文件类型以及符号的表示
解答 :
文件类型 : 符号 :
1. 普通文件 -
2. 目录文件 d
3. 链接文件 l
4. 块设备文件 b
5. 字符文件 c
6. 管道文件 P
7. 套接字文件 s
注 :
上示所谓的 符号,是指 在 ls -l 的长格式下显示的,第一个字符所代表的意思。
4. 创建目录test,并使用一条命令在test下创建 test1/test2/test3
a.输出test3的完整路径
b.在上面创建的test3目录下创建 file1 并修改文件的修改时间为 20220319
c.查看file1的详细信息
解答 :
[root@bogon ~]# mkdir test
[root@bogon ~]# mkdir -p test/test1/test2/test3
[root@bogon test3]# pwd
/root/test/test1/test2/test3
[root@bogon test3]# touch file1
[root@bogon test3]# touch -d 20220319 file1
[root@bogon test3]# ls -l
total 0
-rw-r--r--. 1 root root 0 Mar 19 00:00 file1
[root@bogon test3]# stat file1
File: file1
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd00h/64768d Inode: 1589468 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2022-03-19 00:00:00.000000000 +0800
Modify: 2022-03-19 00:00:00.000000000 +0800
Change: 2022-05-29 17:48:06.870014180 +0800
Birth: -