1.为什么要进行文件管理?
linux系统里面几乎所有的东西都是以文件的形式存在
管理好文件才能让系统有条不紊的进行
2.搭建实验环境
为了防止做实验搞坏真机,因此我在虚拟机里面演示我的实验过程和结果
我使用的是desktop虚拟机,打开过程如下:
操作如下:
步骤一:在真机的shell里面输入命令
步骤二:登陆虚拟机
3.linux系统的文件架构
linux系统是一个倒树型结构,最大的目录是/,叫做根目录
通俗的说:linux的结构是一棵树,根目录"/"是根,其他目录和文件都挂在树上(总目录)
windows系统中的文件夹 , 类似linux系统中的目录;二者的文件含义一样
其实linux系统就是对文件的管理
4.linux系统中的二级目录
/bin | 二进制可执行文件,系统常规命令(binary file) |
---|---|
/boot | 启动目录,存放系统自动启动文件,内核,初始化程序 |
/dev | 系统设备管理文件 |
/etc | 大多数系统配置文件存放路径 |
/home/子目录 | 普通用户家目录 |
/lib | 函数库 |
/lib64 | 64位函数库 |
/media | 临时挂载点 |
/mnt | 临时挂载点 |
/run | 自动临时设备挂载点 |
/opt | 第三方软件安装路径 |
/proc | 系统硬件信息和系统进程信息 |
/root | 超级用户家目录 |
/sbin | 系统管理命令,通常只有root可以执行 |
/srv | 系统数据目录 |
/var | 系统数据目录 |
/sys | 内核相关数据 |
/tmp | 临时文件产生目录 |
/usr | 用户相关信息数据 |
5.如何使用命令对linux系统中的文件进行管理?
文件管理命令如下:
(1)建立文件:
touch filename
== touch不但可以建立文件也可以修改文件的时间戳==
时间戳分为:
atime | 文件内容被访问的时间标识 |
---|---|
mtime | 文件内容被修改的时间标识 |
ctime | 文件属性或文件内容被修改的时间标识 |
那么问题来了,我们可以建立文件并且修改时间戳,那么怎样查看文件的时间戳?(stat filename)
(2)建立目录:
mkdir directory
mkdir -p dir1/dir2/dir3 -p为 当建立递归目录时使用(上层目录不存在时,自动建立)
mkdir directory(目录名)
mkdir -p dir1/dir2/dir3
-p为 当建立递归目录时使用(上层目录不存在时,自动建立)
(3)删除文件:
rm filename
rm -f filename -f=force 表示强制删除不提示
rm filename
rm -f filename
-f=force 表示强制删除不提示
(4)删除目录:
rm -r directory
rm -r -f dir表示强制删除目录不提示
rm -r directory
-r表示递归删除,删除目录本身和里面的所有内容
rm -r -f dir表示强制删除目录不提示
说明:
rm -rf dir=rm -r -f dir=rm -fr dir
在命令参数使用过程中,-a -b -c =-abc =-bac ,顺序是不需要注意的
*代表所有的,rm -fr * 会删除当前路径的所有文件以及目录
删除时若是要删除目录下的子目录需要写出子目录的位置
删除目录test1里的目录test2 rm -fr test1/test2/
删除目录test里的文件file rm -fr test/file
(5)编辑文件:
- gedit file ##必须是图形界面时
- vim file
按下i进入编辑(insert插入)模式
书写文件内容
按下esc键退出
输入:wq回车保存
说明:如果直接输入vim file,file不存在,则file文件会自动建立;vim不能编辑目录
注意:当vim异常退出时,再次vim该文件会出现以下现象
vim的异常退出:
当vim异常退出时会生成.file.swp文件,再次打开此文件会有异常
生成的file.swp文件当中,会有以下几个选项:
[O]pen Read-Only,只读打开
[E]dit anyway, 继续编辑
[R]ecover, 恢复数据
[D]elete it,删除file.swp文件
[Q]uit,退出
[A]bort;退出
只有按下D,swp文件才会被删除,vim才会正常工作
vim编辑状态需要在英文输入法下才可以,否则不起作用
(6)复制文件:
- cp 源文件 目的文件
- cp -r 源目录 目的目录
- cp 源文件1 源文件2 目的目录 ##目的目录必须存在
- cp -r 源目录1 源目录2 目的目录 ##目的目录必须存在
总结:
若两个文件之间进行复制,后者的内容会被前者所覆盖
若将文件复制到目录中,直接用cp命令
若两个目录之间进行复制,必须使用cp -r dir dir 命令
(7)移动文件:
mv 源文件 目的文件 ##相当于给目的文件重命名
mv 源目录 目的目录
mv dir/* . ##把dir目录中的所有文件移动到当前目录中去
注意:
相同磁盘的文件移动只是一个重明名过程
不同磁盘的文件移动是复制删除过程
(8)查看文件:
cat file ##查看文件的全部内容
cat -b file ##-b为显示行号不包括空行
cat -n file ##-n为显示行号包括行号
less file ##分页浏览
按下q退出浏览模式
(9)less查看的用法:
上或下 | 逐行移动 |
---|---|
pageup或pagedown | ##逐页移动 |
/关键字 | 高亮显示关键字,n向下匹配,N向上匹配 |
v | 进入vim模式 在vim模式中按:wq 退回到less模式 |
q | 退出 |
head file | 查看文件的前10行 |
head -n 3 file | 查看文件的前3行 |
tail file | 查看文件的后10行 |
tail -n 3 file | 查看文件的后3行 |
tail -f file | 监控文件后10行内容的变化 |