文章目录

  • 一、目录管理
    • 1. 路径名
    • 2. 打印pwd/改变cd当前目录
    • 3. 创建mkdir/删除目录rmdir
    • 4. 复制目录cp
  • 二、目录遍历的命令find
    • 1. 条件选项
      • 1)-name
      • 2)-regex
      • 3)-type
      • 4)-size
      • 5)-mtime
      • 6)-newer file
      • 7)其他条件选项
      • 8)复合条件
    • 2. 动作选项
      • 1)-print
      • 2)-exec
      • 3)-ok
  • 三、批量处理文件
  • 四、打包与压缩
    • 1. tar:文件归档
      • 1)功能选项
      • 2)其它选项

一、目录管理

1. 路径名

  • 文件.与…
    在目录表中确实有两个文件,这两个目录项由系统创建和删除。
  • 主目录Home Directory
    每个用户都有自己独立的主目录
    env命令查看环境变量HOME的值
  • 绝对路径名与相对路径名
    路径分隔符用/
  • 当前工作目录
    是进程属性的一部分,每进程一个

2. 打印pwd/改变cd当前目录

  • pwd:打印当前工作目录
    ~也可以实现这个功能
  • cd(Change Directory):改变当前工作目录
    • cd .. 返回上级目录
    • cd 不加参数 回到用户主目录Home
    • cd - 回到最近的工作目录
    • cd是shell的一个内部命令

3. 创建mkdir/删除目录rmdir

  • 创建目录mkdir
    除了创建目录外,系统会自动建立文件...
    选项-p 自动创建路径中不存在的目录,例如home文件夹下没有目录,但是使用命令mkdir -p home/a/b/c/log会自动创建a、b、c、log目录
  • 删除目录rmdir
    要求被删除的目录只含...两个文件选项
    -r递归地删除目录

4. 复制目录cp

  • 选项-r递归地复制一个目录
    cp -r dir1 dir2

    • 若dir2不存在,则新建子目录dir2,把dir1的内容拷贝到dir2下
      cp -r dir1 dir2
    • 若dir2已存在,则在dir2下新建子目录dir1,把dir1内容拷贝到dir2/dir1下
      cp -r dir1/* dir2
  • 选项-v 冗长verbose方式
    复制目录时实时列出正在复制的文件的名字

  • 选项-u 增量拷贝update,便于备份目录

    • 根据文件的时间戳,不拷贝相同的或者过时的版本的文件,以提高速度;
    • dir1和dir2不慎颠倒位置,也不会发生灾难性后果
  • 示例:已存在a、b文件夹,不存在c文件夹

  • touch:将文件最后一次修改时间设置为当前时间,但是不修改文件内容

二、目录遍历的命令find

  • find从指定的查找范围开始,递归地查找子目录,凡满足条件的文件或目录,执行规定的动作
    对文件通配符的解释由find完成
    例如find sdir1 sdir2 -name '*.c' -print
    范围:sdir1和sdir2是当前目录的两个子目录;
    条件:与名字‘*.c’匹配,要注意引号的使用;
    动作:print 把查找到的文件的路径名打印出来

1. 条件选项

1)-name

匹配文件名,即路径中最后一部分

2)-regex

匹配整个路径名
有的会提示找不到该命令

3)-type

-type的选项有
f:普通文件 d:目录 l:符号连接文件
c:字符设备文件 b:块设备文件 p:管道文件

4)-size

限制查找的文件大小
-size +n单位:大于
-size -n单位:小于
不加加减号表示等于

  • 单位:c(字符),b(块,512字节),k(1024),M(兆),G(吉)。默认为b

5)-mtime

-mtime +ndays
-mtime -ndays :文件最近修改时间,days不用出现在命令中

6)-newer file

查找文件最近修改时间比file晚的文件

7)其他条件选项

可以查阅find手册,man find

8)复合条件

注意空格
可以用

  • ()表示多条件的与
  • -o表示或
    \( \)与命令之间要注意空格
  • !表示非

2. 动作选项

1)-print

打印查找到的文件的路径名

2)-exec

对查找到的目标执行命令;
-exec及随后的分号;之间的内容作为一条命令;
在这命令的命令参数中,{}代表遍历到的目标文件的路径名,中间没有空格

{}之间没有空格,{}\;之间有一个空格

3)-ok

与-exec类似,只是每次执行命令之前需要用户的确认

三、批量处理文件

例如:
find . -name '*.c' -print | xargs grep -n -- --help
中的xargs可以实现将查到找的文件名列表追加给grep命令
这就实现了find精确筛选,利用grep批量处理文件。

  • xargs:将标准输入组织成命令执行
    选项-n可以指定每批处理多少个文件
    可以解决shell文件名生成时,因为文件太多,缓冲区空间受限而文件名展开失败的问题;

四、打包与压缩

1. tar:文件归档

tar(Tape ARchive)
tar ctxv[f device] file-list

文件名后缀.tar,.tar.gz,.tar.bz2仅仅是惯例,不是系统级强制要求

1)功能选项

  • 选项-c:create 创建一个新的磁带
  • 选项-t:list 列出待打包的文件列表
  • 选项-x:extract 从磁带中抽取指定的文件

2)其它选项

  • v:verbose冗长,每处理一个文件,就打印出文件的文件名,并在该名前冠以功能字母
  • f:File,后面要紧跟设备文件名
  • z:压缩算法gzip
  • j:压缩算法bzip2

压缩算法gzip执行速度比bzip2快,但是bzip2的压缩效率比gzip高,也占用更多的CPU时间

举例:

  • tar cvf /dev/rct0 .
    将当前目录树.备份到设备/dev/rct0
  • tar tvf /dev/rct0
    查看磁带设备/dev/rct0上的文件目录
  • tar xvf /dev/rct0
    将磁带设备/dev/rct0上的文件恢复到文件系统中

Week 5 Linux 目录与文件相关推荐

  1. linux删除vim编辑器创的目录,Linux目录和文件——文本编辑器Vim

    Linux目录和文件--文本编辑器Vim 摘要:本文主要学习在Linux系统中使用Vim文本编辑器编辑文本. 什么是Vim Vim是一个基于文本界面的编辑工具,使用简单且功能强大.更重要的是,Vim是 ...

  2. LINUX目录重要文件说明

    LINUX目录重要文件说明 etc目录下重要文件 网卡配置文件 文件保存路径:/etc/sysconfig/network-scripts/ifcfg-eth0 文件说明:网络服务配置文件 文件配置信 ...

  3. Linux——目录和文件的管理(tar-head-tail-grep-gzip压缩解压缩等)

    Linux--目录和文件的管理 一.Linux目录 1.Linux目录结构 2.常见的子目录 二.查看文件内容cat命令 1.直接显示出整个文件的内容 2.常用选项 三.查看文件内容more命令 1. ...

  4. Linux——目录和文件的管理

    Linux--目录和文件的管理 一.Linux目录 1.Linux目录结构 2.常见的子目录 二.查看文件内容cat命令 1.直接显示出整个文件的内容 2.常用选项 三.查看文件内容more命令 1. ...

  5. Linux目录与文件常见处理命令

    Linux的命令格式:命令 [-选项] [参数] 例子: ls -la /etc 说明:个别命令使用不遵循此格式 当有多个选项时可以写在一起 简化选项与完整选项的写法不同,如 -a 等于 --all ...

  6. Linux目录以及文件权限理解

    了解Linux系统目录/文件权限结构 利用ls -al 命令可以列出详细的文件以及隐藏文件的权限,显示详细时间信息可以用ls -al --full-time 以.bash_history文件为例:-r ...

  7. Linux: 目录和文件

    目录和文件 Linux 目录结构 常见子目录的作用 ●查看文件内容(cat. more. less head. tail) 查看文件内容cat命令 查看文件内容more命令 查看文件内容less命令 ...

  8. Linux 目录与文件

    系统目录结构 /bin:bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令. /boot:这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜 ...

  9. Linux目录下文件权限怎么改成777,linux修改文件夹-文件目录权限

    Linux.Fedora.Ubuntu修改文件.文件夹权限的方法差不多.很多人开始接触Linux时都很头痛Linux的文件权限问题.这里告诉大家如何修改Linux文件-文件夹权限.以主文件夹下的一个名 ...

  10. Linux 目录和文件权限总结

    目录 一.文件权限简介 二.利用特殊权限实现普通用户通过 VSCode 远程调试 三.默认文件和目录权限 一.文件权限简介 当我们使用ll或ls查看某个文件或者目录的信息时,第一列就会显示出它的权限设 ...

最新文章

  1. 云计算技术 — 混合云
  2. 路由器交换机命令总结
  3. (常用API)正则表达式语法规则
  4. 关于LayUI单选框渲染checked属性不生效的问题
  5. java.lang.NoClassDefFoundError
  6. linux搭建flask环境,Ubuntu 环境下搭建Flask框架
  7. Swift开发之NSStringFromClass的使用和代替方法
  8. qtvs添加qchart_如何使用Qt Designer在表单中插入QChartView?
  9. C++字符串输入输出操作
  10. java jdom dom4j_实例分析jdom和dom4j的使用和区别
  11. 使用 C# 编程对 RTF 文档进行操作 [转载]
  12. 图像压缩算法python_Python基于opencv的图像压缩算法实例分析
  13. kali安装有道词典
  14. 爱情智慧:从恋爱走向婚姻必备的理念
  15. 【论文阅读笔记】《Simple, Accurate, and Robust Projector-Camera Calibration》
  16. 竹笋的营养价值及使用方法
  17. java如何创建列表的表头,java word设置表头
  18. jsp项目发布到服务器
  19. linux dc命令,Linux中dc命令起什么作用呢?
  20. Abaqus学习记录:分析步、增量步和迭代

热门文章

  1. iOS 数据归档解档
  2. GitHub生成token
  3. 卡方列联表的独立性检验
  4. 联想用u盘重装系统步骤_联想u盘重装win10系统详细图文教程
  5. c语言判断闰年并输出该月天数,C语言宏定义实现闰年判断并输出指定月的天数...
  6. ArcGis——raster calculator
  7. Scratch跑酷游戏
  8. 关于如何让网站被搜索引擎收录
  9. 外键设置中的CASCADE、NO ACTION、RESTRICT、SET NULL的区别
  10. 一级计算机考试电子表格排序筛选,重新应用Excel排序和筛选或清除筛选