• Linux学习笔记-文件处理和权限命令


    文件处理命令

    touch

    名称:touch
    所在路径:/bin/touch
    执行权限:所有用户
    语法:touch[文件名]
    功能描述:创建空文件

    [root@localhost tmp]# mkdir a
    [root@localhost tmp]# touch /tmp/a/b.txt
    [root@localhost tmp]# touch t.txt
    [root@localhost tmp]# ls
    a                 systemd-private-3a13c84be30540cf8c9aa032e5f76ba0-vmtoolsd.service-O4mYxW  yum.log
    jps.txt           systemd-private-72347dcd610e454abc47df15e5885dce-vmtoolsd.service-rwgKA3
    ks-script-YpfpfJ  t.txt
    #如果有空格则会创建两个文件,这种情况需要用双引号引起来,不过不推荐含有空格
    #的文件名
    [root@localhost tmp]# touch program files
    [root@localhost tmp]# ls
    a        ks-script-YpfpfJ                                                          systemd-private-72347dcd610e454abc47df15e5885dce-vmtoolsd.service-rwgKA3
    files    program                                                                   t.txt
    jps.txt  systemd-private-3a13c84be30540cf8c9aa032e5f76ba0-vmtoolsd.service-O4mYxW  yum.log
    [root@localhost tmp]#
    

    cat

    名称:cat
    命令所在目录:/bin/cat
    执行权限:所有用户
    语法:cat[文件名]
    功能描述:显示文件内容
    -n显示行号

    [root@localhost tmp]# cat /etc/issue
    S
    Kernel 
     on an m
    
    [root@localhost tmp]# cat -n /etc/issue
         1  S
         2  Kernel 
     on an m
         3
    

    tac

    命令名称:tac
    所在路径:/usr/bin/tac
    执行权限:所有用户
    语法:cat[文件名]
    功能描述:显示文件内容(反向列式)

    
    [root@localhost tmp]# tac /etc/issue
    
    Kernel 
     on an m
    S
    
    

    more

    命令名称:more
    所在路径:/bin/more
    执行权限;所有用户
    语法:more[文件名]
    (空格)或f 翻页
    (Enter) 换行
    q或Q 退出
    功能描述:分页显示文件内容。

    [root@localhost tmp]# more /etc/services
    # /etc/services:
    # $Id: services,v 1.55 2013/04/14 ovasik Exp $
    #
    #内容太多,执行上述语法可以执行相应操作
    

    less

    命令名称:less
    所在路径:/bin/less
    执行权限;所有用户
    语法:less[文件名]
    功能描述:分页显示文件内容。(可向上翻页)
    不仅使用more的命令,还可以使用上下箭头换行,pageup和pagedown换页
    ,另外输入/可以进行查找,按n查找下一处。shift+n上一处

    命令名称:head
    所在路径:/usr/bin/lhead
    执行权限;所有用户
    语法:head[文件名]
    功能描述:显示文件前几行。
    -n 指定行数(默认前10行)

    #查看前4行。
    [root@localhost tmp]# head -4 /etc/services
    # /etc/services:
    # $Id: services,v 1.55 2013/04/14 ovasik Exp $
    #
    # Network services, Internet style
    

    tail

    命令名称:tail
    所在路径:/usr/bin/lhead
    执行权限;所有用户
    语法:tail[文件名]
    功能描述:显示文件后几行。
    -n 指定行数(默认后10行)
    -f 动态显示文件末尾内容(适合监控日志)

    链接命令

    ln

    名称:ln
    英文原义:link
    命令所在路径:/bin/ln
    执行权限:所有用户
    语法:ln -s [原文件][目标文件]
    -s 创建软链接(不加-s是硬链接)
    功能描述:生成链接文件

    软链接:
    
    [root@localhost tmp]# ln -s /etc/issue /tmp/issue.soft
    [root@localhost tmp]# ls -l /etc/issue
    -rw-r--r--. 2 root root 23 11月 30 2016 /etc/issue
    [root@localhost tmp]# ls -l /tmp/issue.soft
    lrwxrwxrwx. 1 root root 10 8月  30 21:55 /tmp/issue.soft -> /etc/issue
    

    lrwxrwxrwx(特点:l开头,3个rw)
    上面的l就是软链接的意思,后面的读写权限,并不是原文件的权限,所有的软链接的权限都这样,其特征类似windows的快捷方式。
    /tmp/issue.soft -> /etc/issue
    同时可知,软链接指向原文件的路径。i结点和原文件不一致。

    硬链接
    [root@localhost tmp]# ls -l /tmp/issue.hard
    -rw-r--r--. 2 root root 23 11月 30 2016 /tmp/issue.hard
    

    硬链接特性
    :拷贝命令cp -p+同步更新
    如果原文件删除了,软链接找不到文件会报错,而硬链接没有影响。i结点和原文件一致。

    权限命令

    chmod

    名称:chmod
    英文原义:change the permissions mode of a file
    命令所在路径:/bin/chmod
    执行权限:所有用户
    语法:chmod [{ugoa}{+-=}{rwx}][文件或目录]
    [mode=421][文件或目录]
    -R 递归修改
    功能描述:改变文件或目录权限。
    u所有者 g所属组 o其他人 a所有人。
    +是加权限 -是减权限。

    [root@localhost tmp]# chmod g=rwx a
    [root@localhost tmp]# chmod g+w,o-r a
    [root@localhost tmp]# chmod u+x a
    

    以上仅供参考,一般用下面数字的方式添加权限。
    r=4(读)
    w=2(写)
    x=1(执行)
    加在一起7
    rwx rw- r--
    7 6 4

    [root@localhost tmp]# chmod 777 a
    [root@localhost tmp]# cd a
    [root@localhost a]# ls -ld
    drwxrwxrwx. 2 root root 19 8月  30 21:25 .
    [root@localhost a]# cd ..
    [root@localhost tmp]# chmod 111 a
    [root@localhost tmp]# cd a
    [root@localhost a]# ls -ld
    d--x--x--x. 2 root root 19 8月  30 21:25 .
    
    [root@localhost a]# chmod 532 /tmp/a
    [root@localhost a]#
    下面是递归修改,改变目录及其下面所有文件。
    [root@localhost tmp]# chmod -R 777 a
    [root@localhost tmp]# cd a
    [root@localhost a]# ls -lh
    总用量 0
    -rwxrwxrwx. 1 root root 0 8月  30 22:24 b.txt
    
    

    以上只是练习一般没有532这种奇葩权限。。。
    上述都是针对文件的解释,如果是操作文件夹才是的rwx的含义如下:
    r:可以列出目录中的内容
    w:可以在目录中创建,删除文件
    x:可以进入目录
    对于目录的权限比较的烧脑,比如:有r权限一定要x权限,因为都能看文件了当然是已经进入目录咯,其他情况类推。

    权限管理命令

    chown

    名称:chown
    英文原义:change file ownership
    命令所在路径:/bin/chown
    执行权限:所有用户
    语法:chown[用户][文件或目录]
    功能描述:改变文件或者目录的所有者
    chown cxa feiq 改变文件feiq的所有者为cxa(前提存在cxa这个用户)

    
    [root@localhost a]# ls -lh
    总用量 0
    -rwxrwxrwx. 1 root root 0 8月  30 22:24 b.txt
    [root@localhost a]# chown cxa b.txt
    [root@localhost a]# ls -lh
    总用量 0
    -rwxrwxrwx. 1 cxa root 0 8月  30 22:24 b.txt
    
    

    chgrp

    名称:chgrp
    英文原义:change file group ownership
    命令所在路径:/bin/chgrp
    执行权限:所有用户
    语法:chgrp[用户组][文件或目录]
    功能描述:改变文件或者目录的所属组

    [root@localhost a]# ls -lh
    总用量 0
    -rwxrwxrwx. 1 cxa root 0 8月  30 22:24 b.txt
    [root@localhost a]# chgrp cxa b.txt
    [root@localhost a]# ls -lh
    总用量 0
    -rwxrwxrwx. 1 cxa cxa 0 8月  30 22:24 b.txt
    #使用groupadd添加一个组dj。
    [root@localhost a]# groupadd dj
    [root@localhost a]# chgrp dj b.txt
    [root@localhost a]# ls -lh
    总用量 0
    -rwxrwxrwx. 1 cxa dj 0 8月  30 22:24 b.txt
    

    umask

    名称:umask
    英文原义:the user file-creation mask
    命令所在路径:shell内置命令
    执行权限:所有用户
    语法:umask[-S]
    -S 以rwx形式显示新建文件缺省权限
    功能描述:显示,设置文件的缺省权限

    
    [root@localhost a]# umask -S
    u=rwx,g=rx,o=rx
    [root@localhost a]# mkdir lamp
    [root@localhost a]# ls -ld lamp
    drwxr-xr-x. 2 root root 6 8月  30 22:42 lamp
    [root@localhost a]# touch r.txt
    [root@localhost a]# ls -ld r.txt
    -rw-r--r--. 1 root root 0 8月  30 22:42 r.txt
    

    根目录下执行umask

    [root@localhost /]# umask
    0022
    0 特殊权限(后面会提)
    022 --- -w- -w-
    777 rwxrwxrwx
    022 --- -w- -w-
    --------------------
    755 rwxr-xr-x 目录(这个实际是上面的逻辑与(即相同的-)算出来的)
        rw-r--r-- 文件
    

    注意:缺省创建的文件是不能具有可执行权限的。

  • 相关阅读:
    8.02_python_lx_day14
    8.02_python_lx_day13<2>
    8.02_python_lx_day13<1>
    7.30_python_lx_day20
    7.29_python_lx_da19
    7.29_python_lx_day12
    Docker镜像
    Docker学习Ⅱ
    Docker学习Ⅰ
    2-3树的插入和删除原理
  • 原文地址:https://www.cnblogs.com/c-x-a/p/9563235.html
Copyright © 2020-2023  润新知