Linux运维实战之2-1:文件管理类命令

Linux运维实战之2-1:文件管理类命令本次博文我们来学习下Linux系统中使用频率比较高的文件管理类命令哈。

主要内容:

    1、文件管理的概述;

    2、文件管理命令详解


上次博文,我们学习了Linux的哲学思想,其中之一就是:Linux中一切皆文件。由此,文件管理就是Linux系统的重要功能之一。

一、文件管理的概述:

问题引入:Linux系统是如何管理文件的?

这个问题我们在上次博文也阐述过了哈。在Linux系统中,文件/目录被组织成一颗倒置的树状结构。层次化结构能够大大减小查找的复杂度–>如果系统内文件很多,则目录文件会变得很长,要查找某个文件将耗费太多的时间(例如:我们要查找一个文件,但不知道它存储在什么地方,此时我们就需要从“/”开始查找,那肯定是非常耗时间哈。若此时我们知道这个文件保存在"/var/log/” 下,那查找起来肯定快的多哈!)。树是一种层次化的数据结构,它由根结点,子结点以及子子结点组成。Linux借用树状结构来组织它的文件目录,形成树型目录组织。树型目录组织是多级目录组织的一种形式。

对应的文件操作为:增(创建新文件)、删(删除文件)、查(查看、查找一个文件)、改(修改一个文件的名称或内容)4种。做个简单的归纳,如下图所示:

Linux运维实战之2-1:文件管理类命令文件管理命令v01.png 


二、文件管理命令详解:

根据上面的文件管理命令归纳图,我们详细介绍下具体的使用方法和注意事项。

1、mkdir:创建目录命令

命令名称:mkdir
命令
英文原意:make directories
命令所在路径:/bin/mkdir
执行权限:所有用户
语法:mkdir [选项] [目录名]
功能描述:创建新目录
常用的选项:
-p:如果父目录不存在则创建之
-v:显示创建过程

范例:创建/tmp/etc/rc.d, /tmp/etc/rc.d/init.d, /tmp/etc/rc.d/rc0.d, /tmp/etc/sysconfig, /tmp/etc/pam, /tmp/etc/yum.repos.d/

Linux运维实战之2-1:文件管理类命令blob.png

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

命令名称:cp命令
英文原意:copy
命令所在路径:/bin/cp
执行权限:所有用户
语法:cp 选项 [源文件或目录] [目的目录]
常用选项:
-r,-R:递归复制
-a:全递归复制,尽可能将档案状态、权限等资料都照原状予以复制,其作用等于dpR选项的组合
-i:交互式(覆盖前提醒确认)
-v:显示命令执行过程

范例:将上个例子中的/tmp/etc/下的内容复制到/root/etc/

Linux运维实战之2-1:文件管理类命令blob.png

3、rm:删除命令

命令名称:rm
命令英文原意:remove
命令所在路径:/bin/rm
执行权限:所有用户
功能描述:删除
文件语法:rm  [选项]  [文件或目录]
常用选项:
-i:交互式(删除前提醒确认)
-f:强行删除
-r:递归删除目录及其内部的所有文件

范例:强行删除/目录下的所有文件(注意,删除前在虚拟机中做好快照备份)

blob.pngLinux运维实战之2-1:文件管理类命令 

提示说删除根是非常危险的哈(root用户有至高无上的权力,可以删除一切),这里有保护不给直接删除,不过看下面的:

Linux运维实战之2-1:文件管理类命令blob.png

blob.png Linux运维实战之2-1:文件管理类命令

找不到命令了都,文件彻底没了哈!~所以,慎用rm -rf 命令;

4、rmdir:删除空目录

命令名称:rmdir
命令英文原意:remove directory
命令所在路径:/bin/rmdir
执行权限:所有用户
功能描述:删除目录,注意,目录必须为空目录
语法:rmdir  [选项]  [文件或目录]

范例:

blob.png

5、ls:列出目录内容

命令名称:ls
命令英文原意:list
命令所在路径:/bin/ls
执行权限:所有用户
功能描述:显示目录内容
语法:ls  [选项]  [文件或目录]
常用选项:
-a:显示所有文件,包括隐藏文件
-l: 以长列表方式显示目录下的文件(文件的元数据信息)        
-i:显示文件的inode号(关于inode号的知识以后详解哈)
-d:只显示目录本身
-A:跟-a相同,但不显示.和..
-n:类似于-l,但是以用户及组的id号排序
-h:与-l一起使用,文件大小会自动进行单位换算
-r:文件名逆序显示
-R:递归显示

范例:以长列表模式显示/tmp/目录下的所有内容,并显示/tmp/etc/目录的属性情况。

Linux运维实战之2-1:文件管理类命令blob.png

6、pwd:显示当前/工作目录

命令名称:pwd
命令英文原意:print working directory
命令所在路径:/bin/pwd
执行权限:所有用户
语法:pwd
功能描述:显示当前所在的工作目录

范例:显示当前处在哪个目录下

blob.png

7、cat/tac:显示文件的内容

命令名称:cat(tac)
命令英文原意:concatenate and display files
命令所在路径:/bin/cat
执行权限:所有用户
功能描述:显示文件内容
语法:cat  [文件名]

范例:显示目录/etc/的内容,显示/etc/fstab文件的内容

blob.png

8、less/more:分屏显示文件内容

命令名称:less/more
命令所在路径:/bin/less(more)
执行权限:所有用户
功能描述:分屏显示文件内容
语法:less/more  [文件名]

范例:man命令显示的帮助文档,是用解压软件解压后用less命令显示出来的。例如显示/etc/rc.sysinit文件的内容

blob.png

基本操作:
1、搜索
当使用命令 less file-name 打开一个文件后,可以使用下面的方式在文件中搜索。搜索时整个文本中匹配的部分会被高亮显示。
向前搜索
  / - 使用一个模式进行搜索,并定位到下一个匹配的文本
  n - 向前查找下一个匹配的文本
  N - 向后查找前一个匹配的文本
向后搜索
  ? - 使用模式进行搜索,并定位到前一个匹配的文本
  n - 向后查找下一个匹配的文本
  N - 向前查找前一个匹配的文本
2、全屏导航
  ctrl + F - 向前移动一屏
  ctrl + B - 向后移动一屏
  ctrl + D - 向前移动半屏
  ctrl + U - 向后移动半屏
3、单行导航
  j - 向前移动一行
  k - 向后移动一行
4、 其它导航
  G -移动到最后一行
  g -移动到第一行
  q 或Q-退出 less 命令

9、head/tail:查看文件的前(后)几行

命令名称:head/tail
命令所在路径:/bin/head(tail)
执行权限:所有用户
功能描述:查看文件的前(后)几行,默认查看前(后)10行
语法:head -num [文件名]
常用选项:
-num 显示文件的前(后)num行

范例:查看/etc/passwd文件的后5行

blob.png


10、wc:文字统计命令

语法:wc  [选项]  [文件]
常用选项:
-l:只显示行数
-w:只显示单词数
-c:只显示字节数

例如:
blob.png

第一个字段的数字 :行数

第二个字段的数字:单词数

第三个字段的数字:字节数

11、cut:以列为单位切割文本

语法:cut  [选项]... [文件]...
常用选项:
-d:以指定分隔符切割(默认是以tab为分隔符)
-f:指定切割第几字段,一般后接数字

范例:切割/etc/passwd文件,以:为分隔符,显示用户名(第一字段)

blob.png

12、tr:字符集转换

语法:tr  [options]  '原来的字符集合' '转换为的字符集合'
常用选项:
-d '字符集合':把出现的文件中的、属于字符集合中的字符统统删除;
说明:tr命令的结果不会在标准输出显示,经常通过管道连接使用

范例:将hello world句子中的小写字母转换为大写;

blob.png

把“hello world“句子中的o、w删除:

blob.png

说明:文本处理三剑客grep、sed、awk和文件查找命令find因为涉及到正则表达式的知识,我们后面再用博文总结!

 13、mv:移动文件或改名

命令名称:mv
命令英文原意:move
命令所在路径:/bin/mv
执行权限:所有用户
功能描述:移动文件、更名
语法:mv [选项]  源文件或目录  目的目录

范例:将/tmp/etc/目录重命名为/etc/config

 blob.png


14、touch:修改文件时间戳

命令名称:touch
命令所在路径:/bin/touch
执行权限:所有用户
语法:touch  [文件名]
功能描述:修改文件时间戳,如果文件不存在则创建空文件
常用选项:
-a:改变访问时间
-m:改变修改时间
-t:用[[CC]YY]MMDDhhmm[.ss]代替当前时间

范例:修改/tmp/touch.txt文件的时间戳

blob.png

可以看到用touch命令创建了一个空文件。现在的问题是如何查看/tmp/touch.txt的时间戳呢?

补充命令:stat–查看文件的属性信息 

blob.png

用touch命令修改文件/tmp/touch.txt的时间戳:

blob.png

15、cd:切换目录

命令名称:cd
命令英文原意:change directory
命令所在路径:shell内置命令
执行权限:所有用户
语法:cd [目录]
功能描述:切换目录

范例:

  • 回用户的家目录:

blob.png

  • 切换至USERNAME的家目录 (注:必须要有相应的权限):cd ~USERNAME :

blob.png

  • 在两个目录间来回切换:cd –

blob.png


本次博文就这么多哈,欢迎各位大大指正!~~

原创文章,作者:N4_jjx,如若转载,请注明出处:http://www.178linux.com/57450

(0)
N4_jjxN4_jjx
上一篇 2016-11-06
下一篇 2016-11-06

相关推荐

  • 马哥教育网络20期—nginx

    Nginx 一. Nginx 特性 二. Nginx 基本架构 三. Nginx 基本功能 四. Nginx 安装 五. Nginx 配置文件 六. Nginx http服务功能测试 七. Nginx LNMP 一. Nginx 特性 模块化,目前只能将模块编译进Nginx,暂时不支持动态装卸载模块.(httpd优势) 可靠性,一个主进程(master)控制…

    Linux干货 2016-06-26
  • LVM逻辑卷管理器

    Logical Volume Manager     LVM(逻辑卷管理)是Linux环境下对磁盘分区进行管理的一种机制。     普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,     某个分区空间耗尽时,解决的方法通常是使…

    Linux干货 2016-08-29
  • 软链接和硬链接及两者之间的不同

    在 Linux 上被分成两个部分:用户数据 (user data) 与元数据 (metadata)。用户数据,即文件数据块 (data block),数据块是记录文件真实内容的地方;而元数据则是文件的附加属性,如文件大小、创建时间、所有者等信息。在 Linux 中,元数据中的 inode 号(inode 是文件元数据的一部分但其并不包含文件名,inode 号…

    Linux干货 2016-12-05
  • 马哥教育21期网络班—第8周课程+练习—-成长进行时–不退步

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 网桥:一种网路装置,负责网路桥接,将网络的多个网段在数据链路层连接起来。 集线器:将多条以太网线或光纤集合连接在同一段物理介质下的装置。工作在物理层。 二层交换机:工作在数据链路层,交换机内部的CPU会在每个端口成功连接时,通过将MAC地址和端口对应,形成一张MAC表。在今后的通…

    Linux干货 2016-08-24
  • 学习标准I/O和管道的心得体会

    重定向、标准输出、标准输入、标准错误、管道的命令整理

    2017-11-20
  • 开源跳板机Jumpserver v2.0.0 Beta版发布

    demo页面: http://demo.jumpserver.org admin admin 一. 更新Log — 登录脚本 — 1.1 使用paramiko原生ssh协议登录后端主机(原来版本使用pexpect模拟登录) 1.2 新增使用别名或备注登录 1.3 新增主机分组查看,使用更方便 1.4 多线…

    Linux干货 2015-04-20

评论列表(1条)

  • 马哥教育
    马哥教育 2016-11-10 20:24

    赞,总结的比较全面~~注意下排版会更好~加油~