用户 创建和删除


______________________________________________
                 用户
______________________________________________
[            chown 
[            useradd    创建
[            userdel     删除
[_____________________________________________
useradd      用户
useradd —d    创建加目录
useradd —M   创建不加目录
useradd —s   —sbin/bash
改uid




          |        —u
          |
          |        —g
id        |
          |
          |
          |        —c
         
         
 删除       id  用户 userdel 用户  —r
            ____        _______
            —u      5000
            
     chown
     
_____________________________________________

      创建一个用户名为user01
     
     useradd user01
     
     
     创建一个用户名为user02   edu为5000
     
     
     useradd user02 —u 5000
     
     
    创建一个用户名为user03  价目了为/opt/user03
    
    useradd user03 —d /opt/user03
    
    
    创建一个用户名为user04只创建用户,不创建家目录
    
    
    useradd user04 —M
   
   
    创建一个用户名为user05设置登录she11为/sbin/nolngin
   
   
    useradd user05 —s  /sbin/nolngin
  
  
    创建一个用户名为user06描述为hello 
 
 
    useradd user06 —c  hello
 
 
    并设置密码为06123
 
 
    passwd  user6
    
    
______________________________________________
 

 

 

 

  所属主

______________________________________________  

     —rwxr—x r—  1  root     root   3297    类型               所有者    所属组    时间        
     
     
     rwx      r—x      r—x
     所属主    组      其它
     r读
     w写
     x执行
     
_____________________________________     
     
     chown改变所属主(组)
     
     
     chown  用户  文件
     chown  .用户 文件
  
  
     chown u                  
             g    [   +/-   ]    wxr
             o
             
_______________________________________         
             
             改权限  chmod  
_______________________________________      
             
                         
  chmod           a+w     所有加w
                 x
                 r
                 
         u      [=wxr
         g      [
         o      [
         
         
         
         
   chmod —R  用户  目录
   
   
   chmod  a-w  —R  目录

 

 

 

/etc/login.defs 用户策略
批量创建用启:
newusers passwd 格式文件
批量修改用户口令:
echo username:passwd|chpasswd
文件:
username:passwd
username2:passwd2
用户属性修改
usermod
usermod —help
锁定和解锁
删除用户
userdel username
-r
创建组
groupadd
groupadd —help
修改组
groupmod
删除组:
groupdel
当前用户属于哪些组
groups username
组中有哪些成员
groupmems -l -g groupname
把用户增加到一个组里
gpasswd

 

 

 

 

 

 

 

 

 

9.17

设定文件特殊属性

设定文件的特殊属可以访问root用户误操作删除或者修改文件

不能删除,改名,更换

chattr +i

只能追加,不能删除,改名字

charrt +a

显示特定属性

lsattr

 

 

 

访问控制列表 ACL

 

 

CL:Access Control List 访问控制列表,实现灵活的权限管理,除了文件所有者,所属
组和其他人,可能对其他更多用户设置权限。


centos7 默认有此功能,7 之前需要手功添加

tune2fs -o acl /dev/sdb1


mount -0 acl /dev/sdb1 /mnt/test


ACL 生效顺序:

 

 
所有者,自定义用户,所属组|自定义组, 其他人


ACL 相关命

setfacl 可以设置 ACL 权限


getfacl 可以查看设置的 ACL 权限

 

setfacl -m u:zgl:- test.txt

-m   修改

-x    删

-b   清空

 

setfacl -m u:spb:rw test.txt

getfacl test.txtsk

复制文件的acl权限给另一个文件

getfac  lfile1 |setfacl ——set-file=-file2

 

1

mask

acl 里面最大权限,不能操过mask的权限·

 

用户或者组的设置必须在mask的范围内才能生效

setfacl -m mask ::rw file1

 

 

ACL 实际应用


误操作把 chmod 的执行权限取消了。


chmod a-x /usr/bin/chmod


现在对文件或目录无法授权了,
使用 acl:

 

setfacl -m u:root:rwx /usr/bin/chmod

 

然后把chmod 权限恢复

 

文本编辑g工具

_____________________

vi 、vim 

________________+____

                          grep

   

                          sed

                         awk

 

 

 

X     加密码

setkey=passwd 加密

set key =解密

:!command   执行命:令

 

 

:r!comman 读取命令的输出

set list 显示不可见符号 (tab换行)

 

set ts =4  tab建用4个空格代替

 

zt   把当前行移动到当前屏幕的顶部

 

zz 把当前行移动到当前屏幕的之间

 

zb  把当前行移动到当前屏幕的底部

 

 

 

{}段落移动

di” 光标在””之间,删除“”之间的内容

    yi( 光标在()之间,复制()之间的内容

多文件模式
 vim file1 file2

 :next 下一个

 :prev 前一个

 :first 第一个

 : last 最后一个

  :wall帮衬说有

  :qall不保存退出所有

:wqqall保存退出所有

 

多窗口模式

多文件

vim -o|-O file 1 file 2

-o:水平或者向下分割

-O:垂直或者左右分割

 

在窗口间切换:ctrl +w  方向健

单文件窗口分割

ctrl +w,s:水平分割

ctrl+w,v:垂直分割

 

ch窗口切换:ctrl +w +方向键

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9,。19

 

 

at 查看文本内容


    -E 显示行结束符$


    -A 显示所有控制符


    -n 对显示出的每行进行编号

 

    -b: 空行不编号


    -s 把连续的空行压缩成一行


tac 逆向显示文本内容
nl 显示行号 == cat -b
rev 将同一行的内容逆向显示

查看非文本文件的内容
     hexdump
    
more
less
head
tail
    -f  跟踪显示文件fd
    -F 跟踪文件名
    -n 数字,从后面开始显示几行, 默认最后10行
        +数字 从文件的第几行开始显示
按列取文本
    cut命令可以提取文本文件或stdin数据的指定列
    -d 指明分隔符,默认tab
    -f fileds:
        #: 第#个字段,如3
        #,#[,#]:离散的多个字段,如1,3,5
        #-#: 连续的多个字段,如1-5
        混合使用: 1-3,7
    -c 按字符切割
    --output-delimiter=string指定输出分隔符 
修改网卡名,恢复成传统的网卡命令方式:
    /etc/default/grup
    net.ifname=0
    grub2-mkconfig -o /boot/grub2/grub.cfg

paste 合并两个文件
    -s 所有行合成一行
    -d 指定分隔符,默认tab

wc 文本数据统计
     可用于统计文件的行的总数,单词总数,字节总数和字符总数
    -l 行数
    -w 单词总数
    -c 字节总数
    -m 字符总数
    -L 文件中最长行的长度
    [root@bogon ~]# wc b.txt
    1  2 13 b.txt
    行  单词 字节
sort 文本排序
    对文本进行排序显示在STDOUT上,不改变原文件


    -r 逆序


    -R 随机排序


    -n 按数字大小整理


    -f 忽略大小写


    -u 删除重复行


    -t c 选项使用c做为字段界定符(指定分隔符)


    -k #选项按照使用c字符分隔的#列来整理能够使用多次 (指定第几列)


uniq 去重(删除前后相邻重复的行)


    -c 显示每行重复出现的次数


    -d 仅显示重复的过


    -u 仅显示不曾复的行


    uniq 经常和sort结合使用

 

 

 MIV

 

寄存器放在数字和命令中间

3"ayy 表示复制3行寄存到a里面

 

平时不指定的叫做无名寄存器

 

cat查看文本内容

-E 显示行结束符 $

-A显示所有控制符

-n显示每行进行编号

-n空行不编号

-a把连续的空行压缩成一个

 

tac 逆向显示文本内容

 

nl显示行号 ==cat -b

 

rev 将同一行的内容逆向显示

 

查看非文件的内容

hexdump

 

moer

less

 

 

 

 

 

 

head

tail

 

-f 跟踪显示文件 fd


-F 跟踪文件名


-n 数字,从后面开始显示几行, 默认最后 10 行


+数字 从文件的第几行开始显示


按列取文本


cut 命令可以提取文本文件或 stdin 数据的指定列


-d 指明分隔符,默认 tab


-f fileds:

 


#: 第#个字段,如 3


#,#[,#]:离散的多个字段,如 1,3,5


混合使用: 1-3,7


-c 按字符切割


--output-delimiter=string 指定输出分隔符


修改网卡名,恢复成传统的网卡命令方式:


/etc/default/grup


net.ifname=0


grub2-mkconfig -o /boot/grub2/grub.cfg

 


paste 合并两个文件


-s 所有行合成一行


-d 指定分隔符,默认 tab


wc 文本数据统计


可用于统计文件的行的总数,单词总数,字节总数和字符总数


-l 行数


-w 单词总数


-c 字节总数

 

-m 字符总数


-L 文件中最长行的长度


[root@bogon ~]# wc b.txt


1 2 13 b.txt


行 单词 字节


sort 文本排序


对文本进行排序显示在 STDOUT 上,不改变原文件

-r 逆序


-R 随机排序


-n 按数字大小整理


-f 忽略大小写


-u 删除重复行


-t c 选项使用 c 做为字段界定符(指定分隔符)


-k #选项按照使用 c 字符分隔的#列来整理能够使用多次 (指定第几列)


uniq 去重(删除前后相邻重复的行)


-c 显示每行重复出现的次数


-d 仅显示重复的过


-u 仅显示不曾复的行


uniq 经常和 sort 结合使用

 

 

 

 

grep

 

grep
-A<显示行数> 或 --after-context=<显示行数> : 显示该行之后的内容。


-B<显示行数> 或 --before-context=<显示行数> : 显示该行之前的内容。


-c 或 --count : 有几行数。


-C<显示行数> 或 --context=<显示行数>或-<显示行数> : 显示该行之前后多少行的内容。


-i 或 --ignore-case : 忽略字符大小写。


-m # 匹配#次后停止


-n 或 --line-number : 标示出该行的编号。


-o 或 --only-matching : 只显示匹配PATTERN 部分。


-q 或 --quiet或--silent : 不显示任何信息。


-v 或 --invert-match : 显示不包含匹配的所有行。


-w 或 --word-regexp : 包括这个单词(单词的分界符空格,-,:)。

 

|  s/\(r..t\)/\1abc

|  s#\(r..t\)#\1abc# 

 

 

字符匹配


. 匹配任意单个字符


[]匹配指定范围内的任意单个字符: [0-9] [10itedu]


[^] 匹配指定范围外的任意单个字符


[:alnum:]:字母和数字


[:alpha:]:字母(大小写都包括)


[:cntrl:]:控制(非打印)字符


[:digit:]:数字


[:graph:]:图形字符


[:lower:]:小写字母


[:print:]:可打印字符


[:punct:]:标点符号


[:space:]:空白字符


[:upper:]:大写字母


[:xdigit:]:十六进制字符


[:space:]: 空格

 

 

匹配次数


用于指定前面的字符要出现几次


 * 匹配前面的字符的任意次,包括 0 次, 贪婪匹配:尽可能长的匹配


 .* 任意长度的任意字符


 \? 匹配其前面的字符 0 或 1 次


 \+匹配前面的字符至少 1 次


 \{n\} 匹配前面的字符 n 次

 

 \{m,n\} 匹配前面的字符至少 m 次,最多 n 次如{1,3} 匹配 1 到 3 次


 \{, n\}匹配前面的字符最多 n 次 <=n


\{n,\} 匹配前面的字符至少 n 次

 

用于定位出现的位置


 ^ 行首

$ 行尾


 ^[xxx]以[]内的任意字符开头


 [^xxx]: 除了[]内的


 ^$ 空行


 ^[[:space:]]*$ 空白行


 <key> 匹配整个单词


 \< 词首


 \>词尾

 

posted @ 2020-09-15 21:59  deleteend  阅读(317)  评论(0)    收藏  举报