本节主要是标准I/O和管道及用户和组的相关
标准I/O和管道
i是输入 o是输出
程序:指令+数据 或数据结构+算法
程序都有读入数据和输入数据的需求
标准输入(STDIN) :键盘,0
标准输出(STDOUT):显示器,1
标准错误(STDERR):显示器,2
I/O重定向:改变标准位置
输出重定向:COMMAND > NEW_POS,COMMAND>>NEW_POS
>:覆盖重定向,目标文件汇总的原有文件会被清除
>>:追加重定向,新文件会追加至目标文件尾部
#set -C:禁止将内容覆盖输出至已有文件中;
如果需要强制覆盖,使用:>|
#set +C:关闭覆盖已有文件的功能。
2>:覆盖重定向输出流
2>>:追加重定向错误输出数据流
标准输出和错误输出各自定向至不同位置:
COMMAND>/path/to/somfile 2>/path/to/err.out
合并标准输出和错误输出为同一数据流进行重定向:
&>:覆盖重定向
&>>:追加重定向
COMMAND>/path/to/file.out 2>&1
COMMAND>>/path/to/file.out 2>>&1
():合并多个程序的STDOUT
(cal 2007 ;cal 2008)> all.txt
管道:
COMMAND1|COMMAND2|COMMAND3|.....
(最后一个命令会在当前shell进程的子shell进程中执行)
安全3A
资源分派:Authentication:认证
Authorization:授权
Accouting|Audition:审计
用户和组的配置文件
Linux用户和组的主要配置文件:
/etc/passwd:用户及其属性信息
/etc/group:组及其属性信息
/etc/shadow:用户密码及其相关属性
/etc/gshadow/:组密码及其相关属性
用户创建:useradd
Useradd [options] LOGIN
-u UID:[UID_MIN,UID_MAX]定义在/etc/login.defs
-o 配合-u选项,不检查UID的唯一性
-g GID:指明用户所属基本组,可为组名,也可以GID
-c “COMMENT”:用户的注释信息
-d HOME_DIR: 以指定的路径为家目录
-s SHELL:指明用户的默认shell程序,可用列表在/etc/shells文件中
-G GROUP1[,GROUP2,...]:为用户指明附加组,组必须事先存在
-N 不创建私用组做主组,使用users组做主组
-r 创建系统用户 CentOS 6:ID<500 CentOS 7:ID<1000
用户属性修改:usermod
usermod [options] LOGIN
-u UID:新UID
-g GID:新GID
-G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a 选项,表示追加
-s SHELL:新的默认SHELL
-c 'COMMENT':新的注释信息
-d HOME: 新的家目录,原家目录中的文件不会同时移
动至新的家目录,若要移动,则同时使用-m 选项
-l login_name: 新的名字
-L: lock 指定用户
-U: unlock 指定用户
-e YYYY-MM-DD: 指明用户账号过期日期
-f INACTIVE: 设定非活动期限
其它:
创建用户:useradd
删除用户 userdel [OPTION]...LOGIN
-r 删除用户家目录
命令
tr 转换和删除字符
-c 取字符集的补集
-d 删除所有属于第一字符集的字符
-s 把连续重复的字符以单独一个字符表示
-t 先删除第一字符集较第二字符集多出的字符
file 确定文件内容
-b 列出文件辨识结果时,不显示文件名称。
-c 详细显示指令执行过程,便于排错或分析程序执行形
-f 列出文件中文件名的文件类型
-F 使用指定分隔符号替换输出文件名后默认的”:” 分隔符
-i 输出mime 类型的字符串
-L 查看对应软链接对应文件的文件类型
-z 尝试去解读压缩文件的内容
--help 显示命令在线帮助
mail mail是Linux中邮件的相关命令
如 # mail -s “hello”xiaoming <<END
>Hello
>END
其中,hello是主题,xiaoming是收信人,>>END是指明结束符