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