zoukankan      html  css  js  c++  java
  • 拜师鸟哥之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的档案

  • 相关阅读:
    JavaScript对原始数据类型的拆装箱操作
    Javascript继承(原始写法,非es6 class)
    动态作用域与词法作用域
    自行车的保养
    探索JS引擎工作原理 (转)
    C语言提高 (7) 第七天 回调函数 预处理函数DEBUG 动态链接库
    C语言提高 (6) 第六天 文件(续) 链表的操作
    C语言提高 (5) 第五天 结构体,结构体对齐 文件
    C语言提高 (4) 第四天 数组与数组作为参数时的数组指针
    C语言提高 (3) 第三天 二级指针的三种模型 栈上指针数组、栈上二维数组、堆上开辟空间
  • 原文地址:https://www.cnblogs.com/elninohjh/p/4295976.html
Copyright © 2011-2022 走看看