zoukankan      html  css  js  c++  java
  • 2.Linux文件和目录

    1. 目录和路径

    linux下比较特殊的目录:
    .         代表此层目录
    ..        代表上一层目录
    -         代表前一个工作目录
    ~         代表『目前使用者身份』所在的home目录
    ~account  代表 account 这个使用者的home目录(account是个帐号名称)
    $PATH变量

    $PATH和Windows系统下的Path环境变量是差不多的,执行命令是会去PATH所指定的路径下搜索是否存在该命令。

    echo $PATH

    可以显示当前的$PATH变量的值。

    目录和文件常用命令
    cd:切换目录
    pwd [-P]:显示当前目录
        -P:显示当前的目录,而不是链接(link)路径
    mkdir [-mp]:新建一个新的目录
        -m :配置文件的权限
        -p :可以建立多层目录
    rmdir [-p]:删除一个空的目录
        -p :连同上一级『空的』目录一起删除
    命令列表
    ls:查看文件和目录
    cp、rm、mv:复制、删除和移动
    basename 目录:获取最后的文件名
    dirname 目录:取得目录名

    2. 文件内容与属性修改

    查看文件内容的命令
    cat  由第一行开始显示文件内容
    tac  从最后一行开始显示,可以看出 tac 是 cat 的倒著写!
    nl   显示的时候,顺道输出行号!
    more 一页一页的显示文件内容
    less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
    head 只看头几行
    tail 只看尾巴几行
    od   以二进位的方式读取文件内容!
    touch修改文件时间

    linux文件有三个时间modification time (mtime),status time (ctime),access time (atime)分别是修改时间,状态改变时间,读取时间。

    touch [-acdmt] 文件
    选项与参数:
    -a  :仅修订 access time;
    -c  :仅修改文件的时间,若该文件不存在则不创建新文件;
    -d  :后面可以接欲修订的日期而不用目前的日期,也可以使用 --date="日期或时间"
    -m  :仅修改 mtime ;
    -t  :后面可以接欲修订的时间而不用目前的时间,格式为[YYMMDDhhmm]

    文件默认权限

    umask命令可以显示创建目录和文件时的默认权限值。

    默认文件权限是rw-rw-rw减去默认值,假如umask的值是0022,那么计算规则是rw-rw-rw 减去 0-wx-wx

    默认目录权限是drwx-rwx-rwx 减去默认值,计算规则 drwx-rwx-rwx 减去0-wx-wx,可以用以下命令修改默认值:

    umask 值
    文件隐藏属性

    chattr [+-=][ASacdistu] 文件或目录名称
    选项与参数:
    +   :添加某一个特殊参数,其他原本存在参数则不动。
    -   :移除某一个特殊参数,其他原本存在参数则不动。
    =   :配置一定,且仅有后面接的参数
    
    A  :当配置了 A 这个属性时,若你有存取此文件(或目录)时,他的存取时间 atime
         将不会被修改,可避免I/O较慢的机器过度的存取磁碟。这对速度较慢的计算机有帮助
    S  :一般文件是非同步写入磁碟的(原理请参考第五章sync的说明),如果加上 S 这个
         属性时,当你进行任何文件的修改,该更动会『同步』写入磁碟中。
    a  :当配置 a 之后,这个文件将只能添加数据,而不能删除也不能修改数据,只有root 
         才能配置这个属性。 
    c  :这个属性配置之后,将会自动的将此文件『压缩』,在读取的时候将会自动解压缩,
         但是在储存的时候,将会先进行压缩后再储存(看来对於大文件似乎蛮有用的!)
    d  :当 dump 程序被运行的时候,配置 d 属性将可使该文件(或目录)不会被 dump 备份
    i  :这个 i 可就很厉害了!他可以让一个文件『不能被删除、改名、配置连结也无法
         写入或新增数据!』对於系统安全性有相当大的助益!只有 root 能配置此属性
    s  :当文件配置了 s 属性时,如果这个文件被删除,他将会被完全的移除出这个硬盘
         空间,所以如果误删了,完全无法救回来了喔!
    u  :与 s 相反的,当使用 u 来配置文件时,如果该文件被删除了,则数据内容其实还
         存在磁碟中,可以使用来救援该文件喔!
    注意:属性配置常见的是 a 与 i 的配置值,而且很多配置值必须要身为 root 才能配置
    lsattr [-adR] 文件或目录
    选项与参数:
    -a :将隐藏档的属性也秀出来;
    -d :如果接的是目录,仅列出目录本身的属性而非目录内的档名;
    -R :连同子目录的数据也一并列出来! 

    查看文件类型
    file 文件名
    文件特殊权限
    SUID, SGID, SBIT

    3. 命令和文件的查询

    相关命令

    which [-a] command
    选项或参数:
    -a :将所有由 PATH 目录中可以找到的命令均列出,而不止第一个被找到的命令名称
    whereis [-bmsu] 文件或目录名
    选项与参数:
    -b    :只找 binary 格式的文件
    -m    :只找在说明档 manual 路径下的文件
    -s    :只找 source 来源文件
    -u    :搜寻不在上述三个项目当中的其他特殊文件
    locate [-ir] keyword
    选项与参数:
    -i  :忽略大小写的差异;
    -r  :后面可接正规表示法的显示方式
    find [PATH] [option] [action]
    选项与参数:
    1. 与时间有关的选项:共有 -atime, -ctime 与 -mtime ,以 -mtime 说明
       -mtime  n :n 为数字,意义为在 n 天之前的『一天之内』被更动过内容的文件;
       -mtime +n :列出在 n 天之前(不含 n 天本身)被更动过内容的文件档名;
       -mtime -n :列出在 n 天之内(含 n 天本身)被更动过内容的文件档名。
       -newer file :file 为一个存在的文件,列出比 file 还要新的文件档名
    2. 与使用者或群组名称有关的参数:
       -uid n :n 为数字,这个数字是使用者的帐号 ID,亦即 UID ,这个 UID 是记录在
                /etc/passwd 里面与帐号名称对应的数字。这方面我们会在第四篇介绍。
       -gid n :n 为数字,这个数字是群组名称的 ID,亦即 GID,这个 GID 记录在
                /etc/group,相关的介绍我们会第四篇说明~
       -user name :name 为使用者帐号名称喔!例如 dmtsai 
       -group name:name 为群组名称喔,例如 users ;
       -nouser    :寻找文件的拥有者不存在 /etc/passwd 的人!
       -nogroup   :寻找文件的拥有群组不存在於 /etc/group 的文件!
                    当你自行安装软件时,很可能该软件的属性当中并没有文件拥有者,
                    这是可能的!在这个时候,就可以使用 -nouser 与 -nogroup 搜寻。
    3. 与文件权限及名称有关的参数:
       -name filename:搜寻文件名称为 filename 的文件;
       -size [+-]SIZE:搜寻比 SIZE 还要大(+)或小(-)的文件。这个 SIZE 的规格有:
                       c: 代表 byte, k: 代表 1024bytes。所以,要找比 50KB
                       还要大的文件,就是『 -size +50k 』
       -type TYPE    :搜寻文件的类型为 TYPE 的,类型主要有:一般正规文件 (f),
                       装置文件 (b, c), 目录 (d), 连结档 (l), socket (s), 
                       及 FIFO (p) 等属性。
       -perm mode  :搜寻文件权限『刚好等於』 mode 的文件,这个 mode 为类似 chmod
                     的属性值,举例来说, -rwsr-xr-x 的属性为 4755 !
       -perm -mode :搜寻文件权限『必须要全部囊括 mode 的权限』的文件,举例来说,
                     我们要搜寻 -rwxr--r-- ,亦即 0744 的文件,使用 -perm -0744,
                     当一个文件的权限为 -rwsr-xr-x ,亦即 4755 时,也会被列出来,
                     因为 -rwsr-xr-x 的属性已经囊括了 -rwxr--r-- 的属性了。
       -perm +mode :搜寻文件权限『包含任一 mode 的权限』的文件,举例来说,我们搜寻
                     -rwxr-xr-x ,亦即 -perm +755 时,但一个文件属性为 -rw-------
                     也会被列出来,因为他有 -rw.... 的属性存在!
    4. 额外可进行的动作:
       -exec command :command 为其他命令,-exec 后面可再接额外的命令来处理搜寻到
                       的结果。
       -print        :将结果列印到萤幕上,这个动作是默认动作!

    4.结束

  • 相关阅读:
    linux 系统运维工具13款
    Django2.0 分页的应用
    jvm优化
    SSH-key 在Windows下如何生成公钥和私钥
    申请Let’s Encrypt免费证书,给自己网站增加https访问
    wordpress上传主题以及安装插件 出现ftp的问题解决方案
    php压缩文件
    linux下 如何切换到root用户
    TP3.2.3框架隐藏Home模块以及index.php入口文件的方法
    PHP打开错误提示和关闭错误提示的方法
  • 原文地址:https://www.cnblogs.com/Reyzal/p/5012753.html
Copyright © 2011-2022 走看看