学习笔记(4)

学习笔记(4)

1. shell脚本中打印输出内容时,若使用下面的格式要注意下面的EOF前面没有空格
cat  <<EOF
“**************************************************************************************”
“** This script can help your restart weblogic service and clear your weblogic cache. **”
“**************************************************************************************”
“Usage: ./RestartWeblogic_test.sh “
EOF
2.xargs 可以处理参数过长的问题,如 ls file* | xargs rm   如果file开头的文件过多时,可以逐个删除
  [root@centos6 zhanglei]#touch file{1..400000}
  -bash: /bin/touch: Argument list too long
  此时可以使用 echo file{1..400000} | xargs rm   xargs可以逐个删除每个file
3.在tty的虚拟终端里面只需要使用Alt + f1(f2,f3) 就可以切换终端,无需使用Ctrl+Alt+f1(f2,f3),在图形化界面里需要使用Ctrl + Alt + f1(f2,f3)
4.ctrl + c 关闭图形化程序startx是在pts伪终端关闭的,而不是tty,图形化程序与运行5级别有区别,5级别会运行一下其他的图形化服务
5.使用vi编辑器打开多个文件可使用qall 全部关闭并且不保存,也可以使用wqall 全部保存并关闭
6.# sed -n ‘1~2p’ /etc/passwd    打印奇数行,~2标示步进数,从第1行开始
7.# sed -n ‘2~2p’ /etc/passwd   打印偶数行,从第2行开始
8.watch -d -n 1 ‘ls -/home/zz’  实时查看zz某个目录下变化情况,每一秒输出一行
9.rename ‘hhh’ ‘HHH’ file*   将file开头的文件名中包含的hhh修改成HHH
10.paste a b   将多个文件的内容合并,并用tab分隔符隔开
11.paste -d’+’ a b  将多个文件的内容合并,并指定分割符为+号
12.cmd 2>all.log 1>&2  (cmd >all.log 2>&1) 两种写法均表示将正确重定向和错误重定向全部输出至文件
13.tr -c ‘abc’ ‘123’  将非abc的字符全部转成最后一个替换字符3
14 tr ‘a-z’ ‘A-Z’ file 将file中的小写字母转成大写
   tr ‘abc’ ‘1234’   将abc每个字符文件替换成123,4忽略
   tr -d ‘abc’   删除字符集中存在的abc字符
   tr -dc ‘abc’  删除字符集中的非abc的字符
   tr -s ‘abc’   压缩字符集中连续的字符如aaa,bbb,cccc
15.cat > linux.txt 输入内容至linux.txt文件,但是会清空源文件中的内容,若不相清空文件需要使用多行重定向 cat > linux.txt <<EOF 不保存退出使用Ctrl + c,保存退出使用 Ctrl + d
16.hexdump -C 1.txt 换行符对照ASCII码,可以通过ASCii码对照表查看特殊字符对应的10进制
17.tr -d ‘\15(\r)’ < win.txt > win2.txt ,tr不修改原文件,保留修改的后的内容需要使用重定向输出
   tr -d ‘\r’ < win.txt |cat -A  查看修改的后的文本内容
18.tr ‘\n’ ‘\t’ < linux.txt  将文本内容的回车修改为水平制表符
19.tr -s ‘ ‘ < win3.txt   将文件中的内容多个空格压缩成一个
   df |tr -s ‘ ‘ ‘:’| cut -d: -f1 将输出的内容压缩空格后将单个空格以:号替换,并打印:号分隔的第一列
20.tr -s ‘ ‘ ‘:’ < df.log  压缩字符集中的空格,并用:号分割
21.cat > f2 清空原文件,使用的是单行重定向,输入过程中每一行会根据输入回车来更新文件
22.<<EOF  多行重定向,输入的标记EOF左右无空格,通过输入内容是否为标记符来判断输入内容是否完成,遇到标记符后才进行多行输入至文件
   cat > A.txt <<EOF  只有在输入EOF之后才会将内容输出至文件并保存
   mail -s “call” admin@localhost <<END(<file.txt 可以通过文件内容作为mail正文)
   mail -s “call” amdin@localhost   提示输入正文,输入.号表示输入正文结束并发送邮件
   cat > f2 <<EOF 不会覆盖原文件的内容,EOF结束标记的左右不能有空格,否则不算EOF结束符
23.tr ‘a-z’ ‘[:upper:]’ 不能混合使用,只能[:lower:] [:upper:] 或 ‘a-z’ ‘A-Z’
24.mail -s “help” root  此命令以.结束输入正文结束,正文可以存在变量,如$HOSTNAME,也可有命令替换,命令替换的均为发件人的信息
   mail -s “help” root 后面提示输出的正文通过.来终止输入并发送邮件
   使用mail查看邮件之后可使用q 来退出
25.管道是将前一个命令的标准输出作为后一个命令的标准输入,所以对于错误重定向需要使用2>&1 来转换才可以作为下一条命令的输入,也可以使用 |& 来实现
   ls /erro 2>&1 | tr ‘a-z’ ‘A-Z’ (|&  centos6 版本以上) 将错误重定向和正确重定向管道至tr
26.echo {1..100} | tr ‘ ‘ + |bc (seq -s + 100 |bc)  空格符号’ ‘ 不能使用[:space:]包括回车
27.管道中的 – 替换 如: tar -cvf – | tar -xvf – 打包以后再次拆包
28.ls | tee -a ls.log |tr -d ‘\n’ -a表示追加内容而不覆盖,使用tee命令可以在保存输出的情况下再此对输出做进一步重定向
29.mail -s “help” root <<EOF   输入mail邮件的正文并且以EOF判断正文结束并发送邮件
30.ls | tr ‘\n’ ‘ ‘ 将ls输出的内容中的回车 转成空格符
31.cat -A win.txt   -A选项查看特殊字取符集
32.tr -t ‘abcd’ ‘xyz’ -t选项会忽略后面无匹配项的d
   tr ‘abcd’ ‘xyz’  abc的匹配xyz,多出来的d也匹配z
33.openssl rand -base64 10 生成随机数
   touch `openssl rand -base64 10 |tr -dc ‘[:alnum]’ | tr ‘[:upper:]’ ‘[:lower:]’`
34.wang g1 g2 g3  累加权限
35.pwunconv 密码文件回复到源文件 pwconv
36.修改文件 重新登录 获取令牌,而非source
37.init=/bin/bash
   mount -o …
38.chfn wang 添加用户描述
39.finger wang 查看用户的描述信息,也可以使用 # cat /etc/passwd 查看
40.用户家目录的配置文件 .bash_profile  .bashrc,配置文件来自 /etc/skel
41.cp -r  /etc/skel/.* /data/wang  此种写法会包括..,因为..会将上一层的/etc所有为的文件拷贝过去,正确的写法:cp -r /etc/skel/.[^.]* /data/wang
   注意:*号不包括隐藏文件
42.chsh -s /sbin/noglogin wang 为了安全,不能切换使用,锁定可以,系统服务使用,修改shell类型,修改的就是passwd文件
43.net accounts  windows 查看密码有效期
44.authconfig –passalgo=sha256 –update 修改密码策略其实修改的是配置文件是/etc/login.defs
45.openssl rand -base64 9 生成随机密码
46.shadow 中密码位!!表示账户锁定,删除可!!可以直接登录
47.usermod -U 账号  去!号 rhel5可以 !!双保险,centos6以后不可以
48.usermod -L 锁定可以切换,不能ssh登录
49.passwd -e  密码立马过期,登录之后换密码
50.change -d 0 用户 口令立即失效
   chage wang  chage -l wang
51./etc/default/useradd 有两个字段?
52.useradd -N fastfs  -N选项表示创建fastfs用户并且不给出主组,直接使用默认的users组(cat /etc/default/useradd)
53.附加组 /etc/group     groups root
54.id 、id root 显示会有区别,id显示的要比直接使用id root显示的信息更加详细
55.gpasswd mage
   newgrp mage
56.vipw vigr 带语法检测,防止语法错误无法开机,如没有uid为0的账户
57.pwck  grpck  语法检查  手动
   pwck -s  可以按照uid的由小到大排序/etc/passwd文件,因为后加入的用户不论uid大小均放到文件的最下面
   pwck -q  做语法检查时不输出警告信息
   grpck -s  可以按照gid的由小到大排序/etc/passwd文件
58.getent passwd(group) xixi  直接查看passwd文件中的指定行(xixi用户)
   getent group
   getent gshadow
   getent shadow
59.多服务器部署相同服务指定id号,所以可以指定创建用户的uid号
60.id 命令会输出用户的安全上下文,id root不会输出安全上下文
61.删除用户以后,用户家目录里面的文件的所属组和所属用户的变为用户的uid和gid
62.rpm -qp –scripts bind-9.9.4-37.el7.x86_64.rpm  –scripts 查看软件包安装过程中的脚本
63.useradd -D  显示cat /etc/default/useradd 中的文件内容,也可以通过指定相应的参数来修改
64.echo $RANDOM  输出随机数 (man bash) echo $[RANDOM%102+1]
65.newusers passwd 批量创建账号
66.cat pass.txt | chpasswd   批量为用户加口令,注意在pass.txt文件内容不允许有空格,创建的用户不存在/etc/skel中的模板文件
   pass.txt 内容如下:用户名和密码用冒号分隔,并且每行一条
   username1: password1
   username2: password2
   cp -r /etc/skel/.[^.]* /home/zl1 来将模板文件拷贝至zl1中,注意要去除掉..,否则会将上级目录也拷贝至zl1目录中
   chown -R zl1:zl1 /home/zl1 将目录及目录下的文件用户属性和所属组属性全部修改成zl1
67.usermod -G “” wang (usermod -G wang wang)用于将wang账户中的附加组清空
68.id -gn wang  id -Gn wang   显示wang账户中的私有组或附加组
69.使用不完全切换需要使用当前目录的情况下可以不用切换目录,否则变成指定用户的家目录
70.su – root -c ‘ls’  切换用户 并执行切换后用户的命令
71.主组在有用户存在的情况下不能删除 ,因为每一个用户必须属于一个主组
72.groupmems -l -g g1 显示组g1中有哪些用户
73.groupmems -a wang -g g1
74.gpasswd -d wang g1
75.groups username 查看username中的组,包括主组和附加组
76.userdel -r zl -r选项不仅仅删除用户的家目录还包括用户的邮件
77.authconfig –passalgo=sha256 –update 修改密码加密方法,默认是sha512(cat /etc/login.defs)
   useradd -u 1000 -c “test user” -d  /data/zl zl 创建用户之后查看 /etc/shadow文件对应的行
78.shadow 文件的格式
   zl:$5$0OAxljIs$Za5.tY3FFsS68dcF3GZ8qqaXfxdyj.yEOPjmLhlBcp4:17624:0:99999:7:3:100:
   root:用户名
   $5$0OAxljIs$Za5.tY3FFsS68dcF3GZ8qqaXfxdyj.yEOPjmLhlBcp4:经过sha256加密的密码(已经使用authconfig –passalgo=sha256 –update 修改)
    5:表示的是经过的sha256加密
    $0OAxljIs$: 两个$$之间的是salt ,即使用加密算法时添加的随机数,所以相同的密码后面的加密字符不会相同
   17624:表示上一次修改密码的时间,即为距离1970.1.1至修改时间所过去的天数
    date +%s 查看现在时间距离1970.1.1过去的秒数
    使用bc命令
    1522724532/3600/24 = 17624 便可以计算出哪一天修改的密码
   0: 表示密码使用的最短日期,如果为3,则表示密码最少要使用3天,0表示密码随时可以修改
   99999: 表示密码的最长时间 99999表示密码永远不过期
   7:表示密码即将过期的第7天发送提示信息
   3:表示密码在过期之后还可以使用3天,但3天过后账户被锁定
   100:表示多少天后账号失效
79.chfn 提示输入用户的个人信息,修改完成后可以使用cat /etc/passwd 来查看
80.chsh 可以切换shell类型,修改的就是/etc/passwd指定的shell类型
   chsh -s /bin/csh zhanglei    要是用shell类型的全路径 cat /etc/shells
81.groupdel
82.groups 可以查看指定用户的组,包括主组和附加组
   groups zl
83.groupmems -l -g zl 查看zl组内的成员用户
84.gpasswd 为组添加密码
85.newgrp  当用户具有多个组的时候可以使用newgrp来切换组
86.常用的配置文件路径:
   cat /etc/skel
   cat /etc/default/useradd
   cat /etc/login.defs
87.gpasswd 为组添加密码,任何一个用户只要知道密码都可以切换至该组,如果不设置组密码则用户不能使用newgrp来切换组,但是属于同一个用户的不同组可以使用newgrp来切换且不需要密码
88.cat /etc/passwd |wc -l (sed -n ‘$=’ /etc/passwd) 都可以计算文件的行数
89.安全3A Authentication: 认证  Authorization: 授权  Audit 审计
90.在cp拷贝所有文件的时候要注意* 号不能匹配路径汇总的隐藏文件

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

(0)
上一篇 2018-04-22 17:32
下一篇 2018-04-22 17:37

相关推荐

  • iptables/netfilter、 tcp_wrapper

    iptables/netfilter: Firewall:防火墙,隔离工具;工作于主机或网络边缘,对于进出本主机或本网络的报文根据事先定义的检查规则作匹配检测,对于能够被规则匹配到的报文作出相应处理的组件; 主机防火墙 网络防火墙 软件防火墙(软件逻辑): 硬件防火墙(硬件和软件逻辑):NetScreen,CheckPoint,。。。 iptables(ne…

    Linux笔记 2018-06-05
  • 第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。cp -r /etc/skel/ /home/tuser1chmod -R go= /home/tuser1 2、编辑/etc/group文件,添加组hadoop。vi /etc/groupG 跳到最后一行o 进入输入模式添加…

    Linux笔记 2018-05-30
  • 从小白到小白😂

    不知道写啥,用我写的脚本练习题凑凑数

    Linux笔记 2018-04-15
  • 二进制编译MariaDB

    安装环境 iptables selinux mariadb-server 卸载 创建账号 useradd -r -d /data/mysqldb -s /sbin/nologin mysql 解压缩 tar xvf mariadb-10.2.15-linux-x86_64.tar.gz -C /usr/local/ 创建软链接 cd /usr/local l…

    Linux笔记 2018-06-10
  • systemctl命令

    systemctl

    Linux笔记 2018-04-24
  • Linux笔记 2018-04-07