一、Linux的目录结构:
Windows是以存储介质为主的,主要以盘符及分区来实现文件的管理,然后之下才是目录。但Linux的磁盘从逻辑上来说是挂载在目录上的,每个目录不仅能使用本地磁盘分区的文件系统,也可以使用网络文件系统NFS服务器载入某特定目录等。本质上来说,无论是目录结构还是操作系统内核,其实都是存储在磁盘上的。
1.FHS标准
Filesystem Hierarchy Standard, 文件系统层次结构标准。FHS定义了两层规范,
1. /下的各个目录应该放什么文件数据,比如/etc防止设置文件,/bin与/sbin放置可执行文件等。
2. 对/usr及/var两个子目录的定义。比如/var/log放置系统登录文件,/usr/share放置共享数据等。
FHS文档
或者直接执行以下命令:tree /
目录定义为四种交互作用形态
Notes: 目录本身也是文件ls -a
查看隐藏文件
-表示上一次所在目录, ~表示当前用户的home目录,pwd获取当前所在路径(绝对路径)。
相对路径以"."为起点,如果是在/目录下,可以省略"."。
二、Linux文件的基本操作
touch命令主要是用来更改已有文件的时间戳的,但不加参数的情况下,只指定文件名,则为创建空白文件,不会覆盖已有同名文件。
mkdir可以创建一个空目录,也可以指定创建的目录的权限属性。-p
参数,同时创建父目录,如果该父目录不存在。
cp复制文件或者目录到指定目录,如果是复制目录的话,最好加上-r或-R
参数,表示递归复制。
rm删除文件,如果是只读文件的话,可以加上-f
参数,强制删除。删除目录则需要加上-r或-R
参数。
mv移动文件, mv 源目录文件 目的目录
, 重命名文件,mv 旧的文件名 新的文件名
。
rename批量重命名,需要用perl的正则表达式。
查看文件:
执行Shell命令时,自动打开stdin, stdout, stderr
。
cat正序显示文件内容,tac倒序显示,加参数-n
表示行号,nl添加行号并打印。几个参数:
-b: 指定添加行号的方式:
-b a: 无论是否为空行,同样列出行号,同cat -n
-b t: 只列出非空行编号,默认为这种
-n: 设置行号的样式,主要有三种:
-n ln: 行号在左端显示
-n rn: 右端显示,且不加0
-n rz: 右端显示,且加0
-w: 行号字段占用的位数,默认六位
more和less
命令分页查看文件,more
命令,只能向一个方向滚动,less
基于more
和vi
。打开文件后,用Enter
键向下滚动一行,Space
键向下滚动一屏,h
显示帮助,q
退出。head和tail
命令只查看头10行和末10行,也可以用-n
命令指定行数。tail
还有个参数-f
可以实现不断地读取某个文件的内容并且显示,可以实现动态查看日志,起到监视作用。file
可以查看文件的类型。
本文原载于实验楼