文件管理命令练习
目录文件管理命令
创建普通文件:touch
格式:touch [OPTION]… FILE…
touch的两种用法:
- 如果文件已存在,更新文件的三个时间,stat可以查看文件的详细信息
atime access time
看了一下内容 cat
mtime modify time
文件内容被改变了,ctime也会发生改变
ctime change time
元数据被改变,重命名 - 如果文件不存在,则表示创建文件
创建多个普通文件:
方法1:touch 文件名1 文件名2 文件名3
方法2:touch {文件名1,文件名2,文件名3}
touch {1,2}{3,4}
touch abc{1..100}
删除普通文件
rm [-f] 文件名
mkdir命令
mkdir [-p] [/路径/] 目录名
-p:快速创建目录结构中指定的每个目录,对已存在的目录不会覆盖
-v:显示创捷的详细过程
du命令
du [选项] [目录名]
:查看某个目录中的各级子目录所占用的磁盘空间数(默认为当前目录)
-a
:统计所有文件,不只是目录
-s
:只统计参数,而不是目录
-h
:以K,M,G为单位显示
rm命令
rm -r [-f] 目录文件名
cp命令
cp [选项] 源文件 目标文件
:目录或文件的复制
选 项 | 功能 |
---|---|
-a | 通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录 |
-d | 拷贝时保留链接。 |
-f | 在覆盖已经存在的目标文件时不提示。 |
-i | 在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷 贝。 |
-p | 除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。 |
-r | 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标 文件必须为一个目录名。 |
-l | 不作拷贝,只是链接文件。 |
mv命令
mv [参数] 源文件 目标文件
:用于剪切或重命名文件(剪切后复制到该目录下)
[root@kongd ~]# mv x.log linux.log
[root@kongd ~]# ls
install.log linux.log
命令练习
- 创建一个临时目录tmp
- 在临时目录下创建一个文件,文件名为a.txt
- 将a.txt复制成b.txt;将b.txt改名成为c.txt
将b.txt
移动到当前目录下的c.txt
文件即为改名
- 创建符号链接,链接文件名为linkc.txt
文件查看
浏览普通文件内容
- 查看文本文件的内容——cat命令
命令格式:cat [选项] 文件名列表
说明:文件名可使用通配符
常用选项:
-n
——对输出内容中的所有行标注行号。
-b
——对输出内容中的非空行标注行号。
- 分页查看文件内容——more和less命令
命令格式:more | less [选项] 文件名
常用选项:
-数字
——仅适用于more命令,用来指定分页显示时每页的行数。
+num
——指定从文件的第num行开始显示。
-c
——从顶部清屏然后显示文件内容。
-N
——仅适用于less命令,其作用是在每行前添加输出行号。
交互操作方法:
按Enter键向下逐行滚动
按空格键向下翻一屏、按b键向上翻一屏
文件末尾时more会自动退出,less 按q键退出
- 查看文件开头或末尾的部分内容——head和tail命令
命令:head | tail [选项] 文件名
常用选项有:
-num
——指定需要显示文件多少行的内容,若不指定,默认只显示十行。
-f
——使tail不停地去读取和显示文件最新的内容, 以监视文件内容的变化,这样有实时监视的效果。
- 检索、过滤文件内容——grep命令
功能:在指定的文件中查找并显示含有指定字符串的行。
格式:grep [选项] 要查找的字符串或条件表达式 被查找的文件名
选项:
-i
——查找时忽略大小写
-v
——反转查找,输出与查找条件不相符的行
练习
- 复制/etc/passwd到/opt目录下
- 查看/opt/passwd文件的第6行
文件查找
find查找
find命令用于按照指定条件来查找文件,格式为find [查找路径] 寻找条件 操作
参数 | 作用 |
---|---|
表示将结果输出到标准输出 | |
-name | 匹配名称 |
-path | 要查找的目录路径 |
-perm | 匹配权限(mode为完全匹配,-mode为包含即可) |
-user | 匹配所有者 |
-group | 匹配所有组 |
-mtime -n +n | 匹配修改内容的时间(-4指小于等于4天内的文件名;+4,大于等于5天前的文件名;4指前4~5那一天的文件) |
-atime -n +n | 匹配访问文件的时间 |
-ctime -n +n | 匹配修改文件权限的时间 |
-nouser | 匹配无所有者的文件 |
-nogroup | 匹配无所有组的文件 |
-newer f1 !f2 | 匹配比文件f1新但比f2旧的文件 |
–type b/d/c/p/l/f | 匹配文件类型(后面的字母参数依次表示块设备、目录、字符设备、管道、链接文件、文本文件) |
-size | 匹配文件的大小(+50k 为查找超过50KB的文件,而-50M 为查找小于50MB的文件)区分大小写 |
-prune | 忽略某个目录或文件 |
-exec ……{}; | 后面可跟用于进一步处理搜索结果的命令 |
-print
选项可以不写,其他选项具体用法如下
练习
- 在当前目录及子目录中,查找大写字母开头的txt文件
- 在/etc及其子目录中,查找host开头的文件
- 在$HOME目录及其子目录中,查找所有文件
- 在当前目录及子目录中,查找不是out开头的txt文件
- 忽略文件名大小写查找a.txt
- 在当前目录除aa之外的子目录内搜索 txt文件
- 在当前目录及子目录下,查找符号链接文件
创建软链接:ln -s 源文件 目标文件
- 查找2天内被更改过的文件
- 查找2天前被更改过的文件
- 查找超过1M的文件