• 拜师鸟哥之linux学习体会(6)——linux档案与目录管理


    这一章主要介绍了一些针对目录的指令,包括cd(变换目录)、pwd(显示当前目录)、mkdir(新建目录)、rmdir(删除目录)。

    1.    mkdir不能建立多层目录,如果想一次性建立很多目录,需要添加参数p,即mkdir -p 1/2/3,当然也可以在建立目录时赋予该目录一定的权限,采用m参数,即        mkdir -m 711 test。

    2.    rmdir不能删除非空的目录,同样要删除多层目录,采用参数p,即rmdir -p 1/2/3.如果想要将目录下的所有东西都删掉,就要采用rm -r test

    3.    $PATH:执行文件路径的变量,可用指令echo $PATH来查看,里面定义了哪些目录被定义,如果一个指令存放在/usr/bin中,则如果echo之后存在这个目录,我们就能调用该指令,且先搜索到的指令先执行。

    如果要将指令添加到PATH中,可采用PATH="$PATH":/root,这样就将/root添加到PATH中了,我们就可以调用/root下的指令了。

    4.    ls指令用于显示当前目录下存在哪些文件,这里主要介绍几个有意思的参数:

           ls -alF --color=never ~:表示显示的文件不显示颜色

           ls -al --full-time ~:表示呈现档案的完整修改时间

    另外我们一般用ll来替代ls -l,可用指令alias完成。

    5.    复制文件:cp ~/.bashrc /tmp/bashrc:将 ~/.bashrc复制到/tmp/bashrc中。但是有些文件是不能复制的,例如密码文件和一些配置文件等,如果一定要复制,就要加上-a或-p参数来完整复制档案的权限。可以将多个数据依次复制到同一个目录中,但注意最后面的一定是目录!

    6.    rm -i bashrc*:删除以bashrc开头的文件。

    7.    移动文件:mv bashrc mvtest

    8.    获取文件名:basename /etc/sysyconfig/network,则获得network

    9.    获取目录名:dirname  /etc/sysyconfig/network,则获得/etc/sysconfig

    10.   下面再简单介绍档案的内容查询指令,并做大概的说明:

    1)cat:由第一行开始显示档案内容——cat /etc/issue,cat -n /etc/issue:添加行号

    2)tac:即cat的反向,意思就是从最后一行开始显示档案内容——tac /etc/issue

    3)nl:显示的时候显示行号——nl /etc/issue

    4)more:一页一页的显示档案内容,但只能向后翻页——more /etc/issue,按q退出more

    5)less:相比于more,less还能向前翻页——less /etc/issue

    6)head:只看头几行——head -n 20 /etc/issue:只看前20行

    7)tail:只看后几行——tail -n 20 /etc/issue:只看后20行。此外还可以看第10~20行,采用的指令是head -n 20 /etc/issue | tail -n 10,其中的|为截取,将在后面介绍。

    11.   修改档案时间或建立新档可以采用touch,这里要注意三个时间:

            mtime——档案内容修改的时间

            ctime——档案状态改变(属性改变)的时间

            atime——档案内容被取用的时间,可以用touch test建立文档,用ls -l test来查看test文档的三个时间。

    12.    档案预设权限是umask,指定目前用户在建立档案或目录时的权限默认值,直接输入umask就会得到该默认值,假设结果为0022,最前面的0我们不要考虑,后面的022就是需要剪掉的权限,例如现在的权限就是777-022=755,即拥有者为rwx,群组和其他都是rx。

    13.    其实除了rwx这三个属性,还有隐藏属性,用指令chattr来管理,最常用的一个chattr指令是chattr +i test,即给予test一个i的属性,这样可以使该文档无法被删除,只有输入chattr -i test去掉i的属性后才能删除。如果想显示档案隐藏的属性,可采用lsattr test来显示。

    14.    观察文件类型:file test

    15.    查找文件:which test,whereis test, locate test,其中后面两个都是利用数据库来搜索数据,因此速度较快,而且没有实际的搜索硬盘,比较省时间。

    当然最重要的一个搜索指令还是find,下面列出几个常用的find指令用法:

    find / -mtime 0:之前讲过mtime是内容修改的时间,这里0表示目前时间,所以要找出从现在开始到24小时之前有变动内容的文件

    find /etc -newer /etc/passwd:找出/etc中建立时间比/passwd新的文件

    find /home -user jj:找到家目录中属于jj的档案

    find / -nouser:找到不属于任何人的档案

    find / -name passwd:找到根目录下名字为passwd的档案

    find / -size +1000k:找到根目录下大小大于1M的档案

  • 相关阅读:
    如何使用 @ OutputCache 指令的 VaryByCustom 属性来缓存不同版本的页面
    看不懂 ASP.NET 相册上传代码
    asp.net判断是1.1还是2.0主要由Code*属性来解决,判断规则如下:
    引号看不懂
    GridView的行删除事件 //取当前行的Id
    <Columns></Columns>中间的是列集合
    DropDownList1.SelectedIndex = 0 DropDownList1处于位选择任何选项的状态下
    是一个查询语句 查询ZhuanJia表里面id=输入id的数据
    验证码图片的解释
    get和post区别:
  • 原文地址:https://www.cnblogs.com/elninohjh/p/4295976.html
Copyright © 2020-2023  润新知