Linux文件操作及管理

---恢复内容开始---

一、Linux系统的结构

  1、Linux是一个倒树型结构,最大的目录名称为“/”(根目录)

  2、Linux系统的二级目录

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

  ***使用mount命令来更改临时设备的挂载点***

二、文件管理命令

  1、文件的建立

  命令:touch filename  ## 通常用来创建文件,也可以修改文件的时间戳

  注释:时间戳分为atime、mtime、ctime

    atime :文件内容被访问的时间标识

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

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

  实例:使用*** touch  file *** 建立一个名为file的文件,并使用stat命令进行查看

  

  •  若进行文件的查看后,则访问时间将会被改变,结果如下:

  

  •  若文件进行编辑后,则访问时间、修改时间和文件改变时间三者均会变化,结果如下:

  

  注意:使用*** touch --help ***进行其他参数的查看

  2、目录的建立

  命令:mkdir directory        ## 用来建立名为directory的目录

       mkdir -p test/redcat/linux     ## -p 进行多级目录的创建

  注释:也可使用 mkdir  --help命令进行参数的查看

  实例:使用*** mkdir  niu ***创建一个目录名为niu,结果如下:

  

  •  多级目录创建结果如下:

  

  3、文件的删除

  命令:rm  file     ## 进行文件的删除

        rm  -f  test  ## -f 为强行删除文件

  实例:使用*** ls  file ***命令删除文件file,结果如下:

  

  4、目录的删除

  命令:rm  -r  directory  ## -r表示递归删除所有内容

       rm   -r -f  dir   ## 删除目录不再提示

       rm  -rf  dir     ## j结果与上一个相同,且有 -a  -b  -c= - abc   = - cba 

  实例:使用*** rm  -rf   test*** 删除test目录以及test目录下的所有内容,结果如下:

  

  5、文件编辑

  •  gedit 编辑器

     命令:gedit  file  ## 必须有图形界面,进行file文件的编辑

  •  vim 编辑器

     命令:vim file ------> 按 i 进入insert 模式 ------> 书写内容 ------> esc退出insert模式 -         -----> wq退出并保存

   实例:gedit使用(使用以下命令即可打开file文件,并进行编辑)

  

  •  使用vim.tiny实例应用如下:(vim 和vim.tiny功能类似)

  

 

  ###### 使用vim 会出现异常情况 ######

  当vim异常退出时,会生成.file.swp文件(原因是修改文件未保存)

  当helloc未保存后再次打开时,会出现以下情况:(下面文字接着图的more)
     

   Swap file ".hello.swp" already exists!

  [O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it,   (Q)uit, (A)bort:
    只读打开     继续编辑   恢复数据   删除swap文件     退出
  分析:无论按【o】【e】【r】【q】【a】任何一个都不会删除.swp文件,再次打开还会

     有这样的这个问题,直到按【D】后,.swp被删除,vim恢复正常。

  6、文件的复制(复制目录的时候用- r)

  命令:cp  sourcefile objectfile         ## 表示把远文件复制到目标文件 

     cp  -r 源目录 目的地目录  

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

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

  实例:把file文件中的内容复制到file1中,结果如下:

  

  •  使用  *** cp   -r   test test1 ***命令把test目录下内容复制到test1目录中,结果如下:

  

  •  使用 *** cp file1 file2  dir ***命令,把file1和file2文件复制到目录dir下,结果如下:

  

  •  使用*** cp -r  dir dir1 dir2 ***把目录dir1和dir2复制到目录dir3下,结果如下:

  

  7、文件的移动

  命令:mv  源文件  目的地文件    ## 重命名

     mv  源目录  目的地目录

  实例:使用*** mv  file  file1***命令,把file重命名为file1,结果如下:

  

  使用*** mv  niu/file   test/ ***把niu目录下的file文件移动到test目录中,结果如下:

  

  (.代表当前目录)例:把test目录下的file1复制到当前目录下,命令如下:

  

  注意:相同磁盘的文件移动是重命名的过程,不用磁盘的移动是复制删除的过程。

  8、文件的查看

  命令:cat filename    ## 表示查看文件的全部内容

     cat  -b  filename   ## 查看内容并显示行号

     less filename     ## 分页浏览(以下命令在less命令之后的操作)

     上|下        ## 逐行移动

     pageu|pagedn     ## 逐页移动

     /关键字       ## 高亮显示关键字,n向下匹配,N向上匹配

     v          ## 进入vim模式,然后按i进行编辑,返回vim模式按esc

     q          ##退出vim模式

  实例:使用*** cat file1***命令查看file1中的内容,结果入下:

  

  •  查看内容并显示行号,结果如下:

  

  •  less 命令既修改文件中的内容,也可以使用快捷键进行查找,在此就不放截图了。

  9、文件的寻址

  相对路径:

      相对与当前系统所在的目录的一个文件名称的简写;

      此名称省略了系统当前所在目录的名称;

      此名称不以“/”开头;

      此名称在命令执行时会自动在操作对象前加入"pwd”所显示的值。

  绝对路径:

      绝对路径是文件在系统中的真实位置;

      此命令以“/”开头;

      此命令在执行时不会考虑现在的位置的信息。

  注意:当操作对象是  对象1 空格 对象2 时,这两个对象没有任何关系

     亲    ## 动作时被系统执行,不能作为名称出现

     “亲”    ## 引号的作用是把动作变成名称字符,这种方法叫引用

     pwd   ## 显示当前工作目录

  10、自动补齐

  《tab》

     系统中的《tab》键可以实现命令的自动补齐;

     可以补齐系统中存在的命令,文件名称,和部分命令的参数;

     当一次《tab》补齐不了时,代表以此关键字开头的内容不唯一;

     可以使用《tab》两次来列出所有一次关键字开头的内容散

三、关于路径的命令

  ls  --help    ## 用来查看关于ls的所有参数

  touch  .file   ## 建立一个隐藏文件.file,使用*** ls*** 显示不出来

  注意:若是建立一个目录为 -a ,则删除的时候使用*** rm  -rf  ./-a ***来进行删除

  实例:

  

  1、显示路径

  命令:pwd  ## 显示的是绝对路径

  

  2、切换路径

  命令:cd  -      ## 当前目录和当前目录之前所在目录之间的切换

     cd  ..        ## 进入当前目录的上级目录

     cd  ~      ## 进入当前用户家目录

     cd  ~user    ## 进入user家目录

     cd  目录名     ## 进入到制定目录中

     cd  ~+       ## 表示跳转到当前目录

     cd ~-      ## 跳转到当前用户之前的目录

  实例:使用***cd - ***命令切换在/etc和/home/niu123进行切换,结果如下:

  

  •  使用*** cd .. ***命令,使当前目录切换到上一层/home目录,显示如下:

   

  •  使用***cd ~***命令切换到当前用户家目录,如下:

  

  •  使用***cd ~niu123***命令,同样可以切换到niu132家目录(也可切换到其他用户名):

  

  •  使用 ***cd   目录名***可以任意切换到指定得目录中,显示如下:

  

  •  使用命令***cd ~-***切换到上一个目录(与cd -相似),cd ~+切换到当前目录:

  

  2、路径的查看

  命令:ls      ## 显示当前目录下的所有内容

     ls -l file  ## 文件的属性

     ls dir      ## 目录中包含的内容

     ls -d dir  ## 目录本身(list  directory)

     ls  -a dir  ## 显示所有文件包含隐藏的(all)

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

     ls  -ld    ## 表示的是目录本身的属性

     ls  -R    ## 显示当前所在文件的所有文件和对应目录的子目录

  实例:使用命令*** ls  -S  Desktop***从大到小排序并显示

  

  •  使用***ls  -R ***分级显示文件和目录对应的子目录

  

  (在这就只显示着两个参数的结果,其他参数结果请回看“上一篇:Linux虚拟机基本操作”)

  4、文件查看

  命令:cat      ## 输出文件全部内容

     less       ## 分页浏览

     head file   ## 查看文件的前十行

       head -n 3 file    ## 查看文件的前3行

     tail  file   ## 查看文件的后十行

     tail  -n 3  file  ## 查看文件的后三行(数字是可以改变的)

     tail   -f file   ## 监控文件后十行内容的变化

  实例:由于前面写过cat和less基本用法,这就不演示了。主要是head和tail的简单操作,

     使用命令*** head  /etc/passwd ***显示/etc/passed文件的前十行内容:

  

  •  使用命令*** head -n 3 /etc/passed ****显示文件的前三行内容:

  

  •  使用命令*** tail  /etc/passwd***显示文件的后十行内容:

  

  •  使用***tail  -n 2  /etc/passwd ***命令显示文件后两行内容:

   

  •  使用 ***tail  -n  3   -f   file ***来监控文件后3行的变化:

  

  注意:使用*** tail -f ***命令进行监控时,首先要打开一个终端,输入监控命令;然后再桌

  面上打开另一个终端,利用echo进行输入;此时就可以在第一个终端出看到输入的字符

  了。若在第二个终端使用vim编辑器进行编辑,则在第一个终端不会看到相应的变化;这

  时可以用watch命令进行监控。

  5、文件大小统计

  命令:wc  filename   ## 显示文件基本信息

     wc -l filename  ## 显示文件内容的行数

     wc -c filename  ## 显示文件的字节数

     wc -m filename  ## 显示文件字符数

     wc -w filename  ## 显示文件内容的单词数 

  实例:显示文件file的基本信息:

  

  其中,9表示文件的行数,10表示单词数,66表示字符数,file为文件的名字。

  •  使用命令*** wc -l file ***显示文件file的行数,结果如下:

       

  •  使用命令分别显示file的字节数、字符数、单词数,结果如下:(由于内容均为字母,

  一个字符是一个字节,故其结果是相同的)

  

  

四、系统中历史记录的调用

  命令:histroy    ## 查看历史记录

     history -c  ## 清空当前环境中的历史

     !数字      ## 调用此行历史,比如!5时表示执行历史中第五条指令

     !test     ## 执行以test关键字开头的最近一条历史

      ctrl+r+关键字 ## 会调用最近一条含有关键字的命令

  实例:使用history查看历史记录

  

  •  使用*** !2 ***查看第二条命令并执行的结果如下:

  

  •  使用关键字查看,其结果是显示ls开头的历史记录,即第13条记录的结果:

  

  •  使用***ctrl + r  + cd***查询有关最近一条有关cd的命令并显示结果:

  

  

  •  使用*** history -c***进行历史记录的清除:

  

五、系统中获取帮助的方法

  1、查看命令的用途

  命令:whatis  命令    ##查看命令的用途

  实例:对cat命令进行查看

  

  2、查看命令的用法

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

  标识符:【】      ## 表示选项可以加也可以不加

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

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

      usage    ## 表示命令用法

      Options   ## 对参数的作用作说明 

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

  命令:man 命令    ## 查看命令的说明和用法

     man 5 文件    ## 查看文件的说明

  注意:man的级别有九种(1命令;2系统调用接口;3函数库调用接口;4特殊设备

     文件;5系统配置文件;6为游戏规则说明;7包说明;8系统管理命令;9内核

     调用说明);配置文件的编写用man(manual)

   man基本用法:

  上|下         ## 逐行查看

  pgup|pgsn        ## 分页查看

  /关键字        ## 高亮显示

  :q            ## 表示退出

  man -k 字符串  ## 查看当前字符串在系统中拥有的man级别

  man  man    ## 查看man的相关内容

六、系统中通用配置

  *        ## 表示匹配多个字符

  ?      ## 表示匹配单个字符

  [[:alpha:]]     ## 匹配单个字符

  [[:lower:]]   ## 单个小写字母

  [[:upper:]]   ## 单个大写字母

  [[:digit:]]    ## 单个数字

  [[:punct:]]    ## 单个符号

  [[:space:]]   ## 单个空格

  [[:alnum:]]   ## 单个数字和字母(除了用[![:alnum:]]表示)

  

  [1-9]      ## 表示1位,是1-9中任意数字

  [!3-5]       ## 1位,不是3-5的数字

  [^3-5]       ## 与上述情况相同

  [a-z]      ## 1位,a-z的任意字母

  {1..3}      ## 3个,表示1,2,3

  {1,3,5}    ## 三个,表示1,3,5

  实例:建立文件file1-file6结果如下:(两种方式,文件建立的时候必须是精确的)

  

  

  •    使用单个字符进行删除,如下图所示,rm -rf file[1-2]删除file1和file2;

        rm -rf file[!1-2]则删除不是file1和file2的其他file{3,4,5,6}。

  

  • 命令*** rm -rf fi*  ***删除文件以fi开头的所有文件;*** rm  -rf  test[[:digit:]]***表示

  删除以test开头最后一个字符为数字的文件

  

  

 

 作业一

1、用一条命令建立12个文件WESTOS_classX_linuxY(X取值范围1-2,Y取值范围为1-6)

这些文件都包含在root用户桌面的study目录中;

 

2、用一条命令建立8个文件redhat_versionX(X的范围1-8),且文件包含在/tem目录下的

VERSION中;

3、用一条命令把redhat_versionX中带奇数的文件复制到桌面的SINGLE中;

4、用一条命令把redhat_versionX中带偶数的文件复制到桌面的SOUBLE中;

5、用一条命令把WESTOS_classX_linuxyY中class1的文件移动到桌面的LCASS1中;

6、用一条命令把WESTOS_classX_linuxyY中class2的文件移动到桌面的LCASS2中;

7、备份/etc目录中名字带数字且以.conf结尾的文件到桌面上的confdir中;

8、删除掉刚建立或备份的所有文件

 

 

  

 

  

 

 

 

  

  

  

  

  

 

 

 

  

 

 

 

  

 

 

  

  

  

 

 

 

  

 

  

     

 

 

 

 

 

 

 

  

  

 

 

  

  

 

 

 

 

  

 

 

  

 

  

 

 

 

 

  

 

  

 

---恢复内容结束---

posted @ 2018-07-16 21:46  UTHN_B  阅读(10016)  评论(0编辑  收藏  举报