通过上一篇的学习,我们初步了解了Linux的一些基本命令,这一篇,我们就要更深入的去了解Linux的系统结构,文件的相关管理等知识。
1.Linux系统结构
Linux是一个倒树结构,Linux中的所有东西都是文件。这些文件都在系统顶级目录“/”下,/ 就是根目录。/ 目录以下的都为二级目录,二级目录是系统装机时系统自动建立的。
我们平时在使用电脑时,大多数人常常不知道系统盘下的那些奇奇怪怪名字的目录都是用来干嘛的,报着敬畏的态度,从来不敢乱动。接下来我们就看看这些“奇怪的目录”都是用来干嘛的。
二级目录的作用:
/bin ##二进制可执行文件也就是系统命令
/sbin ##系统管理命令存放位置
/boot ##启动分区,负责系统启动
/dev ##设备管理文件
/etc ##大多数系统管理文件
/home ##普通用户的家目录
/lib ##32位系统库文件存放位置
/lib64 ##64位系统库文件存放位置
/media ##系统临时设备挂载点
/mnt ##系统临时设备挂载点
/run ##系统临时设备挂载点
/opt ##第三方软件安装位置
/proc ##系统信息
/root ##超级用户家目录
/srv,/var ##系统数据
/sys ##系统管理,主要是关于内核的
/tmp ##系统临时文件存放位置
/usr ##系统用户相关信息数据及用户自定义软件存放位置
2.文件的寻址及管理
想要明白文件的寻址和管理,就一定要搞明白 绝对路径 和 相对路径
绝对路径:文件在系统的真实位置,文件名以 / 开头
相对路径:文件相对当前所在位置的一个名字简写,这个名字不会以 / 开头,并且名字会自动添加pwd显示的值
文件的管理:
(1)touch 建立文件或者修改文件时间戳
touch file ##创建文件
(2)mkdir 建立目录(通俗讲就是建立文件夹)
mkdir directory ##创建目录
mkdir -p directory ##上级目录不存在时自动建立
(3)rm 删除目录或文件
rm -f ##强行删除不提示
rm -r ##删除目录
(4)vim 文本方式编辑文件
vim file 进入到命令模式
命令模式不能进行编辑,按“i”进入编辑模式(还有其它按键也可以进入编辑模式,我们在下一章细讲)
编辑完成后,按下“esc”退出编辑模式,然后输入“:wq” 保存退出
(5)cd 切换工作目录
cd directory ##切换工作目录到指定目录
cd - ##切换工作目录到之前所在目录
cd ~ ##切换到自己的家目录
cd ~username ##切换到指定用户家目录
cd .. ##进入到当前目录的上级目录
(6)ls 列出目录或文件信息
ls ##后面没有目标则默认目标为当前目录
ls directory|filename ##列出目录或文件的内容
ls -d directory ##列出目录本身
ls -l filename|directory ##列出文件或目录里面内容的属性
ls -ld ##列出目录本身属性
ls -a ##显示目录中所有内容,包括以“.”开头的隐藏文件
ls -R ##递归显示目录中的内容
(7)cp 文件的复制
cp file1 file2 file3 ... directory ##把file1 file2 file3复制到directory中
cp file test ##把file里的文字复制到test中
cp -r directory directory1 ##复制目录directory到directory1中
(8)mv 移动或者重命名
相同磁盘的mv是重命名,不同磁盘的mv是复制删除过程
mv file file1 directory ##移动file file1到directory中
mv 存在文件 不存在文件 ##重命名文件
mv directory/file . ##把directory中的file移动到当前目录(. 代表当前目录)
3.正则表达式
有时候我们需要匹配具有一系列相同特征的文件,如果一遍一遍操作那效率就太低了,这时候就需要用到正则表达式了。接下来我们列举一些最常见的正则表达式
* ##匹配0到任意字符
? ##匹配单个字符
[[:alpha:]] ##匹配单个字母
[[:lower:]] ##匹配单个小写字母
[[:upper:]] ##匹配单个大写字母
[[:digit:]] ##匹配单个数字
[[:alnum:]] ##匹配单个数字或字母
[[:punct:]] ##匹配单个符号
[[:space:]] ##匹配单个空格
{1..9} ##1-9
{a..z} ##a-z
{1,3,5} ##1 3 5
{a,c,d,} ##a c d
{1..3}{a..c} ##1a 2a 3a 1b 2b 3b 1c 2c 3c
[]表示存在的
[a-C] ##aA bB cC
[a-c] ##aA或者bB或者c
[1-3] ##1或者2或者3
[145] ##1或者4或者5
[^abc]|[!abc] ##除了a并且除了b并且除了c
~ ##当前用户家目录
~username ##指定的用户家目录
~+ ##当前目录
~- ##当前目录之前所在目录
. ##当前目录
.. ##当前目录的上一级