美文网首页LINUX程序员我用 Linux
Linux 文件及相关权限操作

Linux 文件及相关权限操作

作者: 越长越圆 | 来源:发表于2018-01-10 15:23 被阅读12次

    Linux 基础命令

    PC 安装Linux 教程 https://tutorials.ubuntu.com/tutorial/tutorial-create-a-usb-stick-on-windows#2

    显示时间:date
    显示日历:cal
    计算器:bc
    查看目前谁在线:who
    查看网路联机状况:netstat -a
    查看后台执行的程序可以看 ps-aux
    关机shutdown
    重启。攻击 reboot halt poweroff
    将数据同步到硬盘 sync
    

    命令补齐

    ca[tab][tab]
    ls -al ~/.bash[tab][tab]
    
    • 接在一串命令后面的第一个命令的后面则为命令补齐
    • 接在一串命令的第二个命令以后时,则为文件补齐

    查看命令使用

    man [command](例如 man date)
    

    说明
    DATE(1) 数字说明

    1. 用户在shell环境中可以操作的命令或可执行文件
    2. 系统内核可调用的函数与工具等
    3. 一些常用的函数(function)与函数库(library),大部分为C的函数库(libc)
    4. 设备文件的说明,通常是在/dev下的文件
    5. 配置文件或者是某些文件的格式
    6. 游戏(games)
    7. 惯例与协议等,例如Linux文件系统、网络协议、ASCII code等说明
    8. 系统管理员可用的管理命令
    9. 跟kernel有关的文件

    Linux 文件权限

    ls -al 
    //ls 是list 的意思 而参数-al 是列出所有文件的详细的权限与属性
    

    文件权限字符说明

    "-rw-r--r--" 是这个文件的类型与权限

    中共10个字符
    第一个字符代表的含义是 目录文件还是链接文件

    • 若是d 则是目录
    • 若是- 则是文件
    • 若是 I 则表示为连接文件
    • b 表示设备文件里面的可供储存的接口设备
    • c是表示设备文件中的串行端设备,例如鼠标,键盘

    接下来 的字符串中 以3个位一组 rwx 发布是可读 可写 可执行 第一组是 文件所有者的权限, 第二组为同用户组的权限 第三个其他非本用户组的权限

    另外6个就不介绍了

    修改文件權限

    ls -al 查看文件權限
    chgrp 改變文件所屬用戶組
    chgrp -R(递归) users(用户组) install.log(文件)
    改变文件所有者 chown
    chown users install.log
    修改文件权限
    chmod  xyz 文件或目录  
    

    Linux基本权限说9个 ,分别说owner,group,other 三个身份,各自有 read,write,execute 权限。 对应"-rwxrwxrw"
    这里是你数字代表权限
    r:4
    w:2
    x:1
    rwx=4+2+1=7

    chomd 777 文件 代表修改为 rwxrwxrwx 
    chomd 754 文件  代表 修改为 rwxr-xr--
    如果 不希望别人看到这个文件 chomd 740 
    别人无法修改 可执行 chomd 755
    

    另一种修改权限的方式 文字修改法
    u:users
    g:group
    o:others
    a:all

    要修改文件权限为“-rwxr-xr-x"
    chomd u=rwx,go=rx  文件
    要修改文件权限为"-rwxr-xr"
    chomd u=rwx,g=rx,o=r  xxx
    如果要去掉全部人灯可执行权限 
    chomd a-x 文件 结果为"-rw-rw-rw-"
    

    特殊的S,T权限 具体说明
    http://blog.csdn.net/haofeifei6/article/details/11516753

    文件,文件夹权限能力说明

    • 文件
      • r:可读取文件的实际内容
      • w:可编辑,内容(不可删除)
      • x: Linux 文件的执行与是否说x 有关 和文件名无关
    • 文件夹
      • r:读取目录结构,如ls命令查看
      • w: 新建文件与目录,删除文件及目录,重命名,转移文件灯
      • x: 代表用户是否能进入该目录成为工作目录,如cd这种变换目录是否可执行

    特殊目录

    • . :代表此层目录
    • ..:上层目录
    • -:前一个工作目录
    • ~:目前用户身份的工作目录
    • ~account:这个account用户的主文件夹

    目录相关操作

    cd:切换目录
    pwd:显示当前目录
    pwd -P 取得正确的目录名称,而不是连接文件的路径
    mkdir:新建一个目录 
    mkdir -p 创建多层目录
    mkdir -m 711 test2 创建一个 权限为rwx--x--x 的目录
    rmdir:删除一个空的目录
    rmdir -p 连同内容一起删除
    
    
    创建文件
    语法:touch [options] filename
            -a:改变访问时间
            -m:改变改动时间
            -t timestamp:改变访问时间和改动时间为timestamp
    
    查看文件类型
    file xxx
    
    查找文件
    查找 可执行文件
    which -a Command 
    -a:说将PATH目录下的命令列出来,而不是只查找第一个
    which ifconfig 
    
    查找 文件名
    whereis [-bmsu] 文件名或目录名
    -b:只查找二进制格式文件
    -m:只找说明文件manual路径下的文件
    -s:只找source源文件
    -u:查找不再上述当中的其他特殊文件
    

    ls 查看文件具体参数

    -a:显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为影藏,不会列出);
    -A:显示除影藏文件“.”和“..”以外的所有文件列表;
    -C:多列显示输出结果。这是默认选项;
    -l:与“-C”选项功能相反,所有输出信息用单列格式输出,不输出为多列;
    -F:在每个输出项后追加文件的类型标识符,具体含义:“*”表示具有可执行权限的普通文件,“/”表示目录,“@”表示符号链接,“|”表示命令管道FIFO,“=”表示sockets套接字。当文件为普通文件时,不输出任何标识符;
    -b:将文件中的不可输出的字符以反斜线“”加字符编码的方式输出;
    -c:与“-lt”选项连用时,按照文件状态时间排序输出目录内容,排序的依据是文件的索引节点中的ctime字段。与“-l”选项连用时,则排序的一句是文件的状态改变时间;
    -d:仅显示目录名,而不显示目录下的内容列表。显示符号链接文件本身,而不显示其所指向的目录列表;
    -f:此参数的效果和同时指定“aU”参数相同,并关闭“lst”参数的效果;
    -i:显示文件索引节点号(inode)。一个索引节点代表一个文件;
    -k:以KB(千字节)为单位显示文件大小;
    -l:以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等;
    -m:用“,”号区隔每个文件和目录的名称;
    -n:以用户识别码和群组识别码替代其名称;
    -r:以文件名反序排列并输出目录内容列表;
    -s:显示文件和目录的大小,以区块为单位;
    -t:用文件和目录的更改时间排序;
    -L:如果遇到性质为符号链接的文件或目录,直接列出该链接所指向的原始文件或目录;
    -R:递归处理,将指定目录下的所有文件及子目录一并处理;
    --full-time:列出完整的日期与时间;
    --color[=WHEN]:使用不同的颜色高亮显示不同类型的。
    
    

    复制,删除,移动

    cp  [-adfilprsu] 源文件 目标文件
    
    -a:此参数的效果和同时指定"-dpR"参数相同;
    -d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
    -f:强行复制文件或目录,不论目标文件或目录是否已存在;
    -i:覆盖既有文件之前先询问用户;
    -l:对源文件建立硬连接,而非复制文件;
    -p:保留源文件或目录的属性;
    -R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
    -s:对源文件建立符号连接,而非复制文件;
    -u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
    -S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
    -b:覆盖已存在的文件目标前将目标文件备份;
    -v:详细显示命令执行的操作。
    
    rm 文件/目录
    
    -d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;
    -f:强制删除文件或目录;
    -i:删除已有文件或目录之前先询问用户;
    -r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;
    -v:显示指令的详细执行过程。
    
    rm -i bashrc*   通配符删除
    
    mv [-fiu] source1 source2 .... destination(最后一个为目录  之前说需要转移的对象)
    
    -f 强制如果目标文件存在,强制覆盖
    -i 目标文件以及存在,询问是否覆盖
    -u 目标文件以及存在,且source比较新才会覆盖 
    

    文件内容查阅

    cat:由第一行显示文件内容
    tac:从最后一行显示
    nl:显示的时候,顺便输出行号
    more:一页一页地显示文件内容
    less:与more类似。可以往前翻
    head:只看头几行
    taill:只看结尾几行
    od:以二进制方式读取内容
    
    CAT
    -n 或 --number:由 1 开始对所有输出的行数编号。
    -b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
    -s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
    -v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
    -E 或 --show-ends : 在每行结束处显示 $。
    -T 或 --show-tabs: 将 TAB 字符显示为 ^I。
    
    翻页查看
    more 文件
    空格键:代表下一页
    回车:下一行
    /字符串:代表再这个显示的内容中,向下查询”字符串“这个关键字
    :f: 立刻显示出文件名以及目前显示的行数
    q:立刻离开more,不再显示该文件内容
    b:往回翻页
    
    less 文件
    
    空格键:下一页
    PageDown:下一页
    PageUp:上一页
    /字符串:向下查询字符串
    ?字符串:向上查询字符串
    n:重复前一个查询
    N:反向重复前一个查询
    q:离开
    

    数据选取

    head 取前几行
    head -n number 文件
    head -n 20 xxx (显示前20行)
    head -n -100 xxx(列出所有不包括后面100行)
    
    tail 取后面几行
    tail -n number 文件
    tail -n 20 xx 显示最后20行
    tai -n +100  和上面类似 前100行不显示 后面都显示
    
    如果要读取 /usr/bin/passwd 内容 正常vim 打开说乱码,就用od去打开二进制文件
    od  -t TYPE 文件
    a:默认字符输出
    c:使用ASCII字符输出
    d:10进制输出
    f:浮点
    o:8进制
    x:16进制
    

    参考文章 https://www.cnblogs.com/kzloser/articles/2673790.html
    http://blog.csdn.net/haofeifei6/article/details/11516753
    鸟哥Linux 私房菜

    相关文章

      网友评论

        本文标题:Linux 文件及相关权限操作

        本文链接:https://www.haomeiwen.com/subject/teyjnxtx.html