Linux目录结构及文件基本操作
Linux目录结构
- Windows系统中,存储是以盘符和分区为主,因此在经过一段时间的使用后,文件目录会相对混乱。
- UNIX/Linux则是以目录为主,文件构成树形目录结构。
FHS标准
- FHS(FileSystem Hierarchy Standard,文件系统层次结构标准)规定了Linux的部分目录结构,其定义了两层规范:
- 第一层是 /,规定了各文件应该放置的位置,如/etc应该放置设置文件,/bin应该放置可执行文件。
- 第二层则是针对 /usr及/var两个目录的定义,例如/var/log用于存放系统日志文件。
 
 
- 第一层是 
目录路径
- 
在目录中进行切换可以使用 cd命令1 
 2
 3cd <path>/<to>/<dir> 
 cd .. # 进入上一级目录
 cd ~ # 进入当前用户home目录
- 
查看当前位置使用 pwd
- 
如果路径以 /开头,则表示为绝对路径,路径则是从根目录开始查找。否则是相对路径,则是以当前目录作为起点进行查找。
Linux文件的基本操作
新建文件
- 
使用 touch命令创建空白文件,如下,回到用户目录,然后创建test文件:1 
 2
 3cd ~ 
 touch test
 ls
新建目录
- 
使用 mkdir创建一个空白目录,创建多级目录,可以使用-p参数:1 
 2mkdir mytest 
 mkdir -p father/son/grandson
复制
- 
使用 cp(copy)命令复制一个文件到指定目录下,将之前创建的test文件复制到刚才创建的多级目录下:1 
 2
 3cp test father/son/grandson 
 cd father/son/grandson
 ls
复制目录
- 
复制目录仍然使用的是 cp命令,但需要加上-r或者-R参数,表示递归复制,如下,将father目录移动到新建的family目录下:1 
 2
 3
 4cd ~ 
 mkdir family
 cp -r father family
 tree family/
删除
- 
使用 rm(remove)命令删除文件或目录,删除test文件:1 rm test 
- 
如果需要删除一些为只读权限的文件,可以使用 -f参数强制删除,强制删除test文件:1 rm -f test 
- 
如果需要删除的是目录,则同样需要加上 -r或-R参数,删除family目录:1 rm -r family 
移动文件与文件重命名
- 
使用 mv(move)移动文件(剪切操作),将file1移动到Documents目录:1 
 2
 3
 4
 5mkdir Documents 
 touch file1
 mv file1 Documents
 cd Documents
 tree Documents/
- 
使用 mv同样可以对文件进行重命名,将文件file1重命名为myfile:1 
 2
 3cd Documents 
 mv file1 myfile
 ls
- 
如果需要重命名的文件太多,使用 mv则会非常麻烦,此时可以使用rename进行批量重命名,其参数则使用perl正则表达式:1 
 2
 3
 4
 5
 6
 7cd ~ 
 # 批量创建5个文件
 touch file{1..5}.txt
 # 批量修改后缀为.c
 rename 's/\.txt/\.c/' *.txt
 # 将文件名称和后缀都改为大写
 rename 'y/a-z/A-Z/' *.c
查看文件
- 
使用 cat命令正序查看文件,使用tac倒序查看文件,加上-n参数则显示行号,使用cat命令查看passwd文件:1 
 2
 3cd ~ 
 cp /etc/passwd passwd
 cat -n passwd
- 
使用 nl命令与cat -n相同,都是添加行号并显示,nl命令包括如下参数:
| 参数 | 功能 | 
|---|---|
| -b | 指定添加行号的方式 | 
| -b a | 无论是否为空行,都列出行号( cat -n) | 
| -b t | 只列出非空行的编号并显示(默认) | 
| -n | 设置行号的样式 | 
| -n ln | 在行号字段最左边显示 | 
| -n rn | 在行号字段最右边显示,不补0 | 
| -n rz | 在行号字段最右边显示,补0 | 
| -w | 行号字段占用的位数(默认6位) | 
- 
使用 more和less可以分页查看文件,打开文件后默认只显示一屏的内容,可以使用Enter向下滚动一行,使用Space向下滚动一屏,按下h显示帮助,按下q退出。1 more passwd 
- 
使用 head或tail命令查看文件前几行(默认10)或尾几行,使用-n参数可以指定查看行数:1 
 2
 3head passwd 
 # 查看最后一行内容
 tail -n 1 passwd
- 
tail命令还有一个-f参数,这个参数可以不断读取文件内容并显示,从而达到监控文件的作用
查看文件类型
- 
使用 file可以查看文件类型:1 file /bin/ls 说明这是一个可执行文件,运行在 64 位平台,并使用了动态链接文件(共享库)。 
编辑文件
- 
可以使用编辑器编辑文件,比如使用vim编辑器: 1 vim passwd 
实战训练
- 
创建一个 homework 目录,建立名为 1.txt~10.txt 文件,并删除 1.txt~5.txt 。 1 
 2
 3
 4cd ~ 
 mkdir homework
 touch {1..10}.txt
 rm {1..5}.txt
- 
Linux 的日志文件在哪个目录? 日志文件存储在 /var/log目录下




















