linux基本命令

 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

  1. [root@localhost /]# cp -r /ubak .//代表当前目录,将内容复制到当前目录

删除:rm

[root@localhost /]# rm -r bak//删除会提示

[root@localhost /]# rm -rf bak删除不会提示

  1. 请简述【root@localhost~】#的含义

root(超级管理员)用户名 localhost主机名(区分不同的主机)  管理员#

~ 代表当前root用户的家目录存在的信息,当前用户进入默认位置

~ 代表用户管理原的时候表示/下的home下的用户

@无特殊意义

  1. Linux 的ide和scsi的磁盘如何表示的

 hd,表示IDE设备 IDE接口,hda 第一快

 sd,表示SCSI设备 scsi接口,速率快 sda第一块

  1. Linux的目录结构的哲学理念

一切皆文件。目录结构:树状结构,以/为根,/下存放这文件目录。

  1. Redhat系列都有那些版本

  RHEL企业版

  Centos社区版本(社区地企业版本)

  Fedora社区版本(社区地个人版本)

  1. 简述一下linux内核版本和发行版本区别

内核版本指的是:内核本生,

发行版本:内核版本加外围软件;需要付费,是基于内核构建地完整操作系统,发行版本通常会选择更稳定和成熟地内核版本。发行版本地更新周期通常比内核版本地更新周期长。

  1. 在/目录下创建一个子目录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接口

  1. 手动创建目录挂载点 /vcd  作为光驱/dev/cdorm   在linux系统地 --访问点
  2. 将硬件设备类型,如/dev/cdrom  表示光驱 和访问点 /vcd  关联 (挂载)
  3. 格式: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  目录下没有内容

  1. 挂载的时候新建一个目录,,不要挂载到原有的文件上 ,以防出现风险

[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 ~]#

  1. 卸载访问点的时候,不应该在正在卸载的目录下

[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]#

  1. 同一个硬件设备,可以挂载多个访问点

   同一个访问点,不能挂载多个硬件设备。

[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

  1. 创建组hh

[root@localhost ~]# useradd hh

  1. 将用户mm加入hh组

[root@localhost ~]# gpasswd -a mm hh

正在将用户“mm”加入到“hh”组中

  1. 创建用户bb 指定uid 1810

[root@localhost ~]# usermod -u 1810 bb

  1. 将用户 bb 加入附属组里hh理

[root@localhost ~]# gpasswd -a bb hh

正在将用户“bb”加入到“hh”组中

  1. 将用户mm 从附属组里删除

[root@localhost ~]# gpasswd -d mm hh

正在将用户“mm”从“hh”组中删除

  1. 给用户bb设置密码

[root@localhost ~]# echo 123 |passwd --stdin bb

  1. 过滤 /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]$

小测试:

  1. 管理员用root 权限  创建文件夹caiwu
  2. 只允许管理员和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 系统 ---获取软件包  ---安装软件包 ---应用

  1. 获取软件包 --软件下载
  1.  互联网下载:打开下载工具 ----软件存放的位置---远程服务器 ---存放各种软件程序
  2. 本地服务器下载:将需要的程序或者软件----放在本地的电脑里或服务器

     服务器:存放软件的电脑

     客户端:下载软件,使用软件的电脑

 本地服务器:现有环境 --虚拟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 结尾

  1. 安装软件  ---零散软件包安装工具

     使用 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结尾地 软件包

  1. 客户端 --下载/安装

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 软件包   

=====================================

磁盘管理:

  1. 硬盘---计算机硬件

 主要部件---参数:cpu 硬盘 内存 主板 显卡  电源

 安装系统--要会

接口类型:ide接口

          Sata

          Scsi ----推荐  存储快

类型: 机械 固态(好)

  1. 硬盘存储数据的过程:

   识别硬盘:分区  格式化    存储  挂载目录  形成访问点

3.认识/识别磁盘:

  虚拟机 ---设置----硬盘--添加20g  ---确定---购买硬盘

  操作系统识别磁盘---reboot

  Lsblk----查看添加的磁盘信息

  1. 分区---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

  1. 格式化:赋予当前的磁盘空间文件系统的过程  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

  1. 识别磁盘

   添加两块磁盘

  1. 磁盘分区

  Dfdisk /dev/sdb

两个 2g 主分区

  1. 格式化

  Mkfs.xfs /dev/sdb1

 Blkid 查看

  1. 分区挂载--开机自动挂载

打开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

复习

  1. 识别磁盘

  吧iso镜像 --放入到cdrom虚拟光驱 --确定

 虚拟机--设置--磁盘---添加 dev/sdc

  1. 系统识别 lsblk  --reboot
  2. 规划分区 fdisk /dev/sdc

 主分区 4个

扩展分区  可以创建无数个逻辑分区

  1. 分区格式化:文件系统  ext4   xfs  mkfs.文件系统 /磁盘分区路径
  2. 挂载访问:mount 磁盘分区设备 首先创建访问点

逻辑卷:整合空闲的零散的物理磁盘空间(分区/整个磁盘)

        扩张磁盘空间

 1)空闲的零散物理磁盘空间

 每个零散的磁盘空间成为物理卷 pv

2)将多个物理卷pv 整合成一个大虚拟的磁盘,这个虚拟磁盘成为卷组vg

  1. 将卷组划分为lv逻辑卷

Pv 物理卷可以不用操作

[root@localhost ~]# vim   /etc/fstab

[root@localhost ~]# mount -a

[root@localhost ~]# df -a

 ====================================

在线扩展

卷组有足够的空间

  1. 扩展逻辑卷空间(原先先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

  1. [root@localhost /]# cp -r /ubak .//代表当前目录,将内容复制到当前目录

删除:rm

[root@localhost /]# rm -r bak//删除会提示

[root@localhost /]# rm -rf bak删除前不提示

小测试:重点

  1. 请简述【root@localhost~】#的含义

root(超级管理员)用户名 localhost主机名(区分不同的主机)  管理员#

~ 代表当前root用户的家目录存在的信息,当前用户进入默认位置

~ 代表用户管理原的时候表示/下的home下的用户

@无特殊意义

  1. Linux 的ide和scsi的磁盘如何表示的

 hd,表示IDE设备 IDE接口,hda 第一快

 sd,表示SCSI设备 scsi接口,速率快 sda第一块

  1. Linux的目录结构的哲学理念

一切皆文件。目录结构:树状结构,以/为根,/下存放这文件目录。

  1. Redhat系列都有那些版本

  RHEL企业版

  Centos社区版本(社区地企业版本)

  Fedora社区版本(社区地个人版本)

  1. 简述一下linux内核版本和发行版本区别

内核版本指的是:内核本生,

发行版本:内核版本加外围软件;需要付费,是基于内核构建地完整操作系统,发行版本通常会选择更稳定和成熟地内核版本。发行版本地更新周期通常比内核版本地更新周期长。

  1. 在/目录下创建一个子目录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接口

  1. 手动创建目录挂载点 /vcd  作为光驱/dev/cdorm   在linux系统地 --访问点
  2. 将硬件设备类型,如/dev/cdrom  表示光驱 和访问点 /vcd  关联 (挂载)
  3. 格式: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  目录下没有内容

  1. 挂载的时候新建一个目录,,不要挂载到原有的文件上 ,以防出现风险

[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 ~]#

  1. 卸载访问点的时候,不应该在正在卸载的目录下

[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]#

  1. 同一个硬件设备,可以挂载多个访问点

   同一个访问点,不能挂载多个硬件设备。

[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

  1. 创建组hh

[root@localhost ~]# useradd hh

  1. 将用户mm加入hh组

[root@localhost ~]# gpasswd -a mm hh

正在将用户“mm”加入到“hh”组中

  1. 创建用户bb 指定uid 1810

[root@localhost ~]# usermod -u 1810 bb

  1. 将用户 bb 加入附属组里hh理

[root@localhost ~]# gpasswd -a bb hh

正在将用户“bb”加入到“hh”组中

  1. 将用户mm 从附属组里删除

[root@localhost ~]# gpasswd -d mm hh

正在将用户“mm”从“hh”组中删除

  1. 给用户bb设置密码

[root@localhost ~]# echo 123 |passwd --stdin bb

  1. 过滤 /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]$

小测试:

  1. 管理员用root 权限  创建文件夹caiwu
  2. 只允许管理员和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 系统 ---获取软件包  ---安装软件包 ---应用

  1. 获取软件包 --软件下载
  1.  互联网下载:打开下载工具 ----软件存放的位置---远程服务器 ---存放各种软件程序
  2. 本地服务器下载:将需要的程序或者软件----放在本地的电脑里或服务器

     服务器:存放软件的电脑

     客户端:下载软件,使用软件的电脑

 本地服务器:现有环境 --虚拟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 结尾

  1. 安装软件  ---零散软件包安装工具

     使用 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结尾地 软件包

  1. 客户端 --下载/安装

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 软件包   (肯定会出题

=====================================

磁盘管理:

  1. 硬盘---计算机硬件

 主要部件---参数:cpu 硬盘 内存 主板 显卡  电源

 安装系统--要会

接口类型:ide接口

          Sata

          Scsi ----推荐  存储快

类型: 机械 固态(好)

  1. 硬盘存储数据的过程:

   识别硬盘:分区  格式化    存储  挂载目录  形成访问点

3.认识/识别磁盘:

  虚拟机 ---设置----硬盘--添加20g  ---确定---购买硬盘

  操作系统识别磁盘---reboot

  Lsblk----查看添加的磁盘信息

  1. 分区---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

  1. 格式化:赋予当前的磁盘空间文件系统的过程  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

  1. 识别磁盘

   添加两块磁盘

  1. 磁盘分区

  Dfdisk /dev/sdb

两个 2g 主分区

  1. 格式化

  Mkfs.xfs /dev/sdb1

 Blkid 查看

  1. 分区挂载--开机自动挂载

打开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

复习

  1. 识别磁盘

  吧iso镜像 --放入到cdrom虚拟光驱 --确定

 虚拟机--设置--磁盘---添加 dev/sdc

  1. 系统识别 lsblk  --reboot
  2. 规划分区 fdisk /dev/sdc

 主分区 4个

扩展分区  可以创建无数个逻辑分区

  1. 分区格式化:文件系统  ext4   xfs  mkfs.文件系统 /磁盘分区路径
  2. 挂载访问:mount 磁盘分区设备 首先创建访问点

逻辑卷:整合空闲的零散的物理磁盘空间(分区/整个磁盘)

        扩张磁盘空间

 1)空闲的零散物理磁盘空间

 每个零散的磁盘空间成为物理卷 pv

2)将多个物理卷pv 整合成一个大虚拟的磁盘,这个虚拟磁盘成为卷组vg

  1. 将卷组划分为lv逻辑卷

Pv 物理卷可以不用操作

[root@localhost ~]# vim   /etc/fstab

[root@localhost ~]# mount -a

[root@localhost ~]# df -a

 ====================================

在线扩展

卷组有足够的空间

  1. 扩展逻辑卷空间(原先先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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值