Linux从入门到精通——Linux下的文件寻址及文件管理

Posted 对方正在输入你的

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux从入门到精通——Linux下的文件寻址及文件管理相关的知识,希望对你有一定的参考价值。

命令关键字:touch、stat、mkdir、rm、vim/vi、cp、mv、cat、less、tail、head、cd、wc、whatis、man、history

 

一.Linux的系统结构

Linux是一个倒树型的结构,最大的目录是“/”(根目录),而根目录下的二级目录多为系统在安装过程中建立的。

               

                  

 

 

 

 

 

 

二.文件的管理命令

在Linux中一个重要的思想就是可以把所有东西都当成文件来处理,所以在Linux学习中对文件的处理是极为重要的,下面将讲述如何对文件进行管理

1.建立文件

 touch  file

注意:

    touch不但可以建立文件也可以修改文件的时间戳,时间戳分为:

       atime(access):文件内用被访问的时间标识

       mtime(modify):文件内容被修改的时间标识

       ctime(change):文件属性或文件内容被修改的时间标识

即相应的命令为:    touch   -a    filename

           touch   -m   filename 

           touch   -c   filename

 

 

可以看到在虚拟机桌面上新出现了一个名为“file”的文件,通过touch命令建立了一个新的文件。如果想要更直观地看到touch修改时间戳的效果可以用stat命令,以touch -m 为例做一个简单的实验。

 

 

 

可以看到第二次用了touch 命令后,file文件的Modify 和Change 都发生了改变,即mtime 和ctime 发生了改变。

 

2.建立目录

mkdir directory

mkdir -p dir1/dir2/dir3    ### -p表示建立递归目录时,当上层目录不存在时自动建立

 

 

 

3.删除文件、目录

rm   file           ### 会提示你是否删除文件,只有输入y、ye、yes才能删除,输入其他均无效 ###

rm   -f    file        ### -f 表示强制删除不提示 ###    

rm   -fr   directory       ### -r 表示递归删除,即删除目录本身和里面的所有内容,删除目录必须递归 ###

                   ### 在命令参数使用过程中, -a -b -c =-abc=-acb ,不需要注意顺序,且可以缩写在一起 ###

4.编辑文件

vim   file            ### 按[  i ]进入insert模式 ###

             ### 输入要输入的内容 ###

             ### 按[ ESC ]退出insert模式 ###

             ### ‘:wq’退出保存 ###

示例:

 1 vim hello.c                               ###建立名为hello.c 的文件并编辑###
 2 #include<stdio.h>                         ###编写C语言代码###
 3 void main()
 4 {
 5          printf("hello,world!\\n");   
 6 }
 7 
 8 :wq                                       ###退出保存###
 9 
10 yum install gcc -y                        ###安装gcc编译器###
11 gcc hello.c -o hello                      ###编译代码###
12 ./hello                                   ###执行文件###
13 hello!world                               ###实验结果为显示“hello!world”###

 

                         ***********vim异常退出***********

当vim异常退出时会生成.file.swap文件,再次打开时会出现以下情况

 

 

 

 

 



                               Swap file ".hello.swp" already exists!
                              [O]pen Read-Only, (E)dit anyway, (R)ecover,   (D)elete it, (Q)uit, (A)bort:                                                                                      

                                   只读打开             继续编辑         恢复数据      删除         退出    退出

                                

                           无论按[O] (E) (R) (Q) (A) 任何一个都不会删除.swp文件
                           那么再次打开hello文件是还会出现以上界面直到按(D),.swp文件被删除。vim恢复正常工作

5.文件的复制

                            cp         源文件                  目的地文件  
                            cp -r     源文目录               目的地目录
                            cp        源文件1 源文件2    目的地目录       ##目的地目录必须存在##
                            cp -r     源目录1 源目录2    目的地目录       ##目的地目录必须存在##                                                                                                        

                                          注意:目录之间的复制要加 -r ,否则复制不了。无论目录中是否有文件存在。

                                  

6.文件的移动

                            mv  源文件         目的地文件                ##如果目的地文件与源文件在同一磁盘,相当于重命名##
                            mv  源目录         目的地目录                

                            注意:相同磁盘的文件移动只是一个重明名过程,不同磁盘的文件移动是复制删除过程

 

 

7.文件的查看

                         cat     file       ##查看文件的全部内容##

                          cat -b  file       ##-b显示行号##                         

                         less    file       ##分页浏览##
              用法:
                        上|下          ##逐行移动##
                         pageup|pagedown     ##逐页移动##
                         /关键字         ##高亮显示关键字,n向下匹配,N向上匹配##
                          v          ##进入vim模式 在vim模式中按:wq 退回到less模式##
                          q          ##退出##

             

 

                             

二.文件的寻址

1.相对路径

和当前系统所在位置相同时,之前的相同的目录的名称(即,系统当前所在目录的名称)就可以被忽略。不能以 “/” 开头,如果相对路径以 “/” 开头的话,就代表根目录下的你要寻找的文件或者目录。此名称前只有空格,在命令执行时系统会自动在操作对象前加入“pwd”所显示的值。                                                                         

 


       
2.绝对路径

绝对路径是文件在系统的真实准确的位置。此命令是以“/”开头的,绝对路径可以不用管系统现在所在的工作目录。通过绝对路径绝对可以找到要找的文件。

 

                    注意:

                                当操作对象之间用空格隔开时,表示两个对象之间没有任何关系 

                                例如:A  B   表示A和B          AB   表示AB

3.相关命令

            (1)自动补齐

               <TAB>键              系统中的<TAB>键可以实现命令的自动补齐
                                            可以用来补齐系统中存在的命令,文件名称,和部分命令的参数
                                            当一次<TAB>补齐不了时代表以此关键字开头的内容不唯一,可以用<TAB>X2来列出所有以此关键字开头的内容,可以减少因为拼写而带                                                                              来的错误命令,如果<TAB>键补齐不了要不就是不存在,要不就是关键字开头不唯一。

            (2)切换路径               cd 目录名称                 ##进入到指定目录中##

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

                                              注:        “ . ”指的是当前目录,当前位置

                                                             “ .. ”指的是当前目录的上一级目录 

 

 

 

 

             (3)显示文件信息          ls

                                                 ls -l   file                        ##查看文件详细属性##
                                                 ls  dir                            ##查看目录下包含的内容##
                                                 ls -d   dir                       ##查看目录本身##
                                                 ls -a   dir                       ##所有文件保函隐藏的,   “ .” 开头的文件是隐藏的文件,“ -A ”  实现了除了.和..的文件的查看##

                                                 ls -S   dir                       ##查看并且按照文件大小排序##

               ls  -i            ## 查看inode信息

               ls -r          ## 逆序显示

               ls -R         ## 递归(recursive)显示,即显示当前目录及其子目录内的所有文件及目录信息,不过递归是很消耗资源的

 

                                ————————————注:关于文件属性————————————

            

                —:普通文件(file)

                d :目录文件(在linux中目录也是文件,是一种特殊的文件,其本质为linux树状结构的路径映射)

                b :块设备文件(block)

                c :字符设备文件(character)

                l  : 符号链接文件(sysmbolic link)

                p :命令管道文件(pipe)

                s :套接字文件(socket)

                

 

                                                    

 

               

               (4)文件的查看

                                              cat                                 ###输出文件全部内容###
                                              less                               ###分页浏览###
                                              head    file                     ###查看文件前10行###
                                              head -n 3 file                 ###查看文件前3行###
                                              tail    file                        ###查看文件后10行###
                                              tail -n 3 file                    ###查看文件后3行###
                                              tail -f file                        ##监控文件后10行内容的变化###

 

               (5)文件大小统计             wc 

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

 

                                                                                           

                                                                           ********************在系统中获得帮助**********************

 

           1.查看命令的用途                    whatis 命令        ##查看命令的用途## 

           2.查看命令的用法

                                                          命令 --help         ##查看命令的基本用法,适用于多数命令##

                                                          []                        ##标示选项可以加也可以不加##

                                                          ...                       ##标示选项加入的个数任意##

                                                          <>                      ##标示选项是必须要加入的##

                                                          Userage:         ##标示命令用法##

                                                          Opetions:        ##对参数的作用做说明##


       
 3.man查看命令或文件的说说明手册              

                       man    命令          

                       man   5   命令

                       man的级别
                                           
1   #命令
                                           2   #系统调用接口
                                           3   #函数库调用接口
                                           4   #特殊设备文件
                                           5   #系统配置文件
                                           6   #游戏规则说明
                                           7   #包说明
                                           8   #系统管理命令
                                           9   #内核调用规则

                   
 man的基本用法
                                           上|下                       ##逐行查看
                                            pgup|pgdn             ##分页查看
                                            /关键字                  ##高亮显示关键字,n向下匹配,N上向匹配                                                                                                                                                                                                   :q                          ##退出     

                      man -k  字符串      ##查看当前字符串在系统中拥有的man的级别                                                                                                                                                                                               /usr/share/doc      ##系统中所有安装过的软件的帮助文档

 

                                                                          **************系统中的通用配置符号****************

 


                                             *                           ##匹配0到任意字符
                                             ?                           ##匹配单个字符
                                             [[:alpha:]]              ##单个字母  
                                             [[:lower:]]              ##单个小写字母
                                             [[:upper:]]             ##单个大写字母
                                             [[:digit:]]                ##单个数字
                                             [[:punct:]]              ##单个符号
                                             [[:space:]]             ##单个空格
                                             [[:alnum:]]             ##单个数字或字母

                                             [1-9]                     #1位,这位是1-9的任意数字
                                             [!3-5]                    #1位,不是3-5的数字
                                             [^3-5]                   #1位,不是3-5的数字
                                             [a-z]                     #1位,a-z的任意字母
                                             {1..3}                    #3个,1 2 3
                                             {1,4,7}                  #3个1,4,7这三个数

 

                                                                           **************系统中历史的调用**************

 

                                              history                           ##查看历史
                                              history -c                        ##清空当前环境中的历史
                                              !数字                              ##调用此行历史比如"!5"时执行历史中地5条命令
                                              !test                               ##执行以test关键字开头的最近一条历史
                                              ctrl +r +关键字               ##调用历史中最近一条含有此关键字的历史

以上是关于Linux从入门到精通——Linux下的文件寻址及文件管理的主要内容,如果未能解决你的问题,请参考以下文章

Linux从入门到精通——系统分区及文件系统的管理

Linux从入门到精通——Vim及输入输出管理

嵌入式Linux从入门到精通之第十四节:Linux IO控制技术

嵌入式Linux从入门到精通之第十五节:嵌入式系统简介

京峰Linux Shell编程从入门到精通

Linux从入门到精通——Linux中文件的权限