LINUX(1)

来源:互联网 发布:空气加湿器 知乎 编辑:程序博客网 时间:2024/05/16 12:12

linux 中每个装置都被当成一个档案来对待
/dev/sd[a-p] SATA/USB/硬盘机/USB快闪碟
/dev/hd[a-d] IDE硬盘机

linux 使用的是目录书架构,档案数据放置在磁盘分区槽当中
挂载就是利用一个目录当成进入点 ,将磁盘分区的数据放置在该目录下

ctrl+alt+F1~F6: 文字接口登陆tty1~tty6
ctrl+alt+F7:图形接口桌面

command [-options] parameter1 parameter2…

ctrl+d 键盘键入结束
sync 将内存中的数据保存到硬盘中
ctrl+alt+backspace 重新启动x window

文件属性
[档案类型权限] [连结数] [档案拥有者] [ 档案所属群组] [ 档案容量] [ 档案最后被修改时间] [ 档名]

档案类型权限由十个字符组成,第一个字符代表这个档案是目录档案或者链接文件 d 是目录 - 是档案 l 是连接档,接下来字符以三个为单位分别是档案拥有者权限,群组权限和其他非本群组权限
w 可写 r 可读 x 可执行 没有用-表示

chgrp 改变档案的群组
chown 改变档案的拥有者
chmod 改变档案的权限
r:4 w:2 x:1 数字代表权限 eg:chmod 777 档案名
u:user o:other g:group a:all eg:chmod u+w 档案名

能不能进入一个目录,至于该目录的x权限有关

档案的种类
正规档案 [-] ,可分为二进制文档,纯文本文档,数据格式文件
目录 [d]
连结档 [l]
设备与装置文件,与系统周边及存储相关的一些档案,通常集中在/dev 目录下,通常又分为区块设备档[b],硬盘等,字符设备档[c],鼠标等
资料接口文件[s]
数据输送文件[p]

linux的扩展名
一个linux档案能不能被执行和档案的属性有关,和他的文件名没有关系,windows下能执行的档案扩展名通常为.com .exe .bat 而linux只要文档有x权限就可以被执行

linux文档系统规范
/ (根目录) /usr (与软件安装/执行有关) /var (与系统运作过程有关)

1)
根目录:所有的目录都是有根目录衍生出来的且根目录和开机/还原/系统修复有关,根目录的分隔槽应该越小越好
FHS定义根目录底下应该有这些目录
/bin :放置执行文件的目录,单人维护模式下还可以操作的指令,eg:chmod mkdir mv
/boot : 放置开机会用到的档案,包括linux核心档案以及开机选单和开机所需配置文件
/dev : linux任何装置和接口设备都以档案的形态存在于目录,只要透过存取这个目录底下的某个档案就等于存取某个装置了
/etc : 系统只要的配置文件,例如人员的账户密码文件,各种服务的起始档等
/home : 系统默认的用户家目录
/lib : 放置开机时会用到的函式库
/media : 可移除的装置,软盘光盘等
/mnt : 暂时挂载额外的装置
/opt : 第三方软件放置的地方,还习惯于放置在usr/local下
/root : 系统管理员的家目录,root的家目录和根目录存放在一个分隔槽内
/sbin : 放置开机过程中需要的指令,包括了开机修复还原系统所需要的指令 ,至于某些服务器软件程序,放置在/usr/sbin
/srv : 一些网络服务启动之后,这些服务所需要取用数据的目录
/tmp : 暂时存放文档的文档,定时清理,开机自动清理

linux 开机过程中只有根目录会给挂载,其他分隔槽则是在开机完成后持续的挂载,所以根目录下和开机有关的目录,就不能和根目录放在不同的分隔槽去 。 /etc 配置文件 /lib 执行档所需的函式库和核心所需的模块 /sbin 重要执行文件 /bin 重要执行档 /dev 需要的装置文件

2)
/usr unxi software resource
所有系统默认的软件都会放置在/usr下
/usr/bin : 绝大部分用户可以用的指令都放在这里,和/bin的区别是是否和开机相关
/usr/include : c/c++ 等程序语言的挡头(header )和包含档(include)放置处
/usr/lib : 包含各应用软件的函式库,目标档案
/usr/local : 系统管理员在本机自行安装自己下载的软件
/usr/sbin : 非系统正常运作所需要的指令
/usr/share : 放置共享文件的地方
/usr/src : 一般原始码放置的地方

3)
/var
常态性变动的档案,包括cache,log file,,某些软件运作所产生的档案
/var/cache : 应用程序本身运作过程中会产生的一些暂存档
/var/lib : 程序运行过程中,需要使用到的数据文件放置的地方,各自的软件有各自的目录
/var/lock
/var/log : 登陆文件放置的位置
/var/run :某些程序或者服务启动后,将他们的PID放置在这个目录下
/var/spool : 放置一些队列信息

mkdir -m :配置目录的权限 -p : 将所需要的目录递归建立起来

关于执行文件路径的变量:$PATH
查询文件指令的完整文件名为 /bin/ls ,但是在任何地方都可以执行这个文件,且只输入 ls 就可以
因为当我们执行一个指令的时候,系统会依照每个PATH的设定去每一个PATH 定义的目录下搜寻可执行文件
不同身份的PATH 不同,普通用户没有sbin目录

取得路径的文件名和目录名称
basement 档名
dirname 目录名

档案内容查阅
cat:从第一行开始显示档案内容
tac:从最后一行显示
head:只看头几行
tail:只看尾几行
od:以二进制形式读取档案内容

隐藏属性
chattr +a 这个档案只能增加数据,不能删除和修改数据
chattr +i 档案无法删除,改名,修改等
lsattr 显示隐藏属性

观察文件的类型 file

脚本文件名的搜索 which
which 在PATH的路径中寻找

档案档名的搜寻 whereis locate find
whereis和locate 在数据库档案搜索而find直接搜硬盘,比较费时
whereis 搜寻特定档案
locate 搜寻包含名称的档案
数据库系统可能会一天更新一次,所以新建立的档案可能会搜不到,可以使用updatedb指令来更新数据库
find [path ] [option ] [action ]

文件系统
superblock : 记录filesystem的整体信息,包括inode /block 的总量,使用量,剩余量等
inode : 记录档案的属性,一个档案占用一个inode ,同时记录此档案数据所在的block号码
block : 实际记录档案的内容

df 列出目前挂载的设备 df -h 以常用的m,g等显示
将文件系统和目录树结合的动作我们称为挂载
du 列出档案和目录容量 du -h

制作链接文件
ln 来源文件 目标文件 -s 符号链接
硬链接是通过inode 连接产生新档名,任何一个档名都可以修改block里的数据,删除一个档名,还可以用另一个档名操作
软连接,符号链接,建立一个独立档案指向目标档案的档名,修改连接档,原始档就跟着变,将连接档删除原始档也删除了

df 显示硬盘已分区的空间信息 -h
fdisk 观察硬盘分区信息,也可以对硬盘进行分区
fdisk -l 观察所有磁盘的信息

挂载u盘
先使用fdisk -l 查看usb的设备名称
之后使用 mount [设备名称] [挂载点路径] 将其挂载
使用 umount [设备名称] 取消挂载

开机挂载
根目录必须挂载且先于其他mount point 被挂载起来
其他mount point 必须为已经建立的目录
如果要进行卸除,必须将目录移除到mount point 之外
etc/fstab 就是利用mount 指令进行挂载的时候,所有的参数和选项写到这个文件中去
设置完必须使用mount -a 测试语法是否正确

挂载dvd映像文件
mount -o loop *.iso /目录

内存置换空间swap
cpu读取数据都是从内存中读取的,当内存不足的时候为了让后续的程序可以顺利运作,因此在内存中暂不使用的数据就放到swap中去了,所以,swap 是使用硬盘来暂时存放内存的数据