变量:
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