Linux 目录结构及文件基本操作
一、Linux 目录结构(重点)
Linux 是以树形目录结构的形式来构建整个系统的,可以理解为一个用户可操作系统的骨架。虽然本质上无论是目录结构还是操作系统内核都是存储在磁盘上的,但从逻辑上来说 Linux 的磁盘是“挂在”(挂载在)目录上的,每一个目录不仅能使用本地磁盘分区的文件系统,也可以使用网络上的文件系统。
1.FHS 标准(英文:Filesystem Hierarchy Standard 中文:文件系统层次结构标准)
FHS 定义了系统中每个区域的用途、所需要的最小构成的文件和目录同时还给出了例外处理与矛盾处理。FHS 定义了两层规范,第一层是, / 下面的各个目录应该要放什么文件数据,例如 /etc 应该要放置设置文件,/bin 与 /sbin 则应该要放置可执行文件等等。第二层则是针对 /usr 及 /var 这两个目录的子目录来定义。例如 /var/log 放置系统登录文件、/usr/share 放置共享数据等等。
图解一
图解二
2.目录路径
路径
使用 cd 命令可以切换目录,在 Linux 里面使用 . 表示当前目录,.. 表示上一级目录, - 表示上一次所在目录,~通常表示当前用户的"home"目录。使用** pwd 命令可以获取当前所在路径(绝对路径)。
(注意,还记得我们上一节介绍过的,以 . 开头的文件都是隐藏文件,所以这两个目录必然也是隐藏的,你可以使用ls -a 命令查看隐藏文件)
绝对路径
以根"/"目录为起点的完整路径,以你所要到的目录为终点,表现形式如: /usr/local/bin
相对路径
相对路径,也就是相对于你当前的目录的路径,相对路径是以当前目录 . 为起点,以你所要到的目录为终点,表现形式如: usr/local/bin (这里假设你当前目录为根目录)。
提示:在进行目录切换的过程中请多使用 Tab 键自动补全,可避免输入错误,连续按两次Tab可以显示全部候选结果
二、Linux 文件的基本操作
1.新建
新建空白文件
使用 touch 命令创建空白文件,关于 touch 命令,其主要是来更改已有文件的时间戳的,但其在不加任何参数的情况下,只指定一个文件名,则可以创建一个为指定文件名的空白文件。
例子:touch test**
新建目录
使用 mkdir(make directories)命令可以创建一个空目录,也可同时指定创建目录的权限属性。
例子:mkdir mydir
使用 -p 参数,同时创建父目录(如果不存在该父目录),如下我们同时创建一个多级目录(这在有时候安装软件,配置安装路径时非常有用):mkdir -p father/son/grandson
2.复制
复制文件
使用cp(copy)命令复制一个文件或目录到指定目录。
例子:cp test father/son/grandson
复制目录
如果直接使用cp命令,复制一个目录的话,会出现如下错误:
要成功复制目录需要加上-r或者-R参数
例子:cp -r father family
3.删除
删除文件
使用rm(remove files or directories)命令,删除一个文件或目录;
例子:rm test
有时候你会遇到想要删除一些为只读权限的文件,直接使用rm删除会显示一个提示,就需要用上参数 -f ;
例如:rm -f test
删除目录
跟复制目录一样,要删除一个目录,也需要加上-r或-R参
例子:rm -r family
忽略文件夹下多文件提示消息: rm -rf family
4.移动文件与文件重命名
使用mv(move or rename files)命令,移动文件(剪切)。
格式:mv 源目录文件 目的目录
例子:mv file1 Documents
重命名文件
格式:mv 旧的文件名 新的文件名
例子:mv file1 myfile
5.查看文件
标准输入输出:当我们执行一个 shell 命令行时通常会自动打开三个标准文件,即标准输入文件(stdin),默认对应终端的键盘; 标准输出文件(stdout)和标准错误输出文件(stderr),这两个文件都对应被重定向到终端的屏幕,以便我们能直接看到输出内容。进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。
by.以上是一个知识点,这部分实在不好写,使用cat,tac和nl命令查看文件,也就是使用工具查看文件一样,不是你记下一两个命令能懂的,更多还需要深入学习。
6.查看文件类型
例子:file /bin/ls
7.编辑文件
Linux和Windows都用vim+gcc,没啥好写的;