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

相关推荐

  • 用户和组管理

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@suywien ~]# who | cut -d ‘ ‘ -f1 | uniq -c 2 root [root@suywien ~]# 2、取出最后登录到当前系统的用户的相关信息。 [root@suywien ~]# who | tail -1 | cut…

    Linux干货 2018-03-18
  • 网络班N22期第四周博客作业

    一、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@bogon ~]# cp -r /etc/skel /home/tuser1 && chmod -R 60…

    Linux干货 2016-09-05
  • 编译安装dropbear和使用

    一、概念 Dropbear是一个相对较小的SSH服务器和客户端。它运行在一个基于POSIX的各种平台。 Dropbear是开源软件,在麻省理工学院式的许可证。 Dropbear是特别有用的“嵌入”式的Linux(或其他Unix)系统,如无线路由器。 二、功能 dropbear实现完整的SSH客户端和服务器版本2协议。它不支持SSH版本1 的向后兼容性,以节省…

    Linux干货 2016-10-04
  • Linux开学一周的学习心得

    Linux,这个名字第一次听到是通过张超老师给我讲解,因为我在学校学的是金融数学,平时对这方面没有太多接触。当时对Linux就知道是个系统,随后在网上搜了搜,了解也不太多。 直到今天已经来马哥教育一星期了,刚入学的这一星期上课,都是一些基本的命令,感觉学着还蛮有意思,教学的安排也非常合理,我们大家学一天还能自己动手操作一天,既能专心听课,又能把学到的知识巩固…

    2017-07-15
  • 14 用户组和权限管理4

    14 用户组和权限管理4 一、杂项知识整理 1、groups 查看用户所属组列表 [user1@localhost ~]$ groups user3 user1 2、文件属性:-rw-r–r–. 1 root root 0 8月   3 07:56 cgroup.clone_children &…

    Linux干货 2016-08-04
  • 八大排序算法

    概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 我们这里说说八大排序就是内部排序。     当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。    快速…

    Linux干货 2015-04-07

评论列表(1条)

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

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