复习(二)

区分服务
音频
视频

基础命令:

1.目录管理命令
pwd
cd
   ~
   -
   .
   ..
   路径:
       相对路径
       绝对路径:以/开头,唯一性
mkdir  创建空目录 
    -p:递归创建目录树且该选项不会报错 
rmdir  删除空目录   

需求:定期备份某文件到指定目录/opt/backup
rm -rf /opt/backup &>/dev/null
mkdir -p /opt/backup

ls
    list directory
    -a 列出所有文件,包括隐藏文件
    -l 长格式--long
    -h human,人性化,体现在文件大小使用K,M,G
    -d 目录本身
    -i inode
    后三个选项必须和-l组合使用
    -lhi
du
    -s 目录本身
    -h human,人性化,体现在文件大小使用K,M,G    
    -a 查看占用的block,4K*block
    
tree
    -L level指定目录的级别
    -d 只看目录

2.文件管理命令

cat
    查看文件全文,适合小文件
more
    分页查看文件全文,无法反复看
less
    分页查看文件全文,可反复看
head
    从头看,默认10行
    -n 行号
    -c 字符
tail
    从尾看起,默认10行
file
    查看文件类型,ls -l    

文件创建

touch
     默认创建空文件
     刷新已存在文件或目录的时间戳

文件管理

cp
    -i 提示信息
    -r 递归、对目录进行操作
    -f 强制
    -p 保留源文件属性
    -t 源文件和目标位置替换
mv
    -t 源文件和目标位置替换
rm     
    -i 提示信息
    -r 递归、对目录进行操作
    -f 强制

系统有别名,都加了-i
cp和rm默认对-i是生效的
mv默认对-i的效果出现在目标已存在
1.取消系统定义的别名
2.转义符
3.-f,但是对cp不生效(系统别名中的-i优于-f)

用户管理

创建
    useradd
        -u,-g,G,-d,-s,-M *****
        -s:主要就是/bin/bash,sbin/nologin
        -M:创建不给家目录,如果用户已创建,直接删除家目录,效果一样
        -u:指定uid,centOS6中,默认500以上是普通用户,CentOS7中,默认1000以上是普通用户
        -g,G:指定基本组和附加组,可以是组名,也是gid,基本组只能有一个,其他都是附加组
        -d:如果需要在创建时指定家目录的路径,一定注意指定目录无需提前创建
修改
    usermod
        -u,-g,-G,d,-s,-L,-U    
迁移用户家目录,从/home/a5迁移到/a5        
删除
    userdel
        -r: 删除家目录
用户密码管理
    passwd    
        -d:清空密码
        -l:lock锁定密码
        -u:unlock解锁密码

组管理

groupadd
groupmod
groupdel
    删除的是基本组,必须保证组内没成员,才能删除
gpasswd
    -a  给指定组添加指定用户
    -M  给指定组指定组成员
    -d  删除组成员

基本组操作
     使用usermod -g
     修改/etc/passwd
附加组
     使用usermod -G
     使用gpasswd
     修改/etc/passwd

用户组管理其他命令
chage
     -d
        -d 0 强制要求用户登陆后修改密码
     -m
     -M
     -W
     -E
     -I
chsh    

权限

ugo
user    rwx    421
group   rwx    421
other   rwx    421

chmod ugo +-= rwx
chmod nnn

文件权限
r:可以读取文件内容
w:可以修改文件内容
x:可以自动执行文件内容

目录权限
r: 可以使用ls列出目录内容
w: 可以对目录里的文件进行增删改
x: 可以使用cd进入目录

特殊

set uid   user  chmod u+s chmod 4nnn
set gid   group chmod g+s chmod 2nnn
sticky    other chmod 0+t chmod 1nnn

功能:
1.都是对x权限生效
2.s-uid,让用户再执行可执行文件(命令、脚本)时,可以使用该文件所属用户的身份来执行,在user权限出现一个小写s
3.g-uid,让用户再执行可执行文件(命令、脚本)时,可以使用该文件所属组的身份来执行,在group权限出现一个小写s
4.sticky,对目录生效,可以让每个用户在该目录下只能处理自己创建的文件或目录,在other权限出现一个小写t
5.如果文件没有x权限,那么通过ls -l展现出来的都是大写

注意事项:特殊权限会有安全隐患,要控制,建议通过sudo提权来实现

fcal
文件访问控制列表
       基于在不灵活的传统ugo权限上来实现的
比如现在有a,b,c三个用户,如果希望这三个用户的权限都不一样,传统的ugo权限满足不了

getfacl
    获取文件访问列表
setfacl
    设置文件访问列表    
    -m u:username:rw
    -m u:groupname:rw

文件所属
    chown user[.:]group filename

磁盘

inode:描述文件的属性
    包括权限、所属、时间

block:最小存储单元
一个文件至少占用1个block
一个block最多被一个文件占用
block越大,分区越大
默认:4k,4096B

使用du -a,查看每个文件占用block
查看磁盘block size和inode size

EXT:
    tune2fs -l /dev/sda3
    dumpe2fs /dev/sda3
    Block size:
    Inode size:
XFS:
[root@xiaoming ~]# xfs_info /dev/sda1
meta-data=/dev/sda1              isize=512    agcount=4, agsize=65536 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=262144, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
    

修复磁盘

EXT*:
fsck -t ext4 -y /dev/sda3
XFS:
xfs_repair /dev/sda3

案例:正在使用的文件丢失后,如何恢复

1.查看文件被哪个进程使用
[root@xiaoming ~]# lsof /var/log/messages
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF     NODE NAME
rsyslogd 909 root    6w   REG  253,0   130328 17272680 /var/log/messages
[root@xiaoming ~]# lsof | grep messages
rsyslogd   909         root    6w      REG              253,0    130328   17272680 /var/log/messages
in:imjour  909 1175    root    6w      REG              253,0    130328   17272680 /var/log/messages
rs:main    909 1177    root    6w      REG              253,0    130328   17272680 /var/log/messages

2.通过文件描述符查看文件内容
[root@xiaoming ~]# ll -l /proc/909/fd/
总用量 0
lr-x------ 1 root root 64 1月  13 09:07 0 -> /dev/null
l-wx------ 1 root root 64 1月  13 09:07 1 -> /dev/null
l-wx------ 1 root root 64 1月  13 09:07 2 -> /dev/null
lr-x------ 1 root root 64 1月  13 09:07 3 -> anon_inode:inotify
lrwx------ 1 root root 64 1月  13 09:07 4 -> socket:[20509]
lr-x------ 1 root root 64 1月  13 09:07 5 -> /run/log/journal/5851965d6fb040528da4c97075c15063/system.journal
l-wx------ 1 root root 64 1月  13 09:07 6 -> /var/log/messages
l-wx------ 1 root root 64 1月  13 09:07 7 -> /var/log/secure
l-wx------ 1 root root 64 1月  13 09:07 8 -> /var/log/cron
l-wx------ 1 root root 64 1月  13 09:07 9 -> /var/log/maillog

3.删除文件
[root@xiaoming ~]# rm -f /var/log/messages

4.查看删除文件后,进程使用状态
[root@xiaoming ~]# lsof | grep messages

5.恢复
[root@xiaoming ~]# cat /proc/909/fd/6 > /var/log/messages
[root@xiaoming ~]# cp /proc/909/fd/6 /var/log/messages
[root@xiaoming ~]# tail /var/log/messages
Jan 13 09:07:48 xiaoming systemd: Started System Logging Service.
Jan 13 09:07:48 xiaoming systemd: Reached target Multi-User System.
Jan 13 09:07:48 xiaoming systemd: Starting Update UTMP about System Runlevel Changes...
Jan 13 09:07:48 xiaoming systemd: Started Update UTMP about System Runlevel Changes.
Jan 13 09:07:48 xiaoming systemd: Startup finished in 1.656s (kernel) + 2.711s (initrd) + 8.713s (userspace) = 13.081s.

案例2:大日志文件,影响服务器的运行状态,使用rm删除无效,使用重定向输出"> /var/log/access_log"

find / size +10G -name "*.log" -delete
lsof | grep delete

磁盘的操作

分区
    fdisk
格式化
常规分区
    mkfs.ext4
    mkfs.xfs
swap分区
    mkswap
    swapon    
挂载
    mount
    
RAID
    提高磁盘的可靠性,读写性能
    0
    1
    5
    10
    50
LVM    
    逻辑卷管理
    动态的分区
    pv物理卷
        pvcreate /dev/md0 /dev/sad1
    vg卷组
        vgcreate it /dev/md0 /dev/sda /dev/sda1
    lv逻辑卷
        lvcreate -L 10G -n edu it
    扩容
        vgextend it
        lvextend -L +5G /dev/it/edu
        resize2fs   (EXT4)
        xfs_growfs  (XFS)

链接

ln [-s] source destination

软连接(符号链接)
链接文件有新的inode,但是不占用block

硬链接
共用一个inode,但是各自都有block块
不适合对目录做硬链接
不能跨分区做
源文件和链接文件都是单独个体

归档(压缩)和查找

归档:
    把不经常使用的,但是又很重要的,收集起来,存放到指定位置,一般会压缩后归档

tar         创建       查看       恢复
.tar        c[pv]f      tf        x[v]f
.tar.gz     czf         tf        xf
.tar.bz2    cjf         tf        xf
.tar.xz     cJf         tf        xf

gzip,bzip2,xz的特点
只要压缩功能,且只能针对一个文件,不能对目录操作

zip/unzip
which
whereis
locate
    依赖数据库,需要先更新数据库
find
    实时查找

find [path] options cation
expression
-name
-iname
-time
-size
-type
-user
-group
-perm
...
action
-print
-ls
-delete
-exec

多条件查找
-a 默认
-o 
-not !

find和xargs联合使用
参考笔记

rsync 同步数据
实时同步
       一边更新(增删改),另一边马上更新
异步同步
       每隔一段时间同步一下

&&
    -a
    cmd1 && cmd2
    if [ expr1 && expr2 ];then
        cmd1
    else
        cmd2
    fi-o
    ||
    cmd1 || cmd2
非
    -not
    !
    ! expr1

打印root和普通用户
    $3=0 || $3>=1000 

猜你喜欢

转载自www.cnblogs.com/xmtxh/p/12186516.html