Linux之文件管理

对于Linux操作系统,一切皆文件:

    #####linux系统结构########

        linux是一个倒树型结构,最大的目录名称叫“/” (根目录)

        #####linux系统中的二级目录######

        /bin        ##二进制可执行文件,系统常规命令
        /boot        ##启动目录,存放系统自动启动文件,内核,初始化程序
        /dev        ##系统设备管理文件
        /etc        ##大多数系统配置文件存放路径
        /home        ##普通用户家目录
        /lib        ##函数库
        /lib64/        ##64位函数库
        /media          ##临时挂载点    
        /mnt        ##临时挂载点
        /run        ##自动临时设备挂载点
        /opt        ##第三方软件安装路径
        /proc        ##系统硬件信息和系统进程信息
        /root        ##超级用户家目录
        /sbin        ##系统管理命令,通常只有root可以执行
        /srv        ##系统数据目录
        /var        ##系统数据目录
        /sys        ##内核相关数据
        /tmp        ##临时文件产生目录
        /usr/        ##用户相关信息数据

有关文件的操作命令:

    ##### 1.touch 建立文件或修改文件时间戳 #####

        touch path/filenmae        ##创建文件

        注意:
            touch不仅可以建立文件,也可以修改文件时间戳:touch -t filename
            时间戳查看:stat filename
            [[email protected] Desktop]$ stat file
              File: ‘file’
              Size: 0             Blocks: 0          IO Block: 4096   regular empty file
            Device: 803h/2051d    Inode: 269707032   Links: 1
            Access: (0664/-rw-rw-r--)  Uid: ( 1000/   kiosk)   Gid: ( 1000/   kiosk)
            Context: unconfined_u:object_r:user_home_t:s0
            Access: 2018-07-07 14:47:02.730109974 +0800
            Modify: 2018-07-07 14:47:02.730109974 +0800
            Change: 2018-07-07 14:47:02.730109974 +0800
             Birth: -
            时间戳分:
            atime:(Access)文件内容被访问的时间标识
            mtime:(Modify)文件内容被修改的时间标识
            ctime:(Change)文件内容或属性被修改的时间标识

 

    ##### 2.mkdir 建立目录 #####

        mkdir path/directory             ##创建目录
        mkdir -p path/directory         ##上级目录不存在自动建立

 

    ##### 3.rm 删除    #####

        rm -f filename                ##强行删除不提示
        rm -r directoryname            ##递归删除目录

 

    ##### 4.vim 编辑文件 #####

        `gedit filename                ##必须有图形
        vim filename                ##文本界面

 

            命令模式不能编辑文件,如果要编辑文件要进入插入模式
            按"i"进入插入模式-- INSERT --
            如果完成编辑,按”esc“推出插入模式,输入”:wq“ 保存退出
            vim filename 如果文件名字不存在,会自动创建
            vim 没有操作对象直接打开,编辑文件后要 :wq filename

            #### 异常退出 ####
            生成.filename.swp文件,储存未保存数据,再次打开:
            E325: ATTENTION
            Found a swap file by the name ".file.swp"
                  owned by: kiosk   dated: Sat Jul  7 15:53:15 2018
                 file name: ~kiosk/Desktop/file
                  modified: YES
                 user name: kiosk   host name: foundation36.ilt.example.com
                process ID: 16048
            While opening file "file"
                     dated: Sat Jul  7 15:53:05 2018

            (1) Another program may be editing the same file.  If this is the case,
                be careful not to end up with two different instances of the same
                file when making changes.  Quit, or continue with caution.
            (2) An edit session for this file crashed.
                If this is the case, use ":recover" or "vim -r file"
                to recover the changes (see ":help recovery").
                If you did this already, delete the swap file ".file.swp"
                to avoid this message.

            Swap file ".file.swp" already exists!
            [O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:
            只读打开           忽略继续编辑      恢复数据    删除.swp文件  退出      放弃
            #### 只有(D)会删除.swp文件并且下次编辑不出现异常 ####

 

    ##### 5.cp 文件复制 #####

        cp是新建文件的过程

        cp file file1 file2 ...    directory    ###把file file1 file2 复制到目标目录中,目标目录必须存在
        cp file test                        ###复制file为test,目标文件可以不存在,如果存在提示是否覆盖
        cp -r directory    directory1            ###递归复制目录,若目标目录存在,则复制到目标目录中,否则将源目录重命名

 

    ##### 6.mv 移动或重命名 #####

        mv file1 file2    direcotry        ##移动file file1到directory中
        mv 存在文件    不存在文件            ##重命名文件
        mv westos/linux .                ##把westos中的linux移动到当前目录 .代表当前目录

 

        相同磁盘文件移动:重命名过程,没有底层数据流
        不同磁盘文件移动:先复制再删除过程

    ##### 7.cat|less|head|tail 查看文件内容 #####

        cat filename        ##查看全部内容
        cat -b filename        ##加行号

 

        less filename        ##分页浏览
        用法:
        上|下            ##逐行移动
        pageup|pagedown    ##逐页移动
        /keywords        ##关键字高亮显示,n向下查找,N向上查找
        v                       ##进入vim模式
        q                       ##退出


        
        head|tail filename        ##查看文件首|尾10行
        head|tail -n 3 filename    ##查看文件首|尾3行
        tail -f    file            ##监控文件后10行内容的变化

 

    ##### 8.ls 查看目录内容 #####

        ls    dir            ##目录中包含的内容
        ls -l    file        ##文件属性
        ls -d    dir        ##目录本身
        ls -a    dir        ##所有文件(包括隐藏文件)
        ls -S    dir        ##查看并且按照大小排序

 

    ##### 9.wc 文件统计 #####

        wc
        wc -l    ##行数
        wc -w    ##单词数
        wc -m    ##字符数
        wc -c    ##字节数

 

    ##### 10.文件的寻址 #####

        文件的地址分为:

            相对路径:
                相对与当前系统所在目录的一个文件名称的简写,
                此名称省略了系统当前所在目录的名称
                此名称不以“/”开头
                此名称在命令执行时会自动在操作对象前加入“PWD”所显示的路径
        
            绝对路径:
                绝对路径是文件在系统的真实位置
                此命令是以“/”开头的
                此命令在命执行时系统不会考虑现在所在位置的信息
        注意:
            当操作对象是 对象1  空格  对象2  时,
            这两个对象之间没有任何关系
            豆角 茄子        ##这是2个对象
            豆角茄子        ##这是1个对象

    

            亲            ##动作是被系统执行的,不能作为名称出现
            “亲”        ##用引号的作用是把动作变成名称字符,这种方法叫引用

        有关路径的命令:

            1.显示路径
                pwd

            2.切换路径
                cd 目录名称    ##进入到指定目录中
                cd -        ##当前目录和当前目录值前所在目录之间的切换
                cd ~        ##进入当前用户家目录
                cd ~user     ##进入user家目录
                cd ..        ##进入当前目录的上级目录