一. Linux目录结构
Windows系统与Linux系统在文件管理上是不同,Windows最顶层文件目录是用存储介质(磁盘)来区分的,除系统文件外,用户文件放在哪个盘里都一样,而Linux整个文件系统都是由文件目录(树形目录)来管理的,所以目录在Linux中是非常重要的概念。
FHS标准(Filesystem Hierarchy Standard 文件系统层次结构标准)
来自实验楼FHS 是根据以往无数 Linux 用户和开发者的经验总结出来的,并且会维持更新,FHS 依据文件系统使用的频繁与否以及是否允许用户随意改动(注意,不是不能,学习过程中,不要怕这些),将目录定义为四种交互作用的形态:
结构目录定义目录路径
路径
使用cd命令来切换目录,.表示当前目录,..表示上一级目录,上一篇博客说过以.开头的文件是隐藏文件,因此这两个目录也是隐藏目录。可以使用ls -a命令来查看隐藏目录。
“cd”命令演示:
绝对路径
绝对路径就是从文件系统的起始目录(根目录)开始,到达目标目录的完整目录路径。
相对路径
相对路径是以当前目录为起始目录(.)开始,到达目标目录的完整目录路径。
演示:
注意:
1、具体使用哪一种目录看你当前方便使用哪一种。
2、在进行目录切换的过程中请多使用 Tab 键自动补全,可避免输入错误,连续按两次Tab可以显示全部候选结果
二. Linux文件的基本操
新建
新建空白文件
“touch”命令:其主要是来更改已有文件的时间戳的(比如,最近访问时间,最近修改时间),但其在不加任何参数的情况下,只指定一个文件名,则可以创建一个为指定文件名的空白文件(不会覆盖已有同名文件),当然你也可以同时指定该文件的时间戳。
新建目录
“mkdir”命令用来创建空白目录:
同时创建父目录“mkdir -p”:
复制
复制文件
“cp”复制文件到指定目录:
将前面/home/gcg目录下的gcg文件复制到/home/gcg/gcg_dir/father/son目录中:
复制目录
先来一个错误的示范:
先创建一个目标目录,将前面的gcg_dir复制进去,结果出错:
正确方法是在”cp”后面加上“-r”或“-R”,表示连同目录里面的所有目录和文件一起复制:
删除
删除文件
“rm”指令删除文件,这里需要注意当删除只读文件时,系统会给出提示。我们先把前面创建的gcg文件改为只读,再删除它:
删除目录
删除目录和复制目录道理一样,不能直接rm,需要在rm后面加上-r或者-R:
移动文件与文件重命名
移动文件
移动文件在windows中相当于剪切文件的功能,使用“mv”指令。演示:
重命名
mv也可以重命名:
如果上述实验中,gcg_dir和gcg_dir2都存在,那么【mv gcg_dir gcg_dir2】到底是将它重命名为gcg_dir2还是将它移动到gcg_dir2中呢?
答案显而易见:是移动了(其实同一个目录中也不允许有相同的目录名)。
再做一个实验:
这个实验是将一个文件重命名为另一个已存在的文件名,这时会覆盖先前的文件。
批量重命名
批量重命名的话使用mv就太麻烦了,相信大家都知道rename这个命令,不过这儿要批量重命名还需要用到正则表达式,这儿只是做个演示:
第二个参数是匹配所有需要修改名字的.txt文件,第一个参数是通过正则表达式来修改文件名。这儿只用记住rename可以批量重命名就行。
查看文件
1、”cat”、”tac”、”nl”可以用来查看文件
原文件:
使用三种不同命令查看的结果:
这三个命令的区别:【nl】=【cat -n】,不过nl更专业,tac是倒序打印。
2、当文件内容很多时,使用上述命令需要用鼠标来滚轮来翻页,如果没有鼠标怎么办?这时可以使用“more”和“less”命令来查看文件,他们是专业的阅读文件的命令。
使用方法:打开后默认只显示一屏内容,终端底部显示当前阅读的进度(百分比)。可以使用Enter键向下滚动一行,使用Space键向下滚动一屏,按下h显示帮助,q退出。
3、”head”和“tail”查看文件:
head只显示最开始十行,tail只显示最后十行,不足十行的文件全显示:
(关于tail命令,不得不提的还有它一个很牛的参数-f,这个参数可以实现不停地读取某个文件的内容并显示。这可让我们动态查看日志起到实时监视的作用)
查看文件类型
使用“file”命令:
三. 总结
这一次的实验是在虚拟机做的,不过学习的图片还是来自实验楼。
网友评论