密码管理 :
passwd : 修改自己的密码;
passwd USERNAME : 修改指定用户的密码
passwd
-l : 锁定用户账户
-u : 解锁用户
--stdin : Standard Input 标准输入,避免用户交互方便写脚本 。
例 :echo pass123| passwd --stdin USERNAME :意思是直接把USERNAME的密码修改为pass123
密码安全策略:
足够复杂:
1、密码长度至少5位;
2、包含大写字母、小写字母、数字和特殊字符至少三类;
3、定期更换 ;不要重复使用此前用过的密码;
改变文件权限 (mode):
chmod : change mode
chmod [选项] 权限 文件
权限定义方式:
同时修改三类用户的权限 r读权限 w写权限 x执行权限 :
1、8进制数字方式:
r=4 w=2 x=1 -=0 rwxr-xr-x=755 r--r--r--=444 rw-r--r--=644
例:chmod test.sh 755
2、修改某一类或某些类用户的权限 : u,g,o,a u:属主 g:属组 o:其它 a:全部
u=rw
u=rw,g=r
ug=rw
例:chmod ug=rwx test.sh
3、只操作某类用户的某位或某些位权限 :u,g,o,a
+/-
u+w
+x
-x
g-rw
例:chmod u+w test.sh : 给
选项:
-R :递归修改权限;
--refernce=/path/to/somefile FILE
修改文件的属主和属组:
chown [选项] 用户 文件
chgrp [选项] 组 文件
选项 :
-R :递归修改权限;
--refernce=/path/to/somefile FILE
chown 用户:组 文件
chown 用户.组 文件
管理员和普通用户创建文件或目录的默认权限;
umask : 遮罩码
默认情况下的root用户umask值是022(umask命令查看),普通用户umask值是002
[root@localhost ~]# umask0022
文件用666减umash值 目录用777减umash值
666-022=644
777-022=755
这时建立的文件默认权限是644(6-0,6-2,6-2),建立的目录的默认权限是755(7-0,7-2,7-2)
# umask :不输入参数显示当前值
# umask [mode] :设定umask,例:umask 022;生效范围为当前shell,如果想全局生效则把命令写入/etc/bashrc 或当前用户家目录的~/.bashrc
bash命令行中的快捷键
tab : 自动补全
Ctrl+a : 跳到命令行首
Ctrl+e : 跳到命令行尾
Ctrl+u : 删除命令行首至当前光标所在首的内容
Ctrl+k : 删除当前光标所在外至命令行尾的内容
Ctrl+l : 清屏,相当于clear命令
Ctrl+c : 取消或终止 ;
Ctrl+z : 将当前命令挂起送至后台,在命令输入fg恢复;
例:当你vi一个文件是,如果需要用shell执行别的操作,但是你又不打算关闭vi,因为你得
存盘推出,你可以简单的按下CTRL-Z,shell会将vi进程挂起~,当你结束了那个shell操作之后,你可以用fg命令继续vi你的文件。
sort : 排序
-f : 忽略字符大小写;
-n : 按数值大小进行排序;
-r : 降序;
-u : 移除重复行,具有相同内容的行只保留一个;
-t : 指定分隔符;
-k : 指定按第几项排序;
-R : 随机排序;
uniq :
-c : 统计每行重复的次数
-u : 只显示没有重复的行
-d : 只显示重复过的行;
Linux I/O重定向,管道
标准输入 : 0
标准输出 : 1
错误输出 : 2
将默认数据流为其它设备,就称作IO重定向;
输出重定向:
> : 覆盖重定向
set -C : 避免覆盖已经存在的文件中的内容
强制覆盖: >|
set+C: 关闭上述功能
>> :追加重定向:
/dev/null : 数据黑洞,bit bucket
错误输出重定向:
2> : 覆盖重定向;
2>> : 追加重定向;
同时重定标准输出和错误 输出:
COMMAND > /path/to/stdout 2> /path/to/error
COMMAND 1> /path/to/stdout 2> /path/to/error
标准输出和错误输出定向至同一个文件:
&>
&>>
COMMAND &> /path/to/stdout
COMMAND > /path/to/somewhere 2>&1
输入重定向:
<
COMMAND < /from/somewhere
<<: Here Document,此创建文档
cat > /path/to/somefile << EOF
abc
hello
EOF
通常用于脚本中生成文档
cat << EOF
abc
hello
EOF
通常用于脚本 中向用户输出大段信息;
管道:
COMMAND1 | COMMAND2 | COMMAND3 | ...
管道的最后一个命令是在当前shell的子shell中执行;
多道输出:
tee : 显示器和文件同时输出,既显示的显示,又保留一份到日志供后期查看。
COMMAND | tee /path/to/somewhere
例如过滤IP:
[root@localhost ~]# ifconfig | grep "inet addr:" | grep -v ”127.0.0.1“ | cut -d: -f2 | cut -d' ' -f1 | tee ip.txt192.168.1.202192.168.0.202127.0.0.1[root@localhost ~]# cat ip.txt192.168.1.202192.168.0.202127.0.0.1
本文出自 “不知所措的运维” 博客,请务必保留此出处http://osrun.blog.51cto.com/608651/1344491