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

相关推荐

  • puppet部署多台服务器

    利用puppet实现自动化部署 配置前准备:   图中:蓝线表示各个服务器之间通信      红线表示puppetmaster主机向各个agent主机部署信道 A主机puppet-master主机:192.168.126.129 B主机做两种服务:keepalived高性能和nginx反代  &nb…

    2017-07-23
  • Shell脚本编程之循环(for、while、until)

    Shell脚本编程之循环(for、while、until)   一、循环语句的对比: for语句 while语句 until语句 执行机制: 依次将列表中的元素赋值给“变量名”; 每次赋值后即执行一次循环体; 直到列表中的元素耗尽,循环结束 CONDITION:循环控制条件;进入循环之前,先做一次判断;每一次循环之后会再次做判断;条件为“true”…

    Linux干货 2016-08-18
  • nmcli命令用法简介

    nmcli:地址配置工具 用法:nmcli [OPTIONS] OBJECT { COMMAND | help } 一般使用的情况有: 设备:正在使用的网络端口 链接:一组配置设置,对于一个单一的设备可以有多个连接,可以在链接之间切换 常用命令:     nmcli connection show &nbsp…

    Linux干货 2016-09-07
  • 20160802学习笔记

    useradd相关补充:      1.新建一个用户创建时的一些默认权限在/etc/default/useradd配置中      2.新建用户家目录的过程实际就是将/etc/skel中的所有文件,拷贝到新建用户的/home下,并更改为改用户的用户名   &n…

    Linux干货 2016-08-03
  • N25第7周作业

    1、创建一个10G分区,并格式为ext4文件系统;   (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;    (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; ]# fdisk /dev/sdb #划出一个…

    Linux干货 2017-02-21
  • class15磁盘管理(二) 高级磁盘管理(一)

    挂载点和/etc/fstab 配置文件系统体系 被mount、fsck和其它程序使用 系统重启时保留文件系统体系 可以在设备栏使用文件系统卷标 使用mount -a命令挂载  /etc/fstab 中的所有文件系统 文件挂载配置文件 /etc/fstab每行定义一个要挂载的文件系统;   &nbsp…

    Linux干货 2016-09-05

评论列表(1条)

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

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