Linux的文件管理(8-27)

Linux的文件管理

1、创建文件:touch、vim/vi、echo重定向、cat重定向

       touch也可以用来修改时间(文件时间信息的Atime、Mtime)

        touch+文件名(如果文件不存在就创建文件)

       touch -a -t[[CC]YY]MMDDhhmm[.ss]

       -c:默认不创建文件

2、删除文件:mv /tmp

        Find | xargs rm

        rm 删除文件  参数:-i(删除时提示)、-f(强制删除)、-r(删除目录)

        默认情况下,rm -rf是不让删除根目录(centos5及以下版本可以),Centos6和7要删除是要加参数的;--preserve-root可以删根

3、移动文件:mv:移动文件,改名

           参数:-t:颠倒源目地址 

               -i:当文件存在时会提示是否覆盖 

               \mv a b(当文件存在时,不提示,直接覆盖) 

               例:mv a b c d / e(将多个文件移动到一个文件)   

               mv a b(将a文件的名字修改为b)      

 复制文件:cp:参数:-t(颠倒源目地址)

              -a(可以复制目录以及目录里面文件的属性)

        Install:复制文件和创建目录

          参数:-d:创建目录 、-t:

                 -g:指定所属组

                 -o:指定所属主

                 -m:指定复制文件的权限

        Scp--Linux之间进行文件传输的命令;

        两个虚拟机之间传输文件的两种方法:

        Linux1:scp 文件 root@ip(Linux2):/目录

        Linux2:scp root@ip(Linux1):/文件 本地的那个目录

4、文件查找:locate:会生成一个查找库(不常用) yum install mlocate -y

        updatedb:在这个查找库中查找相对应的文件

         find:可以根据文件的任何一个属性,来查找文件

          文件属性:1、inode  2、文件类型(-type) 3、文件权限

                    4、硬链接数 5、所属主 6、所属组   

                    7、文件大小(-size)

                    8、修改时间(Atime、Ctime、Mtime)

                    9、文件名(-name)

              文件类型:-type f (普通文件)d(目录文件) p(管道文件) c(字符设备文件)b(块设备文件) l(软链接) s(套接字文件)

              文件权限:-maxdepth(查找最多几级目录)

                     -mindepth(查找做少几级目录)

                     -perm 007【权限值:r=4,w=2,x=1】

                例:find ./ -maxdepth1 -perm +1

              硬链接数:-links

              文件大小:-size 【常用单位k、M、G】 

5、压缩文件:gzip、bzip2、xz【只能对文件进行压缩,能让源文件变小】

6、归档:tar【可以多目录进行操作,但是不会让源文件变小】

      参数:-j:bzip2  -J:xz  -z:gzip

          -f:filename指定压缩文件的名字【解压的时候最好不要指定压缩文件】

7、编辑文件:全屏编辑器:vim/vi、nano编辑器【例:nano abc】

        流编辑器(行编辑器):sed

      Vim:默认为命令模式,敲i I a A o O进入编辑模式,敲esc键进入末行模式

      命令模式下常用技巧:上下左右移动k j h l

                     dd 删除一行 ndd删除n行   

                p粘贴(粘几次敲几下p) 

                u切回上一个操作

                U退回到进入文件时的初始状态 

                yy复制光标所在当前行

                nyy复制光标后n行 

                gg光标跳至文件内容行首 

                G光标跳至文件内容行尾

                c=dd+i 

                r替换光标所在字符为指定字符 

                v进入可视模式,选出指定内容,然后进行相应的操作

                ZZ保存并退出

         末行模式下常用技巧:.,$s/#/ /g(光标当前行到结尾将#替换为空格) 

                 :$将光标移动到文件末尾 

                 :1将光标移动到第一行

                 :q保存  :wq保存并退出

                 :q!强制退出 

                 :w保存 

                 :w +文件名 将文件保存到新的文件中去

                 /向下查找 ?向上查找 n下一个 N上一个 

                  多个文件同时编辑:在末行模式下: :next切换到下一个文件

                 :prev切回到前面的文件

                 :last切换到最后一个文件

                 :first切换到第一个文件

                 :q退出当前文件

                 :aq退出所有文件                  

            比较查看:1、垂直分屏 vim -O a b

                         切换光标:ctrl+w 松开再敲w

                   在进行切屏:ctrl+w 松开再敲v

                 2、水平分屏  vim -o a b

                     切换光标:ctrl+w 松开再敲w

                   在进行切屏:ctrl+w 松开再敲s

                   :qa!全部退出 

                   :wq!全部保存并退出 

Linux用户与用户权限、权限管理

1、用户管理:useradd 创建用户

        参数:-c指定用户描述

          -d指定家目录【默认家目录为/home下同名目录】

         -g指定主组

         -G指定附加组【一个用户主组只能有一个,而附加组可以有多个】  

         -s指定shell程序【特殊:/sbin/nologin----->不允许登录系统的用户】

         -u指定UID

         -M不创建家目录

userdel  参数:-r带着家目录一起删除【默认不删除家目录】 

usermod(修改)参数:-c -d -m -g  -G -s -u 、-o【容许UID相同,和-u一起使用】 

passwd 参数:-l(锁定) -u(解锁) -d(删除密码)

常用命令:echo “密码” | passwd --stdin “用户名”【给用户添加密码】

2、组管理:groupadd 参数:-g修改组ID

                 -o容许重复

       groupdel 删除组

       groupmod  参数:-g  -o  -n修改组名

                  -p指定组密码【如果一个文件输入这个用户的附加组,而你要访问整个文件,别人就可以为这个组设置密码】

3、常用文件:

①/etc/passwd

 Uname:x:uid:gid:描述:家目录:shell程序

 

 超级用户---root

 系统用户----1-499 1-999 普通用户---500-65535 1000-6535 

②/etc/shadow

 uname:uid:密码:时间

③/etc/group

  组:组密码:组ID:附加组 

④/etc/gshadow

⑤/etc/skel:这个目录下的文件均会被复制到每一个普通用户的家目录中,一般用来做警告

4、用户权限:r(读权限,权限为100【二进制】,权限值为4)

        w(写权限,010,权限值为2)

       x(执行权限,001,权限值为1)

添加/删除权限:chmod [a|o|g|u] [+|-] [x|w|r] 文件

        chown :user10 文件

        chmod user10: 文件

       chmood user10:user10文件

文件的访问控制列表

1、ACL的授权管理:通过权限管理,给指定用户添加指定权限

2、setfacl---添加权限

         setfacl -m u:用户名:要添加的权限(文件一定是该用户的文件)

         setfacl -x u:用户名 文件 (取消文件权限)

       getfacl:查看ACL添加的权限【用法:getfacl +文件名】  

         

         

3、特殊权限位:

临时借位;例如有A B两个用户,分别属于AA组和BB组,A创建了一个用户a.txt,B默认情况下去访问a.txt使用other;但是B想借用A的权限去访问a.txt,就需要将SUID借位为1;同时,也可以去借SGID的权限去访问这个文件,借位为2;

SUID:chmod u+s 文件【授予SUID的特殊权限】

 (有执行权限的时候为s,没有执行权限为S)

SGID:chmod g+s 文件【授予SGID的特殊权限】

    所属主有执行权限时显示为s,反之为S

Sticky:chmod o+t 文件【授予粘粘位的特殊权限】

     所属主有执行权限时显示为t,反之为T

     粘粘位的作用:授权给一个目录,在该目录下所有用户只能删除自己的文件,别人不能删除自己的文件--------给目录文件授予的

Sudo授权:/etc/sudoers【在这个文件中去添加权限】

Su - 用户:切换用户

 

 

 

posted on 2019-08-28 09:11  cqyyyyy  阅读(175)  评论(0编辑  收藏  举报