## 1.配置环境centos7.x
## 2.基本命令
[root@localhost ~]# $
[用户名@主机名 当前用户家目录] #管理员命令提示符 $普通用户的命令提示符
#ip a 查看主机ip地址
#dhclient 自动获取ip
#pwd 打印当前工作目录
#hostname 查看主机名
#hostname NAME 修改主机名
,命令格式: 命令 -选项 参数
#su 切换用户(默认切换的是管理员身份)
#su redhat 切换到指定用户身份,不改变当前工作目录
#su - redhat 切换到指定用户身份,并进入当前用户自己的家目录
#passwd 默认修改当前用户的密码
管理员身份:
普通身份:
#passwd -d USERNAME 删除指定用户的密码
#cd 切换目录
绝对路径:从/ 开始查找 cd /home/redhat
相对路径: 相对于当前工作目录查找 home]#cd redhat
. 当前目录
.. 上一级目录
”-“返回上一次所切换的目录
~ 当前用户的家目录
/ 根目录
#ls list 列出
-l 长格式列出 ---> ls -l == ll
-a all列出目录下所有的文件(./ .. 隐藏文件)
-A
-i 查看文件的inode编号
-d 列出指定目录相关信息
-r 反序显示
## 3.破解密码:
关机------开机------选择引导菜单---按 e ----找linux16开头的行在行尾添加 rd.break
-----------按 CTrl+X---------mount -o remount,rw /sysroot (给/文件系统设置读写权限)--------chroot /sysroot (切换到根文件系统)--------passwd root -------设置密码--------touch /.autorelabel------------exit-----exit-----等待系统自动重启
[root@localhost /]# ls /root -l
总用量 4
-rw-------. 1 root root 1423 6月 21 18:59 anaconda-ks.cfg
第一个字符:-普通文本文件 d 目录文件 l 软链接 (b 块设备文件 c 字符设备文件 p 管道文件 s socket套接字文件) 文件类型
(2-10字符) 权限标识位
第二列 硬链接次数
第三列 所属用户
第四列 所属组
第五列 文件大小
第六列 创建时间、修改时间
第七列 文件名
软链接:
概念:软链接也是单独的文本文件,类似于window快捷方式
作用:方便,便捷
状态:l
硬链接:
概念:多个文件名指向同一个Inode、
作用:防止误删除,对文件名备份
状态:根据文件的硬链接次数
```
------创建软连接-----ln -s 源文件 目标文件
[root@localhost test]# touch file
[root@localhost test]# mkdir dir
[root@localhost test]# ll
总用量 0
drwxr-xr-x. 2 root root 6 6月 23 12:32 dir
-rw-r--r--. 1 root root 0 6月 23 12:32 file
[root@localhost test]# ln -s file file.lnk -==file文件创建软连接文件为file.lnk
[root@localhost test]# ll
总用量 0
drwxr-xr-x. 2 root root 6 6月 23 12:32 dir
-rw-r--r--. 1 root root 0 6月 23 12:32 file
lrwxrwxrwx. 1 root root 4 6月 23 12:34 file.lnk -> file
[root@localhost test]# ln -s dir dir.lnk
[root@localhost test]# ll
总用量 0
drwxr-xr-x. 2 root root 6 6月 23 12:32 dir
lrwxrwxrwx. 1 root root 3 6月 23 12:36 dir.lnk -> dir
-rw-r--r--. 1 root root 0 6月 23 12:32 file
lrwxrwxrwx. 1 root root 4 6月 23 12:34 file.lnk -> file
-------------硬链接文件---ln 源文件 目标文件----------------
[root@localhost test]# ln file f1
[root@localhost test]# ll -i
总用量 0
6665 drwxr-xr-x. 2 root root 6 6月 23 12:32 dir
50738230 lrwxrwxrwx. 1 root root 3 6月 23 12:36 dir.lnk -> dir
50738228 -rw-r--r--. 2 root root 0 6月 23 12:32 f1
50738228 -rw-r--r--. 2 root root 0 6月 23 12:32 file
50738229 lrwxrwxrwx. 1 root root 4 6月 23 12:34 file.lnk -> file
[root@localhost test]# ln -s /test/file /fff.lnk
注意:创建连接文件源文件和目标文件不在同一路径,文件路径需要通过绝对路径标记。对于当前系统目录文件不能创建硬链接。
```
```
eg:在root家目录创建文件file, 在/目录下创建file文件的软链接文件haha
#touch file
#ln -s /root/file /haha
要求在/home创建文件为aaa,并在/目录下创建软链接文件a.txt,/root下创建硬链接文件为A。
#touch /home/aaa
#ln -s /home/aaa /a.txt
#ln /home/aaa /root/A
```
FHS:文件系统的层级结构(标准)
#date 查看系统时间
#date 月日时分年点秒
#clock 查看硬件时间
#hwclock 查看硬件时间
-s 系统时间向硬件时间同步
-w 硬件向系统时间同步
#cal 1752
cal [option] [[[日]月]]年]
-j
--help man
## 1.文件管理的命令
#touch [option]... [file]... 创建文本文件
#touch 1 2 3
#touch /root/f1 f2 f3
#touch {1..3}
#mkdir [option]... [dir]... 创建目录文件
-p --parents 指定父目录创建
-v --verbose 详细信息
#mkdir /1/2/3/4/5 -pv
练习题
1、#创建目录
在/mnt下创建boot和sysroot目 #cd /mnt #mkdir {boot,sysroot} #mkdir boot sysroot
在/mnt/boot下创建grub目录
在/mnt/sysroot下创建proc,sys,bin,sbin,lib,usr,var,etc,dev,home,root,tmp
在/mnt/sysroot/usr下创建bin,sbin,lib
在/mnt/sysroot/lib下创建modules
在/mnt/sysroot/var下创建run,log,lock
在/mnt/sysroot/etc下创建init.d
2.如何一次性在/test目录创建以abc表示的100个文件,例如abc1,abc2,abc3,..abc100
#cp [选项]... 源文件... 目录(目标路径)
-r 递归复制目录及其子目录内的所有内容
-p 复制文件保持文件的原来属性
-a 复制目录保持目录属性信息
-i 交互提示
#mkdir /test
#touch /test/file
#cp /test/file /root
#cp -rp /test /root ---复制目录文件
#cp -a /test/ /root
[root@localhost test]# cp /test/abc100 /100 复制abc100文件到/目录并改名为100
[root@localhost test]# cp abc1 abc2 abc3 / 复制多个文件abc1 abc2 abc3 到/目录
#mv [选项]... 源文件... 目录(目标路径)
#mv /test/abc1 /
[redhat@localhost ~]$ mv abc12 12 文件重命名 (将abc12 改名为12)
#rm remove
#rm [options]... [file]... * 通配符(任意长度任意字符)
-r -r 递归删除目录及其子目录内的所有内容
-f 强制
查看文本文件:
cat tac (建议查看内容较少的文件) -n 显示文件行号
more less
head tail -n 显示指定行数的信息
#vi filename 文本编辑命令
命令模式: 终端末行没有任何显示或者显示文件名信息
dd 删除光标所在行
d+enter 删除光标以及下一行
dG 删除光标所在行到文档尾的内容
dgg 删除光标所在行到文档首的内容
4G 跳转的文档尾的行首
gg 跳转到文档首部行首
^ 跳转到行首
$ 跳转到行尾
编辑模式: insert i
末行模式: 终端末行显示:
w 写入 w file
q 退出 wq
! 强制符 wq!
set nu 显示行号
set nonu 取消行号标记
## 2.文本处理
#cut 文本剪切
-c 按照字符进行剪切
-d 标记分割符类型
-f 标记字段
#echo x回声,影子(打印命令)标准输入输出指令
">" 重定向符 将前面输出的字符信息写入指定文件并覆盖原有信息
“>>” 追加重定向符 将前面输出的字符信息追加写入指定文件不会覆盖原有信息
“<” 输入重定向符
“<<” EOF 输入终止结束符
```
[root@localhost ~]# cat <<EOF > mingdan
> caotong
> wangmingkai
> moukai
> EOF
> [root@localhost ~]# cat mingdan
> caotong
> wangmingkai
> moukai
```
" "弱引用 可以显示变量的值
' ' 强引用 显示字符本身,不显示变量的值
`` 反引号 实现命令替换
“|” 管道符 将前边命令标准输出的字符信息通过管道连接作为后边命令的标准输入
|tee “T”管道
文件三个标记值 0 标准输入 1正确输出 2 错误输出
#sort 排序 (按照字符排序)
-n 按照数值大小排序 升序
-r 降序
-u 去重
uniq 去重(重复行必须相邻)
-c 统计重复行次数
-d 显示重复行
-D显示所有重复行
练习题:
1.在终端中显示当前系统时间,时间格式为月日时;
2.截取当前日期的年月日显示在文件A.txt 中;
3.用户配置文件将3,4 字段分别截取出来写入文件UID和文件GIU但是要使这两个文件中的信息是以数值由大到小的形式显示;/etc/passwd
4.将当前系统所有的用户名写入到user文件;
5.将当前系统root用户执行频率最高的三个命令显示在终端; ~/.bash_history
history | sort| uniq -c | sort | tail -3
6.通过cat 结合> 和<<编辑file文件,文件内容为
redhat linux
centos linux
ubuntu linux
kali linux
#cat > file << EOF
#wc 文本统计(行 单词数 字节数 文件名)
-l 行数
-w 单词书
-c 字节
-m 字符
#grep 文本内容过滤
grep root /etc/passwd 显示有关键字root 行的信息
grep -v root /etc/passwd 不显示关键字root行的所有信息
grep -w root /etc/passwd 单词是root的行过滤显示
#tr
## 3.系统查找文件
#which 基于环境变量$PATH ---查找是命令文件(可执行文件)
```
[root@localhost home]# which passwd
/usr/bin/passwd
[root@localhost home]# which haha
/usr/bin/which: no haha in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
```
#locate 基于/var/lib/mlocate/mlocate.db数据库文件编辑查找字符串文件,遍历速度快,需要时常更新数据库文件
```
#yum install mlocate
[root@localhost ~]# locate file
locate: 无法执行 stat () `/var/lib/mlocate/mlocate.db': 没有那个文件或目录
[root@localhost ~]# updatedb
[root@localhost ~]# locate file
/filea
/fileb
/filec
/boot/grub2/i386-pc/configfile.mod
/boot/grub2/i386-pc/file.mod
/boot/grub2/i386-pc/search_fs_file.mod
/etc/filesystems
/etc/makedumpfile.conf.sample
```
whereis 查找文件 基于环境变量查找所有文件
```
[root@localhost ~]# ll /usr/bin/lxx
-rw-r--r--. 1 root root 0 6月 23 14:33 /usr/bin/lxx
[root@localhost ~]# whereis lxx ---文件
lxx: /usr/bin/lxx
[root@localhost ~]# which lxx ---可执行文件
/usr/bin/which: no lxx in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
```
#find 文件查找命令
find [path] [options] [expression]
查找路径的范 查找方式 (时间,权限,文件名,inode... ) 参数对象
-name 通过文件名查找
-uid 通过uid查找,
-gid
-user
-group
-inum 基于inode编号搜索
-type 查找指定类型的文件(f d l b c p s)
## 1.用户管理
#useradd USERNAME 添加用户
#userdel -r USERNAME 删除用户
#usermod
-l修改登录名称
-u 修改用户的ID唯一
-g 更改用户的基本组
-G修改/添加附加组
-c 更改注释字段
-d 修改家目录
-s 更改shell ---(/bin/bash /sbin/nologin)
-L 锁定用户
-U 解锁
#/etc/passwd 用户配置文件
用户名:密码占位符:UID:GID:注释:家目录:shell(/bin/bash /sbin/nologin)
#groupadd GROUPNAME 添加组
#groupmod 修改组信息
-n 修改组名
-g 修改GID
#groupdel GROUPNAME 删除组
/etc/group 组配置文件
组名:组密码占位符:GID:当前组中的用户名
```
#usermod -G redhat haha -将haha 用户加入redhat组
```
[root@localhost ~]# cat /etc/default/useradd
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
[root@localhost ~]# grep -v ^# /etc/login.defs | grep -v ^$
MAIL_DIR /var/spool/mail
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7
UID_MIN 1000
UID_MAX 60000
SYS_UID_MIN 201
SYS_UID_MAX 999
GID_MIN 1000
GID_MAX 60000
SYS_GID_MIN 201
SYS_GID_MAX 999
CREATE_HOME yes
UMASK 077
USERGROUPS_ENAB yes
ENCRYPT_METHOD SHA512
/etc/shadow
用户名:密码:距离1970.1.1修改的天数:最短时间:最长时间:警告时间:宽限时间:精确时间:保留字段
/etc/gshadow
组名:组密码:组长:组成员
useradd /etc/passwd -----------/etc/login.defs /etc/default/useradd
/etc/group
/etc/shadow
/etc/gshadow
/home/USERNAME
/var/spool/mail
#newgrp 登录新租
#gpasswd 修改组密码
-a 将用户加入组
```
[root@localhost ~]# usermod -G g1 xixi
[root@localhost ~]# gpasswd -a hehe g1
正在将用户“hehe”加入到“g1”组中
```
-M 指定用户列表添加
#gpasswd -M haha,hehe,xixi g1
-d 从组中移除用户
-A 指定组长
-R 锁定组
## 实验
创建学习组1,学习组2 ;他们的组gid分别为1111,2222,添加成员并将uid为1088,和uid为1066的成员为两组的组长,其中一组组长有一个‘外号’laoda。不同学习组进入需要密码才能进入(设置密码);即使密码泄露也不希望组之外的成员进入。
```
#groupadd std1
#groupmod -g 1111 std2
#groupadd -g 2222 std2
---添加用户
#useradd -u 1088 haha
#usermod -c laoda haha
#useradd hehe
#useradd xiaoming
#useradd xiaobai
#usermod -u 1088 haha
#usermod -u xiaoming
---组添加用户
#usermod -G 1111 haha
#usermod -G 1111 hehe
#gpasswd -M xiaoming,xiaobai std2
---组设置密码
#gpasswd std1
#gpasswd std2
#gpasswd -R std1
#gpasswd -R std2
------------------------用户设置密码----------------
[root@localhost ~]# echo redhat | passwd --stdin root
更改用户 root 的密码 。
passwd:所有的身份验证令牌已经成功更新。
```
#sudo 用户提权
root用户授权: /etc/sudoers
redhat ALL=(root) /usr/sbin/useradd
1.通过redhat用户提权
2.登陆者用户的主机名ALL(任意主机)
3.通过哪个身份授权
4.下发的权限(可以让普通用户执行哪些命令,写命令文件的路径)
```
----1.管理员授权-----
#vi /etc/sudoers 追加
redhat ALL=(root) /usr/sbin/useradd
```
```
-----提权----
$sudo useradd xx
我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点:
#1) 尊重别人的隐私。
#2) 输入前要先考虑(后果和风险)。
#3) 权力越大,责任越大。
[redhat@localhost ~]$ id xx
uid=2230(xx) gid=2230(xx) 组=2230(xx)
```
```
----2.管理员授权-----
#vi /etc/sudoers
追加
redhat ALL=(ALL) /usr/sbin/useradd
```
```
[redhat@localhost ~]$ sudo useradd lisi
[sudo] redhat 的密码:
```
```
----3.管理员授权-----
#vi /etc/sudoers
追加
redhat ALL=(ALL) NOPASSWD: /usr/sbin/useradd
```
```
[redhat@localhost ~]$ sudo useradd zhangsan
```
## 1.权限控制
```
[root@localhost ~]# ll
总用量 48
-rw-r--r--. 1 root root 0 6月 23 14:19 a
rw- 6 所属用户的权限(a文件对所属用户root的权限是读写的权限)
r-- 4 所属组的权限(a文件对所属组root有只读的权限)
r-- 4 其他用户的权限(a文件对于系统其它用户的权限是只读)
./+ 扩展权限标识位 .标识没有扩展权限+有扩展权限
```
标准权限:r 读 w 写 x执行
权限的描述形式:字符形式描述
数值形式 4 =r 2=w 1=x
系统默认文本文件的权限值:644
目录文件的权限值: 755
系统目录文件最高权限是777
文本文件最高权限666
#umask 查看系统权限掩码值(权限过滤符) 022
rwx rwx rwx 7 7 7
--- -w- -w- 0 2 2
rwx r-x r-x 7 5 5
------------------------------------------------------------
rw- rw- rw- 6 6 6
--- -w- -w- 0 2 2
rw- r-- r-- 6 4 4
-----------------------------------------------------------------------------------------------------
文件权限匹配顺序:
首先判断发起者用户(当前用户)是否是目标文件的所属用户,如果是只匹配所属用的权限;
如果不是则判断是否是目标文件的所属组成员,如果是所属组成员只匹配所属组权限;
如果不是所属组成员则直接匹配其他用户的权限。
----注意root是管理员,忽略所有权限。
chmod 权限 文件名 修改权限
```
----------数值
#chmod 777 1
#chmod 7 2 --> 007
------------字符方式
chmod u=rw,g=r,o=rx file
chmod u=rwx dir
chmod g+w dir | chmod g-r dir
```
#chown 所属用户 文件名 --->更改文件的所属用户
```
[root@localhost dir]# id redhat
uid=1000(redhat) gid=1000(redhat) 组=1000(redhat)
[root@localhost dir]# chown redhat 1
[root@localhost dir]# ll
总用量 4
-------rwx. 1 redhat root 27 6月 24 09:25 1
drwxr-xr-x. 2 root root 6 6月 24 08:59 d
[root@localhost dir]# chgrp redhat 1
[root@localhost dir]# ll
总用量 4
-------rwx. 1 redhat redhat 27 6月 24 09:25 1
drwxr-xr-x. 2 root root 6 6月 24 08:59 d
```
```
[root@localhost dir]# chown hehe:hehe d
[root@localhost dir]# ll
drwxr-xr-x. 2 hehe hehe 6 6月 24 08:59 d
[root@localhost dir]# chown .xixi d
[root@localhost dir]# ll
drwxr-xr-x. 2 hehe xixi 6 6月 24 08:59 d
```
文本文件:
r 读:cat tac more less head tail
w 写:vi > >> |tee
x 执行:运行文件脚本信息 ./file
目录文件:
r 读:ls
w 写: touch mkdir cp mv rm
x 执行:cd
```
案例1:
前提条件:在/目录下创建test文件,所有用户没有任何权限
#touch /test
#chmod ugo=- /test
创建普通用户lala,要求lala用户对该文件有读写的权限。
```
## 实验
1.-rw-rw-r--. 1 root redhat 0 11月 24 15:48 aa
drwxr-xr-x. 2 root root 6 11月 24 16:11 test
简述aa普通文件和test目录权限位分别表示什么,指定用户可以执行哪些命令。
2.为当前班级创建一个公共目录存放所有学生每天的练习文档,
[root@localhost ~]# mkdir /pub
[root@localhost ~]# chmod 777 /pub
要求所有学生只能查看,修改自己的文件,对别人的文件没有任何权限
[root@localhost ~]# su - lala
上一次登录:四 6月 24 10:16:26 CST 2021pts/0 上
[lala@localhost ~]$ touch /pub/book1
[lala@localhost ~]$ ll /pub
总用量 0
-rw-rw-r--. 1 lala lala 0 6月 24 11:31 book1
[lala@localhost ~]$ chmod 600 /pub/book1
[lala@localhost ~]$ ll /pub/book1
-rw-------. 1 lala lala 0 6月 24 11:31 /pub/book1
3. 在/test下创建文件,要求任何用户创建的文件所属组的权限默认和/test目录的所属组一致。
mkdir /test
chmod g+s /test
\4. 创建文件file,要求所属用户为hehe所属组为xixi,只有hehe用户对该文件有编辑权限
touch file
useradd hehe
groupadd xixi
chown hehe.xixi file
chmod u=rw,g=-,o=- file
5创建文件a,将/etc/passwd文件里的信息显示在a文件,它所属用户所属组为haha,要求系统当前属于haha组的用户可以读取该文件。创建redhat的所属目录dir1,要求redhat组里的成员可以在该目录下查看创建文件。
#cat /etc/passwd > a
#useradd haha
#chown haha:haha a
#chmod g=r a
useradd redhat
su - redhat mkdir dir1
#mkdir /dir1 chown redhat:redhat dir1
chmod g=rwx dir1
## 2.特殊权限
u+s uid的强制位
设置对象: 仅对可执行文件设置有意义
(目标表文件所属用户取决于取决于可执行文件本身所属用户,和用户发起者没有关系,但所属组取决于发起者用户的基本组。)
g+s gid的强制位
设置对象: 对可执行文件设置有意义
(目标表文件所属组决于取决于可执行文件本身所属组和用户发起者没有关系,但所属用户取决于发起者用户。
也可以对目录文件设置
(在该目录下创建的所有文件的所属组都取决于当前目录的所属组)
o+t 冒险位
仅对目录设置有意义
(公共目录下所有用户可以删除自己文件,不能删除别人的文件)
如果文件本身没有执行权限字符在执行位大写标记,如果有执行权限小写标记
```
[root@A ~]# ll touch
-rwxr-xr-x. 1 root root 62480 6月 24 12:37 touch
[redhat@A ~]$touch red1
touch redhat.redhat
-rw-r--r-- 1 redhat redhat 400 6月24 12:37 red1
------------------------------------------------------------
[root@A ~]# ll touch
-rwsr-xr-x. 1 root root 62480 6月 24 12:37 touch
[redhat@A ~]$touch red1
touch 进程 root.redhat
-rw-r--r-- 1 root redhat 400 6月24 12:37 red2
```
#chmod u+s file
#chmod g+s file
#chmod o+t file
综合练习:
1.在g1 g2 两个组分别有两个用户。
要求:在同一组中的成员可以互相看看文件不同组不能互相查看文件;并且每个用户只能修改自己创建的文件和删除自己的文件。
#groupadd g1
#groupadd g2
#useradd haha
#useradd hehe
#useradd xiaoming
#useradd xiaobai
#gpasswd -M haha,hehe g1
#gpasswd -M xiaoming,xiaobai g2
#mkdir /mulu1 #chgrp g1 /mulu1 #chmod g+s /mulu1
#mkdir /mnlu2 #chgrp g2 /mulu2 #chmod g+s /mulu2
chmod g=rx /mulu1 -R
#chmod o=- /mulu1
2.新建目录要求如下:
\* /pub目录为公共存储目录对所有用户可以读,写,执行,但用户只能删除属于自己的文件
#mkdir /pub
#chmod 777 /pub
#chmod o+t /pub
\* /sc 目录为生产部存储目录只能对生产部人员可以写入,
并且生产部人员所建立的文件都自动归属到shengchan组中
#mkdir /sc
#groupadd shengchanbu
#chgrp shengchanbu /sc
#chmod 070 /sc
#chmod g+s /sc
\* /cw 目录为财务部存储目录只能对财务部人员可以写入,
并且财务部人员所建立的文件都自动归属到caiwu组中
\* admin用户能用touch工具在/sc目录中任意建立文件,但不能删除文件。
mkdir /cw
groupadd caiwubu
chgrp caiwubu /cw
chmod 070 /cw
chmod g+s /cw
useradd admin
gpasswd -a admin shengchanzu
#chmod o+t /sc 自己的目录下只能删除自己的文件不能删除别人的文件。有写权限的时候才能删除。
3.研发部开发人员David和Peter属于组A,行政部人员Jack和Mike属组B;
#groupadd A
#groupadd B
useradd David
useradd Peter
useradd Jack
useradd Mike
#gpasswd -M David,Peter A
#gpasswd -M Jack,Mike B
扩展权限:
getfacl 文件名 查看指定文件有没有扩展权限(列出文件权限列表)
setfacl -m u:用户名:权限 文件名 设置扩展权限
touch file
chmod 000 file
setfacl -m u:haha:rwx file
setfacl -b 文件名 清空指定文件的扩展权限
setfacl -x u:用户名: 文件名 删除指定用户的某条扩展权限
1、磁盘管理
①磁盘必须要创建分区吗?
②创建多个分区的作用?以及系统至少要创建哪些分区?
/分区: 尽可能足够大的空间
/root 引导分区 >=200M
Swap 交换分区(虚拟内存)7:x 2G 8: 4G
文件系统:是操作系统作用于明确磁盘或分区上的文件的方法和数据结构。即磁盘上组织文件的方法
#lsblk
[root@bohe ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 200M 0 part /boot
└─sda2 8:2 0 12G 0 part
├─centos-root 253:0 0 10G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sr0 11:0 1 973M 0 rom
#sda s硬盘设备类型 ide h nvme nvme0n 1p1 d 设备 a 第几块硬盘1-第几个分区
Sr0:光盘 s:设备类型 ----#cdrom
[root@bohe ~]# ll /dev/cdrom
lrwxrwxrwx. 1 root root 3 6月 21 17:39 /dev/cdrom -> sr0
2、创建分区
(1)查看磁盘设备有没有剩余空间,可以分区管理---lsblk
(2)创建分区fdisk磁盘管理命令
主分区:默认只能创建“四个主分区” 可直接使用
扩展分区:就要把一个主分区弄成扩展分区 不能直接使用
逻辑分区:一个扩展分区可分成24个逻辑分区 可直接使用
代码:
[root@bohe ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 200M 0 part /boot
└─sda2 8:2 0 12G 0 part
├─centos-root 253:0 0 10G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 10G 0 disk
sr0 11:0 1 973M 0 rom
[root@bohe ~]# fdisk
用法:
fdisk [选项] <磁盘> 更改分区表
fdisk [选项] -l <磁盘> 列出分区表
fdisk -s <分区> 给出分区大小(块数)
选项:
-b <大小> 扇区大小(512、1024、2048或4096)
-c[=<模式>] 兼容模式:“dos”或“nondos”(默认)
-h 打印此帮助文本
-u[=<单位>] 显示单位:“cylinders”(柱面)或“sectors”(扇区,默认)
-v 打印程序版本
-C <数字> 指定柱面数
-H <数字> 指定磁头数
-S <数字> 指定每个磁道的扇区数
[root@bohe ~]# fdisk /dev/sdb 对指定磁盘管理(系统中第二块硬盘)
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x78dd59bb 创建新的 DOS 磁盘标签。
命令(输入 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): p
分区号 (1-4,默认 1):1 ----回车
起始 扇区 (2048-20971519,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+2G ----从起始点位置开始+2个G
分区 1 已设置为 Linux 类型,大小设为 2 GiB
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos ------mbr引导各式
磁盘标识符:0x78dd59bb---唯一的字符串信息
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 4196351 2097152 83 Linux
命令(输入 m 获取帮助):
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): e
分区号 (2-4,默认 2):
起始 扇区 (4196352-20971519,默认为 4196352):
将使用默认值 4196352
Last 扇区, +扇区 or +size{K,M,G} (4196352-20971519,默认为 20971519):+5G
分区 2 已设置为 Extended 类型,大小设为 5 GiB
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 1 extended, 2 free)
l logical (numbered from 5)
Select (default p): p
分区号 (3,4,默认 3):
起始 扇区 (14682112-20971519,默认为 14682112):+0G
值超出范围。
起始 扇区 (14682112-20971519,默认为 14682112):+1G
值超出范围。
起始 扇区 (14682112-20971519,默认为 14682112):
将使用默认值 14682112
Last 扇区, +扇区 or +size{K,M,G} (14682112-20971519,默认为 20971519):
将使用默认值 20971519
分区 3 已设置为 Linux 类型,大小设为 3 GiB
命令(输入 m 获取帮助):d
分区号 (1-3,默认 3):
分区 3 已删除
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 1 extended, 2 free)
l logical (numbered from 5)
Select (default p): l
添加逻辑分区 5
起始 扇区 (4198400-14682111,默认为 4198400):
将使用默认值 4198400
Last 扇区, +扇区 or +size{K,M,G} (4198400-14682111,默认为 14682111):
将使用默认值 14682111
分区 5 已设置为 Linux 类型,大小设为 5 GiB
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x78dd59bb
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 4196351 2097152 83 Linux
/dev/sdb2 4196352 14682111 5242880 5 Extended
/dev/sdb5 4198400 14682111 5241856 83 Linux
命令(输入 m 获取帮助):l
0 空 24 NEC DOS 81 Minix / 旧 Linu bf Solaris
1 FAT12 27 隐藏的 NTFS Win 82 Linux 交换 / So c1 DRDOS/sec (FAT-
2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 84 OS/2 隐藏的 C: c6 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 85 Linux 扩展 c7 Syrinx
5 扩展 41 PPC PReP Boot 86 NTFS 卷集 da 非文件系统数据
6 FAT16 42 SFS 87 NTFS 卷集 db CP/M / CTOS / .
7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux 纯文本 de Dell 工具
8 AIX 4e QNX4.x 第2部分 8e Linux LVM df BootIt
9 AIX 可启动 4f QNX4.x 第3部分 93 Amoeba e1 DOS 访问
a OS/2 启动管理器 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O
b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor
c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad 休 eb BeOS fs
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT
f W95 扩展 (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/
10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC
11 隐藏的 FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor
12 Compaq 诊断 5c Priam Edisk a9 NetBSD f4 SpeedStor
14 隐藏的 FAT16 <3 61 SpeedStor ab Darwin 启动 f2 DOS 次要
16 隐藏的 FAT16 63 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS
17 隐藏的 HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST 智能睡眠 65 Novell Netware b8 BSDI swap fd Linux raid 自动
1b 隐藏的 W95 FAT3 70 DiskSecure 多启 bb Boot Wizard 隐 fe LANstep
1c 隐藏的 W95 FAT3 75 PC/IX be Solaris 启动 ff BBT
1e 隐藏的 W95 FAT1 80 旧 Minix
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@bohe ~]# ll
总用量 20
drwxr-xr-x. 2 root root 6 6月 22 23:27 -
-rw-r--r--. 1 hehe xixi 0 6月 22 23:25 1
-rw-r--r--. 1 root root 0 6月 22 15:18 123
-rw-r--r--. 1 haha haha 0 6月 22 23:30 a
-rw-------. 1 root root 1395 6月 21 11:58 anaconda-ks.cfg
-rw-r--r--. 1 root root 20 6月 22 15:39 a.txt
drwxr-xr-x. 2 root root 6 6月 22 10:47 d1
drwxr-xr-x. 2 root root 6 6月 22 10:47 d2
drwxr-xr-x. 2 root root 6 6月 22 10:47 d3
drwxr-xr-x. 2 root root 6 6月 22 10:48 d4
drwxr-xr-x. 2 root root 6 6月 22 19:45 dir
-rw-------. 2 hehe xixi 0 6月 22 23:25 f1
-rw-r--r--. 1 root root 0 6月 22 10:45 fie[a..c]
-rw-------. 2 hehe xixi 0 6月 22 23:25 file
-rw-r--r--. 1 root root 53 6月 22 15:41 GIU
drwxr-xr-x. 2 root root 6 6月 22 23:27 heip
drwxr-xr-x. 2 root root 6 6月 22 23:27 help
-rw-r--r--. 1 root root 26 6月 22 14:56 mingdan
-rw-r--r--. 1 root root 0 6月 22 23:15 mulu
drwxr-xrwx. 2 root root 6 6月 23 00:09 p1
lrwxrwxrwx. 1 root root 4 6月 22 19:44 test -> test
-rw-r--r--. 1 root root 52 6月 22 15:40 UID
#fdisk -l显示分区列表
(3)格式化----指定文件系统类型----mkfs.(对分区进行格式化)---mkfs.ext /dev/sdb
[root@bohe ~]# mkfs .
mke2fs 1.42.9 (28-Dec-2013)
. is not a block special device.
无论如何也要继续? (y,n) y
mkfs.ext2: Device size reported to be zero. Invalid partition specified, or
partition table wasn't reread after running fdisk, due to
a modified partition being busy and in use. You may need to reboot
to re-read your partition table.
①[root@bohe ~]# mkfs.ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 524288 blocks
26214 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (16384 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
②
[root@bohe ~]# mkfs.xfs /dev/sdb5
meta-data=/dev/sdb5 isize=512 agcount=4, agsize=327616 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=1310464, 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
③
④挂载使用-------------- #mount文件系统名称()
命令: [root@bohe ~]# mount /dev/sdb1 /mnt
开机自动挂载:/etc/fstab
#vim/etc/fstab
文件系统名称(UUID)挂载点目录 文件系统类型(格式化类型) 参数 备份 检查
/dev/sdb5 /sdb5 xfs defaults 0 0
#rebot | | #mount -a 重新读取开机自动挂载配置文件
#mount 查看所有挂载点信息
#blkid 查看文件系统UUID并且可以显示文件系统类型
Parted
[root@bohe ~]# parted /dev/sdb
GNU Parted 3.1
使用 /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)
align-check mklabel print resizepart toggle
disk_set mkpart quit rm unit
disk_toggle mktable rescue select version
help name resize set
(parted)
创建GPT分区表:
Parted /dev/sdb mklabel gpt
创建分区:
Parted /dev/sdb ,mkpart pname(p1) 0G 2G
打印:
Parted /dev/sdb unit GB print
删除分区:
Parted /dev/sdb rm 2(指定的分区编号)
压缩与解压
-c, --create 创建一个新归档(创建一个打包文件)
-f, --file=ARCHIVE 使用归档文件或 ARCHIVE 设备
--force-local
即使归档文件存在副本还是把它认为是本地归档
-j, --bzip2 通过 bzip2 过滤归档
-J, --xz 通过 xz 过滤归档
--lzip 通过 lzip 过滤归档
--lzma 通过 lzma 过滤归档
--lzop
--no-auto-compress 不使用归档后缀名来决定压缩程序
-z, --gzip, --gunzip, --ungzip 通过 gzip 过滤归档
-Z, --compress, --uncompress 通过 compress 过滤归档
-C, --directory=DIR 改变至目录 DIR(放到指定文件下)
Tar [option…] [file]…
主选项:
-c, --create 创建一个新归档(创建一个打包文件)
-x 解包
-t 查看归档中的文件
-v 显示信息
辅助选项:
-f:指定文件名,后面需要立即跟文件名
-j:
--bzip2 通过 bzip2 过滤归档
-J --xz 通过 xz 过滤归档
-z: --gzip, --gunzip, --ungzip 通过 gzip 过滤归档
-Z --compress, --uncompress 通过 compress 过滤归档
window和linux之间传输文件:xftp
linux和linux之间传输文件:scp
Scp 源文件 目标路径
-r传输目录文件
文件发送:scp file 链接目标机的用户@目标主机的ip:目标主机的绝对路径
[root@130 ~]# scp zuoye root@192.168.83.129:/
文件接收:[root@bohe test]# scp root@192.168.93.100:/root/zuoye .
两台虚拟机之间传输文件:
192.168.83.129向192.168.83.100传送
[root@bohe test]# ll /zuoye
-rw-r--r--. 1 root root 0 6月 25 14:52 /zuoye
[root@bohe test]# scp root@192.168.93.100:/root/zuoye .
ssh: connect to host 192.168.93.100 port 22: Connection refused
[root@bohe test]# scp root@192.168.93.100:/root/zuoye .
^[[A^C[root@bohe test]#
[root@bohe test]#
[root@bohe test]#
[root@bohe test]#
[root@bohe test]#
[root@bohe test]#
[root@bohe test]# scp root@192.168.83.100:/root/zuoye .
The authenticity of host '192.168.83.100 (192.168.83.100)' can't be established.
ECDSA key fingerprint is SHA256:AUTW08MXVkQAX1pwyRttM0qup0ucS7VsWEGaqPsKkTs.
ECDSA key fingerprint is MD5:f7:2b:ce:a2:50:f3:1e:27:b4:b4:3d:a7:e5:e7:d9:8e.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.83.100' (ECDSA) to the list of known hosts.
root@192.168.83.100's password:
zuoye 100% 0 0.0KB/s 00:00
[root@bohe test]# ll
总用量 48
-rw-r--r--. 1 root root 0 6月 25 14:23 {
-rw-r--r--. 1 root root 0 6月 25 14:23 10
-rw-r--r--. 1 root root 0 6月 25 14:23 1..10}
-rw-r--r--. 1 root root 10240 6月 25 14:35 12345.tar
-rw-r--r--. 1 root root 137 6月 25 14:38 12345.tar.
-rw-r--r--. 1 root root 137 6月 25 14:38 12345.tar.gz
-rw-r--r--. 1 root root 0 6月 25 14:23 6
-rw-r--r--. 1 root root 0 6月 25 14:23 7
-rw-r--r--. 1 root root 0 6月 25 14:23 8
-rw-r--r--. 1 root root 0 6月 25 14:23 9
-rw-r--r--. 1 root root 0 6月 22 11:22 {abc1..abc100}
-rw-r--r--. 1 root root 0 6月 22 11:05 boot
drwxr-xr-x. 2 root root 6 6月 22 10:48 d2
drwxr-xr-x. 2 root root 6 6月 22 10:48 d3
drwxr-xr-x. 2 root root 6 6月 22 10:49 d4
drwxr-xr-x. 2 root root 6 6月 22 10:48 d5
drwxr-xr-x. 2 root root 6 6月 22 10:48 d6
-rw-r--r--. 1 root root 0 6月 22 11:05 sysroot
-rw-r--r--. 1 root root 0 6月 25 14:55 zuoye
-rw-r--r--. 1 root root 25272 6月 25 14:45 北信实训.txt
192.168.83.100向192.168.83.129传输
[root@localhost ~]# hostname 130
[root@localhost ~]# bash
[root@130 ~]# touch zuoye
[root@130 ~]# echo zheshiwodezuoye
zheshiwodezuoye
[root@130 ~]# ll
总用量 4
-rw-------. 1 root root 1311 5月 24 19:11 anaconda-ks.cfg
-rw-r--r-- 1 root root 0 6月 3 14:48 file1
drwxr-xr-x 2 root root 6 6月 6 07:25 log
drwxr-xr-x 2 root root 36 6月 3 16:39 test
-rw-r--r-- 1 root root 0 6月 25 12:33 zuoye
[root@130 ~]# scp zuoye root@192.168.83.129:/
The authenticity of host '192.168.83.129 (192.168.83.129)' can't be established.
ECDSA key fingerprint is SHA256:5KL26Id1gyVMSMqOzRySzJueW4488OZgTEKkaaAPwrw.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.83.129' (ECDSA) to the list of known hosts.
root@192.168.83.129's password:
zuoye
软件安装
.rpm
rpm -ivh 包名(安装软件包)
-evh 软件名 (卸载软件)
-ql 软件名 (查看软件安装释放的文件)
-qf 文件绝对路径 (查看某个文件是哪个包释放的)
-qa 查看当前系统所有已安装的安装包 | gerp
-Uvh 根据主机
-qpi 包名 查看软件包的详细信息
-Va 校验文件,查看软件程序缺失哪个文件
1、mount/dev/sr0 /mnt
2、查找软件包 cd/mnt/Package ||
3、#rpm -ivh 包名 #rpm -ivh /mnt/Package
yum本地软件包的安装方式
YUM:(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
格式:yum【opyion】【command】【package】
Yum -y install 软件名-----------安装
remove
update
groupinstall
list
repolist 列出yum源状态信息
clean all --清楚所有yum的缓存
makecache ----简历yum源的缓存
yum配置文件------yum源 *.repo
/etc/yum.repos.d /*.repo
[base]------------源标识名称(自定义)
name=base----源名称
baseurl=file:///mnt/ 统一资源定位符定位软件包的路径
Gpgcheck=0(0:关闭;1:打开)---公钥验证关闭
enabled=1--------设置开机启用(默认开机使用可以省略)
网络安装
baseurl=file:(后面跟要下载的路径)
配置cockpit web 管理程序
1.yum -y install cockpit
yum -y install httpd
2.systemctl start httpd cockpit
stop
status 查看状态
restart
enable 开机启用
disabel
3.systemctl stop firewalld
systemctl disable firewalld 开机不启用
4.setenforce 0 临时关闭selinux
[root@bayern ~]# vim /etc/selinux/config 永久关闭selinux
SELINUX= permissive
配置ftp服务器
服务器-----linux虚拟机
客户端主机-----window
(1)配置服务端,配置ftp服务
#yum-y install vsftpd
(2)systemctl start vsftpd
Systemctl enabl evsftpd-----systemctl enable vsftpd - -now
(3)systemctl stop firewalld 临时停止selinux
Systemctl disable firewalld 开机不启用
(4)systemforce 0 临时关闭selinux
[root@bohe~]#vim /etc/selinux/config 永久关闭selinux
实现上传下载
(5)#vi /etc/vsftpd/vsftpd.conf
29行删除注释
33行删除注释,并在34行添加一条配置anon_other_write_enable=YES
(6)system restart vstfpd
(7)touch /var/ftp/pub/test{1..10}
(8)客户端window上通过计算机资源链接栏:ftp//ip
LVM 逻辑卷管理
lvm可以实现磁盘管理,可以将一块硬盘或者多块硬盘上的几多个分区逻辑上集合,后期可以把多块硬盘看做一块硬盘,也可以对逻辑上的分区动态扩大或者减少分区的大小。
pv(物理卷)===对标准分区管理,将标准分区物理实现
vg(卷组)===将多个物理卷整合放到一个组当中。类似于物理硬盘。
lv(逻辑卷)====类似于所创建的标准分区(用户可以自定义文件系统类型)
操作方式:
添加两块硬盘分别分成5G,将 第一块硬盘创建一个分区大小5G,第二块硬盘创建两个分区大小分别为2G和3G
第一块硬盘
#fdisk /dev/sdb
n
P
起始点:回车
结束点:回车
t:改变分区 8e标记
p:打印
w:保存
第二块硬盘:
#fdisk /dev/sdc
n
P
回车
2G
t:8e
P
n
P
回车
回车
t 更改分区类型
8e
P
w
[root@bohe ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x39666d8c 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-10485759,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-10485759,默认为 10485759):+2G
分区 1 已设置为 Linux 类型,大小设为 2 GiB
命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
分区号 (2-4,默认 2):2
起始 扇区 (4196352-10485759,默认为 4196352):
将使用默认值 4196352
Last 扇区, +扇区 or +size{K,M,G} (4196352-10485759,默认为 10485759):+3G
值超出范围。
Last 扇区, +扇区 or +size{K,M,G} (4196352-10485759,默认为 10485759):+3G
值超出范围。
Last 扇区, +扇区 or +size{K,M,G} (4196352-10485759,默认为 10485759):
将使用默认值 10485759
分区 2 已设置为 Linux 类型,大小设为 3 GiB
命令(输入 m 获取帮助):t
分区号 (1,2,默认 2):2
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@bohe ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 200M 0 part /boot
└─sda2 8:2 0 12G 0 part
├─centos-root 253:0 0 10G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 5G 0 disk
├─sdb1 8:17 0 2G 0 part
└─sdb2 8:18 0 3G 0 part
sr0 11:0 1 973M 0 rom
[root@bohe ~]#
[root@bohe ~]# pv
pvchange pvck pvcreate pvdisplay pvmove pvremove pvresize pvs pvscan
[root@bohe ~]# pvcreate /dev/sdb1/ /dev/sdb2
Device /dev/sdb1/ not found.
Physical volume "/dev/sdb2" successfully created.
[root@bohe ~]# pvcreate /dev/sdb1 /dev/sdb2
Physical volume "/dev/sdb1" successfully created.
Physical volume "/dev/sdb2" successfully created.
[root@bohe ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- 12.00g 4.00m
/dev/sdb1 lvm2 --- 2.00g 2.00g
/dev/sdb2 lvm2 --- <3.00g <3.00g
[root@bohe ~]# vg
vgcfgbackup vgchange vgconvert vgdisplay vgextend vgimportclone vgmknodes vgremove vgs vgsplit
vgcfgrestore vgck vgcreate vgexport vgimport vgmerge vgreduce vgrename vgscan
[root@bohe ~]# vgcreate vg0 /dev/sdb1 /dev/sdb2
Volume group "vg0" successfully created
[root@bohe ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- 12.00g 4.00m
vg0 2 0 0 wz--n- 4.99g 4.99g
[root@bohe ~]# lv
lvchange lvcreate lvextend lvmconf lvmdiskscan lvmetad lvmsadc lvreduce lvrename lvs
lvconvert lvdisplay lvm lvmconfig lvmdump lvmpolld lvmsar lvremove lvresize lvscan
[root@bohe ~]# lvcreate -n lv1 -L 3G vg0
Logical volume "lv1" created.
[root@bohe ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- 10.00g
swap centos -wi-ao---- 2.00g
lv1 vg0 -wi-a----- 3.00g
[root@bohe ~]# mkfs.xfs /dev/vg0/lv1
meta-data=/dev/vg0/lv1 isize=512 agcount=4, agsize=196608 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=786432, 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@bohe ~]# mkdir /lv1
[root@bohe ~]# mount /dev/vg0/lv1 /lv1
[root@bohe ~]# cd /lv1
[root@bohe lv1]#
创建逻辑卷:
PV:
#pvcreate /dev/sdb1 /dev/sdb2
#pvs
Vg:
Vgcreate 卷组名称(vg0) /dev/sdb1 /dev/sdb2
Lv:
#lvcreat -n 逻辑卷名称(lv1) -L 3G vg0
使用逻辑卷
格式化:
#mkfx.xfs /dev/vg0/lv1
挂载:文件系统名 挂载点目录
Mount /dev/vg0/lv1 /lv1
删除:
扩大卷组:
#lvextend vg0 /dev/sdb2
#volume group "vg0" successfully extended
扩大逻辑卷:
#lvextend /dev/vg0/lv1 -L+3G vg0
Physical volume "vg0" not found in volume Group "vgo"
同步文件系统:
#xfs_growfs /dev/mapper/vg0-lv1
查看文件系统使用情况:
#df -h
删除逻辑卷:
Umount /lv1
Lvremove /dev/vg0/lv1
Vgremove vg0
Pvremove /dev/sdb1 /dev/sdb2
Fdisk /dev/sdb
D
W
创建交换分区:swap
1、查看磁盘的使用情况 lsblk
2、创建指定大小的分区 1G
3、指定文件系统类型 mkswap /dev/sdb1
4、挂载链接
Vim /etc/fstab
#mkdir /swap
5、临时激活:#swapon/dev/sdb1
UUID
#reboot
一:基本概念:
1、服务:
服务是一种应用程序类型,它在后台运行。服务应用程序通常可以在本地和通过网络为用户提供一些功能,例如客户端/服务器应用程序、Web服务器、数据库服务器以及其他基于服务器的应用程序。
2、协议:http https区分不同的流量
3、端口:http(80、8080)https(443)区分不同的协议
4、基本框架:S/C S/B
5、web服务的基本框架:LAMP
6、静态网站,动态网站
7、网站访问的格式:
二:配置web服务
1、静态网站搭建
(1)配置环境centos7.x搭建
(2)安装服务软件Apache http server
#yum install httpd
(3)开启服务
#systemctl enable httpd--now
(4)关闭防火墙,关闭selinux
#systemctl disable firewalld
#systemtcl stop firewalld
#setenforce 0
#vim /etc/selinux/config
SELINUX=permissive
ll /var/www/html
cd /var/www/html
vi index.html
(5)测试
2、配置文件介绍
/etc/httpd/conf 主配置目录
/etc/httpd/conf.d 辅助(子)配置目录
/etc/httpd/conf.modules.d模块配置目录
#vim /etc/httpd/conf/httpd.conf
31 ServerRoot "//etc/httpd"
42 Listen 80 服务监听的端口
Include conf.modules.d/*.conf 加载程序匹配模块配置文件
66 Userapache 程序运行后的所属用户
67 Groupapche所属组
86ServerName root@localhost 服务的管理员
95 SerberName 0.0.0.0:80 服务名称(按照ip格式匹配)
102 <Directory /> 目录标签/
103 AllowOverride none 不允许覆盖
104 Require all denied 请求所有拒绝
105 </Directory>
119 DocumentRoot "/var/www/html" 文本主目录(静态网页文件的目录)
</Directory“/var/www"> 目录标签 /var/www
125 AllowOverride None 不允许覆盖
126 # Allow open access:
127 Require all granted 请求所有允许
128 </Directory>
163 <IfModule dir_module> 目录模块
164 DirectoryIndex index.html 网站主目录下索引的资源文件
165 </IfModule>
353 IncludeOptional conf.d/*.conf 加载子目录下所有配置文件
为什么能访问apache测试界面?
为什么自定义界面之后,访问的是自定义界面不是欢迎界面?
案例一:
多ip访问不同网站信息
①配置httpd的配置文件
vim /etc.httpd/conf.d/vhosts.conf
<VirtualHost
192.168.60.128:80>
ServerName
192.168.60.128
DocumentRoot /www
</VirtualHost>
<Directory /www>
AllowOverride none
Require all granted
</Directory>
②创建资源目录和文件
mkdir /www
echo this is 100>/www/index.html
③重启服务识别自定义的配置信息
④客户端访问测试
1.通过浏览器缓存
2.本地主机hosts
C:\Windows\System32\drivers\etc
/etc/hosts
3.通过主机定义dns匹配本地dns服务器学习
邮件收发方式:
(1)配置邮件客户端:mailx
通过客户端mail命令收发邮件
#mail to redhat@localhost.localdomain ./ctrl+d
#echo "邮件内容信息"|mail -s "邮件主题"收件人邮箱账号
切换到收件用户$mail q
(2)邮件群发
Vi /etc/aliases (追加信息)
群发名称: 真实邮件用户名
#postalias /etc/aliases 把数据库导入
首先在/etc/mail.rc/文件中添加(需要root权限)
set from=lxx1065372737@163.com(自己的邮箱)
set smtp=smtp.163.com(163邮箱默认使用)
set smtp-auth-user=lxx1065372838@163.com(与第一行一致)
set smtp-auth-password=aaaaaa(等号后面填写的是163邮箱的客户授权密码,下面会告诉你在哪里找到)
set smtp-auth=login(登录方式)
添加完成后保存
vim:
gg:光标移动到文件首行
G:光标移动到文件的末尾 shift+G
^:以….开头
$:以….结尾
^$:表示空白
fx:光标移动到当前行下一个x
Fx:光标移动到当前行上一个x
w:向右移动一个单词
b:向左移动一个单词
dd:删除一行
ndd:删除n行
d$:删除光标至行尾内容
u:撤销上一步操作,可以多次使用uu表示撤销两步操作
yy:复制
p:粘贴至当前行之后
J:删除换行符,将两行合并成一行
ctrl+w:按单词删除
查 找:
“?”:?+要查找的单词
?short
Vim /etc/passwd
:%s/sbin/bin/g 将所有/sbin替换成bin
显示行号:“:set nu”
忽略大小写:“:ignorecase”
多窗口编辑:
水平分割:“: split /加文件名”
垂直分割:“:vsplit”
Ctrl+ww从上一个区域切换到下一个区域(退出:光标在哪里就输入:q)我·
:!命令 按回车就返回来了(在vim下)
Yum -y install vim
一些常见的yum命令:
yum clean all 清空缓存信息
yum list 列出所有包的信息
yum list httpd 查看 httpd 是否安装
yum info httpd 显示 httpd 包的详细具体信息
yum install httpd -y 安装 httpd 包
yum remove httpd -y 卸载 httpd 包
yum search 关键词 根据关键词,在已发现的repo源中搜索包含关键词的rpm包
yum provides 命令 根据命令,在已发现的repo源中搜索安装指令的rpm包
yum history list/info/undo/redo number history可以列出,查看,重装,反安装对应的包,但是是以yum指令的操作顺序为依据的,所以需要加指定的数字执行
yum update -y 升级所有包同时也升级软件和系统内核
yum upgrade -y 只升级所有包,不升级软件和系统内核