本节主要是标准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 6ID<500  CentOS 7ID<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   mailLinux中邮件的相关命令

      如 # mail -s helloxiaoming <<END

         >Hello

         >END

       其中,hello是主题,xiaoming是收信人,>>END是指明结束符