之前我们了解了什么是 liunx ,并且认识了它的目录结构,今天我们就来学习下如何进行目录和文件的管理。

创建目录

语法:

mkdir [-mp] 目录名称

选项与参数

-m :配置文件的权限喔!直接配置,不需要看默认权限 (umask) 的脸色~
-p :帮助你直接将所需要的目录(包含上一级目录)递归创建起来!

实例

  1. 创建多层级目录
[root@VM_0_15_centos /]# mkdir -p test/test1/test2/test3
  1. 通过 tree 命令查看
[root@VM_0_15_centos /]# tree test -l
test
`-- test1
`-- test2
`-- test3 3 directories, 0 files

删除目录

语法:

rmdir [-p] 目录名称

选项与参数

-p :连同上一级『空的』目录也一起删除
  1. 删除多层级目录
[root@VM_0_15_centos /]# cd test
[root@VM_0_15_centos test]# rmdir -p test1/test2/test3
  1. 通过 tree 命令查看
[root@VM_0_15_centos test]# tree test -l
test [error opening dir]
0 directories, 0 files

注:rmdir 仅能删除空的目录,非空目录需要使用 rm 命令来删除。

语法:

rm [-fir] 文件或目录

选项与参数

-f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
-i :互动模式,在删除前会询问使用者是否动作
-r :递归删除啊!最常用在目录删除了!这是非常危险的选项!!!

除了目录外,也可以删除文件哦!

创建文件

语法:

touch fileName

选项与参数

-c:强制不创建文件
-a:修改文件access time(atime)
-m:修改文件modification time(mtime)
-t:使用"[[CC]YY]MMDDhhmm[.ss]"格式的时间替代当前时间
-d:使用字符串描述的时间格式替代当前时间

示例

创建文件

[root@VM_0_15_centos test]# touch a.txt
[root@VM_0_15_centos test]# touch {a,b}_{d,c}

查看文件

[root@VM_0_15_centos test]# ll
total 0
-rw-r--r-- 1 root root 0 Aug 1 08:59 a_c
-rw-r--r-- 1 root root 0 Aug 1 08:59 a_d
-rw-r--r-- 1 root root 0 Aug 1 08:58 a.txt
-rw-r--r-- 1 root root 0 Aug 1 08:59 b_c
-rw-r--r-- 1 root root 0 Aug 1 08:59 b_d

文件/目录复制

语法:

cp [-apdriulfs] src dest # 复制单文件或单目录
cp [-apdriuslf] src1 src2 src3......dest_dir # 复制多文件、目录到一个目录下

选项与参数

-p: 文件的属性(权限、属组、时间戳)也复制过去。如果不指定p选项,谁执行复制动作,文件所有者和组就是谁。
-r或-R:递归复制,常用于复制非空目录。
-d:复制的源文件如果是链接文件,则复制链接文件而不是指向的文件本身。即保持链接属性,复制快捷方式本身。如果不指定-d,则复制的是链接所指向的文件。
-a:a=pdr三个选项。归档拷贝,常用于备份。
-i:复制时如果目标文件已经存在,询问是否替换。
-u:(update)若目标文件和源文件同名,但属性不一样(如修改时间,大小等),则覆盖目标文件。
-f:强制复制,如果目标存在,不会进行-i选项的询问和-u选项的考虑,直接覆盖。
-l:在目标位置建立硬链接,而不是复制文件本身。
-s:在目标位置建立软链接,而不是复制文件本身(软链接或符号链接相当于windows的快捷方式)。

文件/目录移动

语法

mv [-iuf] src dest # 移动单个文件或目录
mv [-iuf] src1 src2 src3 dest_dir # 移动多个文件或目录

选项与参数

--backup[=CONTROL]:如果目标文件已存在,则对该文件做一个备份,默认备份文件是在文件名后加上波浪线,如/b.txt~
-b:类似于--backup,但不接受参数, 默认备份文件是在文件名后加上波浪线,如/b.txt~
-f:如果目标文件已存在,则强制覆盖文件
-i:如果目标文件已存在,则提示是否要覆盖,这是alias mv的默认选项
-n:如果目标文件已存在,则不覆盖已存在的文件,如果同时指定了-f/-i/-n,则后指定的生效
-u:(update)如果源文件和目标文件不同,则移动,否则不移动

mv 默认已经是递归移动,不需要 -r 参数。

查看文件内容

cat

作用

正序输出一个或多个文件的内容。

语法

cat [OPTION]... [FILE]...

选项与参数

-n:显示所有行的行号
-b:显示非空行的行号
-E:在每行行尾加上$符号
-T:将TAB符号输出为"^I"
-s:压缩连续空行为单个空行

tac

作用

倒序输出一个或多个文件的内容。

语法

tac [OPTION]... [FILE]...

head

作用

打印前面的几行内容,默认是前十行。

语法

head [-n num] | [-num] [-v] filename

选项与参数

-n:显示前num行;如果num是负数,则显示除了最后|num|(绝对值)行的其余所有行,即显示前"总行数 - |num|"
-v:会显示出文件名

tail

作用

tail 与 head 刚好相反,显示后面的行,默认是后十行。

语法

tail [OPTION]... [FILE]...

选项与参数

-n:输出最后num行,如果使用-n +num则表示输出从第num行开始的所有行
-f:监控文件变化
--pid=PID:和-f一起使用,在给定PID的进程死亡后,终止文件监控
-v:显示文件名

less

作用

对文件或其它输出进行分页显示,可以使用 [pageup] [pagedown] 等按 键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。

语法

less [参数]  文件

选项与参数

-b <缓冲区大小> 设置缓冲区的大小
-e 当文件显示结束后,自动离开
-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
-g 只标志最后搜索的关键词
-i 忽略搜索时的大小写
-m 显示类似more命令的百分比
-N 显示每行的行号
-o <文件名> 将less 输出的内容在指定文件中保存起来
-Q 不使用警告音
-s 显示连续空行为一行
-S 行过长时间将超出部分舍弃
-x <数字> 将“tab”键显示为规定的数字空格
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
b 向后翻一页
d 向后翻半页
h 显示帮助界面
Q 退出less 命令
u 向前滚动半页
y 向前滚动一行
空格键 滚动一行
回车键 滚动一页
[pagedown]: 向下翻动一页
[pageup]: 向上翻动一页

文件比较

diff

作用

逐行对比,以文本的形式显示不同内容

命令格式

diff file_01 file_02

vimdiff

作用

逐行对比,以图形的形式显示不同内容

命令格式

vimdiff  file_01 file_02

退出

:qa! 	//不保存文件退出
wqa! // 保存文件退出

文件查找

find

作用

查找指定文件

命令格式

find(选项) 起始目录 文件名

选项与参数

-amin<分钟>:查找在指定时间曾被存取过的文件或目录,单位以分钟计算;
-anewer<参考文件或目录>:查找其存取时间较指定文件或目录的存取时间更接近现在的文件或目录;
-atime<24小时数>:查找在指定时间曾被存取过的文件或目录,单位以24小时计算;
-cmin<分钟>:查找在指定时间之时被更改过的文件或目录;
-cnewer<参考文件或目录>查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录;
-ctime<24小时数>:查找在指定时间之时被更改的文件或目录,单位以24小时计算;
-daystart:从本日开始计算时间;
-depth:从指定目录下最深层的子目录开始查找;
-expty:寻找文件大小为0 Byte的文件,或目录下没有任何子目录或文件的空目录;
-exec<执行指令>:假设find指令的回传值为True,就执行该指令;
-false:将find指令的回传值皆设为False;
-fls<列表文件>:此参数的效果和指定“-ls”参数类似,但会把结果保存为指定的列表文件;
-follow:排除符号连接;
-fprint<列表文件>:此参数的效果和指定“-print”参数类似,但会把结果保存成指定的列表文件;
-fprint0<列表文件>:此参数的效果和指定“-print0”参数类似,但会把结果保存成指定的列表文件;
-fprintf<列表文件><输出格式>:此参数的效果和指定“-printf”参数类似,但会把结果保存成指定的列表文件;
-fstype<文件系统类型>:只寻找该文件系统类型下的文件或目录;
-gid<群组识别码>:查找符合指定之群组识别码的文件或目录;
-group<群组名称>:查找符合指定之群组名称的文件或目录;
-help或——help:在线帮助;
-ilname<范本样式>:此参数的效果和指定“-lname”参数类似,但忽略字符大小写的差别;
-iname<范本样式>:此参数的效果和指定“-name”参数类似,但忽略字符大小写的差别;
-inum<inode编号>:查找符合指定的inode编号的文件或目录;
-ipath<范本样式>:此参数的效果和指定“-path”参数类似,但忽略字符大小写的差别;
-iregex<范本样式>:此参数的效果和指定“-regexe”参数类似,但忽略字符大小写的差别;
-links<连接数目>:查找符合指定的硬连接数目的文件或目录;
-iname<范本样式>:指定字符串作为寻找符号连接的范本样式;
-ls:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出;
-maxdepth<目录层级>:设置最大目录层级;
-mindepth<目录层级>:设置最小目录层级;
-mmin<分钟>:查找在指定时间曾被更改过的文件或目录,单位以分钟计算;
-mount:此参数的效果和指定“-xdev”相同;
-mtime<24小时数>:查找在指定时间曾被更改过的文件或目录,单位以24小时计算;
-name<范本样式>:指定字符串作为寻找文件或目录的范本样式;
-newer<参考文件或目录>:查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录;
-nogroup:找出不属于本地主机群组识别码的文件或目录;
-noleaf:不去考虑目录至少需拥有两个硬连接存在;
-nouser:找出不属于本地主机用户识别码的文件或目录;
-ok<执行指令>:此参数的效果和指定“-exec”类似,但在执行指令之前会先询问用户,若回答“y”或“Y”,则放弃执行命令;
-path<范本样式>:指定字符串作为寻找目录的范本样式;
-perm<权限数值>:查找符合指定的权限数值的文件或目录;
-print:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出。格式为每列一个名称,每个名称前皆有“./”字符串;
-print0:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出。格式为全部的名称皆在同一行;
-printf<输出格式>:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出。格式可以自行指定;
-prune:不寻找字符串作为寻找文件或目录的范本样式;
-regex<范本样式>:指定字符串作为寻找文件或目录的范本样式;
-size<文件大小>:查找符合指定的文件大小的文件;
-true:将find指令的回传值皆设为True;
-typ<文件类型>:只寻找符合指定的文件类型的文件;
-uid<用户识别码>:查找符合指定的用户识别码的文件或目录;
-used<日数>:查找文件或目录被更改之后在指定时间曾被存取过的文件或目录,单位以日计算;
-user<拥有者名称>:查找符和指定的拥有者名称的文件或目录;
-version或——version:显示版本信息;
-xdev:将范围局限在先行的文件系统中;
-xtype<文件类型>:此参数的效果和指定“-type”参数类似,差别在于它针对符号连接检查。

Liunx学习总结(二)--目录和文件管理的更多相关文章

  1. linux(centOS7)的基本操作(二) 目录和文件管理

    1.显示当前工作目录的绝对路径 pwd 2.显示当前工作目录下的子目录和文件 ls [-l] [-h] [-a] 如果只调用ls,子目录和文件会简单的罗列出来,-l表示将其以详细列表的形式展示,-h表 ...

  2. Linux学习笔记(二) 文件管理

    了解 Linux 系统基本的文件管理命令可以帮助我们更好的使用 Linux 系统,以下介绍几个常用的文件管理命令 1.pwd pwd 是 Print Working Directory 的简写,用于显 ...

  3. Linux学习之二-Linux系统的目录结构

    Linux学习之二-Linux系统的目录结构 在Linux的根目录下,有很多的目录,但是需要记住,对于Linux而言,一切皆文件.因此此处的目录也是文件.用ls / 命令就能看到根目录下的各类不同的目 ...

  4. TP5学习基础二:目录结构、URL路由、数据操作

    一.安装1.使用git或者composer(composer update)进行实时更新,区别在于git不会清空核心框架目录而composer会清空.2.使用官网打包好的TP压缩包(解压即可用)-&g ...

  5. Liunx学习笔记(三) 文件权限

    一.文件权限 1.查看文件权限 (1)文件权限 在 Linux 中对于文件有四种访问权限,列举如下: 可读取:r,Readable 可写入:w,Writable 可执行:x,Execute 无权限:- ...

  6. Magento学习第一课——目录结构介绍

    Magento学习第一课--目录结构介绍 一.Magento为何强大 Magento是在Zend框架基础上建立起来的,这点保证了代码的安全性及稳定性.选择Zend的原因有很多,但是最基本的是因为zen ...

  7. MyBatis学习系列二——增删改查

    目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring 数据库的经典操作:增删改查. 在这一章我们主要说明一下简单的查询和增删改, ...

  8. Winform学习手册(目录)

    一.基础: WINFORM学习笔记——创建Winform项目 WINFORM学习手册——TextBox.Lable.Button WINFORM学习笔记——窗体生命周期 WINFORM学习手册——对话 ...

  9. MyBatis学习 之 二、SQL语句映射文件(2)增删改查、参数、缓存

    目录(?)[-] 二SQL语句映射文件2增删改查参数缓存 select insert updatedelete sql parameters 基本类型参数 Java实体类型参数 Map参数 多参数的实 ...

随机推荐

  1. C# 一句很简单而又很经典的代码

    一.知识点 二.问题 如果以上四个问题,你很自信,那么以下,您就不要看了,因为我想说的东西真的很简单. 如果你开始怀疑自己,可以继续向下看.你自己到底真的理解吗??? 再看下面这段代码有没有问题? c ...

  2. 【Java中级】(二)集合框架

    2.1.ArraList 1.自增长 容器的容量"capacity"会随着对象的增加,自动增长 只需要不断往容器里增加英雄即可,不用担心会出现数组的边界问题. 2.常用方法 关键字 ...

  3. PowerDesigner添加唯一键(mysql)

    1.打开Columns选项卡 2.选中要添加唯一键的字段 3.点击工具栏Create Key按钮,如图 4.打开创建key窗口,根据情况修改约束名称,不修改也可以 5.切换到mysql选项卡,选中“U ...

  4. 机器学习经典分类算法 —— k-近邻算法(附python实现代码及数据集)

    目录 工作原理 python实现 算法实战 约会对象好感度预测 故事背景 准备数据:从文本文件中解析数据 分析数据:使用Matplotlib创建散点图 准备数据:归一化数值 测试算法:作为完整程序验证 ...

  5. +CIMG+彩色图片边缘提取实验记录_canny/hough transfrom

    前言: 书到用时方恨少 正文: 边缘提取技术一直都有接触,最通用的莫过于拉普拉斯,sobel几个算子,两个算子都可通过简单的模板运算进行,而现在比较好的一个边缘提取技术是canny,文章中我是用的ca ...

  6. Spring Boot @Condition 注解,组合条件你知道吗

    上一篇文章 你应该知道的 @ConfigurationProperties 注解的使用姿势,这一篇就够了 介绍了如何通过 @ConfigurationProperties 注解灵活读取配置属性,这篇文 ...

  7. hdoj 4762 Cut the Cake

    题意很简单就不说了. 解题的关键就是这个公式 answer=n/(m^(n-1)); 要用到大数的乘法.然后java水过. import java.util.*; import java.math.* ...

  8. Another option to bootup evidence files

    When it comes to booting up evidence files acquired from target disk, you got two options. One is VF ...

  9. git bash 初始化配置

    这里只针对 windows 下,使用git 时的一些初始配置 1. git bash 安装 下载地址: https://git-for-windows.github.io/ 根据提示,一步步安装即可 ...

  10. 又拍云叶靖:OpenResty 在又拍云存储中的应用

    2019 年 7 月 6 日,OpenResty 社区联合又拍云,举办 OpenResty × Open Talk 全国巡回沙龙·上海站,又拍云平台开发部负责人叶靖在活动上做了<OpenRest ...