Linux经常使用命令之文件和目录处理命令

 


  这个系列教程的前面咱们讲解了如何安装Linux系统,以及学习Linux系统的一些方法。那么从这篇博客开始,咱们就正式进入Linux命令的学习。学习命令,首先要跟你们纠正的一点就是,咱们不须要记住每一条命令的详细语法格式,学完以后咱们只须要知道某个命令能干什么。这样咱们在实际应用中,遇到须要实现某个功能,咱们脑海只要能想起来适用于某个命令就行,至于详细格式咱们能够经过查资料。当咱们使用的多了,会不知不觉的记住这些命令,这才是正确的学习方法。Linux命令有不少,若是初学者就想所有记住这些命令的详细格式,会对咱们产生很大的学习挫败性,还没记完这些命令,或许你已经丧失了学习Linux的热情了。因此接下来的几篇博客,我会详细讲解Linux经常使用命令的语法格式以及用法,你们记住大概的用法就好了,到时候不会能够回过头来查询。linux

  本篇博客咱们学习Linux最经常使用的文件处理命令。shell

 

一、Linux命令的广泛语法格式

  命令格式: 命令 【-选项】【参数】
  例子:   ls -la /etc
  说明:      ①、个别命令使用不遵循此格式,【】这种符号表示能够省略
         ②、当有多个选项时,能够写在一块儿
         ③、简化选项(通常用一个-)与完整选项(通常用两个--)
           好比 ls  -a 等于 ls  --allbash

  

 

  上面的即是Linux系统中的通常命令格式,基本上全部命令都是遵循这种语法格式(个别命令除外)。less

 

二、目录处理命令

 1、显示目录文件命令:ls

  ①、命令名称:lspost

  ②、英文原意:list性能

  ③、命令所在路径:/bin/ls学习

  ④、执行权限:全部用户3d

  ⑤、功能描述:显示目录文件日志

  ⑥、语法: ls 选项【-ald】【文件或目录】

     -a 显示全部文件,包括隐藏文件

     -l 详细信息显示

     -d 仅显示目录名,而不显示目录下的内容列表

     -h 人性化显示(hommization)

     -i 查看任意一个文件的i节点(相似于身份证惟一信息)

            -t 用文件和目录的更改时间排序;能够用第一个显示的文件判断最近修改的文件

  注意:. 开头的文件除非是目录,不然就是隐藏文件

  

  上面咱们分别列出了ls的各类命令组合显示效果。咱们以  -rw-------. 1 root root 1.3k Mar 11 08:05 anaconda-ks.cfg 为例解析每一个字段:

  ①、-rw-------  第一位表示文件类型,- 表示是二进制文件,d 表示目录, l 表示软链接文件。后面的每三个为一组:

          rw-  ---  ---

          u     g     o
          u(user)全部者  g(group)所属组  o(other) 其余人
          r 读 w写 x执行 -无权限 

  ②、1  引用计数,表示文件被引用过多少次

  ③、root  这第一个root表示全部者,通常建立一个文件,全部者默认是建立者。

  ④、root  这第二个root表示所属组。

  ⑤、1.3K  表示文件字节大小,不带单位表示字节

  ⑥、ar 11 08:05 表示文件的最后修改时间。注意:Linux没有明确的建立时间,只有最后一次访问时间、文件的状态修改时间、文件的数据修改时间

  ⑦、anaconda-ks.cfg 表示文件名     

    

   

  

 2、建立目录命令:mkdir

  ①、命令名称:mkdir

  ②、英文原意:make directories

  ③、命令所在路径:/bin/mkdir

  ④、执行权限:全部用户

  ⑤、功能描述:建立新目录

  ⑥、语法: mkdir 【-p】【目录名】

     -p 递归建立

  例子:建立单个目录:mkdir /tmp/vae.txt

     建立多个目录:mkdir /tmp/a.txt  /tmp/b.txt

  注意:一、建立的目录已经存在, 那么 Linux 会提示咱们 Linux 没法建立它。

     二、不带任何参数运行 mkdir 命令会在当前目录下建立目录。

     三、不带上-p,若是新建的文件上级目录不存在则不会执行成功这种说法是错误的。加或者不加上 -p 前面的目录没有得都会依次建立。

     四、建立目录的首要条件是, 在想要建立目录的目标路径下你必须具备访问权限。

  

 

 

  

 3、切换目录命令:cd

  ①、命令名称:cd

  ②、英文原意:change directory

  ③、命令所在路径:shell 内置命令

  ④、执行权限:全部用户

  ⑤、功能描述:切换目录

  ⑥、语法: cd【目录名】

  例子:切换到指定目录:cd /tmp/vae

     回到上一级目录:cd .. 

     仍是在当前目录:cd .

     返回上两级目录:cd ../..

        返回进入此目录以前所在的目录:cd  -  

  

 

 4、shell内置命令和外部命令的区别

  你们能够看到前面的三个命令,ls命令和mkdir命令都有命令的所在路径,而cd命令咱们说是shell内置命令。这二者即是Linux内置命令和外部命令。

  内部命令其实是shell程序的一部分,其中包含的是一些比较简单的linux系统命令,这些命令由shell程序识别并在shell程序内部完成运行,一般在linux系统加载运行时shell就被加载并驻留在系统内存中。内部命令是写在bashy源码里面的,其执行速度比外部命令快,由于解析内部命令shell不须要建立子进程。好比:exit,history,cd,echo等。

  外部命令是linux系统中的实用程序部分,由于实用程序的功能一般都比较强大,因此其包含的程序量也会很大,在系统加载时并不随系统一块儿被加载到内存中,而是在须要时才将其调用内存。一般外部命令的实体并不包含在shell中,可是其命令执行过程是由shell程序控制的。shell程序管理外部命令执行的路径查找、加载存放,并控制命令的执行。外部命令是在bash以外额外安装的,一般放在/bin,/usr/bin,/sbin,/usr/sbin......等等。可经过“echo $PATH”命令查看外部命令的存储路径,好比:ls、vi等。

  用type命令能够分辨内部命令与外部命令:

  

  内部命令和外部命令最大的区别之处就是性能。内部命令因为构建在shell中而没必要建立多余的进程,要比外部命令执行快得多。所以和执行更大的脚本道理同样,执行包含不少外部命令的脚本会损害脚本的性能。

 

 5、显示当前目录命令:pwd

  ①、命令名称:pwd

  ②、英文原意:print working directory

  ③、命令所在路径:/bin/pwd

  ④、执行权限:全部用户

  ⑤、功能描述:显示当前目录

  ⑥、语法: pwd

  例子:显示当前目录:pwd

  

 

  

 6、删除空目录命令:rmdir

  ①、命令名称:rmdir

  ②、英文原意:remove empty directories

  ③、命令所在路径:/bin/rmdir

  ④、执行权限:全部用户

  ⑤、功能描述:删除空目录(若是目录下存在文件则不能删除)

  ⑥、语法: rmdir 【空目录名】

  例子:删除指定空目录:rmdir /tmp/a

  

  注意:因为此命令只能删除空目录,在实际操做中应用的很少,后面咱们讲解 rm 命令能够替代。

 

 7、复制文件或目录命令:cp

  ①、命令名称:cp

  ②、英文原意:copy

  ③、命令所在路径:/bin/cp

  ④、执行权限:全部用户

  ⑤、功能描述:复制文件或目录

  ⑥、语法: cp -rp 【原文件或目录】【目标目录】

            -r    复制目录

         -p    保留文件属性

  例子:好比咱们将 root 目录下的install.log 文件复制到 tmp 目录下

  

  能够用于复制后文件更名,好比咱们将 root 目录下的 install.log 文件复制到 tmp的copyinstall.log 文件

  

  还可同时复制多个文件,注意复制目录的时候要加 -r选项。加-p属性以后会将原文件的一些属性好比修改时间等也原封不动的复制过去。若是不加-p属性,那么复制后的文件修改时间为当前系统时间。

 

 8、剪切文件或目录命令:mv

  ①、命令名称:mv

  ②、英文原意:move

  ③、命令所在路径:/bin/mv

  ④、执行权限:全部用户

  ⑤、功能描述:剪切文件、更名

  ⑥、语法: mv【原文件或目录】【目标目录】

  例子:在 tmp 目录下建立目录 tmp1 ,而后在 tmp1 目录下建立目录 tmp1_1,而后 命令 mv /tmp/tmp1/tmp1_1 /tmp 将 tmp1目录下的 tmp1_1 剪切到 tmp 目录下。

  

 

   

 9、删除文件或目录命令:rm

  ①、命令名称:rm

  ②、英文原意:remove

  ③、命令所在路径:/bin/rm

  ④、执行权限:全部用户

  ⑤、功能描述:剪切文件、更名

  ⑥、语法: rm -rf 【文件或目录】

          -r    删除目录

          -f    强制执行

  例子:在 tmp 目录下有两个目录 tmp1 和 tmp1_1,rm -r tmp1_1 是删除这个目录,可是须要输入 y 来确认

      rm -rf tmp1 是强制删除 tmp1 目录,不须要输入 y 来确认,这种作法很简单,可是容易误删文件,没有反悔的机会

      rm -rf tmp1 tmp2 同时删除两个文件

  

 

三、文件处理命令

 1、建立空文件命令:touch

  ①、命令名称:touch

  ②、英文原意:

  ③、命令所在路径:/bin/touch

  ④、执行权限:全部用户

  ⑤、功能描述:建立空文件

  ⑥、语法: touch 【文件名】

  例子:在 tmp 目录下建立 tmp.log 文件

  

  注意:建立文件时,文件名不要有空格,否则就是建立了 两个文件

      touch progrom files   这是建立了两个文件,progrom 和 files

  

  若是咱们想建立一个文件名为 progrom files ,应该用引号括起来(尽可能避免文件名包含空格)

  touch "progrom files"

  

  

 

 2、显示文件内容命令(适合内容较少的文件):cat

  ①、命令名称:cat

  ②、英文原意:

  ③、命令所在路径:/bin/cat

  ④、执行权限:全部用户

  ⑤、功能描述:显示文件内容(只能显示内容较少的文件)

  ⑥、语法: cat【文件名】

        -n  显示文件行号

  例子:经过不加参数-n和加参数-n,显示/etc/issue的内容

  

  注意:此命令只能显示文件内容比较少的文件,若是文件内容不少,用cat命令是不合适的,视觉效果是屏幕不断滚动更新。

 

 3、反向显示文件内容命令(适合内容较少的文件):tac

  ①、命令名称:tac

  ②、英文原意:

  ③、命令所在路径:/bin/tac

  ④、执行权限:全部用户

  ⑤、功能描述:显示文件内容(只能显示内容较少的文件)

  ⑥、语法: tac【文件名】

  例子:显示/etc/issue的内容

  

 

 4、分页显示文件内容命令(不能向前翻页):more

  ①、命令名称:more

  ②、英文原意:

  ③、命令所在路径:/bin/more

  ④、执行权限:全部用户

  ⑤、功能描述:分页显示文件内容

  ⑥、语法: more【文件名】

    (空格)或f 翻页(一页一页的日后显示)

    (Enter) 换行(一行一行的日后显示)

     q 或 Q 退出

  例子:查看etc目录下的 services 文件信息:more /etc/services

   

 

 5、分页显示文件内容命令(能够先后翻页):less

  ①、命令名称:less

  ②、英文原意:

  ③、命令所在路径:/usr/bin/less

  ④、执行权限:全部用户

  ⑤、功能描述:分页显示文件内容

  ⑥、语法: less【文件名】

    (空格)或f 或PgDn 翻页(一页一页的日后显示)

     PgUp向前翻页

    (Enter) 换行或向下的箭头(一行一行的日后显示)

    向上的箭头(一行一行的往前显示)

     q 或 Q 退出

    输入/想搜索的字符,而后回车键

  例子:查看etc目录下的 services 文件信息:less/etc/services。这个比较简单,咱们就不截图演示了,主要是最后提到的搜索功能,咱们在进入命令以后,输入 

      /想搜索的字符,而后回车键,以下:

  

  回车以后,以下显示:

  

 

 6、显示文件内容命令(指定行数):head

  ①、命令名称:head

  ②、英文原意:

  ③、命令所在路径:/usr/bin/head

  ④、执行权限:全部用户

  ⑤、功能描述:显示文件的前面几行 

  ⑥、语法: head【文件名】

    -n   指定显示的行数

    不加 -n 默认显示前 20 行数据

  例子:显示 etc目录下的 services 文件前面 20 行   head -n 20 /etc/services

  

 

 

 7、反向文件内容命令(文件即时更新后也能动态显示,多用于日志文件显示):tail

  ①、命令名称:tail

  ②、英文原意:

  ③、命令所在路径:/usr/bin/tail

  ④、执行权限:全部用户

  ⑤、功能描述:显示文件的后面几行 

  ⑥、语法: tail【文件名】

    -n   指定显示的行数

    -f 动态显示文件末尾内容(即文件实时变化,那么显示内容也会随之变化)

  例子:显示 etc目录下的 services 文件后面 20 行   tail  -n 20 -f /etc/services

  

   注意:若是咱们想结束加上 -f显示的tail命令,经过 Ctrl+C。

 

 

四、总结

   本篇博客咱们主要讲解了Linux系统中的文件和目录处理命令,显示目录文件信息 ls 这是咱们最经常使用的,而后建立目录命令 mkdir,切换目录命令 cd,显示当前目录 pwd,删除空目录命令 rmdir,这个命令用的很少,若是咱们想删除目录能够用 rm 命令,注意 rm 若是加上 -f 参数,那将没有提示,直接将文件从系统中删除,须要特别注意,以避免删除系统文件。而后咱们接着介绍了复制文件或目录命令 cp,剪切文件或目录命令 mv,注意mv命令在剪切后能够直接更改文件或目录名称。

  接着咱们介绍了几个文件处理命令,建立空文件 touch,显示文件内容的命令有不少,咱们也不须要记住那么多,首先less命令能显现文件内容比较多的文件,并且能先后翻页显示。再就是若是咱们须要动态监视文件内容的变化,好比某个日志文件,咱们能够经过 tail 加上-f参数动态显示文件末尾的内容。

做者: YSOcean
相关文章
相关标签/搜索