1、Linux 目录结构
linux与windows相比,不是以存储介质为主,而是以目录为主,是以树形目录结构的形式来构建整个系统的,可以理解为树形目录是一个用户可操作系统的骨架。逻辑上来说 Linux 的磁盘是挂载在目录上的,每一个目录不仅能使用本地磁盘分区的文件系统,也可以使用网络上的文件系统。
2、FHS标准
多数 Linux 版本采用这种文件组织形式,FHS 定义了系统中每个区域的用途、所需要的最小构成的文件和目录同时还给出了例外处理与矛盾处理。
FHS 定义了两层规范,第一层是,/下面的各个目录应该要放什么文件数据,例如/etc应该放置设置文件,/bin与/sbin则应该放置可执行文件等等。第二层则是针对/usr及/var这两个目录的子目录来定义。例如/var/log放置系统登录文件,/usr/share放置共享数据等等。
FHS将目录定义为四种交互作用的形态
3、目录路径
路径
进入某个具体的目录或者想获得某个目录的文件(目录本身也是文件)那就得用路径来找。使用cd命令可以切换目录,在 Linux 里面使用.表示当前目录,..表示上一级目录,-表示上一次所在目录,~通常表示当前用户的home目录。使用pwd命令可以获取当前所在路径(绝对路径)。
绝对路径、相对路径
绝对路径以根" / "目录为起点的完整路径,以所要到的目录为终点。表现形式如:/usr/local/bin,表示根目录下的usr目录中的local目录中的bin目录。
相对路径以当前目录.为起点,以所要到的目录为终点。表现形式如:usr/local/bin。usr目录为/目录下的子目录,是可以省略这个.的。如果是当前目录的上一级目录,则需要使用..。
进入一个目录,可以使用绝对路径也可以使用相对路径。在进行目录切换的过程中请多使用Tab键自动补全,可避免输入错误,连续按两次Tab可以显示全部候选结果。
4、linux文件的基本操作
新建空白文件
使用touch命令创建空白文件,
其主要作用是来更改已有文件的时间戳的(最近访问时间,最近修改时间),但其在不加任何参数的情况下,只指定一个文件名,则可以创建一个指定文件名的空白文件(不会覆盖已有同名文件)。
新建目录
使用mkdir(make directories)命令可以创建一个空目录,也可同时指定创建目录的权限属性。使用-p参数,同时创建父目录(如果不存在该父目录)。
复制文件
使用cp(copy)命令复制一个文件到指定目录。
复制目录
直接使用cp命令复制一个目录的话,会出现错误,要成功复制目录需要加上-r或者-R参数,表示递归复制。
删除文件
使用rm(remove files or directories)命令删除一个文件。如果直接删除只读权限文件,可以使用-f参数强制删除。
删除目录
跟复制目录一样,要删除一个目录,也需要加上-r或-R参数。
移动文件
使用mv(move or rename files)命令移动文件(剪切)。将文件“ file1 ”移动到Documents目录:
mv 源目录文件 目的目录:
重命名文件
批量重命名
rename是先使用第二个参数的通配符匹配所有后缀为.txt的文件,然后使用第一个参数提供的正则表达式将匹配的这些文件的.txt后缀替换为.c。
查看文件
(1)使用cat,tac和nl命令查看文件
前两个命令都是用来打印文件内容到标准输出(终端),其中cat为正序显示,tac为倒序显示。
要查看之前从/etc目录下拷贝来的passwd文件,可以加上-n参数显示行号。
nl命令,添加行号并打印,这是个比cat -n更专业的行号打印命令。
(2)使用more和less命令分页查看文件
more和less就是天生用来"阅读"一个文件的内容的,比如说 man 手册内部就是使用的less来显示内容。其中more命令比较简单,只能向一个方向滚动,而less为基于more和vi开发。less的使用基本和more一致,具体使用请查看 man 手册,这里只介绍more命令的使用。
(3)使用head和tail命令查看文件
只查看文件的头几行(默认为 10 行,不足 10 行则显示全部)和尾几行.关于tail命令,不得不提的还有它一个很牛的参数-f,这个参数可以实现不停地读取某个文件的内容并显示。这可以让我们动态查看日志,达到实时监视的目的。
5、查看文件类型
使用file命令查看文件的类型,这是一个可执行文件,运行在 64 位平台,并使用了动态链接文件。
6、编辑文件
在 Linux 下面编辑文件通常我们会直接使用专门的命令行编辑器。
网友评论