Linux 学习笔记二

Linux文件组织目录结构

Linux的文件目录是树形结构的形式,每个目录不仅能使用本地磁盘分区的文件系统,也可以使用网络上的文件系统。比如可以利用网络文件系统(Network File System,NFS)服务器载入某特定目录。

FHS标准: FHS(Filesystem Hierarchy Standard)中文全称为文件系统层次结构标准,它定义了两层规范,一,/下面的各个目录应该要放什么文件数据,例如/etc应该放置文件,/bin/sbin则该放置可执行文件。二,针对/usr/var这两个目录来定义。

1
tree /

如果提示command not found就先进行安装,

1
2
sudo apt-get update
sudo apt-get install tree

相对路径和绝对路径

路径就是想去哪的路线,使用cd命令可以切换目录,在Linux里面使用,表示当前目录;..表示上一级目录(以.开头的文件都是隐藏文件,可以使用ls -a命令查看隐藏文件);-表示上一次所在目录;baishio

文件的创建、移动、复制、重命名和编辑

新建文件

1
touch filename

新建目录

使用mkdir命令可以创建一个空目录,也可以同时指定创建目录的权限属性。

1
mkdir mydir

也可以使用-p参数,同时多级目录。

1
mkdir -p father/son/grandson

文件的复制

使用cp命令可以复制一个文件到指定的目录中。

1
cp filename mydir

目录的复制

直接使用cp命令复制一个目录会发生错误,所以需要天界-r-R参数,表示递归复制。

删除文件

使用rm命令删除一个文件:

1
rm test

但如果想要删除一些为只读权限的文件,直接使用rm删除会显示一个提示:是否删除有写保护的普通文件?要想忽略这个提示,直接删除文件,就需要使用-f参数强制删除。

1
rm -f test

删除目录

跟复制目录一样,要删除一个目录一样 也需要加上参数-r-R

1
2
rm -r family
遇到权限不足删除不了的目录可以和删除文件一样加上`-f`参数

文件的移动

使用mv(move or rename files)命令移动文件(剪切)。命令格式为mv 源文件 目的目录

重命名文件

mv命令除了能移动文件外,还能给文件重命名。命令格式为mv 旧的文件名 新的文件名

批量操作下,当前命令就有点力不从心了,这时候可以使用rename来实现。rename命令并不是内置命令,若提示无命令可以使用sudo apt-get install rename命令来安装。

1
2
3
touch file{1..5}.txt
rename 's/\.txt/\.c\' *.txt
rename 'y/a-z/A-Z/' *.c

rename是先将第二个参数的通配符匹配所有后缀为.txt的文件,然后使用第一个参数提供的正则表达式将匹配的这些文件的.txt后缀替换为.c

使用cat tac和nl命令查看文件

前两个文件都是用来打印文件内容到标准输出,其中cat为正序显示,tac为倒序显示

1
2
3
cat passwd
cat -n passwd 带有行号
cat -nl passwd 添加行号并打印

使用moreless命令分页查看文件

moreless是用来阅读一个文件的内容的,比如man手册内部就是使用less来显示内容的。其中,more命令比较简单,只能向一个方向滚动,而less为基于morevi开发的。

使用more命令打开文件:

1
more filename

打开后默认只显示一屏的内容,终端底部会显示当前阅读的进度,可以使用Enter键向下滚动一行,使用Space键向下滚动一屏,按下h显示帮助,q退出。

使用headtail命令查看文件

该命令是查看文件的头几行,默认是10行;也可以使用-n参数,后面紧跟行数。

1
2
tail filename
tail -n 1 filename 只查看一行

查看文件类型file

1
file filename

嘻哈一下

开天眼方法

1
2
xeyes
nohup xeyes &