170810

来源:互联网 发布:upchina是什么软件 编辑:程序博客网 时间:2024/05/29 19:46
管理员 id 为0
普通用户是 1-65535
系统用户是 1~499 (centos6) 1~999(centos7)

普通登入用户500~60000        1000~60000

su - user  切换了env      登录式切换
su user    不会切换env  非登录式切换

env 环境变量

su - user -c “命令” 切换user用户来执行它的命令

用户

useradd 用户的添加

-u 指定uid

-g 指定gid

-G 指定附加组

-M 不创建家目录

-m 移动目录内容到路径里和-d一起使用

-d 指定用户的家目录

-s 指定用户的默认shell

-c 注释说明

-L 锁定用户的密码

-U 解锁用户

-r 创建系统用户

usermod 修改用户属性


userdel  删除用户信息



groupadd

groupmod

groupdel


权限

chmod 修改权限

r   对应数字

w 对应数字

对应数字1 执行


umask  权限遮罩码

粗俗点就是临时修改权限,后面再深入了解

可查看当前的umask 有的系统有4位 默认读后3位


install 复制文件并设置文件属性

install 相当于 cp  可指定文件属组属主 权限 文件属性

install abc.old -m 633 abc.new  复制abc.old 为文件adc.new 并设置权限为633

-o 指定属主

-g指定属组

-d创建目录  类似于mkdir

chwon修改文件属主 属组 (属性)


通配符

通配符是模糊匹配的基础,用于方便查找文件


 *  : 匹配任意长度的任意字符 可以是0个或多个

? :匹配任意单个字符,必须有一个

[ ]  :匹配指定范围内的单个字符

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

[^[0-9]]       :或[^0-9] 表示匹配数字外的任意字符

[^[:upper:]] : 表示匹配大写字母外的任意字符

pa[0-9]      :pa后面匹配一个数字

[[:punct:]] :表示所有的标点符号

[[:space:]] :表示所有的空白字符

[[:alnum:]]:表示所有的字母和数字

[[:digit:]]  :表示所有数字

[[:alpha:]] :表示所有字母

[[:lower:]] :表示所有小写字母

[[:upper:]] :表示所有大写字母


重定向

> 覆盖

>> 追加

&>,&>>  错误正确一起重定向

0标准输入

1正确输出   > 与 1> 相同

2错误输出  2> 


grep

grep是一款文本过滤工具,基于正则表达式进行模式匹配

/*(三大文本处理器 :grep   sed   awk)

sed :stream editor 流编辑器

awk :linux上实现为gawk ,文本报告生成器(格式化文本)

*/

格式:grep [选项] 匹配模式 filename  匹配模式:指匹配的东西

grep    “abc” /home/passwd 查找/home/passwd 中 包含abd所在行的内容

grep -e ==egroup  表示使用扩展的正则表达式

-A(after) 显示匹配到的行和其它后面的行,给一个数字

grep -A 1 root /etc/passwd

-B(before)显示匹配到的行和其前面的行,给一个数字

-C(center)显示匹配到的行和其前后的行,给一个数字


字符匹配

 .  : 匹配任意字符

[ ]:匹配指定范围内的单个字符

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

与通配符结合使用

[[:digit:]] [[:lower:]] [[:upper:]]  [[:alpha:]] [[:alnum:]] [[:punct:]] [[:space:]]


匹配次数

用在要指定器出现的次数的字符后面,用于限制其前面字符出现的次数,默认是贪婪模式(.*)

 .*   :匹配任意长度的字符

\?:匹配其前面的字符0次或一次,即其前面的字符是可有可无的\+:匹配其前面的字符一次或多次,即其前面的字符要出现至少一次\{m\}:精确匹配到其前面字符的m次\{m,n\}:匹配其前面的字符至少m次,至多n次 \{0,n\}:至多n次\{m,\}:至少m次


位置锚定

^: 行首锚定,用于模式的最左边$: 行尾锚定,用于模式的最右边^pattern$:用于pattern来匹配整行 (pattern:模式) ^$:空白行 (什么都没匹配所有是空白行)^[[:space:]]$:空行或空白字符的行单词:非特殊字符组成的连续字符都称为单词\<\b:词首锚定,用于单词模式的左侧\>\b:词尾锚定,用于单词模式的右侧  (对于egrep来说 只有 >  <  才用转译符"\" 其他都可以不用转译符)\<pattern\>:匹配完整单词


egrep


egrep == grep -e   基于扩展的正则表达式做模式匹配

与grep用法类似 只不过大部分不用加“\”转译符(除了 ">" " <")


1:字符匹配 . :匹配任意单个字符[ ]:匹配指定范围内的任意单个字符[^ ]:匹配指定范围外的任意当个字符 [[:digit:]] [[:lower:]] [[:upper:]]  [[:alpha:]] [[:alnum:]] [[:punct:]] [[:space:]] 次数匹配 *:任意次,01或多次?:0次或1次,其前的字符是可有可无的+:其前字符至少1次{m}:其前的字符m次{m,n}:至少m次,至多n次 {0,n}{m,}位置锚定 ^:行首锚定$:行尾锚定\< 或 \b:词首锚定,用于单词模式的左侧\> 或 \b:词尾锚定,用于单词模式的右侧

分组及引用

() :分组 括号内的模式匹配到的字符会被记录到正则表达式引擎的内部变量

后向引用:/1,/2  分别是取第一组和第二组


a | b  表示 a或b     C|cat表示 C或cat (C|c)at表示 Cat或cat


sort 排序

格式 : sort [选项] 文件名

用法同cut相同

sort /etc/passwd  表示将所有的用户从a到z进行排序(文件中每行第一个字母排序)

-t:指定字段分隔符,便于指定排序的字段-k:用于排序比较的字段    sort -t: -k3 -n /etc/passwd  基于用户的uid的大小进行排序-n:基于数值大小排序      cut -d: -f3 /etc/passwd | sort  按字符进行排序    cut -d: -f3 /etc/passwd | sort -n  按数值大小进行排序-r:逆序进行排序    sort -t: -k3 -n -r /etc/passwd-f:忽略字符大小写    这里是由于ASCII码的原因,因为A的ASCII码为:65,a的ASCII码为97 -u:重复的行只保留一份
sort -t: -k7 -u /etc/passwd



diff 和patch命令

diff:比较文件的不同(逐行的比较)显示出来

举个例子来说文件A和文件B,经过diff之后生成了补丁文件C,那么着个过程相当于A -B = C ,那么patch的过程就是B+C= AA-C =B


patch; 打补丁工具 将补丁打到老文件中 使得老文件和新文件一样


格式:diff [选项] 老文件 新文件

格式:patch [选项] 老文件


vim编辑器


底行模式

 

1)地址定界     :start_pos[,end_pos]     #: 特定的第#行,例如5 为第五行    .: 当前行    $:最后一行    #,#:指定行范围,左侧为起始行   #,#+:指定行范围,右侧为左侧行的偏移量 ,例如:3,+7    %:全文    /pattern/:第一次被模式所匹配到的行2:可实现编辑操作 ,同编辑命令一同使用    d:表示直接删除,要求直接跟在地址定界符号的后面, 例如::.,$d 表示当前行到最后一行删除。   y:用来复制地址定界匹配到的行    c:用来修改地址定界匹配到的行    w /path/to/file :将范围内的文本保存至文件中    r /path/to/file:将指定的文件的文本插入指定位置3:查找    /pattern:查找模式匹配到的所有字符串,向下查找, 然后在键盘上按n键会继续向下匹配    ?pattern: 查找模式匹配到的所有字符串,向上查找,然后在键盘上按n键会继续向上匹配4:查找并替换(极其重要)    (1)格式:地址地接符s/要查找的内容/替换为的内容/修饰符         要查找的内容:可以使用正则表达式        替换为的内容:不能使用正则表达式,但是可以引用             如果使用了分组,也就是在要查找的内容中使用了( )话,可以使用后向引用, \1表示引用第一个括号匹配的内容, \2表示第二个括号匹配的内容, \3表示第三个括号匹配的内容  也可以直接引用查找模式匹配到的整个文本,直接使用匹配模式的全部文本:用&符号引用整个模式匹配到的文本(2)修饰符        i:忽略大小写        g:全局替换,也就是如果不加g的话,那么只是一行匹配一个,如果第二个被匹配了也不会被替换,如果加了g,那么一行中无论匹配到多少个都会被替换(3)可把分隔符替换为非常用的字符         例如:s@@@               s###

有关例子

用查找替换命令为/tmp/functions文件的每一个空白字符开头的行的首行加上#

:%s/^[[:space:]]/\#&/g

将/etc/yum.repos.d/CentOS-Base.repo文件中所有的enabled=0替换为ennabled=1,所有的gpgcheck=0替换为gpgcheck=1

:%s/\(enabled\|gpgcheck\)=0/\1=1/g















原创粉丝点击