复习(今日无答疑,笔记可以不写)

三、用户和组管理

3.1 用户配置文件和密码配置文件5

/etc/passwd用户账号密码文件,配置文件;第一列,用户名;第二列,密码全用X表示;第三列,UID;第四列,GID;第五列,注释;第六列,用户家目录;第七列,用户shell目录;

/etc/shadow专门存用户密码;第一列,用户名;第二列,加密的密码;第三列,密码从1970年1月1日开始最后修改的天数;第四列,密码要多少天才能修改第五列,密码要多少天必须修改;第六列,密码到期前的警告天数;第七列,密码已到期,再过几天账号失效;第八列,账号生命周期,距离1970年1月1日;第九列,保留字段;

账号aming设置密码,命令为#passwd aming

3.2 用户组管理

/etc/group用户组配置文件,与用户密码配置文件类似;分别为用户组名,密码,GID等;

/etc/gshadow用户组密码文件,与用户密码文件类似;

用户及用户组相关备份文件,文件名加-,为备份文件,使用时去掉-即可;

创建组grp1,命令为#groupadd grp1 ;

创建组grp1并指定GID,命令为#groupadd -g 1005 grp1 ;

查看用户组配置文件最后一行即新添加组信息,命令为#tail -n1 /etc/group ;

删除组grp1,前提是组没有用户,命令为#groupdel grp1 ;

3.3 用户管理

创建用户,命令为#useradd user2 ;

创建用户,并指定UID和GID,命令为#useradd -u 1004 -g 1005 user2 ;

创建用户,并指定UID和GID,家目录,用户shell目录,命令为#useradd -u 1004 -g 1005 -d /home/aming111 -s /sbin/nologin user2 ;

创建用户,不创建家目录,命令为#useradd -M user2 ;

查看新创建用户密码信息,命令为#tail -n2 /etc/passwd ;

删除用户,命令为#userdel user2 ,没有删出用户家目录,再删除家目录,#rm -rf /home/user2 ;

删除用户,并删出用户家目录,命令为#userdel -r user2 ;

useradd也可以用adduser,功能一样;

四、Linux磁盘管理

4.1 df命令

df,report file system disk space usage汇报文件系统磁盘空间使用情况;

df命令格式:df [选项]

df -a:all 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统。

df -h:human readable以容易理解的格式输出文件系统大小,例如124KB、345MB、46GB。

df -i:inodes 显示i节点使用情况。

df -m:以MB为单位显示文件系统使用情况;

df -t:type 显示各指定类型的文件系统的磁盘空间使用情况。

df -x:exclude type 列出不是某一指定类型文件系统的磁盘空间使用情况。

df -T:print type 显示文件系统类型。

df 以512字节为单位

df –k 以1024字节为单位.

查看内存使用情况,命令为#free ;

4.2 du命令

du,查看文件目录大小,文件大小;

查看目录或文件大小常用命令为#du -sh /root;

-s 指目录;-h,human人类可视化更容易理解的情况显示;

查看目录下的所有文件或目录大小,命令为#du /root;

4.3/4.4 磁盘分区

列出磁盘分区情况#fdisk -l

对新硬盘进行分区,格式化,命令为#fdisk /dev/sdb ;

常用选项,

n,new新建分区;

p,print打印列出来;

w,write写入保存并退出;

q,quit不保存退出;

d,delete删除分区;

想要什么操作,输入对应字母即可;例如:新建一个扩展分区,如图命令;

spacer.gifblob.png

解释说明:fdisk最多支持2T磁盘,主分区最多4个,扩展分区可以分逻辑分区;主分区数+扩展分区数<=4;逻辑分区,必须要连续;可以对主分区和逻辑分区进行格式化,扩展分区不能直接格式化,扩展分区仅仅是个壳子,里面包含1个或多个逻辑分区;

4.5/4.6 磁盘格式化

CentOS7以XFS作为默认的文件系统;

mke2fs,mkfs.ext2,mkfs.ext3,mkfs.ext4,mkfs.xfs都是格式化命令;

mke2fs -t ext4 ==mkfs.ext4;其他命令类似,mke2fs暂不支持xfs类型;

mke2fs命令选项如下:

-t指定文件系统类型type;

-b指定块大小block;

-m指定分区预留的大小百分比;

-i指定多少个字节对应一个inode;

分区格式化,指定文件系统类型ext4,块大小2048B,预留大小0.1%,命令为#mke2fs -t ext4 -b 2048 -m 0.1 /dev/sdb1 ;

分区格式化为xfs格式,命令为#mkfs.xfs /dev/sdb ;

4.7/4.8 磁盘挂载

查看分区文件系统类型,命令为#blkid /dev/sdb ;

格式化磁盘分区,需挂载才可访问;挂载点是一个目录;

挂载命令为#mount 分区 挂载点 ;

例如命令#mount /dev/sdb /mnt/ ;

查看挂载情况,命令为#df -h ;

mount命令常用选项:

defaults默认,rw可读可写,suid设置uid,dev设备有关,exec可执行,auto自动挂载,nouser不能普通用户挂载,async不实时同步,sync实时同步更新;

-o指定挂载的分区有哪些特性,如ro,sync,remount;

/etc/fstab挂载的分区配置文件;查看编辑#vi /etc/fstab ;

spacer.gifblob.png

具体解释,可以#man fstab ;

查看UUID,命令为#blkid /dev/sdb ;

卸载磁盘,后跟磁盘分区,命令为#umount /dev/sdb ;

卸载磁盘,后跟挂载点,命令为#umount -l /mnt/ ;

4.9 手动增加swap空间

增加虚拟磁盘的思路为:建立swapfile----格式化为swap格式----启用该虚拟磁盘;

建立swapfile,命令为#dd if=/dev/zero of=/tmp/newdisk bs=1M count=1024 ;

dd磁盘读写命令,if指定源,/dev/zero可以源源不断地提供“0”,of指定目标文件,bs定义块大小,count定义块的数量,目标文件大小=bs * count;

查看文件大小,命令为#du -sh /tmp/newdisk ;

格式化为swap格式,命令为#mkswap -f /tmp/newdisk ;

挂载swap分区,命令为#swapon /tmp/newdisk ;

查看内存使用情况,命令为#free -m ;

free查看内存使用情况命令,m表示以MB为单位显示;

卸载swap分区,命令为#swapoff /tmp/newdisk ;

4.10/4.11/4.12 lvm讲解

        LVM是逻辑盘卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和 分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组 (volumegroup),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logicalvolumes),并进一步在逻辑卷组上创建文件系 统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配,例如按照使用用途进行定义:“development”和“sales”,而不是使用物理磁盘名“sda”和“sdb”。而且当系统添加了新的磁盘,通过LVM管理员就不必将磁盘的 文件移动到新的磁盘上以充分利用新的存储空间,而是直接扩展文件系统跨越磁盘即可。

spacer.gifblob.png

        普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以也不能同时放到别的磁盘上。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具,但这只是暂时解决办法,没有从根本上解决问题。随着Linux的逻辑卷管理功能的出现,这些问题都迎刃而解,用户在无需停机的情况下可以方便地调整各个分区大小。

        (1)准备磁盘分区

                fdisk /dev/sdb

                n创建三个新分区,分别1G

                t改变分区类型为8e,命令为t,输入Hex代码:8e;输入p显示分区信息,Id为8e,System为linux lvm,改变成功;

        (2)准备物理卷

                安装pvcreate命令,#yum install -y lvm

                如果知道pvcreate命令,不知道安装包名,可以用命令搜索#yum provides "/*/pvcreate",之后再安装;

                pvcreate /dev/sdb1,若提示无/dev/sdb1文件,输入命令自动生成#partprobe

                pvcreate /dev/sdb2

                pvcreate /dev/sdb3

                pvdisplay或pvs列出当前的物理卷

                pvremove /dev/sdb3删除物理卷

        (3)创建卷组

                vgcreate vg1 /dev/sdb1 /dev/sdb2

                vgdisplay或vgs列出当前的卷组

                vgremove删除卷组

        (4)创建逻辑卷

                lvcreate -L 100M -n lv1 vg1

                -L大小,-n名称,vg1卷组中划分;

        (5)格式化逻辑卷

                mkfs.ext4 /dev/vg1/lv1

                挂载#mount /dev/vg1/lv1 /mnt/

        (6)扩容逻辑卷ext

                先卸载umount /mnt/

                再扩容lvresize -L 200 /dev/vg1/lv1

                查看df -h

                检查磁盘错误(ext),#e2fsck -f /dev/vg1/lv1

                更新逻辑卷信息(ext),不更新无法挂载 ,#resize2fs /dev/vg1/lv1

                xfs文件系统需要执行,#xfs_growfs /dev/vg1/lv1

                扩容逻辑卷xfs

                不需卸载umount /mnt/

                再扩容lvresize -L 300 /dev/vg1/lv1

                xfs文件系统需要执行,#xfs_growfs /dev/vg1/lv1

        (7)缩减逻辑卷(xfs不支持)

                先卸载umount /mnt/

                检查磁盘错误(ext),#e2fsck -f /dev/vg1/lv1

                更新逻辑卷信息(ext),不更新无法挂载 ,#resize2fs /dev/vg1/lv1 100M

                重新设置逻辑卷大小,#lvresize -L 100M /dev/vg1/lv1

                查看逻辑卷大小lvdisplay或lvs;

                挂载mount /dev/vg1/lv1 /mnt/

        (8)扩展卷组

                fdisk /dev/sdb 新增/dev/sdb3(逻辑分区8e) 1G

                pvcreate /dev/sdb3

                vgextend vg1 /dev/sdb3

                lvresize -L 100M /dev/vg1/lv1重新设置卷大小

4.13 磁盘故障小案例

问题:由于挂载配置文件错误,导致开机错误提示

解决:按要求输入管理员密码,再修改配置文件vi /etc/fstab,删除或修改错误行;

五、VIM

5.1 vim介绍

vim是vi的升级版本,

vim是带有颜色高亮显示,

安装#yum install -y vim-enhanced;

vim有一般模式、编辑模式、命令模式;

一般模式,dd删除一行,复制粘贴,gg光标移到文件头,等等;

编辑模式,按i,a,等等;

命令模式,搜索,:wq保存退出,等等;

5.2 vim颜色显示和移动光标

相同的文件,在不同的目录,可能会导致颜色不存在;

复制文件到其他目录,#cp /etc/passwd /tmp/

编辑查看文件,#vim /tmp/passwd 

vim配置文件,#vim /etc/vimrc,了解即可;

5.3 vim一般模式下移动光标

spacer.gifblob.png

5.4 vim一般模式下复制、剪切和粘贴

spacer.gifblob.png

ctrl+r 还原下一步操作 ;

5.5 进入编辑模式

进入编辑模式,按i(光标处插入),I(移到行首插入),o(光标行下一行插入),O(光标行上一行插入 ),a(光标处后一个字符插入),A(移到行尾插入);

spacer.gifblob.png

5.6 vim命令模式

spacer.gifblob.png

shift+n向上查找;

指定范围内替换,命令为:n1,n2s/word1/word2/g,s表示替换;g表示全部,global全局;$表示所有,整个文档;

若替换字符中含/字符,就要在/前,加\脱意;或者以#分隔关键词;

:nohl不高亮显示字符串no high light;

:x保存退出,不会更改mtime;

:wq保存退出,会更改mtime;

5.7 vim实践

spacer.gifblob.png

blob.png

blob.png

spacer.gif

spacer.gif