Week 5 Linux 目录与文件
文章目录
- 一、目录管理
- 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
不加参数 回到用户主目录Homecd -
回到最近的工作目录- 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
- 若dir2不存在,则新建子目录dir2,把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
:压缩算法gzipj
:压缩算法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 目录与文件相关推荐
- linux删除vim编辑器创的目录,Linux目录和文件——文本编辑器Vim
Linux目录和文件--文本编辑器Vim 摘要:本文主要学习在Linux系统中使用Vim文本编辑器编辑文本. 什么是Vim Vim是一个基于文本界面的编辑工具,使用简单且功能强大.更重要的是,Vim是 ...
- LINUX目录重要文件说明
LINUX目录重要文件说明 etc目录下重要文件 网卡配置文件 文件保存路径:/etc/sysconfig/network-scripts/ifcfg-eth0 文件说明:网络服务配置文件 文件配置信 ...
- Linux——目录和文件的管理(tar-head-tail-grep-gzip压缩解压缩等)
Linux--目录和文件的管理 一.Linux目录 1.Linux目录结构 2.常见的子目录 二.查看文件内容cat命令 1.直接显示出整个文件的内容 2.常用选项 三.查看文件内容more命令 1. ...
- Linux——目录和文件的管理
Linux--目录和文件的管理 一.Linux目录 1.Linux目录结构 2.常见的子目录 二.查看文件内容cat命令 1.直接显示出整个文件的内容 2.常用选项 三.查看文件内容more命令 1. ...
- Linux目录与文件常见处理命令
Linux的命令格式:命令 [-选项] [参数] 例子: ls -la /etc 说明:个别命令使用不遵循此格式 当有多个选项时可以写在一起 简化选项与完整选项的写法不同,如 -a 等于 --all ...
- Linux目录以及文件权限理解
了解Linux系统目录/文件权限结构 利用ls -al 命令可以列出详细的文件以及隐藏文件的权限,显示详细时间信息可以用ls -al --full-time 以.bash_history文件为例:-r ...
- Linux: 目录和文件
目录和文件 Linux 目录结构 常见子目录的作用 ●查看文件内容(cat. more. less head. tail) 查看文件内容cat命令 查看文件内容more命令 查看文件内容less命令 ...
- Linux 目录与文件
系统目录结构 /bin:bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令. /boot:这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜 ...
- Linux目录下文件权限怎么改成777,linux修改文件夹-文件目录权限
Linux.Fedora.Ubuntu修改文件.文件夹权限的方法差不多.很多人开始接触Linux时都很头痛Linux的文件权限问题.这里告诉大家如何修改Linux文件-文件夹权限.以主文件夹下的一个名 ...
- Linux 目录和文件权限总结
目录 一.文件权限简介 二.利用特殊权限实现普通用户通过 VSCode 远程调试 三.默认文件和目录权限 一.文件权限简介 当我们使用ll或ls查看某个文件或者目录的信息时,第一列就会显示出它的权限设 ...
最新文章
- 云计算技术 — 混合云
- 路由器交换机命令总结
- (常用API)正则表达式语法规则
- 关于LayUI单选框渲染checked属性不生效的问题
- java.lang.NoClassDefFoundError
- linux搭建flask环境,Ubuntu 环境下搭建Flask框架
- Swift开发之NSStringFromClass的使用和代替方法
- qtvs添加qchart_如何使用Qt Designer在表单中插入QChartView?
- C++字符串输入输出操作
- java jdom dom4j_实例分析jdom和dom4j的使用和区别
- 使用 C# 编程对 RTF 文档进行操作 [转载]
- 图像压缩算法python_Python基于opencv的图像压缩算法实例分析
- kali安装有道词典
- 爱情智慧:从恋爱走向婚姻必备的理念
- 【论文阅读笔记】《Simple, Accurate, and Robust Projector-Camera Calibration》
- 竹笋的营养价值及使用方法
- java如何创建列表的表头,java word设置表头
- jsp项目发布到服务器
- linux dc命令,Linux中dc命令起什么作用呢?
- Abaqus学习记录:分析步、增量步和迭代