4.8整理

根据教学顺序整理

变量:

PS1

PATH

PWD

OLDPWD

HISTSIZE

SHELL

 

3A:

Authentication 认证

Authorization  授权

Accouting|Audition 审计

token|identity 令牌

命令被另一个命令引用,需要反向单引号

cat > f1 建立一个空文件,回车即开始输入内容

hexdump -C f1.txt 查看某个文件的八进制内容

openssl rand -base64 12 随机生成12个字符

 

tr命令:

tr ‘a-z’ ‘A-Z’ 命令小写替换成大写

tr ‘a-z’ ‘A-Z’ < anaconda-ks.cfg > f1将某文件作为标准输入,执行tr命令并最终输出到f1文件

tr -s 压缩

tr -c 取补集

\r 回车

\n换行

tr -d 删除

tr -dc ‘abc’ 回车后即需输入待执行的字符串,最后按ctrl +d结算并退出

tr 命令接受通配符

<<end 多行输入时,可设置终止词

 

mail -s ‘hello’ wang 给wang账户发送邮件,写完用 . 结束书写;而收信者在登录用户后,输入mail可查询邮件,并输入对应数字,可查看邮件内容,quit退出查看邮件

例如:mail -s ‘hello’ wang  <<end

 

管道:

cmd1 | cmd2 利用管道,意为将cmd1的stdout(标准输出)作为cmd2的stdin(|后面可不空格)

例如:ls /boot /error 2>&1 | tr ‘a-z’ ‘A-Z’ 等价于ls /boot /error |& tr ‘a-z’ ‘A-Z’ 偶有一些老版本不支持|&写法

tar -cvf -/home | tar -xvf – 打包/home里的文件并作为管道后面的stdin,-表示前一个命令的stdout,因此不需要临时file了

tee 命令同时实现ls和ls >file.log 即显示,又重定向到file.log文件中

例如:ls | tee -a file.log 其中-a表示追加,并不覆盖

 

seq 10 列出1到10,之间以回车隔开

seq -s + 100 |bc 也可以自动算1到100累加,等同于:echo {1..100} | tr ‘ ’ ‘+’ |bc

 

权限:

Username/UID 用户权限

primary group 主要组:用户必须有且仅有一个

supplementary group 附加组

例如:

 

如下图,id默认只查询自己的id数据:

 

第一行为用户id的id名字和用户编号;第二行为用户所属的组id名称和组id的编号;第三行为上下文

 

如果有附加组,则会有groups=(gid)

Linux用户和组的主要配置文件:

/etc/passwd 用户及其属性信息(名称、UID、主组ID等)

/etc/group 组及其属性信息

/etc/shadow 用户密码及其相关属性

/etc/gshadow 组密码及其相关属性

 

chfn 用户名 :添加用户的一些信息(全名,办公室,电话等)

finger 用户名 :查看上面添加的用户信息

chsh -s /bin/bash 用户名 :为该用户修改shell类型

passwd 用户名,回车,输入两次新密码:修改某用户密码

passwd -e 用户名 :该用户密码立即过期

chage -d 0 用户名 :同上

gpasswd 用户名 :给该用户加口令

newgrp 用户名 :用户加组

useradd 用户名 :创建用户

 

vipw :文本编辑器,相当于vi /etc/passwd 其中vi=nano,便于编辑用户配置文件

vigr :编辑组配置文件的工具

pwck :检查用户配置文件格式是否有错误

grpck :检查组配置文件

cat /etc/passwd :查看所有用户的配置信息

getent passwd xx :只查看名为xx的用户的配置信息

cat /etc/default/useradd :显示创建用户的相关默认信息

useradd -D :同上

newsusers /data/userlist.txt :相当于批量创建里面新添加的所有用户

cat pass.txt |chpasswd :文件中格式为(用户名:密码,回车继续下一个),批量修改密码

 

su :切换用户(不完全切换)

su – wang :完全切换用户,没有残留!

 

文件的权限:

read :读权限r

write :写权限w

excute :执行权限x

chown chenjia f1 :把f1文件的所有者改为chenjia

chgrp chenjia f1 :把f1文件的所属组改为chenjia

chown chenjia.g1 f1 :同时修改f1文件的用户和组

groupmems -a chenjia -g g1 :将chenjia用户增加到g1组

usermod -aG g2 chenjia :同上,加a是为了不覆盖以前的附属组g1

gpasswd -a chenjia g1 :将用户加入g1组

用户可以将属于自己的文件拉入自己所在的所属组,不能操作所有者不是自己的文件

chmod :修改权限

方法一 :chmod chenjia+|-|=rwx f1

例如:chmod chenjia u+r,g-r,o=r f1

方法二 :八进制数字授权

rwx=111 —=000

r– :4

-w- :2

–x :1

奇数必有执行权限

chmod –reference=f1 f2 f3 :参考f1文件的权限设置f2和f3的权限

chmod -R a+x dir1 :R表示递归,a表示all

用户可以修改自己的文件的权限

管理员root不受r和w权限的控制

删除某文件需要该文件所属文件对应目前用户有w权限,因为文件夹也算是文件,删除其中的文件相当于删除普通文件的某个字符,自然就需要该文件的w权限

获取权限的顺序:先看u权限,再看g,最后o

 

umask :查询当前目录下默认权限default的掩码,意为取消对应的权限

umask+default=file666/dir777

对于文件:default=666-umask:对结果观察,如果有奇数则+1,偶数不变

例如:执行umask 251

则接下来建立的文件夹默认权限为:777-251=526

文件默认权限为:666-251=415,426

若想永久有效,需写入该用户的.bashrc文件中

umsak -p :显示为umask+掩码

umask -S :查询当前权限,并以字母模式显示

umask u=rwx,g=r,o= : 也可以这样设置权限

 

 

 

 

suid :继承二进制所有者的权限;s=S+x;suid=4

sgid :继承二进制所有组的权限;sgid=2

当作用于文件夹上时,意为该文件夹下创建的文件自动加入该文件夹的所属组

sticky1 :粘滞位;作用在文件夹上:o+t,则在该目录下,每个用户只能删除属于自己的文件t=1

 

chattr +i dir :锁定该目录,不能删除改名,修改;解锁-i

chattr +a :只能追加内容

chattr +A :锁定atime读时间

lsattr dir :查看上面被锁定的目录的锁定信息

 

ACL权限:

setfacl -m u:chenjia:rw f1 : 设置文件的附加用户权限;没有权限则写0

getfacl f1 : 查看ACL权限

当某用户同时属于多个附加组时,所属所有附加组权限叠加

setfacl -x g:g2 f1 : 删除f1中g2组的ACL权限

setfacl -m mask::r f1 :对f1中除了user和other之外的所有用户,设置最高权限

在设置了mask权限后,执行chmod g=rw f1 则是修改的mask权限,而不是组权限

setfacl -b f1 :清空所有ACL权限,变为普通权限

getfacl f1 | setfacl –set-file=-  f2 :复制f1的权限给f2

备份与还原ACL

getfacl -R /tep/dir1 >acl.txt :备份权限到acl.txt文件

setfacl -R –set-file=acl.txt /tmp/dir1 : 用dir1还原ACL权限

setfacl –restore acl.txt : 用备份的acl.txt 文件还原ACL权限

 

tac :为cat的倒叙,列倒叙

rev :为行反转

more : 一页一页看,q退出

less : 也可以分页显示,支持上下翻

head -n 3 /etc/passwd : 显示前三行(默认显示前十行)*支持标准输入

head -c3 : 显示前3个字节

tail :显示后数十行,语法同head

tailf :等价于tail -f 跟踪某个文件;-F跟踪监控的比较全面

 

cut -d: -f 1 /etc/passwd : 以:为分隔符,截取文件中的第一列;空格用“ ”

制定输出分隔符可后面接:–output-delimiter=STRING

paste f1 f2 :横向合并两个文件

paste -s f1 f2 :合并为同一行再合并两个文件

paste -d”:” f1 f2 :将默认用的tab键改为冒号

cat !* :纵向合并两个文件

centos6 上执行: service iptables stop 关闭防火墙和:chkconfig iptables off 开机不启动防火墙

centos7 上执行:sysytemctl stop firewalld 关闭防火墙和:systemctl disable firewalld 开机不启动防火墙

 

wc f1 :word count简写,默认显示文件默认显示的行、单词(不严谨)、字节

wc -l :看有多少行

wc -w :看有多少单词

wc -c :看字节

wc -L :最长的那行有多少字节(长度)

 

pv page view :查看网站访问数

 

sort -t: -k3 -nr / :t是识别分隔符,k是针对第几列,n是当数字排序(默认是按照字母排序),r是倒叙

sort -u :删除重复的

sort -R : 随机排序

 

uniq :删除相连的重复行 *支持标准输入!!!

uniq -c f1 :显示重复数

 

last :查看日志的命令,查询用户成功登陆的信息

diff -u f1 f2 >f3:比较两个文件的不同,u可以看其他的一些区别,并将不同记入f3,用于恢复

patch -b :利用上面的f3可以恢复f1或者f2

 

 

gerp :文本三剑客之一,文本过滤工具

grep(支持正则表达式),egrep(-E支持扩展正则表达式),fgrep(-F不支持正则表达式)

alias grep=’grep –color=auto’ :写入.bashrc中,改变过滤颜色,易于查看

grep -v : 排除搜索的字符串之外的

grep -i : 忽略大小写

grep -n : 编辑出行号

grep -c : 显示有该字符串的共几行

grep -o : 只显示字符串本身

grep -nA3 :A 为after,后面三行也显示,B是before,前后都要为C

grep -e -e -e … : 或者关系,搜索多个关键词的时候可用

grep -w :搜索单词字符串

grep具有贪婪模式

通配符用于文件名,正则表达式用于文件内容

正则表达式:元字符分类:

字符匹配:

.表示任意单一字符

\转义,转换为本身的含义

[] 表示其中任意的一个字符,其中可加^表示除了指定字符

匹配次数:

*表示前面出现的字符任意次,包括0

.*表示任意长度的字符

\?表示前面字符0或1次

\+表示前面字符至少1次

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

\{m,n\} : 匹配前面字符至少m次,至多n次

\{,n\} : 至多n次

\{n,\} : 至少n次

位置锚定:

^ : 行首锚定

$ : 行尾锚定

\< : 单词的开头

\> : 单词的结尾

\b : 单词的边界

分组:

\(\) : 把多个字符当做一个整体进行处理

后向引用:

分组后可接\1表示第一个分组再次出现

或者:\|

 

cat /etc/redhad-release : 查看版本信息

 

 

 

 

vi:文本编辑工具

vim是vi的升级版

vim +10 :直接从第十行开始编辑

vim -d f1 f2 : 比较两个文件

i键进入可插入模式,esc退回到默认命令模式,大写的i跳行首

A键去行尾

o下一行开始输入,O上一行开始输入

命令模式下:进入ex模式:w存盘,q退出,q!不保存退出

w f3 : 另存到f3

w!强制覆盖

r f3 : 将f3的文件写入

x :删除光标所在的字符

~ :转换大小写

J : 删除行后的换行符

r :替换一个字符

y :复制

c $ :修改后进入插入模式

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/95536

联系我们

400-080-6560

在线咨询

工作时间:周一至周五,9:30-18:30,节假日同时也值班

QR code