Linux文件管理
学习目标
- 了解文件名规则和工作中的建议命名规则
- 会创建和删除目录mkdir/rmdir
- 会创建和删除文件touch/rm
- 了解复制cp和移动mv的区别会使用tar命令进行压缩和解压缩
- 掌握vm的保存和退出和不保存强制退出q!
- 掌握vim的快捷方式yy,dd,gg,G,u
- 会使用tail命令来查看文件
- 会使用find命令按照文件名称查找文件
1linux下文件命名规则
1.1可以使用那些字符?
理论上除了/之外其他都可以,但要注意,在目录名或文件名中,不建议使用某些特殊字符,如<、>、?、等
工作时文件的命名规则:
l 由于linux严格区分大小写,所有,尽量都用小写字母
l 如果必须对文件名进行分割,建议使用"_"
_下划线,在linux操作系统中,可以使用shift+减号
1.2文件名的长度
目录名和文件名长度不能超过255个字符
1.3文件名的大小写
Linux操作系统中严格区分大小写,
个人建议:
不要使用字符大小写来区分不同的文件或目录。建议文件名 一律使用小写字母
1.4文件扩展名
Linux文件扩展名对linux操作系统没有任何特殊含义,linux操作系统不以文件扩展名进行分类文件,在linux操作系统中文件扩展名的用途是为了让人更好区分文件类型
2文件管理命令
2.1目录的创建与删除
创建目录
基本语法:mkdir 目录名称
主要功能:就是根据目录的名称创建一个目录
案例 创建一个asd的文件夹
powershell
# mkdir asd
递归创建目录 mkdir -p
-p 递归创建 从左边的路径开始一级一级创建目录,直到路径结束
powershell
# mkdir -p /user/local/nginx/conf
使用mkdir同时创建多个目录
powershell
# mkdir a b c
2.2目录的删除(必须是空目录)
2.2.1移除空目录
基本语法:
powershell
# rmdir 目录名称
2.2.2 rmdir -p递归删除空目录
基本语法
powershell
#rmdir -p 目录名称1/目录名称2/目录名称3/...
主要功能:从右向左一级一级删除空目录
3 文件创建
3.1 touch创建文件
基本语法:
powershell
# touch 文件名称
主要功能:在linux系统中在当前目录下创建一个文件
3.2使用touch命令同时创建多个文件
基本语法:
powershell
# touch 文件名称1 文件名称2 文件名称3...
3.3 根据序号同时创建多个文件
基本语法:
powershell
# touch 文件名称{开始序号..结束序号}
含义:根据提供的开始序号和结束序号一个一个的创建文件
4 文件的删除
基本语法:
powershell
# rm [选项] 文件或文件夹名称
选项说明:
-r : 针对文件夹,代表递归删除,先把目录下的所有文件删除,然后在删除文件夹
-f : 强制删除,不提示,直接删除,慎用!!!
-rf :没有任何提示,强制递归删除。
5 复制
5.1 cp复制操作
基本语法:
powershell
# cp [选项] 源文件或文件夹 目录文件
选项说明:
-r : 递归复制,主要针对文件夹
案例:把readme.txt文件从当前目录复制一份放到/tmp文件夹中
powershell
# cp readme.txt /tmp/
5.2 cp复制并重命名文件
基本语法:
powershell
# cp [选项] 源文件或文件夹 目标路径/新文件或文件夹的名称
案例:把readme.txt文件从当前目录复制一份放到/tmp文件夹中并重命名为readme.txt.bak
powershell
# cp readme.txt /tmp/readme.txt.bak
5.3 cp复制文件夹到指定路径
powershell
# cp -r 源文件夹名称 目标路径/
案例: 把shop目录连同其内部的文件统一进行复制到/tmp目录下
powershell
#mkdir shop //创建shop文件家
# touch shop/index.php shop/admin.phop shop/config.php //在shop中建立三个文件
#cp -r shop /tmp/ 将shop整体复制到/tmp中去
6剪切
基本语法:
powershell
# mv 源文件或文件夹 目标路径/
案例:把readme.txt文件剪切到/tmp/目录下
powershell
# mv readme.txt /tmp/
案例:把shop文件夹移动到/usr/local/nginx目录下
powershell
#mkdir /usr/local/nginx
#mv shop /usr/local/nginx/
7 重命名操作
什么是重命名 ?简单来说,就是给一个文件夹或文件更改名字
基本语法:
powershell
# mv 源文件或文件夹名称 修改后的文件或文件夹名称
案例:把readme.txt文件更改为README.md文件
powershell
# mv readme.txt README.md
8 打包压缩与解压缩
8.1 linux打包操作
基本语法:
powershell
# tar [选项] 打包后的名称.tar 多个文件或文件夹
选项说明:
-c :打包
-f :打包后的文件名称
-v : 显示打包进度
powershell
案例:把a.tt、b.tbt、c.txt文件打包到abc.tar文件中
#tar cvf abc.tar a.txt b.txt c.txt
案例:把微信文件夹进行打包微信.tar
#tar-cvfwechat,tar wechat
8.2几个概念
打包:默认情况下,linux的压缩概念是一次性之呢个压缩一个文件,针对多个文件或文件夹无法直接压缩,所以需要提前对多个文件或文件夹进行打包,这样才可以进行压缩操作。
打包只是把多个文件或文件夹放在一个文件中,但并没有进行压缩,所以其大小还是原来所有文件的总和。
压缩 也是一个文件或目录的集合,且这个集合也是被存储到一个文件中的,但他们不同的是,压缩文件1所占用的磁盘空间比集合所占用的文件大小总和要小。
8.3 tar -tf以及 tar -uf
powershell
# tar -tf 打包后的文件
主要功能: 查看tar包中的文件信息
powershell
案例 :查看abc.tar包中的文件信息
# tar -uf abc.tar
powershell
# tar -uf 打包后的文件
主要功能:向tar包里追加更新内容
powershell
案例; 向abc.tar包里添加一个d.txt文件
# touch d.txt
# tar -uf abc.tar d.txt
查看是否添加成功
#tar -tf abc.tar
扩展:如何把tar包中的文件释放出来
powershell
打包
# tar -cf abc.tar a.txt b.txt c.txt
打包=>>释放(-c 变成 -x)
释放
#tar -xf abc.tar
8.4 打包并压缩(重点)
基本语法:
powershell
# tar [选项] 压缩后的压缩包 要压缩的文件
选项说明
-cf : 对文件或文件夹进行打包
-v : 显示压缩的进度
- z : 使用gzip压缩工具把打包后的文件进行压缩为.gz
-j : 使用bzip2压缩工具把打包后的文件压缩为.bz2
-J : 使用xz压缩工具把打包后的文件压缩为.xz
案例 :把a.txt b.txt c.txt文件打包压缩为abc.tar.gz
powershell
创建三个文件
#touch a.txt b.txt c.txt
对abc 三个文件进行打包压缩
#tar -zcf abc.tar.gz a.txt b.txt c.txt
8.5 对压缩包进行解压
之前说过,解压过程非常简单,就是把压缩的参数中的c 换成x就可以实现解压缩了
powershell
解压操作
* .tar.gz格式的压缩包
# tar -zxf 名称 .tar.gz
* .tar.bz2格式的压缩包
# tar -jxf 名称 .tar.bz2
* .tar.xz格式的压缩包
# tar -Jxf 名称 .tar.xz
8.6zip压缩与解压缩
8.6.1zip压缩
基本语法:
powershell
# zip [选项] 压缩后的文件名称.zip 文件或文件夹
选项说明
-r :递归压缩,主要针对的是文件夹
linux下已经有gzip.bzip.xz等压缩命令了,为什么还需要zip?
答:zip格式在windows以及linux中都是可以正常使用的
案例: 把a.txt b.txt c.txt 进行压缩为abc.zip
powershell
# touch a.txt b.txt c.txt
#zip abc.zip a.txt b.txt c.txt
案例:把wechat文件夹压缩为wechat.zip
powershell
# zip -r wechat.zip wechat
8.6.2unzip解压缩
基本语法:
powershell
#unzip 压缩包名称 =====>> 解压到当前目录
#unzip 压缩包名称 -d 指定路径 =====>> 解压到指定路径
案例: 把abc.zip进行解压
powershell
# unzip abc.zip
案例: 把abc.zip 解压到/usr/local目录下
powershell
# unzip abc.zip -d /usr/local/