zoukankan      html  css  js  c++  java
  • Linux 学习笔记之超详细基础linux命令 Part 9

    Linux学习笔记之超详细基础linux命令

    by:授客 QQ1033553122

    ---------------------------------接Part 8------------------------------

    --修改文件权限的Shell命令

    chmod命令

    方法:chmod 数字模式 文件

    方法:chmod 功能模式 文件

    功能:修改文件的访问权限

    说明:

    数字模式为一组三位的数字,如755644

    功能模式可以由以下三部分组成

    对象:

    u(user)      文件所有者

    g(group)     同组用户

    o(other)     其他用户

    操作符号:

    +    增加权限

    -    删除权限

    =    赋予给定权限

    权限:

    r(read)    读取权限

    w(write)    写入权限

    x(execute)    执行权限

    说明:

    字母表形式    十进制数表示形式    权限含义

    ---                       0       无任何权限

    --x                       1       可执行权限

    -w-                       2       可写权限

    r--                       4   可读权限

    其它的由这以上几个的组合:如r-x    可读可执行    2+4=6    可读可写1+2+4=7 可读可写可执行(rwxrwxrwx--u,g,o都有可读可写可执行权限。a表示u,g,o三者,如chmod a+wr filename

    注意位置顺序貌似 rwx。。。

    例子:取消同组用户对err文件的写入权限

    [laiyu@localhost ~]$ ls -l

    total 64

    drwxr-xr-x. 2 laiyu laiyu 4096 Nov 15 22:58 Desktop

    drwxr-xr-x. 2 laiyu laiyu 4096 Nov 12 23:11 Documents

    drwxr-xr-x. 2 laiyu laiyu 4096 Nov  1 22:54 Downloads

    -rw-rw--r--. 1 laiyu laiyu   48 Nov 14 22:18 err

    ...

    说明:从左到右,以下为例

    drwxr-xr-x. 2 laiyu laiyu 4096 Nov 15 22:58 Desktop

    文件类型(如:d) 文件所有者的访问权限(如:rwx),同组用户的访问权限(如:r-x),其它用户的访问权限(r-x),文件所有者(laiyu),文件所属组群(laiyu)

     

    说明:文件类型:普通文件 - ,目录文件 d,符号链接文件 l,块设备文件 b,字符设备文件 c

     

    [laiyu@localhost ~]$ chmod g-w err

     

    例子:将file文件的访问权限设置为755即文件所有者可读可写可执行,同组用户可读可执行,其它用户可读可执行

    [laiyu@localhost ~]$ ls -l

    total 64

    drwxr-xr-x. 2 laiyu laiyu 4096 Nov 15 22:58 Desktop

    drwxr-xr-x. 2 laiyu laiyu 4096 Nov 12 23:11 Documents

    drwxr-xr-x. 2 laiyu laiyu 4096 Nov  1 22:54 Downloads

    -rw-r--r--. 1 laiyu laiyu   48 Nov 14 22:18 err

    drwxr-xr-x. 2 root  root  4096 Nov 11 22:43 etc

    -rw-rw-r--. 1 laiyu laiyu   50 Nov 13 23:17 file

    ...

    [laiyu@localhost ~]$ chmod -755 file

    chmod: invalid option -- '7'

    Try `chmod --help' for more information.

    [laiyu@localhost ~]$ chmod 755 file

    [laiyu@localhost ~]$ ls -l

    total 64

    drwxr-xr-x. 2 laiyu laiyu 4096 Nov 15 22:58 Desktop

    drwxr-xr-x. 2 laiyu laiyu 4096 Nov 12 23:11 Documents

    drwxr-xr-x. 2 laiyu laiyu 4096 Nov  1 22:54 Downloads

    -rw-r--r--. 1 laiyu laiyu   48 Nov 14 22:18 err

    drwxr-xr-x. 2 root  root  4096 Nov 11 22:43 etc

    -rwxr-xr-x. 1 laiyu laiyu   50 Nov 13 23:17 file

    ...

    说明:没有符号 -”,因为数字就表示了权限,没必要在用-……

    chgrp命令

    方法:chgrp 组群 文件

    功能:改变文件的所属组群

    说明:普通用户下,只能把文件转为原来的组群

    例子:将err目录所属的组群由laiyu改为mygroup

    [laiyu@localhost ~]$ ls -l

    total 68

    ...

    drwxrwxr-x. 2 laiyu laiyu 4096 Nov 16 23:04 mydir

    ...

    chgrp: changing group of `mydir': Operation not permitted

    [laiyu@localhost ~]$ su

    Password:

    [root@localhost laiyu]# chgrp mygroup err

    [root@localhost laiyu]# ls -l

    总用量 68

    ...

    drwxrwxr-x. 2 laiyu mygroup 4096 11 16 23:04 mydir

    ...

     

    chown命令

    方法:chown 文件所有者[:组群] 文件

    功能:改变文件的所有者,并可一并修改文件的所属组群

    例子:将文件file1的所有者由laiyu改为root

    [root@localhost laiyu]# ls -l

    ....

    -rw-rw-r--. 1 laiyu laiyu     43 11 14 22:15 file1

    ....

    [root@localhost laiyu]# chown root file1

    [root@localhost laiyu]# ls -l

    ...

    -rw-rw-r--. 1 root  laiyu     43 1114 22:15 file1

    ...

     

    例子:将文件mydir的所有者和组群由laiyu:mygroup改为root用户和root组群

    [laiyu@localhost ~]$ chown laiyu:laiyu mydir

    chown: changing ownership of `mydir': Operation not permitted

    [laiyu@localhost ~]$ su

    Password:

    [root@localhost laiyu]# chown root:root mydir

    [root@localhost laiyu]# ls -l

    ...

    drwxrwxr-x. 2 root  root  4096 1116 23:04 mydir

    ...

    说明:如果修改的是了.lnk链接文件,那么实际修改的是连接文件所连接的源文件,.lnk文件本身不被修改

     

    --管理目录和文件的Shell命令

    mkdir命令

    方法:mkdir [选项] 目录

    主要选项:

    -m(mode)    访问权限 创建目录的同时设置目录的访问权限

    -p(parents)    一次性创建多级目录

    例子:创建名为test的目录,并在其下创建Linux目录

    [laiyu@localhost ~]$ ls

    Desktop    Downloads  etc   file1  file3   list   mydir     Public     Videos

    Documents  err        file  file2  fillll  Music  Pictures  Templates

    [laiyu@localhost ~]$ mkdir -p test/linux

    Desktop    Downloads  etc   file1  file3   list   mydir     Public     test

    Documents  err        file  file2  fillll  Music  Pictures  Templates  Videos

    [laiyu@localhost ~]$ ls -r test/

    linux

    rmdir命令

    方法:rmdir [选项] 目录

    功能:删除目录文件

    主要选项:

    --ignore-fail-on-non-empty 忽略目录不为空的目录提示,但是不删除非空目录

    -p,--parents    级连删除目录及其子目录

    -v,--verbose    显示帮助信息并退出

    --version

    例子:删除目录mydir,,mydir目录不为空,包含文件f1

    [root@localhost laiyu]# rmdir mydir

    mydir/      myswapfile 

    [root@localhost laiyu]# rmdir mydir/

    rmdir: failed to remove `mydir/': Directory not empty

    [root@localhost laiyu]# rmdir --ignore-fail-on-non-empty mydir/

    说明:结果再没提示出错信息,但是目录仍未删除

     

    例子:级联删除并显示每个目录的删除结果

    builder:/mnt/disk# mkdir myfile

    builder:/mnt/disk# cd myfile/

    builder:/mnt/disk/myfile# mkdir mydir

    builder:/mnt/disk/myfile# cd mydir

    builder:/mnt/disk/myfile/mydir# pwd

    /mnt/disk/myfile/mydir

    builder:/mnt/disk/myfile/mydir# cd /mnt/disk

    builder:/mnt/disk# rmdir -vp myfile/mydir/

    rmdir: removing directory, myfile/mydir/

    rmdir: removing directory, `myfile'

    builder:/mnt/disk#

    mv命令

    方法:mv [选项] 源文件或源目录 目的文件或目的目录

    功能:移动或重命名文件或目录

    说明:重命名主要针对目的文件或目的目录不存在的情况下,对源文件或源目录进行重命名

    主要选项:

    -b(backup)   若存在同名文件,则覆盖前备份原来的文件

    -f(force)    强制覆盖同名文件

    例子:将mydir目录改为youdir目录

    [laiyu@localhost ~]$ ls -l

    total 72

    ...

    drwxrwxr-x. 2 root  root  4096 Nov 16 23:04 mydir

    ...

    [laiyu@localhost ~]$ mv mydir yourdir

    [laiyu@localhost ~]$ ls -l

    total 72

    ...

    drwxrwxr-x. 2 root  root  4096 Nov 16 23:04 yourdir

    ...

     

    例子:filefile1文件移动到test目录下

    [laiyu@localhost ~]$ mv file test/

    [laiyu@localhost ~]$ mv file1 ./test/

    [laiyu@localhost ~]$ cd test

    [laiyu@localhost test]$ ls

    file  file1  linux

    说明:.表示当前目录 test目录在当前目录下

    cp命令

    方法:cp [选项] 源文件或源目录 目的文件或目的目录

    功能:复制文件或目录

    主要选项:

    -b(backup)   若存在同名文件,则覆盖前备份原来的文件

    -f(force)    强制覆盖同名文件

    -r-R(recursive)    按递归方式,保留目录结构复制文件

    例子:将文件err复制为error,若error文件已存在,则将备份原来的err文件

    [laiyu@localhost ~]$ ls -l | grep err

    -rw-r--r--. 1 laiyu laiyu   48 Nov 14 22:18 err

    -rw-rw-r--. 1 laiyu laiyu   27 Nov 18 22:48 error

     

    [laiyu@localhost ~]$ cp -b err error

    说明:备份文件名:源文件名~

    rm命令

    方法:rm [选项] 文件或目录

    功能:删除文件或目录

    主要选项:

    -f(force)    强制删除,不先确认信息

    -r-R(recursive)    按递归方式删除目录,默认只删除文件

    说明:有时候可能无法删除,需要切换为超级用户角色

    例子:删除yourdir目录,连同其下子目录。

    [laiyu@localhost ~]$ ls

    Desktop    Downloads  err~   etc    file3  list   Pictures  Templates  Videos

    Documents  err        error  file2  file4  Music  Public    test       yourdir

    laiyu@localhost ~]$ rm -rf yourdir

    rm: cannot remove `yourdir/file': Permission denied

    rm: cannot remove `yourdir/subdir': Permission denied

    [laiyu@localhost ~]$ su

    Password:

    [root@localhost laiyu]# rm -rf yourdir

    [root@localhost laiyu]# ls

    Desktop    Downloads  err~   etc    file3  list   Pictures  Templates  Videos

    Documents  err        error  file2  file4  Music  Public    test

     

    例子:删除lsl目录,lsl目录非空

    [laiyu@localhost ~]$ cd lsl

    [laiyu@localhost ~]$ touch file

    [laiyu@localhost ~]$ touch file3

    [laiyu@localhost ~]$ mkdir p

    [laiyu@localhost ~]$ cd ..

    [laiyu@localhost ~]$ rm lsl

    rm:cannot remove 'lsl': Is a directory

    [laiyu@localhost ~]$ rm -r lsl

    说明:当目录非空时rmdir命令无效,这时可以用rm命令,rm -fr

     

    ln命令

    方法:ln [选项] 目标文件 链接文件

    功能:建立链接文件,默认建立硬链接文件

    主要选项:

    -b(backup)    若存在同名文件,则覆盖前备份原来的文件

    -s(symbolic)    建立符号链接文件

    -f(force)    强行建立文件或目录的链接,不论文件或目录是否存在

    例子:建立./test/file文件的符号链接fiel.link

    [laiyu@localhost ~]$ ln -s ./test/file file.lnk

    [laiyu@localhost ~]$ cat file.lnk

    this is a file named file

    yes

    it is

    you are right

    [laiyu@localhost ~]$ cat ./test/file

    this is a file named file

    yes

    it is

    you are right

    说明:file.lnk可以不必事先存在

    注意:硬链接文件和符号链接文件的区别:硬链接文件保留所有链接文件的索引节点(磁盘的具体物理地址)信息,即使被链接文件更名或者移动,硬链接文件仍然有效果。

    Linux要求硬链接文件和被链接文件必须属于同一分区并采用相同的文件系统,符号链接文件类似windows中的快捷方式,其本身并不保存内容,只记录所有链接文件的路径。如果被链接文件更名或者移动,符号链接文件就无任何意义了

  • 相关阅读:
    在子线程中使用Toast
    时间戳与字符串的转换
    Notification小案例
    Android文件的读写操作
    SmartImageView-网络图片查看器
    JavaScript中判断对象类型的种种方法
    nodejs npm常用命令
    web前端安全机制问题全解析
    Gulp安装及配合组件构建前端开发一体化(转)
    gulp 实现 js、css,img 合并和压缩(转)
  • 原文地址:https://www.cnblogs.com/shouke/p/10158184.html
Copyright © 2011-2022 走看看