unix/Linux的基本哲学理念---一切皆文件。
/dev/sda :dev设备所在目录
hd,表示IDE设备 IDE接口
sd,表示SCSI设备 scsi接口,速率快
a,磁盘顺序号,第二快磁盘:b
命令行基本操作
虚拟控制台
字符控制台
pwd查看当前用户所在目录
cd /目录切换
绝对位置路径:以固定位置为起点 unix:以根为起点
相对位置路径:以当前所在的位置为参照物 unix:以当前目录为参照物
[root@localhost ~]# cd /etc//以绝对路径进入ect
[root@localhost etc]# cd lvm//以当前文件夹为参照物,相对路径进入lvm
[root@localhost lvm]# cd ..//退到父目录及上一级目录
[root@localhost lvm]# cd ..
[root@localhost etc]# cd /etc/lvm//绝对路径
[root@localhost lvm]# cd /etc退到上一级目录
[root@localhost etc]# cd lvm//相对路径
ls基本查看
两种方式查看:
[root@localhost /]# cd /etc/lvm
[root@localhost lvm]# ls当前目录下
archive backup cache lvm.conf lvmlocal.conf profile
[root@localhost lvm]# ls /etc/lvm绝对路径查看
archive backup cache lvm.conf lvmlocal.conf profile
查看系统版本信息:cat
[root@localhost etc]# cat redhat-release相对查看
CentOS Linux release 7.5.1804 (Core)
[root@localhost etc]# cd ..
[root@localhost /]# cat /etc/redhat-release绝对查看
查看cpu信息lscpu//区分大小写
[root@localhost ~]# lscpu
查看内容总大小和空闲情况
root@localhost ~]# cat /proc/meminfo
颜色区分不同程序:蓝色代表文件夹,目录。
黑色代表文本文档文件
绿色代表执行文件
青色代表快捷方式
~的含义:代表当前root用户的目录存在的信息,当前用户进入默认位置
root(超级管理员)用户名 localhost主机名 普通用户$ 管理员#
linux服务器版本的系统 linux诞生前时unix 1970为 unix诞生时间
unix为发行版本:内核加外壳版本 debian ubuntu fedora redhat centos 红旗
内核版本:
linux应用:嵌入式系统 高性能大运算
linux的目录结构:最顶层为跟目录
查看主机名:也可以给名
[root@localhost /]# hostname juanmao//临时改名(重启之后会变回来) 退出终端重新打开才生效,命令提示符显示的名字是 全名的第一个点的前面内容
[root@localhost /]# hostname//查看主机全名
localhost.localdomain
查看网卡的信息:
Ifconfig//查看当前激活网卡的信息
Ifconfig ens33 192.168.10.10 //给网卡配置临时地址(重启之后会变回来)
Less 查询大文件内容,可以分屏显示,按回可以一行一行显示,按空格建可以一屏一屏显示
[root@localhost etc]# less /etc/passwd /查看passwd内容
在查询内容·后边,可以进行搜索 如:/lisi 退出搜索界面 按q
[root@localhost etc]# head -n 2 /etc/passwd//查看文档的前两行
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
[root@localhost etc]# head -2 /etc/passwd//查看文档的前两行
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
[root@localhost etc]#
[root@localhost etc]# head /etc/passwd//默认查看文档的前十行
[root@localhost etc]# tail /etc/passwd//查看文本的后十行
radvd:x:75:75:radvd user:/:/sbin/nologin
pulse:x:171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
gnome-initial-setup:x:990:984::/run/gnome-initial-setup/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
juanmao:x:1000:1000:juanmao:/home/juanmao:/bin/bash
[root@localhost etc]# tail -2 /etc/passwd//查看文本后两行
tcpdump:x:72:72::/:/sbin/nologin
juanmao:x:1000:1000:juanmao:/home/juanmao:/bin/bash
创建目录
[root@localhost ~]# mkdir /root/zly//用绝对路劲创建root目录下的zly
[root@localhost ~]# ls /root
anaconda-ks.cfg zly 模板 图片 下载 桌面
[root@localhost ~]# mkdir juanmao//相对路径创建root目录下的juanmao
[root@localhost ~]# ls /root
anaconda-ks.cfg juanmao 公共 视频 文档 音乐
initial-setup-ks.cfg zly 模板 图片 下载 桌面
批量创建:
[root@localhost ~]# mkdir /root/zs /root/ls//批量创建目录
[root@localhost ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg ls zly 公共 视频 文档 音乐
czj juanmao zcj zs 模板 图片 下载 桌面
[root@localhost ~]#
创建空文档:Touch
[root@localhost ~]# touch /root/ww.txt创建空文档
[root@localhost ~]# ls
[root@localhost ~]# touch /root/el.txt /root/hl.tex//批量创建空文档
[root@localhost ~]# ls
配置网络--图形化界面--设置--ipv4
[root@localhost ~]# nmtui//
使用上下左右建选择 使用回车键确认。使用空格建来选中
重启:
[root@localhost ~]# reboot
关机:
Poweroff
定时关机:
Shutdown -h 0
Shutdown -h 10//10分钟后关机
Shutdown -h 22;00
Shutdown -r 0//定时重起
Shutdown -r 10//定时10分钟重起
Shutdown -r 22;00//定时22:00重起
命令的格式:type 命令可以看谁是内部谁是外部
解释器:/bin/bash
内部命令:属于解释器的一部分命令
外部命令:解释器之外的其他程序
命令的一般格式:
基本用法
命令字 【选项】....【参数1】【参数2】(参数是目标或文件)
Ls -l /root/
-l含义:查看属性;
选项:
短选项:-l ,-a,-c,-d
多个短选项:-lh,-la,-ld。
长选项:--help
参数:命令的操作对象,如目录或文件
Tab补齐建:当开始字符可以代表唯一指令是,按tab补齐建
当开始字符不能唯一代表一个指令是,连续按两次tab建,可以列出一此字母开头的命令
Unix不能使用简写。
快捷键
Ctrl+l:清屏
Ctrl+c:废弃当前编辑的命令行
Ctrl+u:清除到行首
Ctrl+k:删除到行尾
Ctrl+w:往回删除一个单词(以空格界定)
Man手册
Man mkdir
[root@localhost ~]# man mkdir//man 指令 退出按q
[root@localhost ~]# info ls//info指令 退出按q
[root@localhost ~]# ls --help//内部 help指令,外部ls--help
~user表示的用户use家目录r
[root@localhost ~]# cd /etc
[root@localhost etc]# cd ~//直接回到当前用户root的家目录
root@localhost ~]# cd ~juanmao//直接回到用户juanmao的目录
[root@localhost juanmao]# cd ~
Ls -list:常用命令选项
-l:以长格式显示
-A:显示所有文件,包括名称以,开头的隐藏文件
-a:显示所有文件,包括.与..
-d:显示目录本生(而不是内容的属性)
-h:提供易读的容量单位
通配符:针对不确定的文档名称,以特殊字符表示
-*:任意多个任意字符
-?:单个字符
[root@localhost ~]# ls -d /m*
/media /mnt
[root@localhost ~]# ls -d /m??//知道几个字母
针对不确定的文档名称,以特殊字符表示
-【a-z】多个字符或连续范围中的一个,若无则忽略(连续)
-{a,min,xy}多个不同的字符全匹配
[root@localhost ~]# ls /dev/tty0
/dev/tty0
[root@localhost ~]# ls /dev/tty1
/dev/tty1
[root@localhost ~]# ls /dev/tty2
/dev/tty2
[root@localhost ~]# ls /dev/tty0 dev/tty1 dev/tty2
/dev/tty0
[root@localhost ~]# ls /dev/tty[0-7]
/dev/tty0 /dev/tty2 /dev/tty4 /dev/tty6
/dev/tty1 /dev/tty3 /dev/tty5 /dev/tty7
[root@localhost ~]# ls /dev/tty{1,3,5}
/dev/tty1 /dev/tty3 /dev/tty5
[root@localhost ~]#
查询方法
1.[root@localhost ~]# ls /dev/tty[20-30]//中括号连续匹配数字 只能匹配0-9
/dev/tty0 /dev/tty1 /dev/tty2 /dev/tty3
2.[root@localhost ~]# ls /dev/tty2[0-9] /dev/tty30
/dev/tty20 /dev/tty22 /dev/tty24 /dev/tty26 /dev/tty28 /dev/tty30
/dev/tty21 /dev/tty23 /dev/tty25 /dev/tty27 /dev/tty29
3.[root@localhost ~]# ls /dev/tty{20,21,22,23,24,25,26,27,28,29,30}
/dev/tty20 /dev/tty22 /dev/tty24 /dev/tty26 /dev/tty28 /dev/tty30
/dev/tty21 /dev/tty23 /dev/tty25 /dev/tty27 /dev/tty29
[root@localhost ~]#
4.[root@localhost ~]# ls /dev/tty{2[0-9],30}
/dev/tty20 /dev/tty22 /dev/tty24 /dev/tty26 /dev/tty28 /dev/tty30
/dev/tty21 /dev/tty23 /dev/tty25 /dev/tty27 /dev/tty29
别名的定义:
查看已设置的别名
-alias 【别名名称】
定义新的别名
-alias别名名称=“实际执行的命令”
取消已设置的别名
-unalias 【别名名称】
[root@localhost ~]# alias hh='hostname'/设置别名
[root@localhost ~]# hh
[root@localhost ~]# unalias hh//取消别名
[root@localhost ~]# alias//查看当前主机设置的别名
[root@localhost ~]# alias pwd='hostname'//不能随便设置别名
[root@localhost ~]# pwd
localhost.localdomain
[root@localhost ~]# unalias pwd//取消别名
[root@localhost ~]# pwd
[root@localhost ~]# alias pwd='poweroff'//不能随便设置别名 就会关机
Mkdir
-p可以创建连续的目录
[root@localhost /]# mkdir -p /qtt/ldd/sxx
[root@localhost /]# ls -R /qtt//递归显示
/qtt:
ldd
/qtt/ldd:
sxx
/qtt/ldd/sxx:
Mv移动 改名
当前目录下进行移动
同目录下改名
[root@localhost /]# mkdir test1 test2
[root@localhost /]# ls
bin dev home lib64 mnt proc qy run srv test1 tmp var
boot etc lib media opt qtt root sbin sys test2 usr
[root@localhost /]# mv test1 test3
[root@localhost /]# ls
bin dev home lib64 mnt proc qy run srv test2 tmp var
boot etc lib media opt qtt root sbin sys test3 usr
[root@localhost /]#
不同路经移动:
[root@localhost /]# mv /test2 /tast3/
[root@localhost /]# ls
bin dev home lib64 mnt proc qy run srv tast3 tmp var
boot etc lib media opt qtt root sbin sys test3 usr
[root@localhost /]# cd test3
[root@localhost test3]# ls
复制:cp
[root@localhost /]# mkdir bak
[root@localhost /]# mkdir ubak
[root@localhost /]# cd ubak
[root@localhost ubak]# touch fj.txt
[root@localhost ubak]# cd /
1.[root@localhost /]# cp /ubak/fj.txt /bak
[root@localhost /]# cd bak
[root@localhost bak]# ls
fj.txt
2.[root@localhost /]# cp -r /ubak /bak//复制目录是,使用选项-r,最后一个为目标
[root@localhost /]# ls
[root@localhost /]# cd bak
[root@localhost bak]# ls
fj.txt ubak
- [root@localhost /]# cp -r /ubak .//代表当前目录,将内容复制到当前目录
删除:rm
[root@localhost /]# rm -r bak//删除会提示
[root@localhost /]# rm -rf bak删除不会提示
- 请简述【root@localhost~】#的含义
root(超级管理员)用户名 localhost主机名(区分不同的主机) 管理员#
~ 代表当前root用户的家目录存在的信息,当前用户进入默认位置
~ 代表用户管理原的时候表示/下的home下的用户
@无特殊意义
- Linux 的ide和scsi的磁盘如何表示的
hd,表示IDE设备 IDE接口,hda 第一快
sd,表示SCSI设备 scsi接口,速率快 sda第一块
- Linux的目录结构的哲学理念
一切皆文件。目录结构:树状结构,以/为根,/下存放这文件目录。
- Redhat系列都有那些版本
RHEL企业版
Centos社区版本(社区地企业版本)
Fedora社区版本(社区地个人版本)
- 简述一下linux内核版本和发行版本区别
内核版本指的是:内核本生,
发行版本:内核版本加外围软件;需要付费,是基于内核构建地完整操作系统,发行版本通常会选择更稳定和成熟地内核版本。发行版本地更新周期通常比内核版本地更新周期长。
- 在/目录下创建一个子目录kkk
[root@localhost ~]# mkdir /kkk
将目录/boot/grub2/ 复制到目录kkk下
[root@localhost /]# cp -r /boot/grub2/ /kkk/
[root@localhost /]# ls /kkk
grub2
将目录/root/下以Cfg结尾地文件复制到kkk
[root@localhost /]# cp /root /*.cfg /kkk/
[root@localhost /]# ls
bak bzj home lib64 opt qy sbin tast3 ubak zjl
bin dev kkk media proc root srv test3 usr
boot etc lib mnt qtt run sys tmp var
[root@localhost /]# ls /kkk/
anaconda-ks.cfg grub2 initial-setup-ks.cfg
[root@localhost /]#
将文件/ect/hostname复制到/root/下,同时改名为myhost
[root@localhost /]# cp /etc/hostname /root/myhost
[root@localhost /]# ls /root/
anaconda-ks.cfg hl.tex ls zly 视频 音乐
bkz initial-setup-ks.cfg myhost zs 图片 桌面
czj juanmao ww.txt 公共 文档
el.txt kkk zcj 模板 下载
[root@localhost /]#
[root@localhost /]#
将文件/root/myhost移动到kkk目录下。
[root@localhost /]# mv /root/myhost /kkk/
[root@localhost /]# ls /kkk/
anaconda-ks.cfg grub2 initial-setup-ks.cfg myhost
[root@localhost /]# ls /root/
anaconda-ks.cfg hl.tex ls zs 图片 桌面
bkz initial-setup-ks.cfg ww.txt 公共 文档
czj juanmao zcj 模板 下载
el.txt kkk zly 视频 音乐
[root@localhost /]#
[root@localhost ~]# touch xaike.txt
[root@localhost ~]# cat xaike.txt
[root@localhost ~]# vim xiake.txt
[root@localhost ~]#
Vim编译器有三种模式:命令行模式/插入模式/末行模式
打开文档是。看到地就是命令行模式,想对文档进行编辑按i建进入到插入模式,进行编辑,编辑完毕后想要保存需要退回到命令行模式,此时按esc建;然后进行末行进行保存,需要按:建,
在末行模式 输入wq 保存退出 输入q!强制退出
安装软件:网上下载;光盘镜像
Mount挂载点----访问点:将莫个目录变成访问点
Windows: 光盘(系统镜像)----》光盘驱动----》自动识别dvd图标(从系统访问光盘地访问点)
Linux:系统镜像-----》虚拟光盘驱动器dvd----》不会被系统自动识别出dvd图标(系统理不会自动创建访问点,需要手动创建访问点)
虚拟光盘驱动器 ide接口 scsi接口
- 手动创建目录挂载点 /vcd 作为光驱/dev/cdorm 在linux系统地 --访问点
- 将硬件设备类型,如/dev/cdrom 表示光驱 和访问点 /vcd 关联 (挂载)
- 格式:mount 设备类型/dev/cdrom 访问点/vcd
挂载
[root@localhost ~]# mkdir /vcd创建挂载点,及时访问
[root@localhost ~]# ls /
[root@localhost ~]# ls /vcd/ 里面空的
[root@localhost ~]# 光盘驱动器/dev/cdrom 在linux系统访问点设置为vcd
[root@localhost ~]# ls /vcd 查看光驱内容(查看到内容)
[root@localhost ~]# ls /vcd/Packages查看光盘镜像理的。Rmp软件包
[root@localhost ~]# umount /vcd 卸载挂载点
[root@localhost ~]# ls /vcd 目录下没有内容
- 挂载的时候新建一个目录,,不要挂载到原有的文件上 ,以防出现风险
[root@localhost ~]# ls /kkk(把kkk当作访问点)
CentOS_BuildTag GPL LiveOS RPM-GPG-KEY-CentOS-7
EFI images Packages RPM-GPG-KEY-CentOS-Testing-7
EULA isolinux repodata TRANS.TBL
[root@localhost ~]# umount /kkk
[root@localhost ~]# ls /kkk(原先kkk有的文件)
anaconda-ks.cfg grub2 initial-setup-ks.cfg myhost
[root@localhost ~]#
- 卸载访问点的时候,不应该在正在卸载的目录下
[root@localhost ~]# cd /vcd
[root@localhost vcd]# ls
CentOS_BuildTag GPL LiveOS RPM-GPG-KEY-CentOS-7
EFI images Packages RPM-GPG-KEY-CentOS-Testing-7
EULA isolinux repodata TRANS.TBL
[root@localhost vcd]# umount /vcd
umount: /vcd:目标忙。//卸载不成功
(有些情况下通过 lsof(8) 或 fuser(1) 可以
找到有关使用该设备的进程的有用信息)
[root@localhost vcd]#
- 同一个硬件设备,可以挂载多个访问点
同一个访问点,不能挂载多个硬件设备。
[root@localhost ~]# mount /dev/cdrom /kkk
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# ls /kkk
CentOS_BuildTag GPL LiveOS RPM-GPG-KEY-CentOS-7
EFI images Packages RPM-GPG-KEY-CentOS-Testing-7
EULA isolinux repodata TRANS.TBL
[root@localhost ~]# mount /dev/cdrom /vcd
[root@localhost ~]# ls /vcd
CentOS_BuildTag GPL LiveOS RPM-GPG-KEY-CentOS-7
EFI images Packages RPM-GPG-KEY-CentOS-Testing-7
EULA isolinux repodata TRANS.TBL
重定向输出:>覆盖重定向,>>追加重定向
[root@localhost ~]# touch /lss.txt
[root@localhost ~]# cat /lss.txt
[root@localhost ~]# ls --help > /lss.txt ls --help 输出的内容 写入到 lss .Txt文件里面
[root@localhost ~]# cat /lss.txt
[root@localhost ~]# hostname
localhost.localdomain
[root@localhost ~]# hostname > /lss.txt //将原先的内容覆盖掉
[root@localhost ~]# cat /lss.txt
localhost.localdomain
[root@localhost ~]# ls --help >> /lss.txt //ls--help 输出内容 追加 到 lss.txt文件里面
[root@localhost ~]# cat /lss.txt
Echo 后面输入什么内容,就显示什么内容,一般回和重定向一起使用
[root@localhost ~]# echo nh > /yy.txt
[root@localhost ~]# cat /yy.txt
nh
管道符(|)数线:将前面命令输出 交由后面的命令处理,作为后面命令的参数
[root@localhost ~]# cat -n /etc/passwd //显示内容的行号
[root@localhost ~]# head -12 /etc/passwd 显示/etc/passwd 内容前12行
[root@localhost ~]# head -12 /etc/passwd | tail -5 将前12行,作为tail -5 的参数,从而显示8-12行
[root@localhost ~]# cat -n /etc/passwd | head -12
[root@localhost ~]# cat -n /etc/passwd | head -12 | tail -5
8 halt:x:7:0:halt:/sbin:/sbin/halt
9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10 operator:x:11:0:operator:/root:/sbin/nologin
11 games:x:12:100:games:/usr/games:/sbin/nologin
12 ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
[root@localhost ~]# head -12 /etc/passwd
[root@localhost ~]# head -12 /etc/passwd | tail -5
[root@localhost ~]# head -12 /etc/passwd | tail -5 |cat -n
1 halt:x:7:0:halt:/sbin:/sbin/halt
2 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
3 operator:x:11:0:operator:/root:/sbin/nologin
4 games:x:12:100:games:/usr/games:/sbin/nologin
5 ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
[root@localhost ~]#
grep:过滤文件内容(清除标记信息:以#开头;清除空格 )
格式:grep [选项] 条件 文件
-i 忽略大小写 -v 取反
grep root /etc/passwd //过滤文件包含root
grep ROOT /etc/passwd //过滤区分大小写
grep -i ROOT /etc/passwd //使用i选项忽略大小写
grep -v root /etc/passwd //过滤除了包含root以外的信息
将#内容过滤出来:^#,表示以#开头
将空格过滤出来:^$
cd /etc
cat login.defs
grep ^# /etc/login.defsgrep //将注释信息全部过滤出来
grep -v ^# /etc/login.defs //除了过滤信息全部显示
grep ^$ /etc/login.defs //将空格全部过滤出来
grep -v ^$ /etc/login.defs //除了空格其他信息全部显示
grep -v ^$ /etc/login.defs | grep -v ^# //除了空格和注释信息以外有效信息全部显示
grep -v ^# /etc/login.defs | grep -v ^$ //除了空格和注释信息以外有效信息全部显示
grep -v ^# /etc/login.defs | grep -v ^$ > /logg.txt //除了空格和注释信息以外有效信息写入/logg.txt文档中
cat /logg.txt
grep ^# /etc/login.defs | grep -v ^$ >> /logg.txt //将注释信息和除了空格以外的所有信息追加到 /logg.txt文档中
cat /logg.txt
----------------------------------
----------------------------------
用户和组
【用户名; 密码占位符;uid:基本组的gid:用户描述信息:用户家目录:解释器】
jm:x:1001:1001::/home/jm:/bin/bash
添加用户 / 修改用户属性 /删除用户 / 创建组 /添加
[root@localhost ~]# useradd jm //创建用户
[root@localhost ~]# grep jm /etc/passwd //从用户信息文件理显示jm用户信息
jm:x:1001:1001::/home/jm:/bin/bash
[root@localhost ~]# id jm //显示 用户基信息
uid=1001(jm) gid=1001(jm) 组=1001(jm)
管理员设置密码:交互式设置密码 passwd 用户名
数字/小写字母/大写字母/特殊符号
[root@localhost ~]# passwd jm //给jm设置密码
更改用户 jm 的密码 。
新的 密码:123
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
----------
[root@localhost ~]# su - jm //切换到普通用户
[root@localhost ~]# $ passwd //设置密码
更改用户密码
为jm更改stress 密码
Unix密码为123
新的密码 :新的密码需要满足复杂度要求,太难了
管理员设置非交互式:
格式: echo 密码 | passwd -- stdin 用户名
[root@localhost ~]# useradd kk
[root@localhost ~]# echo 123 | passwd --stdin kk
更改用户 kk 的密码 。
passwd:所有的身份验证令牌已经成功更新
对已经存在的用户,进行属性修改 使用usermod
格式: usermod 【选项】 用户
[root@localhost ~]# usermod -u 1110 jm4 //修改jm4的uid
[root@localhost ~]# id jm4
uid=1110(jm4) gid=1005(jm4) 组=1005(jm4)
[root@localhost ~]# usermod -s /sbin/nologin jm4 //禁止用户jm4登陆服务器
[root@localhost ~]# tail -1 /etc/passwd
jm4:x:1110:1005::/home/jm4:/sbin/nologin
=========================================
删除用户 userdel
-r 删除用户的同时删除家目录。
[root@localhost ~]# userdel yy //删除用户
[root@localhost ~]# ls /home //没有删除yy的家目录
jm jm1 jm2 jm3 jm4 juanmao kk yy
[root@localhost ~]# tail /etc/passwd //但是将用户删除了
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
juanmao:x:1000:1000:juanmao:/home/juanmao:/bin/bash
jm:x:1001:1001::/home/jm:/bin/bash
jm1:x:1002:1002::/home/jm1:/bin/bash
jm2:x:1003:1003::/home/jm2:/bin/bash
jm3:x:1004:1004::/home/jm3:/bin/bash
jm4:x:1110:1005::/home/jm4:/sbin/nologin
kk:x:1006:1006::/home/kk:/bin/bash
[root@localhost ~]# userdel -r kk //删除用户的同时删除家目录
[root@localhost ~]# ls /home
jm jm1 jm2 jm3 jm4 juanmao yy
[root@localhost ~]# tail /etc/passwd
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
juanmao:x:1000:1000:juanmao:/home/juanmao:/bin/bash
jm:x:1001:1001::/home/jm:/bin/bash
jm1:x:1002:1002::/home/jm1:/bin/bash
jm2:x:1003:1003::/home/jm2:/bin/bash
jm3:x:1004:1004::/home/jm3:/bin/bash
jm4:x:1110:1005::/home/jm4:/sbin/nologin
[root@localhost ~]#
==============================
创建组 groupadd 【选项】 组名
[root@localhost ~]# useradd zz //创建用户
[root@localhost ~]# groupadd dcd //创建组
[root@localhost ~]# tail -1 /etc/passwd //查看用户 psswd
zz:x:1114:1114::/home/zz:/bin/bash
[root@localhost ~]# cat /etc/group //查看组group
zz:x:1114:
dcd:x:1115:
[root@localhost ~]# id zz //查看id
uid=1114(zz) gid=1114(zz) 组=1114(zz)
成员加入组
gpasswd -a 用户名 组名
[root@localhost ~]# gpasswd -a zz dcd //将用户zz 加入到dcd附属组
正在将用户“zz”加入到“dcd”组中
[root@localhost ~]# tail /etc/group
jm3:x:1004:
jm4:x:1005:
kk:x:1112:
yy:x:1113:
zz:x:1114:
dcd:x:1115:zz
[root@localhost ~]# gpasswd -a yy dcd
正在将用户“yy”加入到“dcd”组中
[root@localhost ~]# tail /etc/group
jm3:x:1004:
jm4:x:1005:
kk:x:1112:
yy:x:1113:zz
zz:x:1114:yy
dcd:x:1115:zz,yy
组名 组的密码占位符 组id 组的成员列表
成员从组里面删除 -d
[root@localhost ~]# gpasswd -d zz dcd
Useradd passwd ehco 密码 | passwd --stdin 用户
Usermod
Userdel
Groupadd
Gpasswd -d /-a 删除,添加 用户 组名
Groupdel
练习1,创建用户mm 指定uid 1800
[root@localhost ~]# useradd mm
[root@localhost ~]# usermod -u 1800 mm
- 创建组hh
[root@localhost ~]# useradd hh
- 将用户mm加入hh组
[root@localhost ~]# gpasswd -a mm hh
正在将用户“mm”加入到“hh”组中
- 创建用户bb 指定uid 1810
[root@localhost ~]# usermod -u 1810 bb
- 将用户 bb 加入附属组里hh理
[root@localhost ~]# gpasswd -a bb hh
正在将用户“bb”加入到“hh”组中
- 将用户mm 从附属组里删除
[root@localhost ~]# gpasswd -d mm hh
正在将用户“mm”从“hh”组中删除
- 给用户bb设置密码
[root@localhost ~]# echo 123 |passwd --stdin bb
- 过滤 /etc/passwd 里的bash结尾的行
[root@localhost ~]# grep bash$ /etc/passwd
==============================================
Tar 集成打包工具
-打包 归档
-较少占用的磁盘空间
压缩格式
.gz-- gzip 压缩格式 压缩速度快 空间不节省
.bz2 bzip2
.xz--- xz 压缩速度慢,空间节省
压缩:归档
Tar 【选项】 /路劲/压缩文件地名称 /被打包压缩文件1 /被打包2
解压缩:释放归档
Tar 【选项】 /路劲/压缩文件地名称
Tar 常用地选项
-c 创建归档
-f 指定归档文档名称
-x 释放归档
-z,-j, -J 代表调用 相应地压缩格式 -z代表 gz -j代表bz2 -J代表xz
-C 解压可以指定解压目录
-t列出压缩文件里地内容 --清单
[root@localhost ~]# tar -zcf /ldxy/wlgc21.tar.gz /home /root
[root@localhost ~]# ls /ldxy
wlgc21.tar.gz
[root@localhost ~]# tar -jcf /ldxy/wlgc22.tar.bz2 /home /root //创建
[root@localhost ~]# ls /ldxy
wlgc21.tar.gz wlgc22.tar.bz2
[root@localhost ~]# tar -Jcf /ldxy/wlgc20.tar.xz /home /root
ls[root@localhost ~]# ls /ldxy
wlgc20.tar.xz wlgc21.tar.gz wlgc22.tar.bz2
查看压缩包里地内容
[root@localhost ~]# tar -tf /ldxy/wlgc21.tar.gz //查看备份文件列表
解压文件:
[root@localhost ~]# mkdir /yyy
[root@localhost ~]# tar -xf /ldxy/wlgc21.tar.gz -C /yyy
[root@localhost ~]# ls /yyy
home root
======================================================
用户权限
drwxr-xr-x. 5 root root 42 10月 13 21:51 /yyy
d代表文件类型 目录文件
l代表快捷方式
-代表文本文件
rwxr-xr-x 表示权限 分三组
Rwx 属主 u 拥有者
r-x 组成员 g属组
r-x 其他人 o表示
基本权限(文件)
R 读取
W 写入
X 执行 -脚本
基本权限(目录)
r读取--查看目录里内容 ls
W 写入 --目录下创建删除文件或这目录
x执行 --能够使用cd切换目录
---------------------------------------
修改权限: chmod 权限内容 目录/文件
[root@localhost ~]# chmod u-w /yyy ///给拥有组减去w权限
[root@localhost ~]# ls -ld /yyy
dr-xr-xr-x. 5 root root 42 10月 13 21:51 /yyy
[root@localhost ~]#
[root@localhost ~]# chmod g+w /yyy 给所属组加w权限
[root@localhost ~]# ls -ld /yyy
dr-xrwxr-x. 5 root root 42 10月 13 21:51 /yyy
[root@localhost ~]#
将卷毛加入到root组在修改权限
[root@localhost ~]# gpasswd -a juanmao root
正在将用户“juanmao”加入到“root”组中
[root@localhost ~]# chmod g+w /yyy
[root@localhost ~]# ls -ld /yyy
drwxrwxr-x. 5 root root 42 10月 13 21:51 /yyy
[root@localhost ~]# chmod g-w /yyy
[root@localhost ~]# ls -ld /yyy
drwxr-xr-x. 5 root root 42 10月 13 21:51 /yyy
[root@localhost ~]#
修改其人地权限
[root@localhost ~]# chmod o+w /yyy
[root@localhost ~]# ls -ld /yyy
drwxr-xrwx. 5 root root 42 10月 13 21:51 /yyy
[root@localhost ~]# chmod o-w /yyy
[root@localhost ~]# ls -ld /yyy
drwxr-xr-x. 5 root root 42 10月 13 21:51 /yyy
[root@localhost ~]#
同时修改用户者,属组,其他组权限
[root@localhost ~]# chmod u-w,g-x,o-x /yyy
[root@localhost ~]# ls -ld /yyy
dr-xr--r--. 5 root root 42 10月 13 21:51 /yyy
[root@localhost ~]#
[root@localhost ~]# chmod ugo=wwx /zl001 //同时加入
==========
r对应 数值 4
w对应 数值 2
x对应 数值 1
- 对应数值 0
Rwx r-- r--
U=rwx g=rw o=r
7 5 4
对应的数值修改权限方式
[root@localhost ~]# chmod u=rw,g=rw,o=rw /yyy
[root@localhost ~]# chmod ugo=rw /yyy
[root@localhost ~]# chmod 666 /yyy
[root@localhost ~]#
权限
基本权限: 文件,目录
拥有者-属主 u
属组 g
其他人- o
R 读权限 +增加权限
w写权限 -去除权限
X 执行权限 =赋予权限
修改权限的命令
Chmod 【选项】 权限 目录,文件
文件修改权限
[root@localhost ~]# touch /zl001/yyr.txt
[root@localhost ~]# ls -l /zl001/yyr.txt
-rw-r--r--. 1 root root 0 10月 14 15:59 /zl001/yyr.txt
[root@localhost ~]# chmod 666 /zl001/yyr.txt
[root@localhost ~]# ls -l /zl001/yyr.txt
-rw-rw-rw-. 1 root root 0 10月 14 15:59 /zl001/yyr.txt
[root@localhost ~]#
修改文件,目录 属主,属组
Chown 【选项】 属主 文件或者目录
Chown 【选项】 :属组 文件或者目录
Chown 【选项】 属主:属组 文件或者目录
[root@localhost ~]# groupadd ccnn //创建组
[root@localhost ~]# chown juanmao /zl001 //属主改成juanmao
[root@localhost ~]# chown :ccnn /zl001 //属组改成ccnn
[root@localhost ~]# mkdir /zl002
[root@localhost ~]# useradd zhsan
[root@localhost ~]# chown zhsan:ccnn /zl002 //同时修改属主和属组
[root@localhost ~]# gpasswd -a juanmao root
正在将用户“juanmao”加入到“root”组中
[root@localhost ~]# cat /etc/group
root:x:0:juanmao
[root@localhost ~]# cd /zl003
[root@localhost zl003]# mkdir xixixi
[root@localhost zl003]# touch haha.txt
[juanmao@localhost ~]$ cd /zl003
[juanmao@localhost zl003]$ touch zl.txt
touch: 无法创建"zl.txt": 权限不够
[root@localhost ~]# chmod g+w /zl003 //修改权限,可以进入juanmao进行创建文件
[root@localhost ~]# su - juanmao
上一次登录:六 10月 14 16:36:06 CST 2023pts/0 上
[juanmao@localhost ~]$ cd /zl003
[juanmao@localhost zl003]$ touch juanmao.txt
[juanmao@localhost zl003]$
小测试:
- 管理员用root 权限 创建文件夹caiwu
- 只允许管理员和caiwu组的 lisi zhsan 访问里面内容 不允许其他人ww访问
[root@localhost ~]# mkdir /caiwu
[root@localhost ~]# useradd ww
[root@localhost ~]# groupadd caiwu
[root@localhost ~]# gpasswd -a juanmao caiwu
正在将用户“juanmao”加入到“caiwu”组中
[root@localhost ~]# gpasswd -a zhsan caiwu
正在将用户“zhsan”加入到“caiwu”组中
[root@localhost ~]#
修改caiwu权限
[root@localhost ~]# chmod o=-- /caiwu
[root@localhost ~]# ls -ld /caiwu
drwxr-x---. 2 root root 6 10月 14 16:49 /caiwu
将修改root组为caiwu
[root@localhost ~]# chown :caiwu /caiwu
[root@localhost ~]# ls -ld /caiwu
drwxr-x---. 2 root caiwu 6 10月 14 16:49 /caiwu
切换到ww
[root@localhost ~]# su - ww
[ww@localhost ~]$ cd /caiwu
-bash: cd: /caiwu: 权限不够
[ww@localhost ~]$
Acl 对文件的访问控制 ---访问控制列表
对特殊用户,组 进行精细化权限控制
针对与由特殊需求的组和用户
用户 laozong既不是caiwu组,也不属于 拥有者 他是其他人 o=--- 没有权限
如何让 laozong访问 caiwu目录内的文件
使用命令 setfacl -m u/g设置权限用户/组:laozong:rx /caiwu
setfacl -x u/g去除权限用户/组:laozong /caiwu
[root@localhost ~]# ls -ld /caiwu
drwxr-x---. 2 root caiwu 6 10月 14 16:49 /caiwu
[root@localhost ~]# useradd laozong //添加用户老总
[root@localhost ~]# su - laozong
[laozong@localhost ~]$ cd /caiwu //没有开放权限不能使用
-bash: cd: /caiwu: 权限不够
[laozong@localhost ~]$ exit
登出
[root@localhost ~]# setfacl -m u:laozong:rx /caiwu //该财务目录添加laozong用户访问caiwu
[root@localhost ~]# ls -ld /caiwu
drwxr-x---+ 2 root caiwu 6 10月 14 16:49 /caiwu
[root@localhost ~]# getfacl /caiwu //查看caiwu信息 查看acl赋予用户laozong权限
getfacl: Removing leading '/' from absolute path names
# file: caiwu
# owner: root
# group: caiwu
user::rwx
user:laozong:r-x //laozong拥有读,执行权限
group::r-x
mask::r-x
other::---
[root@localhost ~]# su - laozong //进入laozong用户下可以访问caiwu
上一次登录:六 10月 14 19:58:24 CST 2023pts/0 上
[laozong@localhost ~]$ cd /caiwu
[laozong@localhost caiwu]$
-----------------------
特殊权限
Set gid的特殊权限 --继承权限(组) 修改的是组的x执行权限位置,用s表示 占用的是执行权限的位置,
针对目录
作用:用来使用当前目录下的文件,继承父目录的 组的信息
[root@localhost ~]# mkdir /fff //创建目录fff
[root@localhost ~]# groupadd jyz //创建组jyz
[root@localhost ~]# chown :jyz /fff 修改组为jyz
[root@localhost ~]# chmod g+s /fff // 给属组设置特殊权限 继承权限 属组jyz 没有+s则不会继承。(一定要先赋予权限,在fff目录下创建其他目录,则会赋予权限)
[root@localhost ~]# ls -ld /fff
drwxr-sr-x. 2 root jyz 6 10月 14 20:40 /fff
[root@localhost fff]# mkdir /fff/ddd //在fff下创建ddd
[root@localhost fff]# ls -ld /fff/ddd
drwxr-sr-x. 2 root jyz 6 10月 14 20:53 /fff/ddd //则 ddd也继承了
[root@localhost fff]# touch ddd.txt //创建文档ddd。Txt
[root@localhost fff]# ls
ddd ddd.txt
[root@localhost fff]# ls -ld /fff/ddd.txt
-rw-r--r--. 1 root jyz 0 10月 14 20:53 /fff/ddd.txt //则文档也继承了
[root@localhost fff]#
把组的权限g+s后执行权限存在。为s ,不存在则为S
[root@localhost caiwu]# ls -ld /caiwu(有执行权限是为s)
drwxr-s---+ 4 root caiwuzu 33 10月 16 13:34 /caiwu
[root@localhost ~]# chmod g-x /caiwu(没有执行权限是S)
[root@localhost ~]# ls -ld /caiwu
drwxr-S---+ 4 root caiwuzu 33 10月 16 13:34 /caiwu
[root@localhost ~]#
===============
Set uid 特殊权限 --s
继承用户拥有者的权限--执行权限
------------------
Ticky bit
针对文件 访问的---特殊权限
特殊权限显示 执行为 显示t
作用: 实现用户之间自己控制自己 创建文件的权限,不允许删除操作其他人的文件。
[root@localhost ~]# mkdir /public
[root@localhost ~]# useradd zyh
[root@localhost ~]# useradd zf
[root@localhost ~]# ls -ld /public
drwxr-xr-x. 2 root root 6 10月 16 14:17 /public
[root@localhost ~]# chmod 777 /public
[root@localhost ~]# ls -ld /public
drwxrwxrwx. 2 root root 6 10月 16 14:17 /public
[root@localhost ~]# su - zyh
[zyh@localhost ~]$ cd /public
[zyh@localhost public]$ touch jxj.txt
[zyh@localhost public]$ exit
登出
[root@localhost ~]# su - zf
[zf@localhost ~]$ cd /public
[zf@localhost public]$ touch kx.txt
[zf@localhost public]$ ls
jxj.txt kx.txt
[zf@localhost public]$ rm -rf jxj.txt //用户zf可以删除zyh创建的文件(没有加t)
[zf@localhost public]$ ls
kx.txt
[zf@localhost public]$ exit
登出
[root@localhost ~]# chmod o+t /public //该public目录加了t
[root@localhost ~]# ls -ld /public
drwxrwxrwt. 2 root root 20 10月 16 14:21 /public
[root@localhost ~]# su - zyh
上一次登录:一 10月 16 14:19:34 CST 2023pts/1 上
[zyh@localhost ~]$ cd /public
[zyh@localhost public]$ touch jxj1.txt
[zyh@localhost public]$ ls
jxj1.txt kx.txt
[zyh@localhost public]$ rm -rf kx.txt //此时zyh不能删除zf创建的目录
rm: 无法删除"kx.txt": 不允许的操作
[zyh@localhost public]$ exit
登出
[root@localhost ~]# su - zf
上一次登录:一 10月 16 14:20:04 CST 2023pts/1 上
最后一次失败的登录:一 10月 16 14:23:10 CST 2023pts/1 上
最有一次成功登录后有 1 次失败的登录尝试。
[zf@localhost ~]$ cd /public
[zf@localhost public]$ rm -rf jxj1.txt
rm: 无法删除"jxj1.txt": 不允许的操作
[zf@localhost public]$
----------------------------------------------------
将用户laoxi,访问 /etc/shadow 文件 的方法
1.修改其他人权限
[root@localhost ~]# useradd laoxi
[root@localhost ~]# chmod o=rwx /etc/shadow
[root@localhost ~]#
2.修改属组为laoxi
[root@localhost ~]# chown :laoxi /etc/shadow
[root@localhost ~]# ls -ld /etc/shadow
-------rwx. 1 root laoxi 2100 10月 17 21:17 /etc/shadow
[root@localhost ~]#
3.修改属主---拥有者
[root@localhost ~]# chown laoxi /etc/shadow
[root@localhost ~]# ls -ld /etc/shadow
-------rwx. 1 laoxi laoxi 2100 10月 17 21:17 /etc/shadow
[root@localhost ~]#
4.acl权限
[root@localhost ~]# setfacl -m u:laoxi:rwx /etc/shadow
[root@localhost ~]# getfacl /etc/shadow
-------------------------------
修改 组 id x+s ---组的信息继承下去
--关于目录信息
其他人 x 执行权限 +t ------ 限制普通用户权限
用户 uid x执行位 +s --不常用
--一般指的是执行程序 --提升权限
例:vim
[root@localhost ~]# mkdir /eee
[root@localhost ~]# ls -ld /eee
[root@localhost ~]# useradd wmxz //创建普通用户wmxz
[root@localhost ~]# cp /usr/bin/mkdir /usr/bin/wmdir //将执行命令做个复制备份起名wmdir
[root@localhost ~]# /usr/bin/wmdir deee //可以用绝对路劲方式执行命令,复制的命令与原命令一样
[root@localhost ~]# ls /root
[root@localhost ~]# ls -l /usr/bin/wmdir
-rwxr-xr-x. 1 root root 79760 10月 17 22:10 /usr/bin/wmdir
[root@localhost ~]# chmod u+s /usr/bin/wmdir //将复制的wmdir命令赋予uid特殊权限
[root@localhost ~]# ls -l /usr/bin/wmdir //用户权限的执行权限出s
-rwsr-xr-x. 1 root root 79760 10月 17 22:10 /usr/bin/wmdir
[root@localhost ~]# su - wmxz //切换普通用户
[wmxz@localhost ~]$ /usr/bin/mkdir ded //正常创建目录,拥有者位 普通用户wmxz
[wmxz@localhost ~]$ pwd
/home/wmxz
[wmxz@localhost ~]$ ls -ld /home/wmxz/ded
drwxrwxr-x. 2 wmxz wmxz 6 10月 17 22:12 /home/wmxz/ded
[wmxz@localhost ~]$ /usr/bin/wmdir /xex //使用赋予特殊权限命令创建目录,拥有者为 管理员root ,实现了提权
[wmxz@localhost ~]$ ls -ld /xex
drwxrwxr-x. 2 root wmxz 6 10月 17 22:12 /xex
======================================
======================================
Linux 系统 ---获取软件包 ---安装软件包 ---应用
- 获取软件包 --软件下载
- 互联网下载:打开下载工具 ----软件存放的位置---远程服务器 ---存放各种软件程序
- 本地服务器下载:将需要的程序或者软件----放在本地的电脑里或服务器
服务器:存放软件的电脑
客户端:下载软件,使用软件的电脑
本地服务器:现有环境 --虚拟vm --iso镜像----/dev/cdrom --挂载到/dvd --------/dvd/p* 存放软件包
Iso镜像 --装入虚拟光驱----挂载
[root@localhost ~]# mount /dev/cdrom /dvd //创建dvd,挂载
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]#
Packages --存放软件包
Repodata 软件的列表清单 内容文件
[root@localhost ~]# ls /dvd/Packages //linux 软件包 都是以 .rmp 结尾
- 安装软件 ---零散软件包安装工具
使用 rmp 安装管理器 --工具 来安装 以.rpm结尾的软件包
格式 :rpm 【选项】 软件名
常见的选项: -q 查看当前软件是否安装
-i 安装的选项
-v 显示安装的信息
-h 显示软件安装的进度#
-e 卸载/删除软件包
Windows常见的服务: ftp dns dhcp 邮件服务 web 共享 等
[root@localhost ~]# rpm -q vsftpd //查看是否安装,使用软件包名
未安装软件包 vsftpd
[root@localhost ~]# rpm -ivh /dvd/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm //安装,查看安装信息,以及安装进度 ,使用软件包的详细名称
警告:/dvd/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:vsftpd-3.0.2-22.el7 ################################# [100%]
[root@localhost ~]# rpm -q vsftpd //再次查看已安装
vsftpd-3.0.2-22.el7.x86_64
[root@localhost ~]# rpm -e vsftpd //卸载vsftpd
[root@localhost ~]# rpm -q vsftpd
未安装软件包 vsftpd
[root@localhost ~]# rpm -ivh /dvd/Packages/bind-9.9.4-61.el7.x86_64.rpm //安装dns
警告:/dvd/Packages/bind-9.9.4-61.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:bind-32:9.9.4-61.el7 ################################# [100%]
[root@localhost ~]# rpm -q bind 查看dns 使用bind软件名
bind-9.9.4-61.el7.x86_64
[root@localhost ~]# rpm -e bind
[root@localhost ~]# rpm -q bind
未安装软件包 bind
[root@localhost ~]# rpm -q httpd //安装web服务失败
未安装软件包 httpd
[root@localhost ~]# rpm -ivh /dvd/Packages/httpd-2.4.6-80.el7.centos.x86_64.rpm //提示依赖关系,想安装当前的软件包,需要提前安装好被依赖的软件包
警告:/dvd/Packages/httpd-2.4.6-80.el7.centos.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
错误:依赖检测失败:
/etc/mime.types 被 httpd-2.4.6-80.el7.centos.x86_64 需要
httpd-tools = 2.4.6-80.el7.centos 被 httpd-2.4.6-80.el7.centos.x86_64 需要
现有环境,安装此软件包 ,提前是,将其他软件包 (被依赖)先安装好,才能安装此软件包,依赖关系问题如何解决?
YUM软件仓库 ----相当于 手机里的应用商店---自动升级/删除操作
Rpm 手动操作
复习:
零散软件包的安装,rpm 软件安装管理器。
1)服务器--- 存储软件包---下载,获取软件包
远程服务器 --web /ftp
本地服务器--- iso 镜像 -装入虚拟光驱/dev/cdrom 挂载 /dvd ----/dvd /p* 存放 以rpm结尾地 软件包
- 客户端 --下载/安装
Rpm 软件包安装手动安装--- 解决依赖关系 --手机里应用商店 特点 --自动安装软件--- 配置yum软件仓库(应用商店)
手机商店:软件包
清单列表
格式: rpm 【选项】 软件包名字
选项: -q 查看是否安装
-i安装
-v安装信息
-h安装进度 #表示
-e卸载或者删除。
本地服务器 :挂载
Mkdir /dvd
Mount /dev/cdrom /dvd
Ls /dvd 有内容
使用rpm 安装软件 ---如果依赖包过多 ,解决?
Rpm -q vsftpd
Rpm -ivh /dvd/p* /软件包详细信息
Rpm -e vsftpd
Rmp -q bind
Rmp - q httpd --依赖关系?
配置yum 软件仓库
服务器端 :本地 iso 挂载点 /dvd ---存储软件包
Packages :软件包
repodata :软件包列表信息
客户端:配置一个配置文件 ----让客户端知道存放软件包地服务器地位置
/*/
Rm-rf /etc/yum.repos.d/* 删除yum.repos.d 文件里面的内容。
[root@localhost ~]# ls /etc/yum.repos.d/这个配置文件 存放在 这里,以repo结尾
Mount /dev/cdrom /dvd
[root@localhost ~]# vim /etc/yum.repos.d/dvd.repo
[dvd](vim里面编辑地信息)
name=centos7.5
baseurl=file:///dvd
enabled=1
gpgcheck=0
Yum应用:
[root@localhost ~]# yum repolist //查看软件包地信息 (成功) 需要挂载DVD才会成功。
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
dvd | 3.6 kB 00:00
(1/2): dvd/group_gz | 166 kB 00:00
(2/2): dvd/primary_db | 5.9 MB 00:00
源标识 源名称 状态
dvd centos7.5 9,911
repolist: 9,911
------------
[root@localhost ~]# yum -y install httpd -y自动应答安装 yum安装http
[root@localhost ~]# yum remove httpd //卸载软件使用yum软件仓库
零三软件包安装 --rpm
数据包的安装源
服务器端----软件包
客户端 ---下载安装软件包 本地服务器--光驱的挂载 /dvd/远程服务 web/ftp
Rpm 【选项】 软件包名字
选项 -q -i -v -h -e
配置文件---用来指定服务器的位置
Yum软件仓库 --应用商店
服务器端----软件包
客户端 ---下载安装软件包 本地服务器--光驱的挂载
配置文件存储位置 /etc/yum.repo.d/*.repo
Rm-rf /etc/yum.repos.d/*
Vim /etc/yum.repos.d/dvd.repo
[dvd]
Name =centos7.5
Baseurl=file:///dvd
Enabled=1
Gpgcheck=0
yum应用
Yum repolist
Yum -y install 软件包名
Rpm -q 软件包名
Yum remove 软件包
=====================================
磁盘管理:
- 硬盘---计算机硬件
主要部件---参数:cpu 硬盘 内存 主板 显卡 电源
安装系统--要会
接口类型:ide接口
Sata
Scsi ----推荐 存储快
类型: 机械 固态(好)
- 硬盘存储数据的过程:
识别硬盘:分区 格式化 存储 挂载目录 形成访问点
3.认识/识别磁盘:
虚拟机 ---设置----硬盘--添加20g ---确定---购买硬盘
操作系统识别磁盘---reboot
Lsblk----查看添加的磁盘信息
- 分区---Window /liunx
分区形式:
Mbr 主引导记录 适用于 磁盘空间 不大于 2t 支持最大2t 1t=1024g 1g =1024m
1m=1024kb 1k=1024b
Cpt 支持最大18eb 1eb= 1024pb 1pb=1024pb
Mbr 主引导记录
主分区 : 最多分 4个主分区
挎展分区 : 想要划分更多分区 可以划分1-3个主分区,留出来一个作为跨展分区,在跨展分区里 在创建逻辑分区(不能存储数据)
逻辑:理论创建无数个
磁道 扇区---512字节 0扇区 存储引导记录
[root@localhost ~]# lsblk 查看新添加硬盘
sdb 8:16 0 20G 0 disk
[root@localhost ~]# fdisk /dev/sdb 将sdb开始进行分区
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
命令(输入 m 获取帮助):m
命令操作
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types
m print this menu
n add a new partition //创建新分区
o create a new empty DOS partition table
p print the partition table //查看分区列表,发现没有进行分区
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+2G
分区 1 已设置为 Linux 类型,大小设为 2 GiB
命令(输入 m 获取帮助):P
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00d8ef3a
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 4196351 2097152 83 Linux
命令(输入 m 获取帮助):n //创建新分区。
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p):
Using default response p
分区号 (2-4,默认 2):
起始 扇区 (4196352-41943039,默认为 4196352):
将使用默认值 4196352
Last 扇区, +扇区 or +size{K,M,G} (4196352-41943039,默认为 41943039):
将使用默认值 41943039
分区 2 已设置为 Linux 类型,大小设为 18 GiB
命令(输入 m 获取帮助):p //查看分区列表,发现没有进行分区
命令(输入 m 获取帮助):q //不保存退出 w//保存退出
[root@localhost ~]# lsblk // 查看新硬盘没有分区
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
sr0 11:0 1 8.8G 0 rom /run/media/root/CentOS 7 x86_64
- 格式化:赋予当前的磁盘空间文件系统的过程 fat fat32 ntfs windows
文件系统:空间存储数据方式
Linux 系统常见的文件系统:
[root@localhost ~]# mkfs.(按两次tab建)
mkfs.btrfs mkfs.ext2 mkfs.ext4 mkfs.minix mkfs.vfat
mkfs.cramfs mkfs.ext3 mkfs.fat mkfs.msdos mkfs.xfs
格式化配置文件系统:
[root@localhost ~]# mkfs.ext4 /dev/sdb1 //设置sdb1分区 的文件系统为ext4
[root@localhost ~]# blkid 查看文件系统
/dev/sda1: UUID="5fcd1dff-9ecf-4253-aa06-4d2f6b261d01" TYPE="xfs"
/dev/sda2: UUID="8CjjIA-mSHa-D6Ps-LnKj-C3vc-a302-D10ZfK" TYPE="LVM2_member"
/dev/sdb1: UUID="416741ce-d1a2-416c-a599-aa37381d072d" TYPE="ext4"
[root@localhost ~]# mkfs.xfs /dev/sdb2 //以前原先设置了。
mkfs.xfs: /dev/sdb2 appears to contain a partition table (dos).
mkfs.xfs: Use the -f option to force overwrite.
[root@localhost ~]# mkfs.xfs -f /dev/sdb2 //设置需要-f
创建访问点---挂载点
[root@localhost ~]# mkdir /pt1 //创 ls /pt1
pt1.txt
[root@localhost ~]# mkdir /pt2
[root@localhost ~]# mount /dev/sdb2 /pt2
[root@localhost ~]# df -h //查看分区是否挂载
/dev/sdb1 2.0G 33M 2.0G 2% /pt1
/dev/sdb2 2.0G 6.0M 1.8G 1% /pt2
- 识别磁盘
添加两块磁盘
- 磁盘分区
Dfdisk /dev/sdb
两个 2g 主分区
- 格式化
Mkfs.xfs /dev/sdb1
Blkid 查看
- 分区挂载--开机自动挂载
打开etc/fstab 用来配置 开机自动挂载
格式 磁盘分区/路径信息 挂载点 文件系统 参数(r x w acl 特殊权限) 0 0
dev/sdb1 /pt1 xfs Defaults 0 0
dev/sdb2 /pt2 ext4 Defaults 0 0
[root@localhost ~]# vim /etc/fstab(里面书写的内容 按0进入书写模式)
dev/sdb2 /pt2 ext4 Defaults 0 0
[root@localhost ~]# df -h(查看是否挂载 此时没有挂载)
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 17G 4.1G 13G 24% /
devtmpfs 895M 0 895M 0% /dev
tmpfs 911M 0 911M 0% /dev/shm
tmpfs 911M 11M 901M 2% /run
tmpfs 911M 0 911M 0% /sys/fs/cgroup
/dev/sda1 1014M 170M 845M 17% /boot
tmpfs 183M 4.0K 183M 1% /run/user/42
tmpfs 183M 32K 183M 1% /run/user/0
/dev/sr0 8.8G 8.8G 0 100% /run/media/root/CentOS 7 x86_64
[root@localhost ~]# mount -a (没有重启服务 用来检测配置文件 没有报错则配置成功)
[root@localhost ~]# df -h(查看挂载点信息挂载成功)
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 17G 4.1G 13G 24% /
devtmpfs 895M 0 895M 0% /dev
tmpfs 911M 0 911M 0% /dev/shm
tmpfs 911M 11M 901M 2% /run
tmpfs 911M 0 911M 0% /sys/fs/cgroup
/dev/sda1 1014M 170M 845M 17% /boot
tmpfs 183M 4.0K 183M 1% /run/user/42
tmpfs 183M 32K 183M 1% /run/user/0
/dev/sr0 8.8G 8.8G 0 100% /run/media/root/CentOS 7 x86_64
/dev/sdb1 2.0G 33M 2.0G 2% /pt1
--------
--------
Sdc 20g
划分三个分区
6
4
8
空间要求9g
逻辑卷: 可以整合零散的空间 虚拟的整体(虚拟磁盘) 逻辑卷
物理卷 pv 卷组 vg lv逻辑卷
将空间的分区或者整块磁盘 (物理卷pv)整合成一快大虚拟的磁盘 (卷组vg)然后将虚拟的磁盘进行分区 (逻辑卷) --》》格式化 挂载
逻辑卷 作用:整合零散的空间 可以跨展磁盘空间
准备工作
-----
添加一快 sdc 20g
划分三个主分区
Sdc1 6g
Sdc 2 4g
sdc3 8g
-------
命令w保存 p查看
Create remove scan
物理卷:pv pvcreate pvremove pvs
卷组 vg vgcreate vgremove vgs
逻辑卷 lv lvcreate lvremove lvs
将sdc1和 sdc2 两个分区作为物理卷pv
格式 :pvcreate /dev/sdc1 /dev/sdc2(设备路径1,设备路径2)
[root@localhost ~]# pvcreate /dev/sdc1 /dev/sdc2 //创建物理卷
Physical volume "/dev/sdc1" successfully created.
Physical volume "/dev/sdc2" successfully created.
[root@localhost ~]# pvs 查看物理卷
从物理卷pv 去需要的空间 做卷组vg
格式: vgcreate 卷组名 设备路径1 设备路径2
[root@localhost ~]# vgcreate wlgcvg12 /dev/sdc1 /dev/sdc2 //创建卷组
Volume group "wlgcvg12" successfully created
[root@localhost ~]# vgs //查看卷组
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- <19.00g 0
wlgcvg12 2 0 0 wz--n- 9.99g 9.99g
从卷组vg 取需要的逻辑空间做 逻辑卷lv
格式 : lvcreate -n 逻辑卷名字 -l 大小 基于的卷组名
[root@localhost ~]# lvcreate -n mylv -L 7G wlgcvg12 //创建逻辑卷
Logical volume "mylv" created.
[root@localhost ~]# lvs
[root@localhost ~]# vgs
格式化:
【Root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
├─sdb1 8:17 0 2G 0 part /pt1
└─sdb2 8:18 0 2G 0 part /pt2
sdc 8:32 0 20G 0 disk
├─sdc1 8:33 0 6G 0 part
│ └─wlgcvg12-mylv 253:2 0 7G 0 lvm
├─sdc2 8:34 0 4G 0 part
│ └─wlgcvg12-mylv 253:2 0 7G 0 lvm
└─sdc3 8:35 0 8G 0 part
sr0 11:0 1 8.8G 0 rom /run/media/root/CentOS 7 x86_64
如何删除创建的东西。(v0为lv systemvg 为vg )
[root@localhost ~]# lvremove systemvg/v0
Do you really want to remove active logical volume systemvg/v0? [y/n]: y
Logical volume "v0" successfully removed
[root@localhost ~]# vgremove systemvg
Volume group "systemvg" successfully removed
[root@localhost ~]# pvremove /dev/sdd2 /dev/sdd3
Labels on physical volume "/dev/sdd2" successfully wiped.
Labels on physical volume "/dev/sdd3" successfully wiped.
[root@localhost ~]# ls /dev/wlgcvg12/mylv
/dev/wlgcvg12/mylv
[root@localhost ~]# ls -l /dev/wlgcvg12/mylv
lrwxrwxrwx. 1 root root 7 10月 21 17:24 /dev/wlgcvg12/mylv -> ../dm-2
[root@localhost ~]# mkfs.xfs /dev/wlgcvg12/mylv //格式化逻辑卷
meta-data=/dev/wlgcvg12/mylv isize=512 agcount=4, agsize=458752 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=1835008, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@localhost ~]# blkid /dev/wlgcvg12/mylv //查看是否格式化
/dev/wlgcvg12/mylv: UUID="78ec4092-15c9-40b4-b6b4-ba7cf69bdc31" TYPE="xfs"
[root@localhost ~]# vim /etc/fstab //进行换行编辑模式(先创建挂载点,然后进行编辑)
dev/wlgcvg12/mylv /lv xfs defaults 0 0(编辑内容)
[root@localhost ~]# mkdir /lv //创建挂载点lv
[root@localhost ~]# mount -a //检查配置文件格式 以及实现自动挂载
[root@localhost ~]# df -h //查看是否挂载成功
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 17G 4.1G 13G 24% /
devtmpfs 895M 0 895M 0% /dev
tmpfs 911M 0 911M 0% /dev/shm
tmpfs 911M 11M 901M 2% /run
tmpfs 911M 0 911M 0% /sys/fs/cgroup
/dev/sda1 1014M 170M 845M 17% /boot
/dev/sdb1 2.0G 33M 2.0G 2% /pt1
/dev/sdb2 2.0G 6.0M 1.8G 1% /pt2
tmpfs 183M 4.0K 183M 1% /run/user/42
tmpfs 183M 32K 183M 1% /run/user/0
/dev/sr0 8.8G 8.8G 0 100% /run/media/root/CentOS 7 x86_64
/dev/mapper/wlgcvg12-mylv 7.0G 33M 7.0G 1% /lv
[root@localhost ~]# ls -l /dev/mapper/wlgcvg12-mylv //逻辑卷真是表示用dm -编号 ,为了读取放便逻辑卷用卷组 /逻辑卷这种名称方式表示
lrwxrwxrwx. 1 root root 7 10月 21 17:43 /dev/mapper/wlgcvg12-mylv -> ../dm-2
复习
- 识别磁盘
吧iso镜像 --放入到cdrom虚拟光驱 --确定
虚拟机--设置--磁盘---添加 dev/sdc
- 系统识别 lsblk --reboot
- 规划分区 fdisk /dev/sdc
主分区 4个
扩展分区 可以创建无数个逻辑分区
- 分区格式化:文件系统 ext4 xfs mkfs.文件系统 /磁盘分区路径
- 挂载访问:mount 磁盘分区设备 首先创建访问点
逻辑卷:整合空闲的零散的物理磁盘空间(分区/整个磁盘)
扩张磁盘空间
1)空闲的零散物理磁盘空间
每个零散的磁盘空间成为物理卷 pv
2)将多个物理卷pv 整合成一个大虚拟的磁盘,这个虚拟磁盘成为卷组vg
- 将卷组划分为lv逻辑卷
Pv 物理卷可以不用操作
[root@localhost ~]# vim /etc/fstab
[root@localhost ~]# mount -a
[root@localhost ~]# df -a
====================================
在线扩展
卷组有足够的空间
- 扩展逻辑卷空间(原先先10G 想要扩展12G 卷组13G)
Lvextend -L 12G /dev/wl01/wl01lv
Lvs
[root@localhost ~]# lvextend -L 12G /dev/wl01/wl01lv
(卷组)(逻辑卷)
Df -h 查看的格式化之后的文件系统的空间大小
扩展的文化系统(刷新文件系统) xfs_growfs 扩展的是1xfs文件系统 resize2fs 扩展的是ext4文件系统
Xfs _growfs /dev/wl01/wlo01lv
[root@localhost ~]# xfs_growfs /dev/wl01/wl01lv(刷新)
卷组没有足够的空间
[root@localhost ~]# vgextend wl01 /dev/sdb3 //扩展卷组
[root@localhost ~]# lvextend -L 18G /dev/wl01/wl01lv //扩展逻辑卷
删除逻辑卷
[root@localhost ~]# lvremove /dev/wl01/wl01lv
删除卷组
Vgremove /dev/wl01
unix/Linux的基本哲学理念---一切皆文件。
/dev/sda :dev设备所在目录
hd,表示IDE设备 IDE接口
sd,表示SCSI设备 scsi接口,速率快
a,磁盘顺序号,第二快磁盘:b
命令行基本操作
虚拟控制台
字符控制台
pwd查看当前用户所在目录
cd /目录切换
绝对位置路径:以固定位置为起点 unix:以根为起点
相对位置路径:以当前所在的位置为参照物 unix:以当前目录为参照物
[root@localhost ~]# cd /etc//以绝对路径进入ect
[root@localhost etc]# cd lvm//以当前文件夹为参照物,相对路径进入lvm
[root@localhost lvm]# cd ..//退到父目录及上一级目录
[root@localhost lvm]# cd ..
[root@localhost etc]# cd /etc/lvm//绝对路径
[root@localhost lvm]# cd /etc退到上一级目录
[root@localhost etc]# cd lvm//相对路径
ls基本查看
两种方式查看:
[root@localhost /]# cd /etc/lvm
[root@localhost lvm]# ls当前目录下
archive backup cache lvm.conf lvmlocal.conf profile
[root@localhost lvm]# ls /etc/lvm绝对路径查看
archive backup cache lvm.conf lvmlocal.conf profile
查看系统版本信息:cat
[root@localhost etc]# cat redhat-release相对查看
CentOS Linux release 7.5.1804 (Core)
[root@localhost etc]# cd ..
[root@localhost /]# cat /etc/redhat-release绝对查看
查看cpu信息lscpu//区分大小写
[root@localhost ~]# lscpu
查看内容总大小和空闲情况
root@localhost ~]# cat /proc/meminfo
颜色区分不同程序:蓝色代表文件夹,目录。
黑色代表文本文档文件
绿色代表执行文件
青色代表快捷方式
~的含义:代表当前root用户的目录存在的信息,当前用户进入默认位置
root(超级管理员)用户名 localhost主机名 普通用户$ 管理员#
linux服务器版本的系统 linux诞生前时unix 1970为 unix诞生时间
unix为发行版本:内核加外壳版本 debian ubuntu fedora redhat centos 红旗
内核版本:
linux应用:嵌入式系统 高性能大运算
linux的目录结构:最顶层为跟目录
查看主机名:也可以给名
[root@localhost /]# hostname juanmao//临时改名(重启之后会变回来) 退出终端重新打开才生效,命令提示符显示的名字是 全名的第一个点的前面内容
[root@localhost /]# hostname//查看主机全名
localhost.localdomain
查看网卡的信息:
Ifconfig//查看当前激活网卡的信息
Ifconfig ens33 192.168.10.10 //给网卡配置临时地址(重启之后会变回来)
Less 查询大文件内容,可以分屏显示,按回可以一行一行显示,按空格建可以一屏一屏显示
[root@localhost etc]# less /etc/passwd /查看passwd内容
在查询内容·后边,可以进行搜索 如:/lisi 退出搜索界面 按q
[root@localhost etc]# head -n 2 /etc/passwd//查看文档的前两行
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
[root@localhost etc]# head -2 /etc/passwd//查看文档的前两行
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
[root@localhost etc]#
[root@localhost etc]# head /etc/passwd//默认查看文档的前十行
[root@localhost etc]# tail /etc/passwd//查看文本的后十行
radvd:x:75:75:radvd user:/:/sbin/nologin
pulse:x:171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
gnome-initial-setup:x:990:984::/run/gnome-initial-setup/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
juanmao:x:1000:1000:juanmao:/home/juanmao:/bin/bash
[root@localhost etc]# tail -2 /etc/passwd//查看文本后两行
tcpdump:x:72:72::/:/sbin/nologin
juanmao:x:1000:1000:juanmao:/home/juanmao:/bin/bash
创建目录
[root@localhost ~]# mkdir /root/zly//用绝对路劲创建root目录下的zly
[root@localhost ~]# ls /root
anaconda-ks.cfg zly 模板 图片 下载 桌面
[root@localhost ~]# mkdir juanmao//相对路径创建root目录下的juanmao
[root@localhost ~]# ls /root
anaconda-ks.cfg juanmao 公共 视频 文档 音乐
initial-setup-ks.cfg zly 模板 图片 下载 桌面
批量创建:
[root@localhost ~]# mkdir /root/zs /root/ls//批量创建目录
[root@localhost ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg ls zly 公共 视频 文档 音乐
czj juanmao zcj zs 模板 图片 下载 桌面
[root@localhost ~]#
创建空文档:Touch
[root@localhost ~]# touch /root/ww.txt创建空文档
[root@localhost ~]# ls
[root@localhost ~]# touch /root/el.txt /root/hl.tex//批量创建空文档
[root@localhost ~]# ls
配置网络--图形化界面--设置--ipv4
[root@localhost ~]# nmtui//
使用上下左右建选择 使用回车键确认。使用空格建来选中
重启:
[root@localhost ~]# reboot
关机:
Poweroff
定时关机:
Shutdown -h 0
Shutdown -h 10//10分钟后关机
Shutdown -h 22;00
Shutdown -r 0//定时重起
Shutdown -r 10//定时10分钟重起
Shutdown -r 22;00//定时22:00重起
命令的格式:type 命令可以看谁是内部谁是外部
解释器:/bin/bash
内部命令:属于解释器的一部分命令
外部命令:解释器之外的其他程序
命令的一般格式:
基本用法
命令字 【选项】....【参数1】【参数2】(参数是目标或文件)
Ls -l /root/
-l含义:查看属性;
选项:
短选项:-l ,-a,-c,-d
多个短选项:-lh,-la,-ld。
长选项:--help
参数:命令的操作对象,如目录或文件
Tab补齐建:当开始字符可以代表唯一指令是,按tab补齐建
当开始字符不能唯一代表一个指令是,连续按两次tab建,可以列出一此字母开头的命令
Unix不能使用简写。
快捷键
Ctrl+l:清屏
Ctrl+c:废弃当前编辑的命令行
Ctrl+u:清除到行首
Ctrl+k:删除到行尾
Ctrl+w:往回删除一个单词(以空格界定)
Man手册
Man mkdir
[root@localhost ~]# man mkdir//man 指令 退出按q
[root@localhost ~]# info ls//info指令 退出按q
[root@localhost ~]# ls --help//内部 help指令,外部ls--help
~user表示的用户use家目录r
[root@localhost ~]# cd /etc
[root@localhost etc]# cd ~//直接回到当前用户root的家目录
root@localhost ~]# cd ~juanmao//直接回到用户juanmao的目录
[root@localhost juanmao]# cd ~
Ls -list:常用命令选项
-l:以长格式显示
-A:显示所有文件,包括名称以,开头的隐藏文件
-a:显示所有文件,包括.与..
-d:显示目录本生(而不是内容的属性)
-h:提供易读的容量单位
通配符:针对不确定的文档名称,以特殊字符表示
-*:任意多个任意字符
-?:单个字符
[root@localhost ~]# ls -d /m*
/media /mnt
[root@localhost ~]# ls -d /m??//知道几个字母
针对不确定的文档名称,以特殊字符表示
-【a-z】多个字符或连续范围中的一个,若无则忽略(连续)
-{a,min,xy}多个不同的字符全匹配
[root@localhost ~]# ls /dev/tty0
/dev/tty0
[root@localhost ~]# ls /dev/tty1
/dev/tty1
[root@localhost ~]# ls /dev/tty2
/dev/tty2
[root@localhost ~]# ls /dev/tty0 dev/tty1 dev/tty2
/dev/tty0
[root@localhost ~]# ls /dev/tty[0-7]
/dev/tty0 /dev/tty2 /dev/tty4 /dev/tty6
/dev/tty1 /dev/tty3 /dev/tty5 /dev/tty7
[root@localhost ~]# ls /dev/tty{1,3,5}
/dev/tty1 /dev/tty3 /dev/tty5
[root@localhost ~]#
查询方法
1.[root@localhost ~]# ls /dev/tty[20-30]//中括号连续匹配数字 只能匹配0-9
/dev/tty0 /dev/tty1 /dev/tty2 /dev/tty3
2.[root@localhost ~]# ls /dev/tty2[0-9] /dev/tty30
/dev/tty20 /dev/tty22 /dev/tty24 /dev/tty26 /dev/tty28 /dev/tty30
/dev/tty21 /dev/tty23 /dev/tty25 /dev/tty27 /dev/tty29
3.[root@localhost ~]# ls /dev/tty{20,21,22,23,24,25,26,27,28,29,30}
/dev/tty20 /dev/tty22 /dev/tty24 /dev/tty26 /dev/tty28 /dev/tty30
/dev/tty21 /dev/tty23 /dev/tty25 /dev/tty27 /dev/tty29
[root@localhost ~]#
4.[root@localhost ~]# ls /dev/tty{2[0-9],30}
/dev/tty20 /dev/tty22 /dev/tty24 /dev/tty26 /dev/tty28 /dev/tty30
/dev/tty21 /dev/tty23 /dev/tty25 /dev/tty27 /dev/tty29
别名的定义:
查看已设置的别名
-alias 【别名名称】
定义新的别名
-alias别名名称=“实际执行的命令”
取消已设置的别名
-unalias 【别名名称】
[root@localhost ~]# alias hh='hostname'/设置别名
[root@localhost ~]# hh
[root@localhost ~]# unalias hh//取消别名
[root@localhost ~]# alias//查看当前主机设置的别名
[root@localhost ~]# alias pwd='hostname'//不能随便设置别名
[root@localhost ~]# pwd
localhost.localdomain
[root@localhost ~]# unalias pwd//取消别名
[root@localhost ~]# pwd
[root@localhost ~]# alias pwd='poweroff'//不能随便设置别名 就会关机
Mkdir
-p可以创建连续的目录
[root@localhost /]# mkdir -p /qtt/ldd/sxx
[root@localhost /]# ls -R /qtt//递归显示
/qtt:
ldd
/qtt/ldd:
sxx
/qtt/ldd/sxx:
Mv移动 改名
当前目录下进行移动
同目录下改名
[root@localhost /]# mkdir test1 test2
[root@localhost /]# ls
bin dev home lib64 mnt proc qy run srv test1 tmp var
boot etc lib media opt qtt root sbin sys test2 usr
[root@localhost /]# mv test1 test3
[root@localhost /]# ls
bin dev home lib64 mnt proc qy run srv test2 tmp var
boot etc lib media opt qtt root sbin sys test3 usr
[root@localhost /]#
不同路经移动:
[root@localhost /]# mv /test2 /tast3/
[root@localhost /]# ls
bin dev home lib64 mnt proc qy run srv tast3 tmp var
boot etc lib media opt qtt root sbin sys test3 usr
[root@localhost /]# cd test3
[root@localhost test3]# ls
复制:cp
[root@localhost /]# mkdir bak
[root@localhost /]# mkdir ubak
[root@localhost /]# cd ubak
[root@localhost ubak]# touch fj.txt
[root@localhost ubak]# cd /
1.[root@localhost /]# cp /ubak/fj.txt /bak
[root@localhost /]# cd bak
[root@localhost bak]# ls
fj.txt
2.[root@localhost /]# cp -r /ubak /bak//复制目录是,使用选项-r,最后一个为目标
[root@localhost /]# ls
[root@localhost /]# cd bak
[root@localhost bak]# ls
fj.txt ubak
- [root@localhost /]# cp -r /ubak .//代表当前目录,将内容复制到当前目录
删除:rm
[root@localhost /]# rm -r bak//删除会提示
[root@localhost /]# rm -rf bak删除前不提示
小测试:重点
- 请简述【root@localhost~】#的含义
root(超级管理员)用户名 localhost主机名(区分不同的主机) 管理员#
~ 代表当前root用户的家目录存在的信息,当前用户进入默认位置
~ 代表用户管理原的时候表示/下的home下的用户
@无特殊意义
- Linux 的ide和scsi的磁盘如何表示的
hd,表示IDE设备 IDE接口,hda 第一快
sd,表示SCSI设备 scsi接口,速率快 sda第一块
- Linux的目录结构的哲学理念
一切皆文件。目录结构:树状结构,以/为根,/下存放这文件目录。
- Redhat系列都有那些版本
RHEL企业版
Centos社区版本(社区地企业版本)
Fedora社区版本(社区地个人版本)
- 简述一下linux内核版本和发行版本区别
内核版本指的是:内核本生,
发行版本:内核版本加外围软件;需要付费,是基于内核构建地完整操作系统,发行版本通常会选择更稳定和成熟地内核版本。发行版本地更新周期通常比内核版本地更新周期长。
- 在/目录下创建一个子目录kkk
[root@localhost ~]# mkdir /kkk
将目录/boot/grub2/ 复制到目录kkk下
[root@localhost /]# cp -r /boot/grub2/ /kkk/
[root@localhost /]# ls /kkk
grub2
将目录/root/下以Cfg结尾地文件复制到kkk
[root@localhost /]# cp /root /*.cfg /kkk/
[root@localhost /]# ls
bak bzj home lib64 opt qy sbin tast3 ubak zjl
bin dev kkk media proc root srv test3 usr
boot etc lib mnt qtt run sys tmp var
[root@localhost /]# ls /kkk/
anaconda-ks.cfg grub2 initial-setup-ks.cfg
[root@localhost /]#
将文件/ect/hostname复制到/root/下,同时改名为myhost
[root@localhost /]# cp /etc/hostname /root/myhost
[root@localhost /]# ls /root/
anaconda-ks.cfg hl.tex ls zly 视频 音乐
bkz initial-setup-ks.cfg myhost zs 图片 桌面
czj juanmao ww.txt 公共 文档
el.txt kkk zcj 模板 下载
[root@localhost /]#
[root@localhost /]#
将文件/root/myhost移动到kkk目录下。
[root@localhost /]# mv /root/myhost /kkk/
[root@localhost /]# ls /kkk/
anaconda-ks.cfg grub2 initial-setup-ks.cfg myhost
[root@localhost /]# ls /root/
anaconda-ks.cfg hl.tex ls zs 图片 桌面
bkz initial-setup-ks.cfg ww.txt 公共 文档
czj juanmao zcj 模板 下载
el.txt kkk zly 视频 音乐
[root@localhost /]#
[root@localhost ~]# touch xaike.txt
[root@localhost ~]# cat xaike.txt
[root@localhost ~]# vim xiake.txt
[root@localhost ~]#
Vim编译器有三种模式:命令行模式/插入模式/末行模式
打开文档是。看到地就是命令行模式,想对文档进行编辑按i建进入到插入模式,进行编辑,编辑完毕后想要保存需要退回到命令行模式,此时按esc建;然后进行末行进行保存,需要按:建,
在末行模式 输入wq 保存退出 输入q!强制退出
安装软件:网上下载;光盘镜像
Mount挂载点----访问点:将莫个目录变成访问点
Windows: 光盘(系统镜像)----》光盘驱动----》自动识别dvd图标(从系统访问光盘地访问点)
Linux:系统镜像-----》虚拟光盘驱动器dvd----》不会被系统自动识别出dvd图标(系统理不会自动创建访问点,需要手动创建访问点)
虚拟光盘驱动器 ide接口 scsi接口
- 手动创建目录挂载点 /vcd 作为光驱/dev/cdorm 在linux系统地 --访问点
- 将硬件设备类型,如/dev/cdrom 表示光驱 和访问点 /vcd 关联 (挂载)
- 格式:mount 设备类型/dev/cdrom 访问点/vcd
挂载
[root@localhost ~]# mkdir /vcd创建挂载点,及时访问
[root@localhost ~]# ls /
[root@localhost ~]# ls /vcd/ 里面空的
[root@localhost ~]# 光盘驱动器/dev/cdrom 在linux系统访问点设置为vcd
[root@localhost ~]# ls /vcd 查看光驱内容(查看到内容)
[root@localhost ~]# ls /vcd/Packages查看光盘镜像理的。Rmp软件包
[root@localhost ~]# umount /vcd 卸载挂载点
[root@localhost ~]# ls /vcd 目录下没有内容
- 挂载的时候新建一个目录,,不要挂载到原有的文件上 ,以防出现风险
[root@localhost ~]# ls /kkk(把kkk当作访问点)
CentOS_BuildTag GPL LiveOS RPM-GPG-KEY-CentOS-7
EFI images Packages RPM-GPG-KEY-CentOS-Testing-7
EULA isolinux repodata TRANS.TBL
[root@localhost ~]# umount /kkk
[root@localhost ~]# ls /kkk(原先kkk有的文件)
anaconda-ks.cfg grub2 initial-setup-ks.cfg myhost
[root@localhost ~]#
- 卸载访问点的时候,不应该在正在卸载的目录下
[root@localhost ~]# cd /vcd
[root@localhost vcd]# ls
CentOS_BuildTag GPL LiveOS RPM-GPG-KEY-CentOS-7
EFI images Packages RPM-GPG-KEY-CentOS-Testing-7
EULA isolinux repodata TRANS.TBL
[root@localhost vcd]# umount /vcd
umount: /vcd:目标忙。//卸载不成功
(有些情况下通过 lsof(8) 或 fuser(1) 可以
找到有关使用该设备的进程的有用信息)
[root@localhost vcd]#
- 同一个硬件设备,可以挂载多个访问点
同一个访问点,不能挂载多个硬件设备。
[root@localhost ~]# mount /dev/cdrom /kkk
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# ls /kkk
CentOS_BuildTag GPL LiveOS RPM-GPG-KEY-CentOS-7
EFI images Packages RPM-GPG-KEY-CentOS-Testing-7
EULA isolinux repodata TRANS.TBL
[root@localhost ~]# mount /dev/cdrom /vcd
[root@localhost ~]# ls /vcd
CentOS_BuildTag GPL LiveOS RPM-GPG-KEY-CentOS-7
EFI images Packages RPM-GPG-KEY-CentOS-Testing-7
EULA isolinux repodata TRANS.TBL
重定向输出:>覆盖重定向,>>追加重定向
[root@localhost ~]# touch /lss.txt
[root@localhost ~]# cat /lss.txt
[root@localhost ~]# ls --help > /lss.txt ls --help 输出的内容 写入到 lss .Txt文件里面
[root@localhost ~]# cat /lss.txt
[root@localhost ~]# hostname
localhost.localdomain
[root@localhost ~]# hostname > /lss.txt //将原先的内容覆盖掉
[root@localhost ~]# cat /lss.txt
localhost.localdomain
[root@localhost ~]# ls --help >> /lss.txt //ls--help 输出内容 追加 到 lss.txt文件里面
[root@localhost ~]# cat /lss.txt
Echo 后面输入什么内容,就显示什么内容,一般回和重定向一起使用
[root@localhost ~]# echo nh > /yy.txt
[root@localhost ~]# cat /yy.txt
nh
管道符(|)数线:将前面命令输出 交由后面的命令处理,作为后面命令的参数
[root@localhost ~]# cat -n /etc/passwd //显示内容的行号
[root@localhost ~]# head -12 /etc/passwd 显示/etc/passwd 内容前12行
[root@localhost ~]# head -12 /etc/passwd | tail -5 将前12行,作为tail -5 的参数,从而显示8-12行
[root@localhost ~]# cat -n /etc/passwd | head -12
[root@localhost ~]# cat -n /etc/passwd | head -12 | tail -5
8 halt:x:7:0:halt:/sbin:/sbin/halt
9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10 operator:x:11:0:operator:/root:/sbin/nologin
11 games:x:12:100:games:/usr/games:/sbin/nologin
12 ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
[root@localhost ~]# head -12 /etc/passwd
[root@localhost ~]# head -12 /etc/passwd | tail -5
[root@localhost ~]# head -12 /etc/passwd | tail -5 |cat -n
1 halt:x:7:0:halt:/sbin:/sbin/halt
2 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
3 operator:x:11:0:operator:/root:/sbin/nologin
4 games:x:12:100:games:/usr/games:/sbin/nologin
5 ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
[root@localhost ~]#
grep:过滤文件内容(清除标记信息:以#开头;清除空格 )
格式:grep [选项] 条件 文件
-i 忽略大小写 -v 取反
grep root /etc/passwd //过滤文件包含root
grep ROOT /etc/passwd //过滤区分大小写
grep -i ROOT /etc/passwd //使用i选项忽略大小写
grep -v root /etc/passwd //过滤除了包含root以外的信息
将#内容过滤出来:^#,表示以#开头
将空格过滤出来:^$
cd /etc
cat login.defs
grep ^# /etc/login.defsgrep //将注释信息全部过滤出来
grep -v ^# /etc/login.defs //除了过滤信息全部显示
grep ^$ /etc/login.defs //将空格全部过滤出来
grep -v ^$ /etc/login.defs //除了空格其他信息全部显示
grep -v ^$ /etc/login.defs | grep -v ^# //除了空格和注释信息以外有效信息全部显示
grep -v ^# /etc/login.defs | grep -v ^$ //除了空格和注释信息以外有效信息全部显示
grep -v ^# /etc/login.defs | grep -v ^$ > /logg.txt //除了空格和注释信息以外有效信息写入/logg.txt文档中
cat /logg.txt
grep ^# /etc/login.defs | grep -v ^$ >> /logg.txt //将注释信息和除了空格以外的所有信息追加到 /logg.txt文档中
cat /logg.txt
----------------------------------
----------------------------------
用户和组
【用户名; 密码占位符;uid:基本组的gid:用户描述信息:用户家目录:解释器】
jm:x:1001:1001::/home/jm:/bin/bash
添加用户 / 修改用户属性 /删除用户 / 创建组 /添加
[root@localhost ~]# useradd jm //创建用户
[root@localhost ~]# grep jm /etc/passwd //从用户信息文件理显示jm用户信息
jm:x:1001:1001::/home/jm:/bin/bash
[root@localhost ~]# id jm //显示 用户基信息
uid=1001(jm) gid=1001(jm) 组=1001(jm)
管理员设置密码:交互式设置密码 passwd 用户名
数字/小写字母/大写字母/特殊符号
[root@localhost ~]# passwd jm //给jm设置密码
更改用户 jm 的密码 。
新的 密码:123
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
----------
[root@localhost ~]# su - jm //切换到普通用户
[root@localhost ~]# $ passwd //设置密码
更改用户密码
为jm更改stress 密码
Unix密码为123
新的密码 :新的密码需要满足复杂度要求,太难了
管理员设置非交互式:
格式: echo 密码 | passwd -- stdin 用户名
[root@localhost ~]# useradd kk
[root@localhost ~]# echo 123 | passwd --stdin kk
更改用户 kk 的密码 。
passwd:所有的身份验证令牌已经成功更新。
对已经存在的用户,进行属性修改 使用usermod
格式: usermod 【选项】 用户
[root@localhost ~]# usermod -u 1110 jm4 //修改jm4的uid
[root@localhost ~]# id jm4
uid=1110(jm4) gid=1005(jm4) 组=1005(jm4)
[root@localhost ~]# usermod -s /sbin/nologin jm4 //禁止用户jm4登陆服务器
[root@localhost ~]# tail -1 /etc/passwd
jm4:x:1110:1005::/home/jm4:/sbin/nologin
=========================================
删除用户 userdel
-r 删除用户的同时删除家目录。
[root@localhost ~]# userdel yy //删除用户
[root@localhost ~]# ls /home //没有删除yy的家目录
jm jm1 jm2 jm3 jm4 juanmao kk yy
[root@localhost ~]# tail /etc/passwd //但是将用户删除了
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
juanmao:x:1000:1000:juanmao:/home/juanmao:/bin/bash
jm:x:1001:1001::/home/jm:/bin/bash
jm1:x:1002:1002::/home/jm1:/bin/bash
jm2:x:1003:1003::/home/jm2:/bin/bash
jm3:x:1004:1004::/home/jm3:/bin/bash
jm4:x:1110:1005::/home/jm4:/sbin/nologin
kk:x:1006:1006::/home/kk:/bin/bash
[root@localhost ~]# userdel -r kk //删除用户的同时删除家目录
[root@localhost ~]# ls /home
jm jm1 jm2 jm3 jm4 juanmao yy
[root@localhost ~]# tail /etc/passwd
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
juanmao:x:1000:1000:juanmao:/home/juanmao:/bin/bash
jm:x:1001:1001::/home/jm:/bin/bash
jm1:x:1002:1002::/home/jm1:/bin/bash
jm2:x:1003:1003::/home/jm2:/bin/bash
jm3:x:1004:1004::/home/jm3:/bin/bash
jm4:x:1110:1005::/home/jm4:/sbin/nologin
[root@localhost ~]#
==============================
创建组 groupadd 【选项】 组名
[root@localhost ~]# useradd zz //创建用户
[root@localhost ~]# groupadd dcd //创建组
[root@localhost ~]# tail -1 /etc/passwd //查看用户 psswd
zz:x:1114:1114::/home/zz:/bin/bash
[root@localhost ~]# cat /etc/group //查看组group
zz:x:1114:
dcd:x:1115:
[root@localhost ~]# id zz //查看id
uid=1114(zz) gid=1114(zz) 组=1114(zz)
成员加入组
gpasswd -a 用户名 组名
[root@localhost ~]# gpasswd -a zz dcd //将用户zz 加入到dcd附属组
正在将用户“zz”加入到“dcd”组中
[root@localhost ~]# tail /etc/group
jm3:x:1004:
jm4:x:1005:
kk:x:1112:
yy:x:1113:
zz:x:1114:
dcd:x:1115:zz
[root@localhost ~]# gpasswd -a yy dcd
正在将用户“yy”加入到“dcd”组中
[root@localhost ~]# tail /etc/group
jm3:x:1004:
jm4:x:1005:
kk:x:1112:
yy:x:1113:zz
zz:x:1114:yy
dcd:x:1115:zz,yy
组名 组的密码占位符 组id 组的成员列表
成员从组里面删除 -d
[root@localhost ~]# gpasswd -d zz dcd
Useradd passwd ehco 密码 | passwd --stdin 用户
Usermod
Userdel
Groupadd
Gpasswd -d /-a 删除,添加 用户 组名
Groupdel
练习1,创建用户mm 指定uid 1800
[root@localhost ~]# useradd mm
[root@localhost ~]# usermod -u 1800 mm
- 创建组hh
[root@localhost ~]# useradd hh
- 将用户mm加入hh组
[root@localhost ~]# gpasswd -a mm hh
正在将用户“mm”加入到“hh”组中
- 创建用户bb 指定uid 1810
[root@localhost ~]# usermod -u 1810 bb
- 将用户 bb 加入附属组里hh理
[root@localhost ~]# gpasswd -a bb hh
正在将用户“bb”加入到“hh”组中
- 将用户mm 从附属组里删除
[root@localhost ~]# gpasswd -d mm hh
正在将用户“mm”从“hh”组中删除
- 给用户bb设置密码
[root@localhost ~]# echo 123 |passwd --stdin bb
- 过滤 /etc/passwd 里的bash结尾的行
[root@localhost ~]# grep bash$ /etc/passwd
==============================================
Tar 集成打包工具
-打包 归档
-较少占用的磁盘空间
压缩格式
.gz-- gzip 压缩格式 压缩速度快 空间不节省
.bz2 bzip2
.xz--- xz 压缩速度慢,空间节省
压缩:归档
Tar 【选项】 /路劲/压缩文件地名称 /被打包压缩文件1 /被打包2
解压缩:释放归档
Tar 【选项】 /路劲/压缩文件地名称
Tar 常用地选项
-c 创建归档
-f 指定归档文档名称
-x 释放归档
-z,-j, -J 代表调用 相应地压缩格式 -z代表 gz -j代表bz2 -J代表xz
-C 解压可以指定解压目录
-t列出压缩文件里地内容 --清单
[root@localhost ~]# tar -zcf /ldxy/wlgc21.tar.gz /home /root
[root@localhost ~]# ls /ldxy
wlgc21.tar.gz
[root@localhost ~]# tar -jcf /ldxy/wlgc22.tar.bz2 /home /root //创建
[root@localhost ~]# ls /ldxy
wlgc21.tar.gz wlgc22.tar.bz2
[root@localhost ~]# tar -Jcf /ldxy/wlgc20.tar.xz /home /root
ls[root@localhost ~]# ls /ldxy
wlgc20.tar.xz wlgc21.tar.gz wlgc22.tar.bz2
查看压缩包里地内容
[root@localhost ~]# tar -tf /ldxy/wlgc21.tar.gz //查看备份文件列表
解压文件:
[root@localhost ~]# mkdir /yyy
[root@localhost ~]# tar -xf /ldxy/wlgc21.tar.gz -C /yyy
[root@localhost ~]# ls /yyy
home root
======================================================
用户权限
drwxr-xr-x. 5 root root 42 10月 13 21:51 /yyy
d代表文件类型 目录文件
l代表快捷方式
-代表文本文件
rwxr-xr-x 表示权限 分三组
Rwx 属主 u 拥有者
r-x 组成员 g属组
r-x 其他人 o表示
基本权限(文件)
R 读取
W 写入
X 执行 -脚本
基本权限(目录)
r读取--查看目录里内容 ls
W 写入 --目录下创建删除文件或这目录
x执行 --能够使用cd切换目录
---------------------------------------
修改权限: chmod 权限内容 目录/文件
[root@localhost ~]# chmod u-w /yyy ///给拥有组减去w权限
[root@localhost ~]# ls -ld /yyy
dr-xr-xr-x. 5 root root 42 10月 13 21:51 /yyy
[root@localhost ~]#
[root@localhost ~]# chmod g+w /yyy 给所属组加w权限
[root@localhost ~]# ls -ld /yyy
dr-xrwxr-x. 5 root root 42 10月 13 21:51 /yyy
[root@localhost ~]#
将卷毛加入到root组在修改权限
[root@localhost ~]# gpasswd -a juanmao root
正在将用户“juanmao”加入到“root”组中
[root@localhost ~]# chmod g+w /yyy
[root@localhost ~]# ls -ld /yyy
drwxrwxr-x. 5 root root 42 10月 13 21:51 /yyy
[root@localhost ~]# chmod g-w /yyy
[root@localhost ~]# ls -ld /yyy
drwxr-xr-x. 5 root root 42 10月 13 21:51 /yyy
[root@localhost ~]#
修改其人地权限
[root@localhost ~]# chmod o+w /yyy
[root@localhost ~]# ls -ld /yyy
drwxr-xrwx. 5 root root 42 10月 13 21:51 /yyy
[root@localhost ~]# chmod o-w /yyy
[root@localhost ~]# ls -ld /yyy
drwxr-xr-x. 5 root root 42 10月 13 21:51 /yyy
[root@localhost ~]#
同时修改用户者,属组,其他组权限
[root@localhost ~]# chmod u-w,g-x,o-x /yyy
[root@localhost ~]# ls -ld /yyy
dr-xr--r--. 5 root root 42 10月 13 21:51 /yyy
[root@localhost ~]#
[root@localhost ~]# chmod ugo=wwx /zl001 //同时加入
==========
r对应 数值 4
w对应 数值 2
x对应 数值 1
- 对应数值 0
Rwx r-- r--
U=rwx g=rw o=r
7 5 4
对应的数值修改权限方式
[root@localhost ~]# chmod u=rw,g=rw,o=rw /yyy
[root@localhost ~]# chmod ugo=rw /yyy
[root@localhost ~]# chmod 666 /yyy
[root@localhost ~]#
权限
基本权限: 文件,目录
拥有者-属主 u
属组 g
其他人- o
R 读权限 +增加权限
w写权限 -去除权限
X 执行权限 =赋予权限
修改权限的命令
Chmod 【选项】 权限 目录,文件
文件修改权限
[root@localhost ~]# touch /zl001/yyr.txt
[root@localhost ~]# ls -l /zl001/yyr.txt
-rw-r--r--. 1 root root 0 10月 14 15:59 /zl001/yyr.txt
[root@localhost ~]# chmod 666 /zl001/yyr.txt
[root@localhost ~]# ls -l /zl001/yyr.txt
-rw-rw-rw-. 1 root root 0 10月 14 15:59 /zl001/yyr.txt
[root@localhost ~]#
修改文件,目录 属主,属组
Chown 【选项】 属主 文件或者目录
Chown 【选项】 :属组 文件或者目录
Chown 【选项】 属主:属组 文件或者目录
[root@localhost ~]# groupadd ccnn //创建组
[root@localhost ~]# chown juanmao /zl001 //属主改成juanmao
[root@localhost ~]# chown :ccnn /zl001 //属组改成ccnn
[root@localhost ~]# mkdir /zl002
[root@localhost ~]# useradd zhsan
[root@localhost ~]# chown zhsan:ccnn /zl002 //同时修改属主和属组
[root@localhost ~]# gpasswd -a juanmao root
正在将用户“juanmao”加入到“root”组中
[root@localhost ~]# cat /etc/group
root:x:0:juanmao
[root@localhost ~]# cd /zl003
[root@localhost zl003]# mkdir xixixi
[root@localhost zl003]# touch haha.txt
[juanmao@localhost ~]$ cd /zl003
[juanmao@localhost zl003]$ touch zl.txt
touch: 无法创建"zl.txt": 权限不够
[root@localhost ~]# chmod g+w /zl003 //修改权限,可以进入juanmao进行创建文件
[root@localhost ~]# su - juanmao
上一次登录:六 10月 14 16:36:06 CST 2023pts/0 上
[juanmao@localhost ~]$ cd /zl003
[juanmao@localhost zl003]$ touch juanmao.txt
[juanmao@localhost zl003]$
小测试:
- 管理员用root 权限 创建文件夹caiwu
- 只允许管理员和caiwu组的 lisi zhsan 访问里面内容 不允许其他人ww访问
[root@localhost ~]# mkdir /caiwu
[root@localhost ~]# useradd ww
[root@localhost ~]# groupadd caiwu
[root@localhost ~]# gpasswd -a juanmao caiwu
正在将用户“juanmao”加入到“caiwu”组中
[root@localhost ~]# gpasswd -a zhsan caiwu
正在将用户“zhsan”加入到“caiwu”组中
[root@localhost ~]#
修改caiwu权限
[root@localhost ~]# chmod o=-- /caiwu
[root@localhost ~]# ls -ld /caiwu
drwxr-x---. 2 root root 6 10月 14 16:49 /caiwu
将修改root组为caiwu
[root@localhost ~]# chown :caiwu /caiwu
[root@localhost ~]# ls -ld /caiwu
drwxr-x---. 2 root caiwu 6 10月 14 16:49 /caiwu
切换到ww
[root@localhost ~]# su - ww
[ww@localhost ~]$ cd /caiwu
-bash: cd: /caiwu: 权限不够
[ww@localhost ~]$
Acl 对文件的访问控制 ---访问控制列表
对特殊用户,组 进行精细化权限控制
针对与由特殊需求的组和用户
用户 laozong既不是caiwu组,也不属于 拥有者 他是其他人 o=--- 没有权限
如何让 laozong访问 caiwu目录内的文件
使用命令 setfacl -m u/g设置权限用户/组:laozong:rx /caiwu
setfacl -x u/g去除权限用户/组:laozong /caiwu
[root@localhost ~]# ls -ld /caiwu
drwxr-x---. 2 root caiwu 6 10月 14 16:49 /caiwu
[root@localhost ~]# useradd laozong //添加用户老总
[root@localhost ~]# su - laozong
[laozong@localhost ~]$ cd /caiwu //没有开放权限不能使用
-bash: cd: /caiwu: 权限不够
[laozong@localhost ~]$ exit
登出
[root@localhost ~]# setfacl -m u:laozong:rx /caiwu //该财务目录添加laozong用户访问caiwu
[root@localhost ~]# ls -ld /caiwu
drwxr-x---+ 2 root caiwu 6 10月 14 16:49 /caiwu
[root@localhost ~]# getfacl /caiwu //查看caiwu信息 查看acl赋予用户laozong权限
getfacl: Removing leading '/' from absolute path names
# file: caiwu
# owner: root
# group: caiwu
user::rwx
user:laozong:r-x //laozong拥有读,执行权限
group::r-x
mask::r-x
other::---
[root@localhost ~]# su - laozong //进入laozong用户下可以访问caiwu
上一次登录:六 10月 14 19:58:24 CST 2023pts/0 上
[laozong@localhost ~]$ cd /caiwu
[laozong@localhost caiwu]$
-----------------------
特殊权限
Set gid的特殊权限 --继承权限(组) 修改的是组的x执行权限位置,用s表示 占用的是执行权限的位置,
针对目录
作用:用来使用当前目录下的文件,继承父目录的 组的信息
[root@localhost ~]# mkdir /fff //创建目录fff
[root@localhost ~]# groupadd jyz //创建组jyz
[root@localhost ~]# chown :jyz /fff 修改组为jyz
[root@localhost ~]# chmod g+s /fff // 给属组设置特殊权限 继承权限 属组jyz 没有+s则不会继承。(一定要先赋予权限,在fff目录下创建其他目录,则会赋予权限)
[root@localhost ~]# ls -ld /fff
drwxr-sr-x. 2 root jyz 6 10月 14 20:40 /fff
[root@localhost fff]# mkdir /fff/ddd //在fff下创建ddd
[root@localhost fff]# ls -ld /fff/ddd
drwxr-sr-x. 2 root jyz 6 10月 14 20:53 /fff/ddd //则 ddd也继承了
[root@localhost fff]# touch ddd.txt //创建文档ddd。Txt
[root@localhost fff]# ls
ddd ddd.txt
[root@localhost fff]# ls -ld /fff/ddd.txt
-rw-r--r--. 1 root jyz 0 10月 14 20:53 /fff/ddd.txt //则文档也继承了
[root@localhost fff]#
把组的权限g+s后执行权限存在。为s ,不存在则为S
[root@localhost caiwu]# ls -ld /caiwu(有执行权限是为s)
drwxr-s---+ 4 root caiwuzu 33 10月 16 13:34 /caiwu
[root@localhost ~]# chmod g-x /caiwu(没有执行权限是S)
[root@localhost ~]# ls -ld /caiwu
drwxr-S---+ 4 root caiwuzu 33 10月 16 13:34 /caiwu
[root@localhost ~]#
===============
Set uid 特殊权限 --s
继承用户拥有者的权限--执行权限
------------------
Ticky bit
针对文件 访问的---特殊权限
特殊权限显示 执行为 显示t
作用: 实现用户之间自己控制自己 创建文件的权限,不允许删除操作其他人的文件。
[root@localhost ~]# mkdir /public
[root@localhost ~]# useradd zyh
[root@localhost ~]# useradd zf
[root@localhost ~]# ls -ld /public
drwxr-xr-x. 2 root root 6 10月 16 14:17 /public
[root@localhost ~]# chmod 777 /public
[root@localhost ~]# ls -ld /public
drwxrwxrwx. 2 root root 6 10月 16 14:17 /public
[root@localhost ~]# su - zyh
[zyh@localhost ~]$ cd /public
[zyh@localhost public]$ touch jxj.txt
[zyh@localhost public]$ exit
登出
[root@localhost ~]# su - zf
[zf@localhost ~]$ cd /public
[zf@localhost public]$ touch kx.txt
[zf@localhost public]$ ls
jxj.txt kx.txt
[zf@localhost public]$ rm -rf jxj.txt //用户zf可以删除zyh创建的文件(没有加t)
[zf@localhost public]$ ls
kx.txt
[zf@localhost public]$ exit
登出
[root@localhost ~]# chmod o+t /public //该public目录加了t
[root@localhost ~]# ls -ld /public
drwxrwxrwt. 2 root root 20 10月 16 14:21 /public
[root@localhost ~]# su - zyh
上一次登录:一 10月 16 14:19:34 CST 2023pts/1 上
[zyh@localhost ~]$ cd /public
[zyh@localhost public]$ touch jxj1.txt
[zyh@localhost public]$ ls
jxj1.txt kx.txt
[zyh@localhost public]$ rm -rf kx.txt //此时zyh不能删除zf创建的目录
rm: 无法删除"kx.txt": 不允许的操作
[zyh@localhost public]$ exit
登出
[root@localhost ~]# su - zf
上一次登录:一 10月 16 14:20:04 CST 2023pts/1 上
最后一次失败的登录:一 10月 16 14:23:10 CST 2023pts/1 上
最有一次成功登录后有 1 次失败的登录尝试。
[zf@localhost ~]$ cd /public
[zf@localhost public]$ rm -rf jxj1.txt
rm: 无法删除"jxj1.txt": 不允许的操作
[zf@localhost public]$
----------------------------------------------------
将用户laoxi,访问 /etc/shadow 文件 的方法
1.修改其他人权限
[root@localhost ~]# useradd laoxi
[root@localhost ~]# chmod o=rwx /etc/shadow
[root@localhost ~]#
2.修改属组为laoxi
[root@localhost ~]# chown :laoxi /etc/shadow
[root@localhost ~]# ls -ld /etc/shadow
-------rwx. 1 root laoxi 2100 10月 17 21:17 /etc/shadow
[root@localhost ~]#
3.修改属主---拥有者
[root@localhost ~]# chown laoxi /etc/shadow
[root@localhost ~]# ls -ld /etc/shadow
-------rwx. 1 laoxi laoxi 2100 10月 17 21:17 /etc/shadow
[root@localhost ~]#
4.acl权限
[root@localhost ~]# setfacl -m u:laoxi:rwx /etc/shadow
[root@localhost ~]# getfacl /etc/shadow
-------------------------------
修改 组 id x+s ---组的信息继承下去
--关于目录信息
其他人 x 执行权限 +t ------ 限制普通用户权限
用户 uid x执行位 +s --不常用
--一般指的是执行程序 --提升权限
例:vim
[root@localhost ~]# mkdir /eee
[root@localhost ~]# ls -ld /eee
[root@localhost ~]# useradd wmxz //创建普通用户wmxz
[root@localhost ~]# cp /usr/bin/mkdir /usr/bin/wmdir //将执行命令做个复制备份起名wmdir
[root@localhost ~]# /usr/bin/wmdir deee //可以用绝对路劲方式执行命令,复制的命令与原命令一样
[root@localhost ~]# ls /root
[root@localhost ~]# ls -l /usr/bin/wmdir
-rwxr-xr-x. 1 root root 79760 10月 17 22:10 /usr/bin/wmdir
[root@localhost ~]# chmod u+s /usr/bin/wmdir //将复制的wmdir命令赋予uid特殊权限
[root@localhost ~]# ls -l /usr/bin/wmdir //用户权限的执行权限出s
-rwsr-xr-x. 1 root root 79760 10月 17 22:10 /usr/bin/wmdir
[root@localhost ~]# su - wmxz //切换普通用户
[wmxz@localhost ~]$ /usr/bin/mkdir ded //正常创建目录,拥有者位 普通用户wmxz
[wmxz@localhost ~]$ pwd
/home/wmxz
[wmxz@localhost ~]$ ls -ld /home/wmxz/ded
drwxrwxr-x. 2 wmxz wmxz 6 10月 17 22:12 /home/wmxz/ded
[wmxz@localhost ~]$ /usr/bin/wmdir /xex //使用赋予特殊权限命令创建目录,拥有者为 管理员root ,实现了提权
[wmxz@localhost ~]$ ls -ld /xex
drwxrwxr-x. 2 root wmxz 6 10月 17 22:12 /xex
======================================
======================================
Linux 系统 ---获取软件包 ---安装软件包 ---应用
- 获取软件包 --软件下载
- 互联网下载:打开下载工具 ----软件存放的位置---远程服务器 ---存放各种软件程序
- 本地服务器下载:将需要的程序或者软件----放在本地的电脑里或服务器
服务器:存放软件的电脑
客户端:下载软件,使用软件的电脑
本地服务器:现有环境 --虚拟vm --iso镜像----/dev/cdrom --挂载到/dvd --------/dvd/p* 存放软件包
Iso镜像 --装入虚拟光驱----挂载
[root@localhost ~]# mount /dev/cdrom /dvd //创建dvd,挂载
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]#
Packages --存放软件包
Repodata 软件的列表清单 内容文件
[root@localhost ~]# ls /dvd/Packages //linux 软件包 都是以 .rmp 结尾
- 安装软件 ---零散软件包安装工具
使用 rmp 安装管理器 --工具 来安装 以.rpm结尾的软件包
格式 :rpm 【选项】 软件名
常见的选项: -q 查看当前软件是否安装
-i 安装的选项
-v 显示安装的信息
-h 显示软件安装的进度#
-e 卸载/删除软件包
Windows常见的服务: ftp dns dhcp 邮件服务 web 共享 等
[root@localhost ~]# rpm -q vsftpd //查看是否安装,使用软件包名
未安装软件包 vsftpd
[root@localhost ~]# rpm -ivh /dvd/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm //安装,查看安装信息,以及安装进度 ,使用软件包的详细名称
警告:/dvd/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:vsftpd-3.0.2-22.el7 ################################# [100%]
[root@localhost ~]# rpm -q vsftpd //再次查看已安装
vsftpd-3.0.2-22.el7.x86_64
[root@localhost ~]# rpm -e vsftpd //卸载vsftpd
[root@localhost ~]# rpm -q vsftpd
未安装软件包 vsftpd
[root@localhost ~]# rpm -ivh /dvd/Packages/bind-9.9.4-61.el7.x86_64.rpm //安装dns
警告:/dvd/Packages/bind-9.9.4-61.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:bind-32:9.9.4-61.el7 ################################# [100%]
[root@localhost ~]# rpm -q bind 查看dns 使用bind软件名
bind-9.9.4-61.el7.x86_64
[root@localhost ~]# rpm -e bind
[root@localhost ~]# rpm -q bind
未安装软件包 bind
[root@localhost ~]# rpm -q httpd //安装web服务失败
未安装软件包 httpd
[root@localhost ~]# rpm -ivh /dvd/Packages/httpd-2.4.6-80.el7.centos.x86_64.rpm //提示依赖关系,想安装当前的软件包,需要提前安装好被依赖的软件包
警告:/dvd/Packages/httpd-2.4.6-80.el7.centos.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
错误:依赖检测失败:
/etc/mime.types 被 httpd-2.4.6-80.el7.centos.x86_64 需要
httpd-tools = 2.4.6-80.el7.centos 被 httpd-2.4.6-80.el7.centos.x86_64 需要
现有环境,安装此软件包 ,提前是,将其他软件包 (被依赖)先安装好,才能安装此软件包,依赖关系问题如何解决?
YUM软件仓库 ----相当于 手机里的应用商店---自动升级/删除操作
Rpm 手动操作
复习:
零散软件包的安装,rpm 软件安装管理器。
1)服务器--- 存储软件包---下载,获取软件包
远程服务器 --web /ftp
本地服务器--- iso 镜像 -装入虚拟光驱/dev/cdrom 挂载 /dvd ----/dvd /p* 存放 以rpm结尾地 软件包
- 客户端 --下载/安装
Rpm 软件包安装手动安装--- 解决依赖关系 --手机里应用商店 特点 --自动安装软件--- 配置yum软件仓库(应用商店)
手机商店:软件包
清单列表
格式: rpm 【选项】 软件包名字
选项: -q 查看是否安装
-i安装
-v安装信息
-h安装进度 #表示
-e卸载或者删除。
本地服务器 :挂载
Mkdir /dvd
Mount /dev/cdrom /dvd
Ls /dvd 有内容
使用rpm 安装软件 ---如果依赖包过多 ,解决?
Rpm -q vsftpd
Rpm -ivh /dvd/p* /软件包详细信息
Rpm -e vsftpd
Rmp -q bind
Rmp - q httpd --依赖关系?
配置yum 软件仓库
服务器端 :本地 iso 挂载点 /dvd ---存储软件包
Packages :软件包
repodata :软件包列表信息
客户端:配置一个配置文件 ----让客户端知道存放软件包地服务器地位置
/*/
Rm-rf /etc/yum.repos.d/* 删除yum.repos.d 文件里面的内容。
[root@localhost ~]# ls /etc/yum.repos.d/这个配置文件 存放在 这里,以repo结尾
Mount /dev/cdrom /dvd
[root@localhost ~]# vim /etc/yum.repos.d/dvd.repo
[dvd](vim里面编辑地信息)
name=centos7.5
baseurl=file:///dvd
enabled=1
gpgcheck=0
Yum应用:
[root@localhost ~]# yum repolist //查看软件包地信息 (成功) 需要挂载DVD才会成功。
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
dvd | 3.6 kB 00:00
(1/2): dvd/group_gz | 166 kB 00:00
(2/2): dvd/primary_db | 5.9 MB 00:00
源标识 源名称 状态
dvd centos7.5 9,911
repolist: 9,911
------------
[root@localhost ~]# yum -y install httpd -y自动应答安装 yum安装http
[root@localhost ~]# yum remove httpd //卸载软件使用yum软件仓库
零三软件包安装 --rpm
数据包的安装源
服务器端----软件包
客户端 ---下载安装软件包 本地服务器--光驱的挂载 /dvd/远程服务 web/ftp
Rpm 【选项】 软件包名字
选项 -q -i -v -h -e
配置文件---用来指定服务器的位置
Yum软件仓库 --应用商店
服务器端----软件包
客户端 ---下载安装软件包 本地服务器--光驱的挂载
配置文件存储位置 /etc/yum.repo.d/*.repo
Rm-rf /etc/yum.repos.d/*
Vim /etc/yum.repos.d/dvd.repo
[dvd]
Name =centos7.5
Baseurl=file:///dvd
Enabled=1
Gpgcheck=0
yum应用
Yum repolist
Yum -y install 软件包名
Rpm -q 软件包名
Yum remove 软件包 (肯定会出题)
=====================================
磁盘管理:
- 硬盘---计算机硬件
主要部件---参数:cpu 硬盘 内存 主板 显卡 电源
安装系统--要会
接口类型:ide接口
Sata
Scsi ----推荐 存储快
类型: 机械 固态(好)
- 硬盘存储数据的过程:
识别硬盘:分区 格式化 存储 挂载目录 形成访问点
3.认识/识别磁盘:
虚拟机 ---设置----硬盘--添加20g ---确定---购买硬盘
操作系统识别磁盘---reboot
Lsblk----查看添加的磁盘信息
- 分区---Window /liunx
分区形式:
Mbr 主引导记录 适用于 磁盘空间 不大于 2t 支持最大2t 1t=1024g 1g =1024m
1m=1024kb 1k=1024b
Cpt 支持最大18eb 1eb= 1024pb 1pb=1024pb
Mbr 主引导记录
主分区 : 最多分 4个主分区
挎展分区 : 想要划分更多分区 可以划分1-3个主分区,留出来一个作为跨展分区,在跨展分区里 在创建逻辑分区(不能存储数据)
逻辑:理论创建无数个
磁道 扇区---512字节 0扇区 存储引导记录
[root@localhost ~]# lsblk 查看新添加硬盘
sdb 8:16 0 20G 0 disk
[root@localhost ~]# fdisk /dev/sdb 将sdb开始进行分区
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
命令(输入 m 获取帮助):m
命令操作
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types
m print this menu
n add a new partition //创建新分区
o create a new empty DOS partition table
p print the partition table //查看分区列表,发现没有进行分区
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+2G
分区 1 已设置为 Linux 类型,大小设为 2 GiB
命令(输入 m 获取帮助):P
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00d8ef3a
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 4196351 2097152 83 Linux
命令(输入 m 获取帮助):n //创建新分区。
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p):
Using default response p
分区号 (2-4,默认 2):
起始 扇区 (4196352-41943039,默认为 4196352):
将使用默认值 4196352
Last 扇区, +扇区 or +size{K,M,G} (4196352-41943039,默认为 41943039):
将使用默认值 41943039
分区 2 已设置为 Linux 类型,大小设为 18 GiB
命令(输入 m 获取帮助):p //查看分区列表,发现没有进行分区
命令(输入 m 获取帮助):q //不保存退出 w//保存退出
[root@localhost ~]# lsblk // 查看新硬盘没有分区
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
sr0 11:0 1 8.8G 0 rom /run/media/root/CentOS 7 x86_64
- 格式化:赋予当前的磁盘空间文件系统的过程 fat fat32 ntfs windows
文件系统:空间存储数据方式
Linux 系统常见的文件系统:
[root@localhost ~]# mkfs.(按两次tab建)
mkfs.btrfs mkfs.ext2 mkfs.ext4 mkfs.minix mkfs.vfat
mkfs.cramfs mkfs.ext3 mkfs.fat mkfs.msdos mkfs.xfs
格式化配置文件系统:
[root@localhost ~]# mkfs.ext4 /dev/sdb1 //设置sdb1分区 的文件系统为ext4
[root@localhost ~]# blkid 查看文件系统
/dev/sda1: UUID="5fcd1dff-9ecf-4253-aa06-4d2f6b261d01" TYPE="xfs"
/dev/sda2: UUID="8CjjIA-mSHa-D6Ps-LnKj-C3vc-a302-D10ZfK" TYPE="LVM2_member"
/dev/sdb1: UUID="416741ce-d1a2-416c-a599-aa37381d072d" TYPE="ext4"
[root@localhost ~]# mkfs.xfs /dev/sdb2 //以前原先设置了。
mkfs.xfs: /dev/sdb2 appears to contain a partition table (dos).
mkfs.xfs: Use the -f option to force overwrite.
[root@localhost ~]# mkfs.xfs -f /dev/sdb2 //设置需要-f
创建访问点---挂载点
[root@localhost ~]# mkdir /pt1 //创 ls /pt1
pt1.txt
[root@localhost ~]# mkdir /pt2
[root@localhost ~]# mount /dev/sdb2 /pt2
[root@localhost ~]# df -h //查看分区是否挂载
/dev/sdb1 2.0G 33M 2.0G 2% /pt1
/dev/sdb2 2.0G 6.0M 1.8G 1% /pt2
- 识别磁盘
添加两块磁盘
- 磁盘分区
Dfdisk /dev/sdb
两个 2g 主分区
- 格式化
Mkfs.xfs /dev/sdb1
Blkid 查看
- 分区挂载--开机自动挂载
打开etc/fstab 用来配置 开机自动挂载
格式 磁盘分区/路径信息 挂载点 文件系统 参数(r x w acl 特殊权限) 0 0
dev/sdb1 /pt1 xfs Defaults 0 0
dev/sdb2 /pt2 ext4 Defaults 0 0
[root@localhost ~]# vim /etc/fstab(里面书写的内容 按0进入书写模式)
dev/sdb2 /pt2 ext4 Defaults 0 0
[root@localhost ~]# df -h(查看是否挂载 此时没有挂载)
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 17G 4.1G 13G 24% /
devtmpfs 895M 0 895M 0% /dev
tmpfs 911M 0 911M 0% /dev/shm
tmpfs 911M 11M 901M 2% /run
tmpfs 911M 0 911M 0% /sys/fs/cgroup
/dev/sda1 1014M 170M 845M 17% /boot
tmpfs 183M 4.0K 183M 1% /run/user/42
tmpfs 183M 32K 183M 1% /run/user/0
/dev/sr0 8.8G 8.8G 0 100% /run/media/root/CentOS 7 x86_64
[root@localhost ~]# mount -a (没有重启服务 用来检测配置文件 没有报错则配置成功)
[root@localhost ~]# df -h(查看挂载点信息挂载成功)
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 17G 4.1G 13G 24% /
devtmpfs 895M 0 895M 0% /dev
tmpfs 911M 0 911M 0% /dev/shm
tmpfs 911M 11M 901M 2% /run
tmpfs 911M 0 911M 0% /sys/fs/cgroup
/dev/sda1 1014M 170M 845M 17% /boot
tmpfs 183M 4.0K 183M 1% /run/user/42
tmpfs 183M 32K 183M 1% /run/user/0
/dev/sr0 8.8G 8.8G 0 100% /run/media/root/CentOS 7 x86_64
/dev/sdb1 2.0G 33M 2.0G 2% /pt1
--------
--------
Sdc 20g
划分三个分区
6
4
8
空间要求9g
逻辑卷: 可以整合零散的空间 虚拟的整体(虚拟磁盘) 逻辑卷
物理卷 pv 卷组 vg lv逻辑卷
将空间的分区或者整块磁盘 (物理卷pv)整合成一快大虚拟的磁盘 (卷组vg)然后将虚拟的磁盘进行分区 (逻辑卷) --》》格式化 挂载
逻辑卷 作用:整合零散的空间 可以跨展磁盘空间
准备工作
-----
添加一快 sdc 20g
划分三个主分区
Sdc1 6g
Sdc 2 4g
sdc3 8g
-------
命令w保存 p查看
Create remove scan
物理卷:pv pvcreate pvremove pvs
卷组 vg vgcreate vgremove vgs
逻辑卷 lv lvcreate lvremove lvs
将sdc1和 sdc2 两个分区作为物理卷pv
格式 :pvcreate /dev/sdc1 /dev/sdc2(设备路径1,设备路径2)
[root@localhost ~]# pvcreate /dev/sdc1 /dev/sdc2 //创建物理卷
Physical volume "/dev/sdc1" successfully created.
Physical volume "/dev/sdc2" successfully created.
[root@localhost ~]# pvs 查看物理卷
从物理卷pv 去需要的空间 做卷组vg
格式: vgcreate 卷组名 设备路径1 设备路径2
[root@localhost ~]# vgcreate wlgcvg12 /dev/sdc1 /dev/sdc2 //创建卷组
Volume group "wlgcvg12" successfully created
[root@localhost ~]# vgs //查看卷组
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- <19.00g 0
wlgcvg12 2 0 0 wz--n- 9.99g 9.99g
从卷组vg 取需要的逻辑空间做 逻辑卷lv
格式 : lvcreate -n 逻辑卷名字 -l 大小 基于的卷组名
[root@localhost ~]# lvcreate -n mylv -L 7G wlgcvg12 //创建逻辑卷
Logical volume "mylv" created.
[root@localhost ~]# lvs
[root@localhost ~]# vgs
格式化:
【Root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
├─sdb1 8:17 0 2G 0 part /pt1
└─sdb2 8:18 0 2G 0 part /pt2
sdc 8:32 0 20G 0 disk
├─sdc1 8:33 0 6G 0 part
│ └─wlgcvg12-mylv 253:2 0 7G 0 lvm
├─sdc2 8:34 0 4G 0 part
│ └─wlgcvg12-mylv 253:2 0 7G 0 lvm
└─sdc3 8:35 0 8G 0 part
sr0 11:0 1 8.8G 0 rom /run/media/root/CentOS 7 x86_64
如何删除创建的东西。(v0为lv systemvg 为vg )
[root@localhost ~]# lvremove systemvg/v0
Do you really want to remove active logical volume systemvg/v0? [y/n]: y
Logical volume "v0" successfully removed
[root@localhost ~]# vgremove systemvg
Volume group "systemvg" successfully removed
[root@localhost ~]# pvremove /dev/sdd2 /dev/sdd3
Labels on physical volume "/dev/sdd2" successfully wiped.
Labels on physical volume "/dev/sdd3" successfully wiped.
[root@localhost ~]# ls /dev/wlgcvg12/mylv
/dev/wlgcvg12/mylv
[root@localhost ~]# ls -l /dev/wlgcvg12/mylv
lrwxrwxrwx. 1 root root 7 10月 21 17:24 /dev/wlgcvg12/mylv -> ../dm-2
[root@localhost ~]# mkfs.xfs /dev/wlgcvg12/mylv //格式化逻辑卷
meta-data=/dev/wlgcvg12/mylv isize=512 agcount=4, agsize=458752 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=1835008, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@localhost ~]# blkid /dev/wlgcvg12/mylv //查看是否格式化
/dev/wlgcvg12/mylv: UUID="78ec4092-15c9-40b4-b6b4-ba7cf69bdc31" TYPE="xfs"
[root@localhost ~]# vim /etc/fstab //进行换行编辑模式(先创建挂载点,然后进行编辑)
dev/wlgcvg12/mylv /lv xfs defaults 0 0(编辑内容)
[root@localhost ~]# mkdir /lv //创建挂载点lv
[root@localhost ~]# mount -a //检查配置文件格式 以及实现自动挂载
[root@localhost ~]# df -h //查看是否挂载成功
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 17G 4.1G 13G 24% /
devtmpfs 895M 0 895M 0% /dev
tmpfs 911M 0 911M 0% /dev/shm
tmpfs 911M 11M 901M 2% /run
tmpfs 911M 0 911M 0% /sys/fs/cgroup
/dev/sda1 1014M 170M 845M 17% /boot
/dev/sdb1 2.0G 33M 2.0G 2% /pt1
/dev/sdb2 2.0G 6.0M 1.8G 1% /pt2
tmpfs 183M 4.0K 183M 1% /run/user/42
tmpfs 183M 32K 183M 1% /run/user/0
/dev/sr0 8.8G 8.8G 0 100% /run/media/root/CentOS 7 x86_64
/dev/mapper/wlgcvg12-mylv 7.0G 33M 7.0G 1% /lv
[root@localhost ~]# ls -l /dev/mapper/wlgcvg12-mylv //逻辑卷真是表示用dm -编号 ,为了读取放便逻辑卷用卷组 /逻辑卷这种名称方式表示
lrwxrwxrwx. 1 root root 7 10月 21 17:43 /dev/mapper/wlgcvg12-mylv -> ../dm-2
复习
- 识别磁盘
吧iso镜像 --放入到cdrom虚拟光驱 --确定
虚拟机--设置--磁盘---添加 dev/sdc
- 系统识别 lsblk --reboot
- 规划分区 fdisk /dev/sdc
主分区 4个
扩展分区 可以创建无数个逻辑分区
- 分区格式化:文件系统 ext4 xfs mkfs.文件系统 /磁盘分区路径
- 挂载访问:mount 磁盘分区设备 首先创建访问点
逻辑卷:整合空闲的零散的物理磁盘空间(分区/整个磁盘)
扩张磁盘空间
1)空闲的零散物理磁盘空间
每个零散的磁盘空间成为物理卷 pv
2)将多个物理卷pv 整合成一个大虚拟的磁盘,这个虚拟磁盘成为卷组vg
- 将卷组划分为lv逻辑卷
Pv 物理卷可以不用操作
[root@localhost ~]# vim /etc/fstab
[root@localhost ~]# mount -a
[root@localhost ~]# df -a
====================================
在线扩展
卷组有足够的空间
- 扩展逻辑卷空间(原先先10G 想要扩展12G 卷组13G)
Lvextend -L 12G /dev/wl01/wl01lv
Lvs
[root@localhost ~]# lvextend -L 12G /dev/wl01/wl01lv
(卷组)(逻辑卷)
Df -h 查看的格式化之后的文件系统的空间大小
扩展的文化系统(刷新文件系统) xfs_growfs 扩展的是1xfs文件系统 resize2fs 扩展的是ext4文件系统
Xfs _growfs /dev/wl01/wlo01lv
[root@localhost ~]# xfs_growfs /dev/wl01/wl01lv(刷新)
卷组没有足够的空间
[root@localhost ~]# vgextend wl01 /dev/sdb3 //扩展卷组
[root@localhost ~]# lvextend -L 18G /dev/wl01/wl01lv //扩展逻辑卷
删除逻辑卷
[root@localhost ~]# lvremove /dev/wl01/wl01lv
删除卷组
Vgremove /dev/wl01