Linux目录结构
Windows以存储介质为主,而Linux以目录为主,是以树形目录结构的形式来构建整个系统的。
命令 tree 可以直观地显示目录和文件的树形结构。
FHS标准
Filesystem Hierarchy Standard: 文件系统层次结构标准。
FHS定义了两层规范。
一级目录
根目录下的各个目录应该放什么文件数据,是不可变的 static。
可分享的(shareable):
/usr 软件
/opt 第三方软件
不可分享的(unshareable):
/etc 设置文件
/boot 开机及内核文件
/bin和/sbin 可执行文件
usr的子目录
/usr/share 共享数据
var的子目录
可分享的(shareable):
/var/mail 用户邮件信箱
/var/news 新闻组
不可分享的(unsharealbe):
/var/log 系统登录文件
/var/run 程序相关
/var/lock 文件锁相关
目录路径
cd 。可以切换目录,路径可以使:当前目录,上一级目录,上一次目录,home目录:
cd .
cd ..
cd -
cd ~
pwd。可以获取当前所在的绝对路径。
绝对路径:以根目录(/)为起点的完整路径,以目标目录为终点。
相对路径,从当前目录往上用“..”,向下则用目录名。
可以使用 Tab 键自动补全目录名,连续按两次 Tab 可以显示全部候选结果,一次和两次 Tab 可以连续间隔使用。
Linux文件的基本操作
新建
touch 。创建空白文件,常用来更改已有文件的时间戳;在不加参数时,可创建一个空白文件。
比较安全,如果已存在同名文件,则不会覆盖,只会更新时间戳。
命令 mkdir 创建一个空目录(可以同时制定权限),加上 -p 参数后可以同时创建多级目录:
mkdir -p father/son/grandson
复制
cp 。复制一个文件到指定目录:
cp test father/son/grandson
cp -r/-R 。复制一个目录 到指定目录:
cp -r father family
删除
rm 。删除一个文件:
rm test.txt
rm -f 。强制删除一个文件:
rm -f test.txt
rm -r 。删除一个目录:
rm -r father
移动和改名
mv 。移动文件:
mv test.txt Desktop
mv 。将文件改名:
mv test.txt test1.txt
批量改名
rename 。将通配符匹配到的文件,按照正则表达式的约定匹配后修改。
touch test{1..5}.txt
rename 's/\.txt\.c/' *.txt
rename 'y/a-z/A-Z/' *.c
查看文件
cat ,tac 。打印文件内容到终端,两者分别是正序和倒序显示。参数 -n 显示行号。
cat -n test1.txt
nl 。添加行号并打印,更专业,可以加上 -b,-n,-w 的系列参数。
分页查看
more 。向下滚动查看。
less 。使用vi来查看,更强大。
只看头尾几行
head/tail -n 。看文件的 头/尾 n行:
head -n 3 test1.txt
tail 加上参数 -f 可以不停地读取文件的内容并显示,实现动态查看监视的目的。
查看文件类型
file 。
file /bin/ls
作业
创建 homework目录,建立 1.txt ~ 10.txt 文件,然后删除 1.txt ~ 5.txt。
-Linux的日志文件放在 /var/log 中