1. linux的文件组织目录结构
linux的目录与window的区别
win以存储介质为主,主要以盘符及分区实现文件 管理,再下面才是目录。
linux以树形目录结构的形式来构造整个系统,每一个目录不仅能使用本地磁盘分区的文件系统,也能使用网络的文件系统。
1.1 FHS标准(Filesystem Hierarchy Standard)文件系统层次结构标准
linux其中大部分目录结构是已规定好的
-
第一层规范
/ 下面的各个目录应该要放什么文件数据,例如 /etc 应该要放置设置文件,/bin 与 /sbin 则应该要放置可执行文件等等。
-
第二层规范
针对 /usr 及 /var 这两个目录的子目录来定义。例如 /var/log 放置系统登录文件、/usr/share 放置共享数据等等。
sudo apt-get install tree sudo tree /
FHS 依据文件系统使用的频繁与否以及是否允许用户随意改动(注意,不是不能,学习过程中,不要怕这些),将目录定义为四种交互作用的形态,如下表所示:
1.2 目录路径
-
路径
顾名思义,路径就是你要去哪的路线cd path 进入到目录 cd . 进入到当前目录(.开头都是隐藏文件) cd .. 进入到上层目录 ls -a 查看隐藏文件 cd ~ 进入到home目录
-
绝对路径
以根"/"目录为起点的完整路径,以你所要到的目录为终点cd /usr/local/bin
- tab键可以自动补全,连按两次可以显示全部候选结果
2. linux文件的基本操作
2.1新建
-
新建空白文件
touch test 不会覆盖同名文件
-
新建目录
mkdir mydir mkdir -p father/son/grandson
2.2复制
-
复制文件
cp test father/son 复制到目录 cp test testcopy 复制到另一文件
-
复制目录
cp -r father family 递归复制
2.3删除
-
删除文件
rm test rm -r test 不提示直接删除
-
删除目录
rm -r father/son 不提示直接删除
2.4移动文件与文件重命名
-
移动文件
mv test Documents 移动 源目录文件 目的目录
-
重命名文件
mv file1 myfile 旧的文件名 新的文件名
-
批量重命名
要用 perl 正则表达式来作为参数 # 使用通配符批量创建 5 个文件 $ touch file{1..5}.txt # 批量将这 5 个后缀为 .txt 的文本文件重命名为 以 .c 为后缀的文件 $ rename 's/\.txt/\.c/' *.txt # 批量将这 5 个文件,文件名改为大写 $ rename 'y/a-z/A-Z/' *.c
2.5查看文件
-
使用cat,tac和nl命令查看文件
cat test 正序显示 cat -n test 显示行号 cat -nl test 添加行号并打印
-
使用more和less命令分页查看文件
more test Enter键向下滚动一行 Space键向下滚动一 屏 按下h显示帮助,q退出。
-
使用head和tail命令查看文件
# 只查看头几行(默认为10行,不足10行则显示全部)和尾几行。 tail test tail -n 1 test 只看1行
-
查看文件类型
file /bin/ls
-
编辑文件
# vi或nano