老男孩linux之取得文件的权限对应的数字练习题

老男孩linux之取得文件的权限对应的数字练习题


问题:如何取得shiayn文件的权限对应的数字内容,如-rw-r--r-- 为644,要求使用命令取得644这样的数字。

  1. 创建文件shiyan

    [[email protected] ~]# touch shiyan

    [[email protected] ~]# ll

    -rw-r--r--  1 root root    0 Jul 11 05:48 shiyan

  2. 使用stat命令来查看文件644权限

    [[email protected] ~]# stat shiyan

    说明: stat - display file or file system status(显示文件或文件系统状态)

  3. 获取644权限的过程

    方法一:使用stat、head、tail、awk

    [[email protected] ~]# stat shiyan|head -4|tail -1

    说明:先将含有644的那行提取出来。

    [[email protected] ~]# stat shiyan|head -4|tail -1|awk -F "/" ‘{print $1}‘

    Access: (0644

    [[email protected] ~]# stat shiyan|head -4|tail -1|awk -F "/" ‘{print $1}‘|awk -F "(" ‘{print $2}‘

    0644

    方法二:使用stat、sed、awk

    先将含有644的那行提取出来

    [[email protected] ~]# stat shiyan|sed -n ‘4p‘

    Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)

    [[email protected] ~]# stat shiyan|sed -n ‘4p‘|awk -F "/" ‘{print $1}‘|awk -F "(" ‘{print $2}‘

    0644

    方法三:使用stat、sed、awk

    [[email protected] ~]# stat shiyan|sed -n ‘4p‘

    Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)

    [[email protected] ~]# stat shiyan|sed -n ‘4p‘|awk -F ":" ‘{print $2}‘|awk -F "/" ‘{print $1}‘|awk -F "(" ‘{print $2}‘

    0644

    方法四:使用stat、cut、sed

    [[email protected] ~]# stat shiyan|cut -d ":" -f2

    `shiyan‘

    0              Blocks

    802h/2050d     Inode

    (0644/-rw-r--r--)  Uid

    2017-07-11 05

    2017-07-11 05

    2017-07-11 05

    [[email protected] ~]# stat shiyan|cut -d ":" -f2|sed -n ‘4p‘

    (0644/-rw-r--r--)  Uid

    [[email protected] ~]# stat shiyan|cut -d ":" -f2|sed -n ‘4p‘|cut -d "/" -f1

    (0644

    [[email protected] ~]# stat shiyan|cut -d ":" -f2|sed -n ‘4p‘|cut -d "/" -f1|cut -d "(" -f2

    0644

    方法五:使用stat、sed、awk

    [[email protected] ~]# stat shiyan|sed -n ‘4p‘|awk -F "/" ‘{print $1}‘|awk -F "(" ‘{print $2} ‘

    0644

    方法六:老男孩老师给出的最简单的方法

    当然还有更简单的方法:

    [[email protected] ~]# stat -c %a shiyan

    644

    注意:如何想到法二的思考过程,比答题更重要。当命令结果包含我们需要的内容的时候,我们要想到是否有具体的参数能够一步达到我们需要的结果。

    特别说明:

    有关stat -c的用法可以通过stat --help和man stat,info stat,这是所有命令的三大帮助杀手锏,必须要掌握了。

    [[email protected] ~]# stat --help

    Usage: stat [OPTION] FILE... #==>这是语法格式

    Display file or file system status.

    ...省略部分...

    -f, --file-system     display file system status instead of file status

    -c  --format=FORMAT   use the specified FORMAT instead of the default;

    output a newline after each use of FORMAT

    ...省略部分...

    #==>这是可用的参数,如-c。

    The valid format sequences for files (without --file-system):

    #==>这里是对于文件适用的格式,既-c后接的格式。

     %a   Access rights in octal #==>以8进制形式显示,即为本文的答案

    %A   Access rights in human readable form #==>拓展以人类可读的形式显示权限

    %b   Number of blocks allocated (see %B)

    %B   The size in bytes of each block reported by %b

    %d   Device number in decimal

    %D   Device number in hex

    %f   Raw mode in hex

    %F   File type

    %g   Group ID of owner

    %G   Group name of owner

    %h   Number of hard links

    %i   Inode number

    %n   File name

    %N   Quoted file name with dereference if symbolic link

    %o   I/O block size

    %s   Total size, in bytes

    ...省略部分...

    本题的拓展部分

    [[email protected] ~]# ls -li shiayn

    98211 -rw-r--r-- 1 root root 0 Feb 20 08:04 /ett

    [[email protected] ~]# stat -c %a shiyan

    644

    [[email protected] ~]# stat -c %A shiyan #==>获取字符权限

    -rw-r--r--

    [[email protected] ~]# stat -c %B shiyan

    512

    [[email protected] ~]# stat -c %b shiyan

    0

    [[email protected] ~]# stat -c %i shiyan #==>inode信息

    98211

    [[email protected] ~]# stat -c %n shiyan

    /ett

    [[email protected] ~]# stat -c %o shiyan #==>block size

    4096

时间: 2024-10-08 21:20:54

老男孩linux之取得文件的权限对应的数字练习题的相关文章

通过命令获取/etc/hosts文件的权限对应的数字

命令获取/etc/hosts文件的权限对应的数字 第一步 查看文件的权限 [[email protected] ~]# stat /etc/hosts File: `/etc/hosts' Size: 158         Blocks:8          IO Block: 4096   regular file Device: 803h/2051d   Inode: 915740      Links: 2 Access:(0644/-rw-r--r--)  Uid: (    0/  

如何取得/etc/hosts文件的权限对应的数字内容,如-rw-r--r--为644,要求使用命令取得644这样的数字。

如何取得/etc/hosts文件的权限对应的数字内容,如-rw-r--r--为644,要求使用命令取得644这样的数字. 解答: [[email protected] ~]# stat /etc/hosts File: `/etc/hosts' Size: 216                                         Blocks:8          IO Block: 4096   regular file Device: 803h/2051d           

Linux 学习:文件特殊权限SUID, SGID, SBIT

本次记录Linux特殊权限SUID.SGID.SBIT相关知识及使用实例等. 由于SUID和SGID涉及到系统安全,所以对它们知识点的掌握尤为重要. 关于文件权限的表示方法和解析 SUID是Set User ID,SGID是Set Group ID的意思. Linux下可以用ls –l命令来查看文件的权限.用ls命令所得到的表示法的格式是类似这样的:-rwxr-xr-x 这种方法共有十位 9 8 7 6 5 4 3 2 1 0 -  r w x r  -  x  r - x 第9位表示文件类型,

linux系统中文件的权限

查看文件权限的语句: 在终端输入:ls -l xxx.xxx (xxx.xxx是文件名) 那么就会出现相类似的信息,主要都是这些:-rw-rw-r-- 一共有10位数 其中: 最前面那个 - 代表的是类型 中间那三个 rw- 代表的是所有者(user) 然后那三个 rw- 代表的是组群(group) 最后那三个 r-- 代表的是其他人(other) 然后我再解释一下后面那9位数: r 表示文件可以被读(read) w 表示文件可以被写(write) x 表示文件可以被执行(如果它是程序的话) -

Linux目录与文件的权限

零.Linux中的权限为什么重要? 权限直接关系数据安全! 一.用户基础概念: 所有者(owner):拥有这个文件的用户.一般拥有目录或文件的所有权限. 用户组(group):几个用户组成一个用户组,一般来说组内用户同时具有某些权限. 其他人(others):相对于owner和group的其他人.一般比前两者少某些权限. 二.目录与文件的权限的意义: 文件是实际包含数据的,一般文本文件.数据库文件.二进制可执行文件等,因此权限对于文件来说,意义如下: r(read):可读取此文件的实际内容,例如

linux中对文件的权限设置以及作用

一.通过权限的设置达到目录共享 在linux中通过对文件的权限设置可以充分对文件的 owner进行内容保护,也可以把内容分享给想要分享的用户.下面举例说明:1.首先在root权限下创建一个组,三个用户,将三个用户全部添加到同一组里groupadd gongxiang(创建一个组为gongxiang的组)useradd -G gongxiang zhangsan(创建一个用户zhangsan加入附属组gongxiang)useradd -G gongxiang zhangsi(创建一个用户zhan

Linux "ls -l"文件列表权限详解

.使用 ls -l 命令 执行结果如下(/var/log) : [html] drwxr-x--- 2 root              adm    4096 2013-08-07 11:03 apache2 drwxr-xr-x 2 root              root   4096 2013-08-07 09:43 apparmor drwxr-xr-x 2 root              root   4096 2013-08-07 09:44 apt -rw-r-----

Linux "ls -l"文件列表权限详解 【转】

1.使用 ls -l 命令 执行结果如下(/var/log) : drwxr-x--- 2 root              adm    4096 2013-08-07 11:03 apache2drwxr-xr-x 2 root              root   4096 2013-08-07 09:43 apparmordrwxr-xr-x 2 root              root   4096 2013-08-07 09:44 apt-rw-r----- 1 syslog

Linux——root运行文件提示权限不够

解决方法:  chmod   a+x   filename  PS:用字符串来设定文件访问权限. 其中读用 r 表示,写用 w 表示,执行用 x 表示: 所有者用 u 表示,组用户用 g 表示,其他用户用 o 表示,所有用户用 a 表示.例子: chmod a+r,u+w,u+x,g+w  myName.txt 原文地址:https://www.cnblogs.com/SacredOdysseyHD/p/8457765.html