一、Linux的简介与发展
1.简介
Linux系统是一款免费的,开源的,多用户的,多线程的操作系统。
2.发展
可以参考相关书籍,度娘等等。
二、文件系统
1.文件系统的简介
作用:管理文件,包含了文件的组织结构,数据等等。
注意:操作系统与文件系统的区别
2.目录树的介绍
Linux系统的文件组织结构是:树状图。
树状图的优点:特别适合管理数据和存取数据,像图书馆一样,先按照
书架将书籍分成大类别,然后再逐步细分...
根目录:/, 是树状结构的顶端。
用途:对应一个分区,操作系统在开机时,需要挂载的一个分区,因为内核文件,
引导程序,系统修复工具都在此分区里。其他分区都是在开机之后逐步挂载都
根目录下的。根目录就像windows系统的c盘一样。因此/etc,/bin,/sbin,/lib,/dev这样的目录应该和根目录在同一个分区。
特点:根目录下都是目录,不要存储文件。
/bin:二进制文件目录,用于存储系统管理员和普通用户使用的命令
/boot:操作系统启动时所需要的引导程序所在处,最好单独一个分区,100M足够
/dev:设备文件存储位置。比如一些设备(光驱,磁盘,打印机等等)都会以目录的形式挂载到dev目录下
/etc:系统的配置文件及其子目录的所在处。
/home:用户的主目录所在处。当系统管理员在创建用户时,会在此处自动创建用户的主目录,比如:用户hyxy,的主目录/home/hyxy/
~:就表示用户的主目录
建议:单独分区,越大越好
/lib:使用系统使用的函数库所在处
/media /mnt 都是用于挂载其他设备对应的目录的。
/opt 主要用来给用户存储安装程序的地方
/root 系统管理员root的主目录
/sbin 系统管理员使用的命令所在处
/usr 用户安装程序时的存储路径,
/tmp 用于存储临时文件
/var 用于存储可变文件,比如log日志文件 /swap: 内存交互区,也建议单独分区。
/: 5G
/swap 1G
/boot 100M
/home 剩余
3.绝对路径和相对路径
在linux系统中,尤其是在命令行界面上,我们在访问文件/目录一定是涉及到
路径的问题。
路径的写法有两种:
绝对路径:从根目录开始写起。 访问hyxy的宿主目录: /home/hyxy
相对路径:相对于当前位置的写法
如:此时的位置:/etc/sysconfig/
访问/etc/sys/里
写法:../sysconfig/
. :指代的是当前目录(当前位置)
.. :指代的是上一级目录(父目录)
cd命令:是切换目录的作用,相当于鼠标
ls命令:显示目录内的文件和目录
pwd命令:显示工作路径的绝对路径
练习:在终端上,
1:切换当前用户的宿主目录
2: 切换到根目录,查看子目录
3: 切换到宿主目录
4: 切换到/etc/sysconfig
5:回到父目录
4.文件类型
-:普通文件
d: 目录
l: 链接文件
s: 套接字文件
b: 块文件,设备文件
c: 字符文件,二进制
p:管道文件,在做io操作,由于错误产生的文件
file: 查看文件类型
stat:格式: stat 文件名/目录名
显示的数据更详细
5.文件属性
查看方式:ls -l
文件的属性 有七列信息
第一列:由10个字符组成,
第一个字符:表示文件类型
第2~10字符,每三个一组来表示权限,
1组:表示文件所有者的权限
2组: 表示用户组的权限
3组: 表示其他人的权限
第二列: 硬链接的数量
第三列: 所有者的名称
第四列: 用户组名
第五列:文件或目录的大小
第六列:文件或目录最后一次属性被修改的时间
第七列: 文件或目录名称
三、Linux系统的常用命令
1、文件名的命名规则:
(1)命名时,尽量不要使用/,@,$,#
(2)命名时,也不要使用.,因为.有特殊意义,通常用于隐藏文件或目录
(3)大小写敏感
2、命令格式:
命令名 [选项] [文件名或者目录]
举个例子:
ls -l ../
3、ls命令
原意:list
路径:/bin/ls
用途: 用于查看目录的内容信息
选项:
a :列出目录所有文件,包含以.开始的隐藏文件
A :列出除.及..的其它文件
r :反序排列
t :以文件修改时间排序
S :以文件大小排序
l :除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来
d:查看目录的属性
4、cd命令
原意:change directory
路径:内置命令
用途: 用于切换目录
语法格式:cd [目录]
reg: cd ~ :切换到当前用户的主目录 可以简写成cd
cd /home/hyxy/
5、pwd命令
原意:print working directory
路径:/bin/pwd
用途:用于显示当前位置的绝对路径
语法:pwd
6、touch
用途:用于创建文件、修改文件的属性
语法: touch [选项] [文件名]
7、mkdir
用途:用于创建目录
语法: mkdir [选项] [目录名[ 目录名...]]
8、cp命令
用途:用于复制文件或目录
语法: cp [选项] [原文件或原目录] [目标文件或目录]
reg: cp f1 f2
cp f1 ../f2
选项 -r 复制目录的必选项
9、mv命令
用途:用于移动文件或目录,还有更名名称的作用
语法: mv [选项] [文件或目录] [目标位置]
10、rm命令
用途:用于删除文件或目录
语法: rm [选项] [文件或目录]
常用选项: -r 表示删除目录
-f 强制删除
-i 删除时进行询问
11、cat命令
用途:用于查看文件的内容,或者是合并文件
语法: cat [选项] [文件[,文件....]] [> 文件]
reg: cat file1
cat file1 file2 > file3
12、more命令
用途:用于查看文件的内容
语法: more [选项] 文件
>>常用相关操作命令:
Enter 向下n行,需要定义。默认为1行
Ctrl+F 向下滚动一屏
空格键 向下滚动一屏
Ctrl+B 返回上一屏
= 输出当前行的行号
:f 输出文件名和当前行的行号
V 调用vi编辑器
!命令 调用Shell,并执行命令
q 退出more
13、head命令
用途:用于查看文件的前n行
语法:head -num [文件名] -num 显示文件的前 num 行
14、tail命令
用途:用于查看文件的后n行
语法:tail -num [文件名]
-f: 动态显示文件里的数据
15、ln命令
用途:用于创建链接文件,相当于Windows的快捷方式
语法: ln [-s] [源文件/目录] [目标文件] -s 创建软链接
4、软链接和硬链接:
硬链接: 若一个inode号对应多个文件名,称这些文件为硬链接(同一个文件使用了多个别名)
软连接: 使用选项-s 创建的就是软连接
【软连接像windows下的快捷方式】
区别:
文件的构成:目录项+inode+数据块 目录项: 存储的是文件名和inode的标识符(整数)
inode: 存储的是信息有唯一标识号码,创建时间、修改时间、文件大小、属主、归属组、读写权限、数据所在block号等信息
数据块:就是保存文件的真实数据
1.硬链接和源文件共用一个inode号,说明它们是同一个文 硬链接文件显示的大小是跟源文件一样的 硬链接不会创建新文件,只是源文件的别名,源文件的链接数会增长
硬链接不可以跨越文件系统 (因为inode是这个文件在当前分区中的索引值,是相对于这个分区的) 不能对目录创建硬链接
文件只要有一个别名存在,数据库就可以找到
除非inode的指针被删除。
2.软链接是一个新文件,有自己的inode 软链接文件的大小跟源文件就不一样了 软链接的链接数目不会增加,
软链接没有任何文件系统的限制 数据块里存储是源文件的引用
可以对目录进行创建软连接。
删除源文件,软连接失效。