linux操作系统的基本命令
1.linux下的文件系统
在linux操作目录下没有像window操作系统下盘符的概念,只有一个根目录/,所有文件目录都在它的下面
linux的目录结构:
在Linux系统中:
- 文件都从跟目录开始的,用/表示
- 文件名称区分大小写
- 路径都是以/俩进行分隔(windown用\分隔)
- 以.开头的文件为隐藏文件
Linux有一个基本思想一切皆文件,系统中所有的都可以归结为一个文件,例如:数据文件,可执行命令,
进程等等,都被视为拥有各自特性的文件
/: 根目录,位于Linux文件系统目录结构的最高层,所有的内容大都是从这里开始
/root: 管理员root的主目录(家目录)
/home: 普通用户的主目录(家目录),当新建的账户时,都会分配其主目录再此,/home/用户名
/bin: 用于存放提供给用户使用的基本命名(二进制命令)
/opt:表示的是可选择的意思,第三方软件的安装位置(类似 D:\Progrem Files\)
/usr:安装是系统是所安装的软件的目录,类似 C:\Windows\
/usr/local: 用户级软件安装目录,用户自己编译的软件默认会安装到这个目录,类似 C:\Progrem
Linux 基本命令
Linux 的命令提示行
Linux 的命令提示行,也称为命令行界面(CLI)或终端(Terminal),是用户与 Linux 操作系统
进行交互的主要方式之一。它是一个文本界面,用户可以在其中输入命令来执行各种操作,如文件管 理、系统设置、程序编译等。 命令提示行通常由一个命令提示符和一个光标组成。命令提示符是用户输入命令的地方,它通常会显示当前用户、主机名和当前工作目录等信息。光标则用于指示用户当前可以输入命令的位置。
在 Linux 命令提示行中,用户可以通过输入命令和参数来执行各种操作。这些命令可以是系统内
置的命令,也可以是用户自己编写的程序。Linux 系统提供了丰富的命令和工具,可以满足用户各种不同的需求。
除了执行命令外,Linux 命令提示行还支持一些快捷操作和命令历史记录功能。用户可以使用上
下箭头 按键来浏览之前输入过的命令,也可以使用 Tab 键来自动补全命令和文件名等。
总之,Linux 的命令提示行是一个功能强大的工具,它允许用户通过文本界面与操作系统进行交
互,执行各种操作和管理系统资源。
命令行解析:
[root@localhost wzg]#
root 当前登录的用户名
loaclhost 逐句名
zwg 当前所在的工作目录/文件夹
# 命令提示符(代表管理员root, $表示普通用户)
温馨小提示: Linux 没有垃圾站回收功能,删除文件一定要三思而后行
Linux 的常用快捷键
- ctrl+c 或者 Ctrl+z 立即中止当前正在执行的任务,退出当前操作
- ctrl+d 注销登录
- ctrl+l 清屏 (或 clear)
- ctrl+s 暂停屏幕输出 (纯命令行模式下)
- ctrl+q 恢复屏幕输出 (纯命令行模式下)
- tab 命令补齐、文件名补齐(提高效率,防止出错)
- ↑ 上一个命令
- ↓ 下一个命令
- history 查看用户历史操作记录:
Linux 中"" 和 ''(双引号和单引号)的效果一样的,但注音是英文字符,字母大小写需要严格区分
Linux终端命令格式:
Linux 命令通常有三部分组成, 命令名 ,选项 ,参数 从左到右, 依次用空格隔开
命令名(command):
命令名是表示命令的基本功能,在Linux中,每个命令都是一道程序
通常保存在系统的/bin目录下,当用户在shell中输入命令时,shell会根据命令
所在的相应的位置搜索并执行相应的程序
选项 (Options):
选项是命令执行方式的调整开关,它决定了命令的显示结果或执行方式。选项分为长选项和短选
项。
短选项通常是一个字母,前面带有连字符“-”。例如,-l 选项在 ls 命令中表示“长格式列出”,显
示文件和目录的详细信息。
长选项是完整的单词,前面带有两个连字符“--”。例如,--help 选项在大多数命令中用于显示帮
助信息。
有些命令允许组合短选项,如-abc 表示-a -b -c。有些短选项可以不带“-”。
有些选项需要带参数,例如-L 512M 表示限制大小为 512M。
参数 (Arguments):
参数是命令作用的对象。它可以是文件、目录、用户名、进程 ID 等。参数的位置通常在选项之
后。
例如,在 ls /dev 命令中,/dev 是参数,表示列出/dev 目录下的文件和目录。
通过组合不同的命令、选项和参数,Linux 用户可以执行各种复杂的任务,从而实现系统管理和
应用程序开发等多种功能。
Tips:
Linux 命令,通常也被称为 Bash 命令行。Bash 是 Linux 系统中最常用的 shell,几乎所有的 Linux
发行版中都内置了 Bash。Bash 命令行以其强大和灵活性而著称,用户可以使用少量的命令执行多种
任务,甚至可以将任务自动化。
当用户提到 Linux 命令行时,他们通常指的是 Bash 命令行或 Bash 脚本。Bash shell 不仅可以直
接执行用户输入的命令,还可以从文件中读取命令来执行,这被称为 shell scripting(脚本编程)。
因此,可以说 Linux 命令和 Bash 命令行在很大程度上是相同的,因为 Bash 是 Linux 中最常用的
命令行解释器。
centos7调节时间
项目判断时间的标准,不应该是客户端请求中携带的时间,要么以服务器时间为判断标准,
要么以互联网时间为准
在 CentOS 7 中,可以使用多种方法来调节系统时间。以下是两种常用的方法:
方法一:使用 timedatectl 命令
1.检查当前的系统时间和时区
local time : 六 2024-09-21 11:07:51 CST
Local time :本地时间 CST (China Standard Time 中国标准时间,即东八区)
Universal time: 六 2024-09-21 03:07:51 UTC
Universal time:协调世界时(UTC,Universal Time Coordinated)
RTC time:硬件实时时钟,独立时钟(RTC,Real-Time Clock)的时间。
Time zone:时区。
Asia/Shanghai (CST, +0800):表示系统配置的时区是亚洲/上海,也就是中国标准时间(CST),
UTC 偏移量是 +0800,即比 UTC 快 8 小时。
第五行:NTP enabled: no
网络时间协议(NTP)没有被启用。NTP 用于同步系统时钟到远程服务器。
第六行:NTP synchronized: no
表示系统时钟尚未与 NTP 服务器同步。
第七行:RTC in local TZ: no
表示硬件实时时钟(RTC)没有设置为本地时区时间。
DST active: n/a
第八行:DST:夏令时。
n/a:表示不适用或没有相关信息。这可能意味着当前时区或地区不实行夏令时,或者系统没有
配置夏令时信息
2.修改系统时间:
sudo timedatectl set-time "YYYY-MM-DD HH:MM:SS"
例:timedatectl set-time "2023-06-30 09:01:55
如果需要修改时区:
sudo timedatectl set-timezone "时区"
方法二
①检查当前的系统时间:date
②修改系统时间:sudo date -s "YYYY-MM-DD HH:MM:SS"
例:sudo date -s "2024-12-30 09:01:55"
修改完成后,再次运行 date 命令来验证修改后的时间。
查看ip地址 ,切换用户
1.查看网络情况和IP地址: ifconfig
ens33 是网卡的名称, inet 192.168.229.128 是该网卡的ip地址,这就是
你想要的ip地址
Tips:
lo网卡(loopback Inerface), 他是一个虚拟的网络接口,用于同一台计算机上
发送和接收网络数据包,而不需要经过任何实际的物理网络
它通常用于测试网络应用程序和服务,因为它们可以在没有实际网络连接的情况下与本地主机通
信。
lo 接口的 IP 地址通常是 127.0.0.1(IPv4)和 ::1(IPv6),这些地址用于标识本地主机。
virbr0 网卡(Virtual Bridge Interface):
virbr0 是一个虚拟桥接接口,通常与虚拟化技术(如 KVM 或 Xen)一起使用。
当您在一台物理服务器上运行虚拟机(VMs)时,virbr0 允许这些虚拟机共享一个网络桥接器,
从而允许它们像物理机一样在网络中通信。virbr0 接口通常配置有一个 IP 地址,使得虚拟机可以通过这个接口访问外部网络。
在您的输出中,virbr0 的 IP 地址是 192.168.122.1,并且配置了子网掩码 255.255.255.0。
这两个接口都是软件定义的,并且通常不直接连接到物理网络。lo 接口总是存在的,而 virbr0 仅
在启用了虚拟化并且需要虚拟机网络桥接时存在。
2.测试网络连通:
ping IP地址
ping 网站地址(www开头) # 测试网站连通,获取网站ip 地址
3. 查看当前在线登录用户: who
要看本机编号 who am i
4.显示当前系统的信息:uname
5.显示当前系统的日期时间:date
6.切换root 用户
su root
输入密码: (输入密码时不显示,直接输入正确的密码后按回车即可)
返回登录root账号之前的用户:exit
7.添加用户:
(sudo 表示需要使用root 权限操作 ,切换到root 权限之后 ,可以不输入 sudo即可)
sudo useradd 用户名 #sudo表示需要root账号操作
给该用户设置密码:
sudo passwd 用户命名
8.切换到某用户
9.删除用户
10.查看当前路径 pwd
11.进入文件夹:
cd 文件夹的路径 # 绝对路径(/开头的) 或相对路径都可以
cd / 进入跟目录
cd .. 返回上一级
cd ~ 进入当前用户的家目录
cd 绝对路径 直接进入某个文件夹
12.ls 查看当前文件夹下的内容:
ls 显示当前文件夹下非隐藏内容, 使用不同的颜色标注不同类型
ls -l ( 可缩小为ll) 列出当前文件夹下内容的详细信息
ls -a 显示指定目录下所有子目录与文件,包括隐藏文件
白色 : 普通文件
蓝色: 目录/文件夹
红色:压缩文件
绿色:可执行文件/二进制文件
浅蓝色:链接文件
通配符:
* 表示任意多个字符,
ls *.txt 在当前目录下查看以.txt结尾的文件(非目录)
? 表示1个任意字符,
例: ls ?.c 在当前目录下,查找第一个字符任意,后缀为.c的文件
[]括号内的范围自馁任意一个字符
ls [abd]d
ls [a-z]d a-z之间的任意字符
关于ll详细信息格式说明:
第三行第1段: 'drwxr-xr-x'标识文件属性
第一个字符代表文件的类型,常见的有:
-:普通文件
d:目录
l:连接文件,类似快捷方式
后面9个字符:'rwxr-xr-x'为文件的控制权限,没三个字符为一组
r表示可读取,-表示无读取权限
w表示可写入,-表无写入权限
x表示可执行,-表示无执行权限
第一组 (前三位) :表示文件拥有者的权限
第二组(中间三位):表示所属组其他用户拥有的权限
第三组(最后三位):表示其他用户的权限
第三行第2段 '2' :子目录的个数
第3段 'root' :创建文件的用户名
第4段'root':创建文件的用户所在的用户组的名称
第五段:“1612”:文件占用空间(本身大小,不包含子文件)
第六、七、八段: “1 月 20 16:07”:文件最后后访问时间
第九段:“1.txt” : 内容名称
为什么第三段和第四段都是root ?
执行命令:cd/home;ll;
Linux 的每个用户都是在用户组里的,新创建的用户会默认分配一个与用户名同名的组名,此时,
该用户组只有一名用户,用户组的组名是可以维护、更改的。
13.关于用户的操作
新建用户
sudo useradd -g 组名 用户名 #新建一个用户分配到某个已存在的组,不能是不存在的组
例:sudo useradd -g admin jack # 新建一个用户并加入admin 组
设置密码
sudo passwd 用户名
sudo passwd #后面不跟用户名,默认修改当前用户的密码
查询用户的组归属
id 用户名
uid:用户id 是1000 括号中的是用户名 wzg
gid:主组id 是1000 括号中的是主组组名 wzg
组:依次列出:主组 id(主组名称),附加组 id(附加组名称),……如果被附加到了多个组,
会依次列出。
在 Linux 系统中,每个用户都有一个主组,这个主组是在用户创建时指定的,用户还可以被添加
到其他一个或多个组中,这些组被称为附加组。
主组、附加组的区别:
主组
定义:每个用户都有一个主组,它通常是用户创建时自动创建的与用户名相同的组。用户的主组
在/etc/passwd 文件中定义。
特点:
1.每个用户只能有一个主组。
2.用户创建文件时,文件的默认所属组通常是该用户的主组。
3.用户不能直接从主组中被移除,但可以更换主组。
4.用户被删除时,如果其主组没有其他成员,该主组也会被删除。
附加组
定义:除了主组之外,用户还可以被添加到其他一个或多个组中,这些组被称为附加组。附加组
信息存储在/etc/group 文件中。
特点:
1.用户可以同时属于多个附加组。
2.用户可以通过附加组访问该组所拥有的文件和目录,而不需要将用户直接添加到文件或目录的
所有者组中。
3.附加组允许更灵活的文件和目录权限管理,因为用户可以通过不同的组来访问不同的资源。
4.附加组可以直接被删除,而不影响属于该组的用户。
将用户附加到另一个组的好处
权限管理:通过将用户添加到特定的附加组,可以更方便地管理他们对文件和目录的访问权限。
例如,你可以创建一个专门用于共享文件的组,并将需要访问这些文件的用户添加到该组中。
资源共享:附加组允许用户共享文件和目录,而无需将每个用户都添加到文件或目录的所有者组
中。这简化了权限管理,并减少了管理开销。
灵活性:由于用户可以属于多个附加组,因此可以根据需要轻松地将用户从一个组移动到另一个
组,以调整他们的访问权限
删除用户
sudo user德里 -rf 用户名 #删除用户信息及家目录
14. 关于组的操作
新建用户组
sudo groupadd 组名 #新建一个用户组
判断组是否存在: getent group 组名
修改组名
更改用户主组归属
sudo usermod -g 要加入的主组名称 用户名
sudo usermod -g root wzg
15.创建文件夹
mkdir 文件夹名
同时创建两个文件夹 (同级别)
mkdir a b
创建有从属关系的文件夹:(如果父目录不存在则创建)
mkdir -p a1/b1d1
删除空文件夹(只能删除空的文件夹,若不是空的将操作失败)
rmdir 文件夹名
强制删除文件夹下的所有内容:
rmdir -rf 文件夹名
16.创建文本文件
touch 文件名
例:创建1.txt 文本文件:touch 1.txt
删除文件:
rm 文件名
一次执行多条命令,使用;连接与使用&&连接的区别
cd /r ;mkdir tt 与 cd /t&&mkdir tt 区别
命令执行顺序:使用分号分隔命令会按照从左到右的顺序依次执行,
shell 脚本:
Shell 脚本是一种计算机程序,通常由一系列 Linux 或 Unix 命令组成,这些命令通过 Shel
l(一 种命令行解释器)来执行。Shell 脚本通常保存在以 .sh 为扩展名的文件中,但实际上它们并不依赖
于特定的文件扩展名来识别。
17.复制(或更名)文件到指定路径
(cp 可操作文件, cp 操作文件夹,需夹 -a 或者-r 选项)
cp 源文件名 目标路径 # 当然也可以是文件的路径
(目标路径可以使用绝对路径,或者相对路径)
Linux 服务器之间复制文件 scp
语法:
1.复制本地文件到服务器
scp [选项] 本地文件 用户名@服务器 IP:目录
2.复制服务器文件到本地
scp [选项] 用户名@服务器 IP:源文件 本地目录
18.移动(或变更名)文件到指定路径
19.linux 编辑神器 vi
vi/vim 是什么?
在 linux 系统上经常需要进行文本编辑,最常用的是 vi 编辑器。可以把他理解为 windows 下的
记事本。
vim 是 vi 的增强版,需要另外安装
vi 的使用场景
在非图形安装 Linux 下的首选编辑器
远程使用 Linux 系统的时候
黑客、红客、白客、运维
1.命令行模式:通过对应的快捷键或者命令来管理文件
2.插入模式:在插入模式下主要是用来对文件的增加,修改操作
3.末行模式:主要是用来保存文件或退出文件
光标移动,复制,剪切,粘贴,撤消,恢复
光标移动:
← ↑ ↓ →G
移动到最后一行
(以大写 G 为例,可以通过 shift + g 实现,因为在虚拟机中,CapsLock 大小写切换键,是看不到提
示灯的,愿意使用 CapsLock 大小写切换键当然也是可以的。)
100G
移动到第 100 行
ctrl+f 向下翻页
ctrl+b 向上翻页
复制: yy
复制当前光标所在行 yG
复制光标所在行到最后一行之间的所有行 y1G
复制光标所在行到第一行之间的所有行
剪切/删除: x
剪切光标所在位置 X(大写)
向前剪切(删除)一个字符 dd
剪切(删除)当前光标所在行 dG
剪切(删除)光标所在行到文件最后一行之间的所有行 d1G
剪切(删除)光标所在行到文件第一行之间的所有行
粘贴: p
粘贴到光标所在行下面
P(大写) 粘贴到光标所在行上面
撤消: u 撤消
恢复: ctrl+r
恢复
编辑模式: i
从当前光标所在位置开始插入
A 从当前行的末尾字符后面开始编辑
o 在当前行下面插入一行新的空白行
a 从当前光标所在字符的下一位开始编辑
O 在当前行上面插入一行新的空白行
r
替换当前光标所在字符一次(r 1:将当前光标所在字符替换为 1)
R 一直替换光标所在的字符,直到按下 ESC 停止
命令行模式
命令行模式可执行的操作: 保存,退出,显示行号,搜寻
保存/退出: :wq
保存并退出 :q!
不保存,强制退出
设置行号: :set nu
显示行号:set nonu
取消显示行号
搜寻关键字:
语法:/关键字,例:/word,向下搜寻 word 关键字
n下一个
N 上一个
vim 编辑器并不是所有版本 centos 都自带,如果没有的话,可以自行下载:
sudo yum install vim
在 CentOS 7 中,验证是否已经安装了 vim 编辑器:
1.使用 which 命令:
打开终端,输入以下命令来查找 vim 是否已经安装并确定其安装路径:
which vim
如果 vim 已经安装,该命令会输出 vim 的路径,通常是 /usr/bin/vim。如果没有安装,则不
会输出任何内容或显示 vim not found。
2.使用 rpm 命令:
你也可以使用 rpm 命令来检查 vim 包是否已经安装:
rpm -qa | grep vim
如果 vim 已经安装,这个命令将列出与 vim 相关的包,通常包括 vim 和 vim-common 等。
如果没有安装,则不会显示任何内容。
20.搜索文件
find 搜索路径 [选项] '关键字' #有通配符是必须加引号
搜索范围:
路径 及路径 所有子目录中搜索
选项:
-name 文件名 #按文件名搜索
-iname 文件名 #按文件名搜索,忽略大小写
-user 用户名 #按用户名搜索
-group 组名 #按组搜索
-type f #按类型搜索,搜索所有的普通文件f目录d 链接文件l
21查看文件内容:cat
cat 文本名 #一次性文件内容全部输出
cat -n 文本名 # 开头显示行号
cat -E 文本名 # 灭行末尾添加$表识
cat -n -b 文本名 #去空行,加行号
合并文件 cat a.txt b.txt > c.txt
将会按顺序以收尾相接的顺序合并
临时合并文档查看内容 cat a.txt b.txt
|管道符:
在 Linux 中,竖线“|”被称为管道符,其主要功能是将两个或者多个命令连接到一起,使得前一
个命令的输出可以作为后一个命令的输入。这种机制允许用户将多个简单的命令组合成一个复杂的命 令序列,以实现更复杂的功能。
语法通常形如“command1 | command2 [ | commandN... ]”,其中“|”符左边的命令的输出会作
为“|”符右边命令的输入。而且,管道符是可以连续使用的,第一个命令的输出会作为第二个命令的
输入,第二个命令的输出又会作为第三个命令的输入,依此类推。
查看静态日志
cat 日志名:
查找日志中的关键字
cat 日志名| grep errot
22. 在文件中检索内容
搜寻字符串:grep 关键字 文件名
第一步:进入 a.txt 所在文件夹,使用 ls 指令可以看到 a.txt 文件,
第二步:输入指令:grep 1 a.txt
# 在 a.txt 文本文档中查找关键字 1
grep error abc.log # 在日志文件 abc.log 中查找关键字 error
more 查看
命令格式:more文件名
命令说明:
1.more命令用于分屏显示文件内容,每次显示一页内容
2.用于查看文件内容较多的文件
23.head tail 查看日志:
准备数据:将文件夹 apache-tomcat-8.5.57 放入 centos7 根目录中
查看动态日志:
1、进入日志文件所在的文件目录,
cd apache-tomcat-8.5.57/logs/
2、通过命令打开日志,分析需求场景打开需要的日志
例:tail -f catalina.2020-09-05.log (-f:循环显示末尾 10 条)
(ctrl + c 退出)
(1)查看文件的开头几行:
head -n 行数 文件名
例:查看 a 文件的前五行:
head -n 5 a.txt
(2)查看文件的末尾几行:
tail -n 行数 文件名
25.赋权 chmod(一般使用 root 权限操作)
ll 可查看文件或文件夹的各种权限数字法将文件赋权到最高:
chmod 777 文件名
chmod 777 目录名 # 仅将目录赋权,不包含子文件、子文件夹
数字法将文件夹递归(包含子文件、子文件夹)赋权到最高:
chmod 777 -R 文件夹名称
修改用户权限 chmod-字母法
字母法命令格式:chmod u+r 文件名
用户类型说明:
u:表示文件所属用户
g:表示文件所属的用户组
o:表示其他用户
a:表示所有用户
权限设置说明:
+:增加权限
-:撤销权限
=:设定权限
修改用户权限 chmod 777
chmod +数字组合 文件名 增加权限
chmod -数字组合 文件名 减小权限
.tar 打包格式: tar 程序打包的数据,并没有压缩过
.tar.gz 打包压缩:tar 程序打包的文件,其中并且经过 gzip 的压缩
.gz 压缩格式:
gzip 程序压缩的文件
.z 格式:
compress 程序压缩的文件.bz2 压缩格式: bzip2 程序压缩的文件
.tar.bz2 打包压缩:tar 程序打包的文件其中并且经过 bzip2 的压缩
.tar (比较常见)
打包语法:tar -cvf 打包后的包名.tar 要打包的文件 1 要打包的文件 2 ……
例:tar -cvf aaa.tar 1.txt abc # abc 是一个文件夹,tar 命令可以打包文件夹
解包语法:tar -xvf 包名 路径 # 如果不指定路径,则解包到当前文件夹
例:tar -xvf aaa.tar
解包到指定目录:
tar -xvf 包名.tar -C 文件夹的路径
# C 须为大写
tar.gz
自动调用 gzip 打包:tar -zcvf 文件名.tar.gz 文件名
自动调用 gzip 解压:tar -zxvf 文件名.tar.gz
自动调用 gzip 解压到指定目录:tar -zxvf 文件名.tar.gz -C 路径
27.linux 系统监控
查看端口的使用情况
netstat 命令可显示当前服务器上所有端口及进程服务,一般配合选项-nultp 与 grep 结合可查看
某个具体端口及服务情况。
选项:
-t : 指明显示 TCP 端口
-u : 指明显示 UDP 端口
-l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料
的程序)
-p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。
-n : 不进行 DNS 轮询,显示 IP(可以加速操作)
.监视进程工具 ps--提供系统过去信息的一次性快照
(常使用 root 权限操作)
ps 命令是否需要 root 账号操作取决于用户想要查看的进程信息的范围和级别。如果只是查看当
前用户的进程信息,那么普通用户就可以执行 ps 命令;如果需要查看其他用户或系统级别的进程信
息,则可能需要 root 权限。
选项:
l 长格式输出;
u 按用户名和启动时间的顺序来显示进程;
f 用树形格式来显示进程;
a 显示所有用户的所有进程(包括其它用户);
x 显示无控制终端的进程;
ps au
# 显示所有人的进程
ps aux | grep bash # 显示所有人的进程(包含无终端的进程),并搜寻名称为 bash 的进程
ps aux | grep redis # 显示所有人的进程,搜索名称为 redis 的进程
ps aux 命令可以显示快照信息的列名,grep 检索后,往往不显示列名
实时显示进程状态--top
top 命令反应的是系统进程动态信息
top 命令是 Linux 下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似
于 Windows 的任务管理器
命令:top
终止进程的工具---kill
kill 1233
# 终止 pid 为 1233 的进程(子进程 pid 或父进程 ppid)
kill -9 1234
# 强制终止 pid 为 1234 的进程
killall httpd
# 终止所有 httpd 进程
查看系统硬盘空间占用--df
命令用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计。
查看包含给定文件磁盘空间使用情况
指定一个文件夹,查看该文件夹所在磁盘的使用情况
df /home
查看系统运行时间、用户数、负载--uptime
27 系统关机,需要 root 权限
28 centos7 关于系统服务的相关操作(root 权限操作)
查看服务状态:sudo systemctl status 服务名称
停止服务:sudo systemctl stop 服务名称
启动服务:sudo systemctl start 服务名称
重启服务:sudo systemctl restart 服务名称
开机自动启用服务:sudo systemctl enable 服务名称
开机禁用服务:sudo systemctl disable 服务名称
29 rpm 安装:
查询
卸载
安装
30 yum 安装(centos 的专用命令,Ubuntu 是另外的命令)
yum 安装的优点:
rpm 不能自动解决依赖关系。
yum 安装可以自动解决依赖关系,自动下载,自动安装。
yum 常用命令:
yum install 软件名 -y
# 安装软件【如果添加 -y 选项,表示自动确认】
yum remove 软件名
# 删除软件
yum install xxxx.rpm # 安装本地 xxxx.rpm,并自动解决依赖
yum remove 命令不会自动卸载指定软件的所有依赖项。yum remove 命令只会卸载指定的软件
包本身,以及那些没有被其他软件包所依赖的无用依赖项。如果一个依赖项还被其他软件包所依赖,
那么 yum remove 命令就不会卸载它。这是为了防止破坏系统的稳定性和其他软件的正常运行。
yum install 命令在 Linux 系统中用于安装软件包,它会在配置的仓库(repository)中检索指
定的软件。仓库是存储软件包及其元数据(例如软件包描述、版本信息、依赖关系等)的地方,可以
是本地服务器、远程服务器或本地文件。
执行 yum install 软件包名 时,yum 会按照 /etc/yum.repos.d/ 目录下定义的仓库配置,连接
到相应的仓库服务器,并检索该服务器上的软件包列表和元数据。如果找到了指定的软件包,yum 会
分析依赖关系,并计算出需要安装哪些软件包以满足依赖要求。
默认情况下,yum 会尝试安装最新版本的软件包。它会检查每个软件包的版本号,并基于这些版本信息选择最新的可用版本进行安装。
如果你希望安装特定版本的软件包,可以使用 yum install 软件包名-版本号 的格式来指定。例
如,要安装特定版本的 nginx,你可以使用类似 yum install nginx-1.14.2 的命令(假设 1.14.2 是你
想要的版本号)。
需要注意的是,仓库中可能不包含所有软件包的最新版本。仓库的更新频率取决于仓库管理员或
维护者。因此,在某些情况下,yum 可能只能提供较旧的软件包版本。如果你需要最新的软件包版
本,并且这些版本不在你的仓库中,你可能需要手动下载并安装这些软件包,或者添加包含最新版本
的仓库到你的仓库配置中。
配置之前,vm 虚拟机可先保存快照,便于反复练习
(使用 iso 镜像安装的 centos7,需要手动配置一下镜像源)
网络源配置:
阿里开源镜像网页:
https://developer.aliyun.com/mirror/
https://developer.aliyun.com/mirror/centos
1. 备份仓库配置文件
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2. 下载新的配置文件 CentOS-Base.repo 到/etc/yum.repos.d/
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
或:
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
3. 运行 yum makecache 生成缓存、更新软件列表
yum makecache # 需要一定的时间,完成后会提示元数据缓存已建立