Linux下的文件管理
linux目录结构
- linux目录结构为树形结构
Windows系统可以拥有多个盘符,c盘、d盘等,定级目录可以有多个
linux没有这个概念,只有一个根目录 / ,所有的问题件都在他下面 - 层级关系
linux中,路径之间的层级关系:/
Windows:\
1.文件管理命令
注意:创建文件夹需啊哟修改权限,请确保操作均在home目录中进行,不要在home目录外操作。由于涉及权限问题,home外是无法操作的。
文件夹与文件的区分:
使用命令ls-l ,标识中为“-”的是文件,标识中有"d"的为一个文件夹。
【1】 touch :新建文件,修改文件时间戳
touch file1 file2… | 建立空文件 |
---|---|
touch file | 把文件时间同步到当前时间 |
touch -t YYYYMMDDHHmm file | 把文件时间更改到指定时间 |
![]() | |
【2】 mkdir(make directory) | |
mkdir dir1 dir2… | 建立空目录 |
– | – |
mkdir -p test/redhat/linux | 建立多层目录 |
![]() |
注意:建立层级目录不要忘记 -p
【3】 rm:删除文件或者目录
rm命令支持通配符*,即匹配任意内容(包括空):
rm file file1… | 删除文件有提示 |
---|---|
rm -f file | 删除文件不提示 |
rm -r dir dir1… | 删除目录 |
rm -rf dir/ | 删除目录不提示 |
test* | 表示匹配任意以test为开头的内容 |
*test | 表示匹配任意以test结尾的内容 |
test | 表示匹配任意包含test的内容 |
注意:字符串后加/表示目录,不加/表示文件,无论是否有/删除操作均可成功,/可以用Tab键补齐
【4】 gedit:图形的文本编辑器,双击即可打开
- gedit file file1… 编辑file file1,可以同时编辑两个
- gedit 在使用时必须有图形
- file file1 可以不存在
【5】 vim:文本编辑器(可以没有图形)
- vim file进入到vim的浏览模式 ,浏览模式不能编辑文件
- 在浏览模式中按< i >进入插入模式
- 在vim中鼠标不能控制控制光标,只能用上下左右键移动光光标
- 按退出插入模式
- 按**:wq**保存更改
【6】vim异常退出
当vim编写文件时在未保存更改内容被强制关闭时 vim会出现异常
- [O]只读打开文件
- [E]继续编辑
- [R]恢复未保存内容编辑
- [D]删除.swp文件进入编辑
- [Q]退出
【7】cat:显示文件全部内容
more 该命令可支持翻页查看(文件内容过多可使用 more 命令查看,空格键翻页,q退出)
cat -b file | 显示文件内容并显示行号,不显示空行号 |
---|---|
cat -n file | 显示文件内容并显示行号 |
![]() |
【8】实验素材
history > westos | 把history的执行结果存放到westos中 |
---|
【9】head:查看文件前多少行
head westos | 默认显示文件westos前10行 |
---|---|
head -n westos | n,代表数字,显示文件westos的前n行 |
【10】tail:查看文件的后多少
tail westos | 默认显示文件westos的后10行 |
---|---|
tail -n westos | n,代表数字,显示文件westos的后n行 |
tail -f westos | 持续追踪尾部10行或者-n行的变化 |
【11】less:分页浏览
less westos | 进入到less 模式查看westos |
---|---|
less模式中de<上><下> | 逐行查看文件内容 |
< pgup >< pgdn > | 逐页查看文件内容 |
/关键字 | 搜索关键字 |
n | 向下匹配 |
N | 向上匹配 |
< v > | 在less模式进入到vim |
:wq | 编辑完成后退出返回less |
< q > | 在less中退出 |
【12】cp:复制文件
-
cp 文件 目的地文件
-
cp 文件1 文件2 目的地文件
-
cp -r 目录1 目录2
-
复制原理:按照原文件建立新文件(相当于抄作业)
注意:多个文件的复制目的地一定是文件,多个目录的复制目的地一定是目录
【13】mv:移动文件 -
mv file file1 file2
-
mv dir dir1 dir2
-
mv file 不存在的file会重命名,存在则是覆盖过程
-
移动原理:
(1) 相同设备区分中的文件移动是重命名的过程
(2)相同磁盘的不同分区的文件移动是复制文件到目的地再删除原文件过程 -
ls -i file 查看文件节点号(相当于文件身份证号)
注意:移动文件或者目录不需要加 -r
【14】file:文件类型的查看
file westos | 查看westos的真实类型 |
---|---|
![]() | |
【15】wc:文件容量统计 | |
wc -l | 行数 |
– | – |
wc -m | 字符数 |
wc -w | 单词数 |
wc -c | 字节数 |
![]() | |
注意:英文一个字母一个字节,中文一个文字三个字节 |
2.linux中文件的寻址
【1】linux系统结构
- FHS(Filesyestem Hierachy Standard)linux层级结构标准3
- linux中一切都是文件
/ | Linux顶级目录 |
---|
注;rm是一个危险命令,尤其是root身份,rm -fr/* 此命令卡千万不要在服务器上运行
- 系统二级目录
/bin | 系统常规命令 |
---|---|
/sbin | 系统管理命令 |
/dev | 设备文件 |
/rooot | 超级用户家目录 |
/home | 普通用户家目录集合,此目录中的子目录为普通家目录 |
/lib64 | 64位函数库 |
/lib | 系统函数库 |
/proc | 进程信息,系统识别的硬件信息 |
/run | 当前运行的硬件和系统模块 |
/srv | 系统数据(常量) |
/var | 系统数据(变化) |
/tmp | 系统临时文件存放目录 |
/mnt | 临时设备挂载点 |
/media | cdrom临时挂载点 |
/etc | 系统大多数程序的配置目录 |
/opt | 第三方软件安装位置 |
/boot | 系统启动分区,系统启动时读取的文件都在此目录中 |
/sys | 关于内核设定目录 |
/usr | unix system resource 仅次于/重要,多数系统资源都在此目录 |
【2】相对路径
- 绝对路径名称的简写,省略了用户当前所在的系统位置
- 此名称只有在管理当前所在系统目录中子文件时在能使用
- 系统中不以/开头的文件名称都为相对路径在程序操作时
- 会自动识别当前路径的信息开关并联操作目标
【3】绝对路径
- 文件在系统中的真是位置,在任何场景下都可以使用
- 通常以/开头,不会考虑当前系统位置
【4】特殊路径符:
其中 . 代表当前目录,如cd ./Desktop 和cd Desktop相同。
其中 . . 代表上一级目录,如cd . . 就是cd . ./. . 切换到上一级目录
其中 ~ 代表HOME目录,如cd ~ 即可切换到HOME目录,或cd ~/Desktop ,切换到HOME下的Desktop
3.关于文件寻址的命令
【1】pwd :显示当前的工作目录
【2】cd (chage directory): 切换当前的工作目录," cd ~- " = " cd - "
【3】ls:显示文件信息
ls | 显示当前目录中文件的信息 |
---|---|
ls file | 显示指定文件名称 |
ls dir | 显示指定目录中内容的名称 |
ls -d dir | 显示目录本身的名称 |
ls -l file | 显示文件属性 |
ls -l dir | 显示目录中内容的属性 |
ls -ld dir | 显示目录本身属性 |
ls -a dir | 显示目录中所有文件名称包括隐藏文件 |
ls -s | 显示文件的大小 |
ls -r dir | 显示目录中的内容 |
ls -l | 以列表竖向排列的形式展示内容,并展示更多信息 |
ls -h(该命令需要和 -l 混合使用,显示大小单位为kb mb gb) | 以易于阅读的形式展示文件的大小 |
框中带点的文件表示为隐藏文件,需要用ls -a 才可查看
命令可混合使用:
4.文件批量处理
* | 匹配0~任意字符 |
---|---|
? | 匹配单个字符 |
[[:alpha:]] | 匹配单个字母 |
[[:lower:]] | 匹配单个小写字母 |
[[:upper:]] | 匹配单个大写字母 |
[[:digit:]] | 匹配单个数字 |
[[:alunm:]] | 匹配单个数字或字母 |
[[:punct:]] | 匹配单个符号 |
[[:space:]] | 匹配单个空格 |
字符集合表示方法 | |
【 】 | 条件时或者关系时模糊匹配,对象和几个对比匹配就操作[1-10],1-10,[!d-f]除了d-f以外 |
– | – |
{ } | 点名机制,精确指定集合中的每一个元素,{1…10},1 - 10,{a…c} ,a - c |
~ | 默认代表当前用户家目录 |
~username | 指定的用户家目录 |
“~+” = “.” | 当前目录 |
~- | 当前目录之前所在目录 |
. . | 当前目录的上级目录 |
![]() |
5.文件查询
【1】which命令
可以通过which命令,查看所使用的的一系列命令的程序文件存放在哪里
语法:which 要查找的命令
【2】find命令查找指定文件
为避免权限不够,建议切换到root用户进行练习
语法:
- 按照文件名查找:find 起始路径 -name “被查找的文件名”
- 按照文件大小查找:finf 起始路径 -size + | -n[kMG]
±:表示大于和小于
n:表示大小数字
kMG:表示大小单位,k(小写)表示kb,M表示MB,G表示GB
6. 练习
ls 命令练习:
以列表的形式展示所有根目录的内容:
cd命令使用练习:
pwd命令练习: