vim和管道
1.vim
1)各种模式
2 ) 快捷方式。
3)不支持扩展正则表达式
命令模式下怎么将复制到的插入到指定两行之间?
2.标准输入,输出,错误
exec 命令作用
fd:文件描述符
passwd 命令修改密码 既不属于标准输入也部署于标准输出,和错误
3.<|>重定向
/dev/pts/# :表示各个终端的文件
将错误和正确重定向到一个文件的三种方法ll
(1)&>文件夹:
(2)1>文件 2>&1 :顺序不能倒,倒了就会先将错误的输出到屏幕,而不会将错误按要求出入到文件里
(3) 2>文件 1>&2
1)>多次定向一个文件会造成文件被复盖。
2)>/dev/null 相当于重定向到垃圾箱
3) >+ 大文件,可以间接的释放内存
4) <file>file 清空该问价
5)<file>>对一个文件无限的写
6)默认全局是允许覆盖的
set -C 不允许覆盖 : >| 文件 可以强制覆盖。
set + C 允许覆盖
4.>>追加
\>>追加比touch更加安全原因:>>已存在的文件时,什么都不改变。而touch会改变文件的三时间(command;command)command 可以对()的内容一起做处理而,不是;分隔开两个命令。
5.<<将多行发送到STDIN中
1)默认cat > file : 一行一行的将行输入,输入第一行并回车时就已经生成文件了。
2) cat >file << EOF:当输入终止符才结束,文件才生成,
3)在写叫脚本时为了让对齐 cat >file <<- EOF在终止符之前加-可以自动对齐
4)echo \ " a >>top 会进入多行输入的模式
6.tr
1)常见的选项-c -d -s -t
2) 当tr "abc" "12" 时 当匹配到 c没对应时 c紧接着2拿来对应 -t后取消
3)tr 转换时 转换要前后一致不能 前面用通配符后面用字母。
注意:windows 文件与 linux文本文件的区别 :Oa 在acII码中是 换行 在win 中 od oa 是换行: 将windows文本文件装化成linux文将方法:
1.以二进制的方式将od 删除
2.vim
3.dos2nux 软件
7.mail
mail -s 'hello' wang 内容
默认设置mail 只能在系统用户内传递
8. |
1)标准输出|标准输入输出|输出
2)-的用法: tar -cvf - /home | tar -xvf - 测试这条命令的性能
3) tee 的用法 command | tee file (| command)输出到屏幕(作为另一个命令的输入)
9.seq
-s 设置分隔符 默认分隔符为换行
echo {1..10..2} 输出从1到10 以2为差。
seq 50 -3 30
用户和组
1.user
1)用户获得文件 权限的原理:令牌
2)uid标识唯一用户,root uid=0
3)账户没有家目录会有问题但是可以登录
4)UID分配问题
2.group
1)与windos 相比linux 用户名和组名可以相同
2)一个用户只能有一个主组,可以有多个附加组(私有组)这个用户的权限=附加组+主组+ 个人+其它
3)一个组在没有成员时就会被删除。(指的这个组没有管理员还是说一个成员没有?)
4)创建的组一般都没密码,只有创建了密码的组才可以被加入,root 用户通过修改group文件和gshadow文件也可以。
组管理员可以吗?
3./etc/passwd
1)格式:用户名+X+UID + 主组ID+GECOS(账号描述)+家目录+SHELL类型。
2)X位置之前存放密码可以通过命令修改密码存放的位置: pwunconv ,恢复:pwconv.
3)账号描述相关的命令:chfn 为用户添加 描述finger 用户 的详细信息
4./etc/shadow
1)格式:用户名+ 用户密码+上次更改口令的时间(离1970多少天)+口令的最短更改期 +口令的最长有效期+口令过期前几天通告+过期后可逾期几天+账号有效期
2)用户密码:前两位为$6表示加密的方式为sha512 $1是用MD5加密,加密后通过base64处理(为了是相同密码相同加密方式得到的明文不同,加密是密码会加上salt已获得不同的明文)
3)当shadow的密码位置为有!号是表示该账号被锁住,(centos 6之后不允许解锁无密码的账户)usermod -L 加锁 usermod -u 解锁
4)上次更改口令的时间位为 0表示下次登录必须修改密码
5)口令的最短更改期 位 为 0 :随时可以更改密码
6)口令的最长有效期位 为 99999:密码永久有效
4./etc/group
1)格式: 群组名称+群组密码+群组ID+当前组的用户列表
2) 当前组的用户列表:必须与gshadow 文件的中的组成员列表相同,否则一些程序无法使用。
5./etc/gshadow
1)格式:用户名+密码+组管理员+组成员
2)组成员一定要与group组成员相同。
6.对用户组文件的操作
vipw = vi /etc/passwd
vigr =vi /etc/group
vipw -s =vi /etc/shadow
vigr -s = vi /etc/gshadow
(vi打开文件修改)
pwck 可以检测 passwd 和shadow 文件件
Grpck 检查 /etc/group etc/gshadow 文件的格式错误
7.用户命令
1)useradd ( -u -o -g -c -d -s -G -N -r -m -M)
2)useradd -D 显示创建用户默认设置
useradd -D -(s b g)更改
3)getent +group /gshadow/passwd/gpasswd [用户或组名]
4)chfn + 用户 更改用户的描述信息。
chsh 指定shell
finger查看用户详细 默认没有安装。
5)usermod 修改用户信息 (-u -g -G -s -c -d -l -L -U -e -f)
usermod -G + 组名 +用户名 :是对原先用户所属组的覆盖
-aG则是添加
删除用户的所有副组的方法 usermod -G “” 用户
6)删除 用户 userdel + 用户 (-r 删除用户家目录:默认是不删除用户的家目录会造成在新建同名用户时无法创建)
7)chpasswd 可以批量给用户加密码
8)查看用户信息 id( -u -g -G -n) + 用户
9)su 切换用户 su - 用户完全切换 区别:? -c + 命令 切换用户并
10)passwd (-d -l -u -e -f -n -x -w -I --stdin)username
-u Centos 6之后不可以解锁 没有密码的用户
11)chage ( -d -E -I -m -M -W -l ) 。。 用户 修改用户策略
12)pwconv
13)authconfig --passalgo=sha256 --update 更改加密方式
8.组命令
1) groupadd ( -g -r) group_name { 系统用账号centos 6: ID<500 ;centos 7 <1000
2) gpasswd(-a -d -A)
3) newgrp :临时切换主组 针对普通用户(会创建子shall)
4)groupmod ( -n -g)name
5) groupdel + name :如果删除的组为用户的主组name无法删除。
6)groupmems (-g -a -d -p -l)-g什么意思:该命令后面不能加 组名 只能根据 -g来指定操作的对象
7)groups 查看用户所属组列表
9.新建用户的相关文件
1) /etc/defalut/useradd
Group =100 什么意思?:当创建用户设置不创建同名组时,将用户的主组设置为100.
INACTIVE=-1 用户密码过期后可以用多久,也就是passwd文件倒数第三选项(-1表示永远不锁定)
ExPIRE 账户的有效期 空为永不过期
2) /etc/skel 为新建账户的模板文件夹。
spool=yes
3)/etc/login.defs
定义shadow gshadow 的各项参数设置