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目录下



















