本次博文我们来学习下Linux系统中使用频率比较高的文件管理类命令哈。
主要内容:
1、文件管理的概述;
2、文件管理命令详解;
上次博文,我们学习了Linux的哲学思想,其中之一就是:Linux中一切皆文件。由此,文件管理就是Linux系统的重要功能之一。
一、文件管理的概述:
问题引入:Linux系统是如何管理文件的?
这个问题我们在上次博文也阐述过了哈。在Linux系统中,文件/目录被组织成一颗倒置的树状结构。层次化结构能够大大减小查找的复杂度–>如果系统内文件很多,则目录文件会变得很长,要查找某个文件将耗费太多的时间(例如:我们要查找一个文件,但不知道它存储在什么地方,此时我们就需要从“/”开始查找,那肯定是非常耗时间哈。若此时我们知道这个文件保存在"/var/log/” 下,那查找起来肯定快的多哈!)。树是一种层次化的数据结构,它由根结点,子结点以及子子结点组成。Linux借用树状结构来组织它的文件目录,形成树型目录组织。树型目录组织是多级目录组织的一种形式。
对应的文件操作为:增(创建新文件)、删(删除文件)、查(查看、查找一个文件)、改(修改一个文件的名称或内容)4种。做个简单的归纳,如下图所示:
二、文件管理命令详解:
根据上面的文件管理命令归纳图,我们详细介绍下具体的使用方法和注意事项。
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/
2、cp:复制文件或目录命令
命令名称:cp命令 英文原意:copy 命令所在路径:/bin/cp 执行权限:所有用户 语法:cp 选项 [源文件或目录] [目的目录] 常用选项: -r,-R:递归复制 -a:全递归复制,尽可能将档案状态、权限等资料都照原状予以复制,其作用等于dpR选项的组合 -i:交互式(覆盖前提醒确认) -v:显示命令执行过程
范例:将上个例子中的/tmp/etc/下的内容复制到/root/etc/
3、rm:删除命令
命令名称:rm 命令英文原意:remove 命令所在路径:/bin/rm 执行权限:所有用户 功能描述:删除 文件语法:rm [选项] [文件或目录] 常用选项: -i:交互式(删除前提醒确认) -f:强行删除 -r:递归删除目录及其内部的所有文件
范例:强行删除/目录下的所有文件(注意,删除前在虚拟机中做好快照备份)
提示说删除根是非常危险的哈(root用户有至高无上的权力,可以删除一切),这里有保护不给直接删除,不过看下面的:
找不到命令了都,文件彻底没了哈!~所以,慎用rm -rf 命令;
4、rmdir:删除空目录
命令名称:rmdir 命令英文原意:remove directory 命令所在路径:/bin/rmdir 执行权限:所有用户 功能描述:删除目录,注意,目录必须为空目录 语法:rmdir [选项] [文件或目录]
范例:
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/目录的属性情况。
6、pwd:显示当前/工作目录
命令名称:pwd 命令英文原意:print working directory 命令所在路径:/bin/pwd 执行权限:所有用户 语法:pwd 功能描述:显示当前所在的工作目录
范例:显示当前处在哪个目录下
7、cat/tac:显示文件的内容
命令名称:cat(tac) 命令英文原意:concatenate and display files 命令所在路径:/bin/cat 执行权限:所有用户 功能描述:显示文件内容 语法:cat [文件名]
范例:显示目录/etc/的内容,显示/etc/fstab文件的内容
8、less/more:分屏显示文件内容
命令名称:less/more 命令所在路径:/bin/less(more) 执行权限:所有用户 功能描述:分屏显示文件内容 语法:less/more [文件名]
范例:man命令显示的帮助文档,是用解压软件解压后用less命令显示出来的。例如显示/etc/rc.sysinit文件的内容
基本操作: 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行
10、wc:文字统计命令
语法:wc [选项] [文件] 常用选项: -l:只显示行数 -w:只显示单词数 -c:只显示字节数
例如:
第一个字段的数字 :行数
第二个字段的数字:单词数
第三个字段的数字:字节数
11、cut:以列为单位切割文本
语法:cut [选项]... [文件]... 常用选项: -d:以指定分隔符切割(默认是以tab为分隔符) -f:指定切割第几字段,一般后接数字
范例:切割/etc/passwd文件,以:为分隔符,显示用户名(第一字段)
12、tr:字符集转换
语法:tr [options] '原来的字符集合' '转换为的字符集合' 常用选项: -d '字符集合':把出现的文件中的、属于字符集合中的字符统统删除; 说明:tr命令的结果不会在标准输出显示,经常通过管道连接使用
范例:将hello world句子中的小写字母转换为大写;
把“hello world“句子中的o、w删除:
说明:文本处理三剑客grep、sed、awk和文件查找命令find因为涉及到正则表达式的知识,我们后面再用博文总结!
13、mv:移动文件或改名
命令名称:mv 命令英文原意:move 命令所在路径:/bin/mv 执行权限:所有用户 功能描述:移动文件、更名 语法:mv [选项] 源文件或目录 目的目录
范例:将/tmp/etc/目录重命名为/etc/config
14、touch:修改文件时间戳
命令名称:touch 命令所在路径:/bin/touch 执行权限:所有用户 语法:touch [文件名] 功能描述:修改文件时间戳,如果文件不存在则创建空文件 常用选项: -a:改变访问时间 -m:改变修改时间 -t:用[[CC]YY]MMDDhhmm[.ss]代替当前时间
范例:修改/tmp/touch.txt文件的时间戳
可以看到用touch命令创建了一个空文件。现在的问题是如何查看/tmp/touch.txt的时间戳呢?
补充命令:stat–查看文件的属性信息
用touch命令修改文件/tmp/touch.txt的时间戳:
15、cd:切换目录
命令名称:cd 命令英文原意:change directory 命令所在路径:shell内置命令 执行权限:所有用户 语法:cd [目录] 功能描述:切换目录
范例:
-
回用户的家目录:
-
切换至USERNAME的家目录 (注:必须要有相应的权限):cd ~USERNAME :
-
在两个目录间来回切换:cd –
本次博文就这么多哈,欢迎各位大大指正!~~
原创文章,作者:N4_jjx,如若转载,请注明出处:http://www.178linux.com/57450
评论列表(1条)
赞,总结的比较全面~~注意下排版会更好~加油~