目录

  • 1、Linux命令的普遍语法格式
  • 2、目录处理命令
    •  一、显示目录文件命令:ls
    •  二、创建目录命令:mkdir
    •  三、切换目录命令:cd
    •  四、shell内置命令和外部命令的区别
    •  五、显示当前目录命令:pwd
    •  六、删除空目录命令:rmdir
    •  七、复制文件或目录命令:cp
    •  八、剪切文件或目录命令:mv
    •  九、删除文件或目录命令:rm
  • 3、文件处理命令
    •  一、创建空文件命令:touch
    •  二、显示文件内容命令(适合内容较少的文件):cat
    •  三、反向显示文件内容命令(适合内容较少的文件):tac
    •  四、分页显示文件内容命令(不能向前翻页):more
    •  五、分页显示文件内容命令(可以前后翻页):less
    •  六、显示文件内容命令(指定行数):head
    •  七、反向文件内容命令(文件即时更新后也能动态显示,多用于日志文件显示):tail
  • 4、总结

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

  本篇博客我们学习Linux最常用的文件处理命令。

回到顶部

1、Linux命令的普遍语法格式

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

  

  上面的便是Linux系统中的一般命令格式,基本上所有命令都是遵循这种语法格式(个别命令除外)。

回到顶部

2、目录处理命令

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

  ①、命令名称:ls

  ②、英文原意:list

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

  ④、执行权限:所有用户

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

  ⑥、语法: 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 表示文件名  

    

  

  

 二、创建目录命令:mkdir

  ①、命令名称:mkdir

  ②、英文原意:make directories

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

  ④、执行权限:所有用户

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

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

     -p 递归创建

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

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

  注意:1、创建的目录已经存在, 那么 Linux 会提示我们 Linux 无法创建它。

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

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

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

  

  

 三、切换目录命令:cd

  ①、命令名称:cd

  ②、英文原意:change directory

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

  ④、执行权限:所有用户

  ⑤、功能描述:切换目录

  ⑥、语法: cd【目录名】

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

     回到上一级目录:cd ..

     还是在当前目录:cd .

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

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

  

 四、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中而不必创建多余的进程,要比外部命令执行快得多。因此和执行更大的脚本道理一样,执行包含很多外部命令的脚本会损害脚本的性能。

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

  ①、命令名称:pwd

  ②、英文原意:print working directory

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

  ④、执行权限:所有用户

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

  ⑥、语法: pwd

  例子:显示当前目录:pwd

  

  

 六、删除空目录命令:rmdir

  ①、命令名称:rmdir

  ②、英文原意:remove empty directories

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

  ④、执行权限:所有用户

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

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

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

  

  注意:由于此命令只能删除空目录,在实际操作中应用的不多,后面我们讲解 rm 命令可以替代。

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

  ①、命令名称:cp

  ②、英文原意:copy

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

  ④、执行权限:所有用户

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

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

            -r    复制目录

         -p    保留文件属性

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

  

  可以用于复制后文件改名,比如我们将 root 目录下的 install.log 文件复制到 tmp的copyinstall.log 文件

  

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

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

  ①、命令名称:mv

  ②、英文原意:move

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

  ④、执行权限:所有用户

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

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

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

  

  

 九、删除文件或目录命令: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 同时删除两个文件

  

回到顶部

3、文件处理命令

 一、创建空文件命令:touch

  ①、命令名称:touch

  ②、英文原意:

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

  ④、执行权限:所有用户

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

  ⑥、语法: touch 【文件名】

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

  

  注意:创建文件时,文件名不要有空格,不然就是创建了 两个文件

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

  

  如果我们想创建一个文件名为 progrom files ,应该用引号括起来(尽量避免文件名包含空格)

  touch "progrom files"

  

  

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

  ①、命令名称:cat

  ②、英文原意:

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

  ④、执行权限:所有用户

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

  ⑥、语法: cat【文件名】

        -n  显示文件行号

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

  

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

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

  ①、命令名称:tac

  ②、英文原意:

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

  ④、执行权限:所有用户

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

  ⑥、语法: tac【文件名】

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

  

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

  ①、命令名称:more

  ②、英文原意:

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

  ④、执行权限:所有用户

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

  ⑥、语法: more【文件名】

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

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

     q 或 Q 退出

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

  

 五、分页显示文件内容命令(可以前后翻页):less

  ①、命令名称:less

  ②、英文原意:

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

  ④、执行权限:所有用户

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

  ⑥、语法: less【文件名】

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

     PgUp向前翻页

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

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

     q 或 Q 退出

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

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

      /想搜索的字符,然后回车键,如下:

  

  回车之后,如下显示:

  

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

  ①、命令名称:head

  ②、英文原意:

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

  ④、执行权限:所有用户

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

  ⑥、语法: head【文件名】

    -n   指定显示的行数

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

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

  

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

  ①、命令名称:tail

  ②、英文原意:

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

  ④、执行权限:所有用户

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

  ⑥、语法: tail【文件名】

    -n   指定显示的行数

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

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

  

  注意:如果我们想结束加上 -f显示的tail命令,通过 Ctrl+C。

回到顶部

4、总结

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

  接着我们介绍了几个文件处理命令,创建空文件 touch,显示文件内容的命令有很多,我们也不需要记住那么多,首先less命令能显现文件内容比较多的文件,而且能前后翻页显示。再就是如果我们需要动态监视文件内容的变化,比如某个日志文件,我们可以通过 tail 加上-f参数动态显示文件末尾的内容。

作者:YSOcean

转载于:https://www.cnblogs.com/dengyungao/p/8496595.html

Linux常用命令之文件和目录处理命令相关推荐

  1. linux函数怎么判断目录是否存在,linux C之判断文件或目录是否存在 access函数

    http://blog.sina.com.cn/s/blog_6a1837e90100uh5d.html access():判断是否具有存取文件的权限 相关函数    stat,open,chmod, ...

  2. Linux随笔2 - Linux的目录配置、文件元数据信息、符号链接与硬链接和常用文件和目录管理命令示例

    目录 1. Linux的目录配置与FHS(Filesystem Hierarchy Standard) 1.1 根目录(/)的意义与内容 1.1.1 FHS要求根目录中必须存在的目录 1.1.2 FH ...

  3. Linux学习——Linux常用文件和目录管理命令(超详细)

    Linux常用文件和目录管理命令 JunLeon--go big or go home 前言: Linux系统文件和目录管理是必须学会的命令,在Linux系统目录中/tmp目录是用来存放临时文件的目录 ...

  4. Linux命令:文件和目录操作

    Linux命令:文件和目录操作 >文件是Linux用来存储信息的基本结构, 它是被命名(称为文件名)的存储在某种介质(如磁盘.光盘.磁带等)上的一组信息的集合. >Linux系统文件以文件 ...

  5. linux判断目录是否存在命令,linux shell 中判断文件、目录是否存在的方法

    本文主要介绍了linux shell 中判断文件.目录是否存在的方法,分享给大家 -e filename 如果 filename存在,则为真 -d filename 如果 filename为目录,则为 ...

  6. linux proc 目录清理_Linux文件及目录管理命令基础

    目录 前言 下面是常用命令的介绍,这些命令都是以后会用到的,熟练掌握便是最终的目标. 第一章 Linux文件及目录管理命令基础 1.1 pwd: 显示当前所在位置的信息 [功能说明] 显示当前所在目录 ...

  7. linux cp复制文件夹下的软连接,Linux培训:cp命令复制文件和目录

    Linux培训:cp命令复制文件和目录 更新时间:2019年04月02日16时56分 来源:传智播客linux培训 浏览次数: cp 是用于复制的命令,其基本信息如下: 命令名称:cp: 英文原意:c ...

  8. Linux基本命令(1)管理文件和目录的命令

    Linux管理文件和目录的命令 命令 功能 命令 功能 pwd 显示当前目录 ls 查看目录下的内容 cd 改变所在目录 cat 显示文件的内容 grep 在文件中查找某字符 cp 复制文件 touc ...

  9. 利用linux的df和du命令查看文件和目录的内存占用

    版权声明:本文为博主原创文章,转载请超链接注明出处.    https://blog.csdn.net/ljc1026774829/article/details/74935658 当磁盘大小超过标准 ...

最新文章

  1. java内存模型 年轻代/年老代 持久区
  2. C宏定义中## 和# 的含义
  3. 比较两个文件夹图像相似度
  4. java笔试之简单密码
  5. CloudStack相关技术-主存储和二级存储
  6. 同样是程序员,优秀的程序员能够月入5万甚至50万!,一般的程序员却只能月入5千甚至更低?那么他们差别在哪里呢?
  7. 【问链财经-区块链基础知识系列】 第四十七课 蚂蚁区块链的布局和打法
  8. Exchange ActiveSyn身份验证类型
  9. sql语句变量定义和样例
  10. CSS样式表书写位置
  11. [Silverlight入门系列]用TransformToVisual和Transform取得元素绝对位置(Location)
  12. live2d手机制作软件_live2d制作器手机版
  13. H5编辑器核心算法和思想-遁地龙卷风
  14. 二分类模型评价指标-KS值
  15. linux执行脚本提示文件忙,linux定时执行脚本文件fgo 封号吗
  16. Python 语言发展历史
  17. 产品设计过程中的沉没成本和禀赋效应
  18. android 最好的gtd软件,Windows 上的高颜值 GTD 应用,这可能是最棒的一款了:MyerList...
  19. 解决操作无法完成,因为其中的文件夹或文件已在另一程序中打开的问题
  20. node和npm的关系,node和npm的关联

热门文章

  1. 探索MicroPython(一)--基础介绍
  2. 7-137 凯撒密码 (20 分)
  3. jquery学习记录
  4. 电表的改装与校准大学物理实验报告_电学实验 一 : 电表的改装、使用与读数...
  5. xpath的基本使用
  6. 向Docker容器中导入sql文件
  7. exec vs sp_executesql
  8. leetcode实践:通过链表存储两数之和
  9. 2018CHD-ACM新生赛(正式赛)E.解救迷茫的草滩小王子
  10. G4560 HD610安装黑苹果Hakintosh