码迷,mamicode.com
首页 > 系统相关 > 详细

DAY5:linux文件系统(3)+重定向和管道+用户组赫尔权限管理(1)

时间:2016-08-02 17:30:22      阅读:275      评论:0      收藏:0      [点我收藏+]

标签:管道   索引节点   重定向   

7月29号,马哥linux学习第五天,学习内容主要:

一、索引节点

二、硬链接与软链接

三、重定向和管道

四、用户和用户组


一、索引节点(index node)

  •  一个节点 (索引节点)是在一个表项,包含有关文件的信息 ( 元数据 ),包括:

    文件类型,权限,UID,GID

    链接数(指向这个文件名路径名称个数)

    该文件的大小和不同的时间戳

    指向磁盘上文件的数据块指针

    有关文件的其他数据


  •  一个目录是目录下的文件名和文件inode号之间的映射


  •  CP命令和inode:

    分配一个空闲的inode号,在inode表中生成新条目 在目录中创建一个目录项,将名称与 inode编号关联 拷贝数据生成新的文件

    cp -f /etc/issue/ f1 将/etc/issue/删除再创建f1文件


  • rm命令和inode:

    链接数递减,从而释放的inode号可以被重用

    把数据块放在空闲列表中

    删除目录项 (数据实际上不会马上被删除,但当另一个文件使用数据块时将被覆盖)


  • mv命令和inode:

    目标和源在相同的文件系统:用新的文件名创建对应新的目录项 删除旧目录条目对应的旧的文件名 不影响inode表(除时间戳)或磁盘上的数据位置:没有 数据被移动!
    目标和源在一个不同的文件系统: mv相当于cp和rm



二、硬链接与软链接

  • 硬链接

    语法: ln filename  [linkname ]

    创建硬链接会增加额外的记录项以引用文件;对应于同一文件系统上一个物理文件;每个目录引用相同的inode号;创建时链接数递增;删除文件时: rm命令递减计数的链接;文件要存在,至少有一个链接数当链接数为零时,该文件被删除;不能跨越驱动器或分区,不能给目录创硬链接。


  • 软链接

    语法:ln   -s  filename  [linkname]

     一个符号链接指向另一个文件;ls - l的 显示链接的名称和引用的文件;一个符号链接的内容是它引用文件的名称;可以对目录进行;可以跨分区;指向的是另一个文件的路径,其大小为指向的路径字符串的长度;不增加或减少目标文件inode的引用计数。



三、重定向

  • 标准输入与输出:

    Linux给程序提供三种I/O设备:

       标准输入(STDIN)-0 默认接受来自键盘的输入

       标准输出(STDOUT)-1 默认输出到终端窗口

       标准错误(STDERR)-2 默认输出到终端窗口


  • I/O重定向:改变默认位置

    STDOUT和STDERR可以被重定向到文件: 命令 操作符号 文件名
    支持的操作符号包括:

    > 把STDOUT重定向到文件(set -C: 禁止将内容覆盖已有文件,但可追加 强制覆盖:>|    set +C: 解除禁止)

    2> 把STDERR重定向到文件

    &> 把所有输出重定向到文件
    (   > 文件内容会被覆盖     >>  原有内容基础上,追加内容)


    标准输出和错误输出各自定向至不同位置:

    COMMAND > /path/to/file.out 2> /path/to/error.out


    合并标准输出和错误输出为同一个数据流进行重定向:

    (1)&>:覆盖重定向         &>>:追加重定向

    (2)COMMAND > /path/to/file.out 2> &1  (&1表示同标准正确输出目录)

           COMMAND >> /path/to/file.out 2> &1

    多行重定向:cat  <<EOF                   cat > file <<EOF
     ():合并多个程序的STDOUT       ( cal 2007 ; cal 2008 ) > all.txt


  • tr命令:转换和删除字符
    tr [OPTION]... SET1 [SET2]
    -c或——complerment:取字符集的补集

    -d或——delete:删除所有属于第一字符集的字符

    -s或—squeeze-repeats:把连续重复的字符以单独一个字符 表示

    -t或--truncate-set1:将第一个字符集对应字符转化为第二 字符集对应的字符

    tr [a-z] [A-Z] 将小写转化为大写(输入时不能直接回删,可使用Ctrl+Backspace回删)


  • 管道

    命令1 | 命令2 | 命令3 | …

    连接程序,实现将前一个命令的输出直接定向后一个程序当作输入的数据流

    ls  | tr ‘a-z‘ ‘A-Z‘

    STDERR默认不能通过管道转发,可利用2>&1 或 |& 实现
    less :一页一页地查看输入: $ ls -l /etc | less

    mail: 通过电子邮件发送输入: $ echo "test email" | mail \ -s "test" user@example.com lpr:把输入发送给打印机 $ echo "test print" | lpr -P printer_name


  • tee命令:一次输入,两次输出(标准输出+文件)

    $命令1 | tee 文件名 | 命令2
     把命令1的STDOUT保存在文件名中,然后管道输入给命令2

    cat /etc/issue/ | tee /tmp/issue.tee | tr ‘a-z‘ ‘A-Z‘
    使用: 保存不同阶段的输出;复杂管道的故障排除;同时查看和记录输出


  • 特殊设备:

    /dev/null

    要使用状态结果而不需要执行结果时,执行结果放入 /dev/null



四、用户及用户组

  • 用户user

    Linux用户:Username/UID

    管理员:root, 0

    普通用户:1-65535

        系统用户:1-499(CENTOS6), 1-999(CENTOS7) 对守护进程获取资源进行权限分配

        登录用户:500(CENTOS6)+, 1000(CENTOS7)+

    交互式登录


  • 组group

    Linux组:Groupname/GID

    管理员组:root, 0

    普通组:

        系统组:1-499, 1-999

        普通组:500+, 1000+

    用户的主要组(主组):

        用户必须属于一个且只有一个主组 组名同用户名,且仅包含一个用户:私有组

    用户的附加组(辅助组):

        一个用户可以属于零个或多个辅助组


  • Linux安全上下文
    进程(运行中的程序)所能够访问资源的权限取决于进程的运行者的身份


  • 密码的复杂性策略
    使用数字、大写字母、小写字母及特殊字符中至少3种

    足够长(至少8位)使用随机密码

    定期更换;不要使用最近曾经使用过的密码

  • 加密算法

    对称加密:加密和解密使用一个

    非对称加密:加密和解密使用一对密钥(公钥、私钥)

    单向加密::哈希算法,只能加密,不能解密,提取数据的特征码(定长输出,雪崩效应)

        算法类型:md5 sha1 sha224 sha256 sha384 sha512


  • 用户和组的主要配置文件

    /etc/passwd:用户及其属性信息(名称、UID、主组ID等)

    /etc/group:组及其属性信息

    /etc/shadow:用户密码及其相关属性

    /etc/gshadow:组密码及其相关属性



  • passwd 文件格式

    ①login name:登录用名(wang)

    ②passwd:密码 (x) 

    ③UID:用户身份编号 (1000) 

    ④GID:登录默认所在组编号 (1000)  

    ⑤GECOS:用户全名或注释  

    ⑥home directory:用户主目录 (/home/wang) 

    ⑦shell:用户默认使用shell (/bin/bash)

  • shadow文件格式
    登录用名

    用户密码:一般用sha512加密($n$salt$密码  其中n为加密类型 salt为每次添加的随机数)

    从1970年1月1日起到密码最近一次被更改的时间

    密码再过几天可以被变更(0表示随时可被变更)

    密码再过几天必须被变更(99999表示永不过期)

    密码过期前几天系统提醒用户(默认为一周)

    密码过期几天后帐号会被锁定

    从1970年1月1日算起,多少天后帐号失效。

  • group文件格式

    群组名称:就是群组名称

    群组密码:通常不需要设定,密码是被记录在 /etc/gshadow

    GID:就是群组的 ID

    以当前组为附加组的用户列表(分隔符为逗号)

  • gshdow文件格式

    群组名称:就是群组名称

    群组密码: 

    组管理员列表:组管理员的列表,更改组密码和成员 

    以当前组为附加组的用户列表:(分隔符为逗号)

本文出自 “笑猴子” 博客,请务必保留此出处http://xiaomonky.blog.51cto.com/11869371/1833394

DAY5:linux文件系统(3)+重定向和管道+用户组赫尔权限管理(1)

标签:管道   索引节点   重定向   

原文地址:http://xiaomonky.blog.51cto.com/11869371/1833394

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!