linux基础篇读书笔记

linux的档案权限和文件系统

  • chgrp:改变档案所属群组(change group的缩写)
  • chown:改变档案拥有者(change owner的缩写)
  • chmod:改变档案的权限,SUID,SGID,SBIT等

档案的一般权限rwx

权限的设定有两种方式,可以使用数字或者符号来改变权限。在linux中档案权限分为基本的read读(4),write写(2),execute执行权限(1),分别对应于rwx,使用ls -l可以查看文件权限,属主user(1),群组group(2),其他others(3),就可以用u、g、o来代表三种身份的权限。

档案的特殊权限:SUID(4),SGID(2),SBIT(1)

Set UID
当s这个标志出现在档案拥有者的x权限上时,如(-rwsr-xr-x),此时就被称为Set UID,简称为SUID的特殊权限

  • SUID权限仅对二进制程序(binary program)有效;
  • 执行者对于该程序需要具有x的可执行权限;
  • 本权限仅在执该程序的过程中有效(run-time);
  • 执行者将具有该程序拥有者(owner)的权限。

Set GID
当s标志在档案拥有者的x项目为SUID,那s在群组的x时则称为Set GID,简称SGID。与SUID不同的是,SGID可以针对档案或目录来设定。如果是档案,SGID有如下功能:

  • SGID对二进制程序有用;
  • 程序执行者对于该程序来说,需具备x的权限;
  • 执行者在执行的过程中会获得改程序群组的支持。

如果是目录设定了SGID权限后,具有如下功能:

  • 用户若对于此目录具有r与x的权限时,该用户能够进入此目录;
  • 用户在此目录下的有限群组(effective group)将会变成该目录的群组;
  • 用途:若用户在此目录下具有w的权限(可以新建档案),则使用者多建立的新档案,该新档案的群组与此目录的群组相同。

Sticky Bit
Sticky Bit,简称SBIT,目前只针对目录有效有权删除该档案,对于档案无效。SBIT对于目录的作用:

  • 当用户对于此目录具有wx权限,也就是说具有写入的权限时;
  • 当用户在该目录下建立档案或目录时,仅有自己与root才

因为根目录与开机有关,开机过程中仅有根目录会被挂载, 其他分割槽则是在开机完成之后才会持续的进行挂载的行为。就是因为如此,因此根目录下与开机过程有关的目录, 就不能够与根目录放到不同的分割槽去!那哪些目录不可与根目录分开呢?以下目录:

  • /etc:配置文件
  • /bin:重要执行档
  • /dev:所需要的装置档案
  • /lib:执行档所需的函式库不核心所需的模块
  • /sbin:重要的系统执行文件

几个常见的处理目录的指令:

  • cd:变换目录
  • pwd:显示当前目录
  • mkdir:建立一个新的目录
  • rmdir:删除一个空的目录

档案查阅

  • cat 由第一行开始显示档案内容
  • tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
  • nl 显示的时候,顺序输出行号!
  • more 一页一页的显示档案内容

空格键 (space):代表向下翻一页;
Enter :代表向下翻『一行』;
/字符串 :代表在这个显示的内容当中,向下搜寻『字符串』这个关键词;
:f :立刻显示出文件名以及目前显示的行数;
q :代表立刻离开 more ,不再显示该档案内容。
b 或 [ctrl]-b :代表往回翻页,不过这动作只对档案有用,对管线无用。

  • less 不 more 类似,但是比 more 更好癿是,他可以往前翻页!

空格键 :向下翻动一页;
[pagedown]:向下翻动一页;
[pageup] :向上翻动一页;
/字符串 :向下搜寻『字符串』的功能;
?字符串 :向上搜寻『字符串』的功能;
n :重复前一个搜寻 (与 / 或 ? 有关!)
N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
q :离开 less 这个程序;

  • head 叧看头几行(取出前面几行head [-n number] file -n:后面接数字,代表显示几行)
  • tail 查看尾部几行(同上)
  • od 以二进制的方式读取档案内容(具体使用可以使用od --help查看)

umask 的用处与优点:
umask 可以拿掉一些权限,因此,适当的定义 umask 有利于系统的安全, 因为他可以建立默认的目录或档案的权限。

例如:假设umask为003,请问该umask情况下,建立的档案与目录权限为?
umask为003,所以拿掉的权限是——-wx,因此:
档案:(-rw-rw-rw)-(——-wx)=(-rw-rw-r–);
目录:(drwxrwxrwx)-(——-wx)=(drwxrwxr–).

chattr(配置文件案隐藏属性)

chattr [+-=] \[ASacdisu](+增加某一个特定参数;-移除某一个特殊参数;=设定一定,且仅有后面接的参数。具体参数使用可以使用help命令查看)

lsattr(显示隐藏属性)

lsattr [-adR] [file or directory]

-a:将隐藏文件的属性表现出来;
-d:如果接的是目录,仅列出目录本身的属性而非目录内的文件名;
-R: 连同子目录的数据也一并列出来。

磁盘与文件系统管理

EXT2文件系统:
superblock:记录此 filesystem 的整体信息,包括 inode/block 的总量、使用量、剩余量, 以及文件系统的格式与相关信息等;
inode:记录档案的属性,一个档案占用一个inode,同时记录此档案的数据所在的 block 号码;
block:实际记录档案的内容,若档案太大时,会占用多个 block 。

df:列出文件系统的整体磁盘使用量;
df [-akmhiHT] [file or directory](选项与参数使用--help查看即可。)
du:评估文件系统的磁盘使用量(常用在推估目录所占容量)
du [-ahskm] [file or directory]

linux常见的压缩指令:

  • .Z compress 程序压缩的档案;
  • .gz gzip 程序压缩的档案;
  • .bz2 bzip2 程序压缩的档案;
  • .tar tar 程序打包的数据,并没有压缩过;
  • .tar.gz tar 程序打包的档案,其中并且经过 gzip 的压缩
  • .tar.bz2 tar 程序打包的档案,其中并且经过 bzip2 的压缩

压 缩:tar -jcv -f filename.tar.bz2 要被压缩癿档案戒目录名称
查 询:tar -jtv -f filename.tar.bz2
解压缩:tar -jxv -f filename.tar.bz2 -C 欲解压缩癿目录

完整备份工具:dump
dump在文件备份的时候可以指定不同的备份等级,完整备份(level 0),差异比较(level 1),差异比较(level 2)……
如果想要备份的数据如下时,则有不同的限制情况:

  • 当待备份的资料为单一文件系统;
  • 如果是单一文件系统 (filesystem) ,那么该文件系统可以使用完整的 dump 功能,包括利用0~9 的数个 level 来备份, 同时,备份时可以使用挂载点或者是装置文件名 (例如 /dev/sda5之类的装置文件名) 来进行备份;
  • 待备份的数据只是目录,并非单一文件系统;例如你仅想要备份 /home/someone/ ,但是该目录并非独立的文件系统时。此时备份就有限制,包括:
    • 所有的备份数据都必项要在该目录 (本例为:/home/someone/) 底下;
    • 且仅能使用 level 0 ,亦即仅支持完整备份而已;
    • 不支持 -u 选项,亦即无法建立 /etc/dumpdates 这个各别 level 备份的时间记录文件

dump常用指令:
dump [-Suvj] [-level] [-f备份档案] 带备份资料
dump -W

-S:仅列出后面的待备份数据需要多少磁盘空间才能够备份完毕;
-u:将这次dump的时间记录到/etc/dumpdates档案中;
-v:将dump的档案过程显示出来;
-j:加入bzip2的支持,将数据进行压缩,默认bzip2压缩等级为2;
-level:加入备份等级,从0~9共十个等级;
-f:有点类似tar,后面接产生的档案,例如/dev/st0装置文件名等。
-W:列出在/etc/fstab里面的具有dump设定的partition是否有备份过。

备份复原restore

restore -t [-f dumpfile] [-h]  -----用来察看dump文档
restore -C [-f dumpfile] [-D挂载点]  -----比较dump与实际档案
restore -i [-f dumpfile] ------进入互动模式
restore -r [-f dumpfile] ------还原整个文件系统

选项参数解释:
相关的各种模式,各种模式不可混用,如不可以写-tC
-t :此模式用在察看 dump 的备份文件中含有什么重要数据!类似 tar -t功能;
-C :此模式可以将 dump 内的数据拿来跟实际的文件系统做比较,
最终会列出『在dump档案内有记录的,且目前文件系统不一样』的档案;
-i :进入互动模式,可以仅还原部分档案,用在 dump 目录时还原
-r :将整个 filesystem 还原的一种模式,用在还原针对文件系统的 dump 备份;
其他较常用到的选项功能:
-h :察看完整备份数据中的 inode 不文件系统 label 等信息
-f :后面就接你要处理的那个 dump 档案
-D :与-C进行搭配,可以查出后面接的挂载点与dump内有不同档案

光盘写入工具:mkisofs
文本模式的刻录行为,具体做法:

  • 先将所需要备份的数据建置成为一个镜像文档(iso),利用mkisofs指令来处理;
  • 将该镜像文件刻录至光盘或DVD中,利用cdrecord指令来完成

mkisofs:建立镜像文档
mkisofs [-o 镜像档] [-rv] [-m file] 待备份文件.. [-V vol] -graft-point isodir=systemdir...

选项参数:
-o :后面接你想要产生的那个镜像档档名。
-r :透过 Rock Ridge 产生支持 Unix/Linux 的档案数据,可记录较多的信息;
-v :显示建置 ISO 档案的过程
-m file :-m 为排除档案 (exclude) 的意思,后面的档案不备份到镜像档中
-V vol :建立 Volume,有点像 Windows 在档案总管内看到的CD title的东西
graft-point:graft有转嫁移植的意思。

光盘刻录工具:cdrecord

cdrecord -scanbus dev=ATA    ----侦测刻录机所在位置
cdrecord -v dev=ATA:1,1,0 blank=fast   ----进行CD的刻录动作(0,先抹除原本内容)
cdrecord -v dev=ATA:1,1,0 blank=fast   ----进行DVD-RW的刻录动作

vim

在linux系统下常用的文本编辑器有emacs,pico,nano,joe,vi,vim。但是使用范围最广,最常用的还是vi/vim,所有的unix like系统都会内建vi编辑器,vim具有程序编辑能力,可以主动地根据字体颜色辨别语法的正确性,提高程序设计效率。严格来讲vim是在vi基础功能上扩展而来的,vim是vi的进阶版。
vi的使用
vi共分为一般模式,编辑模式,指令命令模式。

  • 一般模式:使用vi打开一个档案就直接进入一般模式了,在这个模式中可以使用上下左右按键来移动光标,可以使用删除字符或删除整行来处理档案内容,也可以使用复制粘贴来处理文档内容。
  • 编辑模式:进入一般模式之后,需要按下[i,I,o,O,a,A,r,R]等任何一个字母之后才会进入编辑模式。在linux中,按下这些按键时,在画面的左下方会出现[insert 或 replace],此时进行内容编辑。推出编辑模式按下Esc即可。
  • 指令列命令模式:在一般模式中,输入[:/?]中的任何一个字符,就可以将光标移到最底下那一行。在这个模式当中,可以提供搜索功能,读取,存盘,替换字符,退出,显示行号….等都是在此模式中实现的。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章