系统安装
sda
sd硬盘的接口类型,包括scsi、sata、u盘等。a表示第一块硬盘
sda1,表示第一块硬盘的第一个分区。
文件系统
用来管理文件,linux文件系统类型为ext4.win的类型为fat32或ntfs。
linux分区方案
/boot 500M ext4
swap 2G 当真实内存不够时,充当内存使用。
/ 剩余空间 根分区,其他所有文件都在该目录下
文件目录高级管理
输出重定向
文件的输出通过“>”重定向到后面跟随的文件里面去
history > abc.txt 将命令history的输出定向写到文件abc.txt里面,并覆盖。
history >> abc.txt 也是将结果重定向,只是不覆盖原内容,只是追加到原文件里面。
2 > a.txt 将错误输出定向到a.txt文件下,如果没有错误输出,a.txt文件也存在,只是没有内容,
特殊文件:
/dev/null 过滤标准错误输出
/dev/zero 创建指定长度文件
~~~~~~~~~~~~~~
管道
操作符号为“|”,与grep一起使用,起到筛选的作用。
与awk命令一起使用,awk默认将一行切割成不同的字段(以空格作为切割条件),再取出不同字段的值。awk '{print $1}'打印第一个字段的值。
netstat -r | grep "UG" |awk '{print $2}'
补丁:
diff 按行比较文件的不同,-r用于比较文件夹的不同,-N当在文件a里面存在而b里面没有的使用,用一个空文件与之对比。
diff -u qq.txt qq2013.txt > qq.patch 生成补丁文件,前面一个为旧文件,后面一个为新文件。
patch 用来打补丁修补文件,先接文件,在写补丁文件。
patch qq.txt < qq.patch 给qq.txt打补丁
patch -R qq.txt < qq.patch 恢复原版本,去除补丁。
给文件夹打补丁:
先进入欲打补丁的目录,
patch -p1<ab.patch即可;其中p1是指忽略一层目录,因为已经进入了欲打补丁的目录,所以要忽略一层目录。-p0可以在不进入目录的情况下直接打目录,但是要给新的文件该名,这样旧文件打补丁后不会出错。
~~~~~~~~~~~~~~
配套命令:
grep 通用正则表达式的分析程序,搜索包含被搜索内容的行并显示。
-i 查找时忽略大小写
-v 反向查找数据信息。
-n 顺便显示行号。
-e 可以同时写出多个条件。
tr “a-z” “A-Z” 字符转换工具,对单个字符进行处理,可以用在管道的后面,
-d x 在标准输入数据流中删除与x匹配的字符
-s x 将连续相同的字符压缩为一个字符
sort 对输入进行排序,默认按每一行的第一个字符进行排序
-n 按整数进行排序
-r 递减排序
-kx 按每一行的第x的字符进行排序
-t 指定字段的分隔符,默认以空白为分隔符
uniq 删除数据的连续重复记录,经常与sort一起使用,先sort排序,再用uniq删除重复。可以将重复的记录连在一起,在进行删除。
-c 统计显示记录出现的次数
-u 显示出现次数唯一的行信息
-d 显示出现重复的行信息
ln 建立一个硬链接,相当与给文件一个别名,两个名字指向同一个文件。
-s f1 f2 建立一个符号链接,相当与给f1一个快捷方式,当删除f1时,f2已无用处。文件夹只能建立符号链接,不能建立硬链接。
cut
-f* x 当文件以tab键隔开时,该命令可以根据f*对应的列数从x中取出数据信息。也可以用-d“##”取出以##为分隔符的文件对应的信息
zip x y 将y压缩为文件x.zip
unzip
-l x 查看压缩文件x的内容,不解压
x 解压缩文件x
gzip
x 直接压缩文件x为x.zip,多个文件压缩为多个压缩包。但是不能压缩文件夹
-d x 将x解压缩
gunzip 效果与-d相同,都是解压。
zcat 直接查看压缩文件的内容,相当与在zip状态下的cat命令
bzip2 压缩文件,用法类似于gzip,但不能压缩文件夹
tar
-czvf x y 将y压缩为.tar压缩为x文件,若没有指示存放目录就放在当前目录下。-c创建压缩文件,-v输出详细信息,-f表示使用归档文件,指定文件名,z指定使用gzip进行压缩。
-tvf x 查看x包内的文件信息,-t列表查看包内文件信息,
-xvf x -C y 解压缩x文件,-x为解压缩,存放在目录y下,-C指定解压路径。
--exclude f1 压缩除了f1之外的其他文件或文件夹
注: 被打包文件尽量用相对路径,而不采用绝对路径。采用绝对路径在压缩再解压时会根据绝对路径存放数据信息,可能会覆盖原有数据,安全系数不高,而采用相对路径,在解压后数据会放在当前路径下,不会对原有数据有任何影响。
用户和组的概念
每个账户都有唯一一个UID
每个组页有唯一一个GID
多个账户可以属于同一个组
组:方便管理多个用户
/etc/passwd 用于存放用户的帐号基本信息,每一行对应一个用户的帐号信息记录。
/etc/shadow 用于保存密码字串、密码有效期等信息。
/etc/group 用于存放系统的组信息,组帐号包括主要组(私有组),次要组(附属组)。在该文件中组信息后面写的用户的次要组为该组。
/etc/skel/* 该目录下存放了新建用户所必须的配置文件,可以理解为创建用户的样板文件。
.bash_profile 用户每次登录时执行的文件
.bash_rc 用户每次进入bash时需要执行的文件。
.bash_logout 用户注销时需要执行的文件
/etc/login.defs 设置账户初始属性,
创建用户:默认有一个超级用户root。用useradd命令添加的用户是普通用户。添加的用户都存放在/etc/passwd文件下。在/home下创建一个xxx的宿主目录,在xxx登录系统后会自动进入这个文件夹。-g选项可以在创建用户的时候指定组。
删除用户:userdel -r xxx,-r选项用于删除在/home下xxx的宿主目录。
创建组:groupadd xxx创建一个组。创建的组存放在/etc/group下。useradd yyy -g xxx创建一个用户yyy并将其加入到xxx组
删除组:groupdel xxx,若成员将组xxx当作其主组(一个用户可以属于多个组),则要先改变该成员的主组或删除该成员再删除组。
~~~~~~~~~~~~~~~~~~~~
权限:权限分三部分,分别为主人(u)、所属组(g)、其他(o)。权限包括读(r)、写(w)、执行(x)。
更改文件的权限:chmod x+\-y zzz,其中x为权限的部分(u、g、o),y为权限(r、w、x),z为文件,+为添加权限,-为删除权限。多个更改用逗号隔开。
更改文件的主人:chown x yy,x为更改后的主人,yy为文件
更改文件的所属组:chgrp x yy,x为更改后的组,yy为文件
更改文件夹的主人:chown -R x yy,x为更改后的主人,yy为文件夹,更改后文件夹里面所有的文件的主人都被更改为x。
更改文件夹的所属组:chgrp -R x yy,类似同上。
~~~~~~~~
文件的隐藏属性:
a:文件或目录有了这个权限之后,只能增加数据,不能删除数据,但只有roott才能设置这个权限。
i:此权限使文件目录不能被修改、删除、重命名。只有root才能设置权限。
文件的特殊权限:
set uid:对属主用户增加set位权限,拥有此权限的前提时该文件为二进制文件,对该文件的执行者将拥有root用户的权限。
set gid:对属组内的用户增加set位权限,
设置在文件上:前提时文件为二进制文件,执行者对文件拥有可执行权限,执行者在执行过程中将会获得文件的用户组的支持
设置在目录上:用户若对目录有r和x的权限,该用户可以进入此目录;用户在目录下的有效用户组将会变为该目录的用户组;若用户在此目录下拥有w权限,则用户创建的用户组与目录的用户组相同
sticky bit:粘滞位,使目录有粘滞位权限,主要对目录有效,.目录有了此权限后,目录下的文件目录只能由文件拥有者以及root用户才能删除。一般使用在公共目录下,不让内部文件被随意删除。
ACL
acl是用在提供除了一般权限之外的更加细部的权限设定。可以针对单一使用者,单一档案或目录进行r,w,x的权限规范。
setfacl:设置acl,选项:-m 新增或修改acl规则,-x移除acl中的规则。
getfacl:获得acl权限设置
ACL针对的项目:
使用者:user,可以针对使用者来进行权限设定
群组:group,针对群组为对象来设定其权限
预设属性:mask,可以针对在该目录下的建立新文件目录时,规范新数据的预设属性权限。
mount -o remount,acl / 给根目录开启acl
ACL分类:
存取型ACL:设定ACL后立即生效,可以针对文件和目录
预设型ACL:只能针对目录设置,设定后,在目录下创建的文件和目录都遵循此ACL。
sda
sd硬盘的接口类型,包括scsi、sata、u盘等。a表示第一块硬盘
sda1,表示第一块硬盘的第一个分区。
文件系统
用来管理文件,linux文件系统类型为ext4.win的类型为fat32或ntfs。
linux分区方案
/boot 500M ext4
swap 2G 当真实内存不够时,充当内存使用。
/ 剩余空间 根分区,其他所有文件都在该目录下
文件目录高级管理
输出重定向
文件的输出通过“>”重定向到后面跟随的文件里面去
history > abc.txt 将命令history的输出定向写到文件abc.txt里面,并覆盖。
history >> abc.txt 也是将结果重定向,只是不覆盖原内容,只是追加到原文件里面。
2 > a.txt 将错误输出定向到a.txt文件下,如果没有错误输出,a.txt文件也存在,只是没有内容,
特殊文件:
/dev/null 过滤标准错误输出
/dev/zero 创建指定长度文件
~~~~~~~~~~~~~~
管道
操作符号为“|”,与grep一起使用,起到筛选的作用。
与awk命令一起使用,awk默认将一行切割成不同的字段(以空格作为切割条件),再取出不同字段的值。awk '{print $1}'打印第一个字段的值。
netstat -r | grep "UG" |awk '{print $2}'
补丁:
diff 按行比较文件的不同,-r用于比较文件夹的不同,-N当在文件a里面存在而b里面没有的使用,用一个空文件与之对比。
diff -u qq.txt qq2013.txt > qq.patch 生成补丁文件,前面一个为旧文件,后面一个为新文件。
patch 用来打补丁修补文件,先接文件,在写补丁文件。
patch qq.txt < qq.patch 给qq.txt打补丁
patch -R qq.txt < qq.patch 恢复原版本,去除补丁。
给文件夹打补丁:
先进入欲打补丁的目录,
patch -p1<ab.patch即可;其中p1是指忽略一层目录,因为已经进入了欲打补丁的目录,所以要忽略一层目录。-p0可以在不进入目录的情况下直接打目录,但是要给新的文件该名,这样旧文件打补丁后不会出错。
~~~~~~~~~~~~~~
配套命令:
grep 通用正则表达式的分析程序,搜索包含被搜索内容的行并显示。
-i 查找时忽略大小写
-v 反向查找数据信息。
-n 顺便显示行号。
-e 可以同时写出多个条件。
tr “a-z” “A-Z” 字符转换工具,对单个字符进行处理,可以用在管道的后面,
-d x 在标准输入数据流中删除与x匹配的字符
-s x 将连续相同的字符压缩为一个字符
sort 对输入进行排序,默认按每一行的第一个字符进行排序
-n 按整数进行排序
-r 递减排序
-kx 按每一行的第x的字符进行排序
-t 指定字段的分隔符,默认以空白为分隔符
uniq 删除数据的连续重复记录,经常与sort一起使用,先sort排序,再用uniq删除重复。可以将重复的记录连在一起,在进行删除。
-c 统计显示记录出现的次数
-u 显示出现次数唯一的行信息
-d 显示出现重复的行信息
ln 建立一个硬链接,相当与给文件一个别名,两个名字指向同一个文件。
-s f1 f2 建立一个符号链接,相当与给f1一个快捷方式,当删除f1时,f2已无用处。文件夹只能建立符号链接,不能建立硬链接。
cut
-f* x 当文件以tab键隔开时,该命令可以根据f*对应的列数从x中取出数据信息。也可以用-d“##”取出以##为分隔符的文件对应的信息
zip x y 将y压缩为文件x.zip
unzip
-l x 查看压缩文件x的内容,不解压
x 解压缩文件x
gzip
x 直接压缩文件x为x.zip,多个文件压缩为多个压缩包。但是不能压缩文件夹
-d x 将x解压缩
gunzip 效果与-d相同,都是解压。
zcat 直接查看压缩文件的内容,相当与在zip状态下的cat命令
bzip2 压缩文件,用法类似于gzip,但不能压缩文件夹
tar
-czvf x y 将y压缩为.tar压缩为x文件,若没有指示存放目录就放在当前目录下。-c创建压缩文件,-v输出详细信息,-f表示使用归档文件,指定文件名,z指定使用gzip进行压缩。
-tvf x 查看x包内的文件信息,-t列表查看包内文件信息,
-xvf x -C y 解压缩x文件,-x为解压缩,存放在目录y下,-C指定解压路径。
--exclude f1 压缩除了f1之外的其他文件或文件夹
注: 被打包文件尽量用相对路径,而不采用绝对路径。采用绝对路径在压缩再解压时会根据绝对路径存放数据信息,可能会覆盖原有数据,安全系数不高,而采用相对路径,在解压后数据会放在当前路径下,不会对原有数据有任何影响。
用户和组的概念
每个账户都有唯一一个UID
每个组页有唯一一个GID
多个账户可以属于同一个组
组:方便管理多个用户
/etc/passwd 用于存放用户的帐号基本信息,每一行对应一个用户的帐号信息记录。
/etc/shadow 用于保存密码字串、密码有效期等信息。
/etc/group 用于存放系统的组信息,组帐号包括主要组(私有组),次要组(附属组)。在该文件中组信息后面写的用户的次要组为该组。
/etc/skel/* 该目录下存放了新建用户所必须的配置文件,可以理解为创建用户的样板文件。
.bash_profile 用户每次登录时执行的文件
.bash_rc 用户每次进入bash时需要执行的文件。
.bash_logout 用户注销时需要执行的文件
/etc/login.defs 设置账户初始属性,
创建用户:默认有一个超级用户root。用useradd命令添加的用户是普通用户。添加的用户都存放在/etc/passwd文件下。在/home下创建一个xxx的宿主目录,在xxx登录系统后会自动进入这个文件夹。-g选项可以在创建用户的时候指定组。
删除用户:userdel -r xxx,-r选项用于删除在/home下xxx的宿主目录。
创建组:groupadd xxx创建一个组。创建的组存放在/etc/group下。useradd yyy -g xxx创建一个用户yyy并将其加入到xxx组
删除组:groupdel xxx,若成员将组xxx当作其主组(一个用户可以属于多个组),则要先改变该成员的主组或删除该成员再删除组。
~~~~~~~~~~~~~~~~~~~~
权限:权限分三部分,分别为主人(u)、所属组(g)、其他(o)。权限包括读(r)、写(w)、执行(x)。
更改文件的权限:chmod x+\-y zzz,其中x为权限的部分(u、g、o),y为权限(r、w、x),z为文件,+为添加权限,-为删除权限。多个更改用逗号隔开。
更改文件的主人:chown x yy,x为更改后的主人,yy为文件
更改文件的所属组:chgrp x yy,x为更改后的组,yy为文件
更改文件夹的主人:chown -R x yy,x为更改后的主人,yy为文件夹,更改后文件夹里面所有的文件的主人都被更改为x。
更改文件夹的所属组:chgrp -R x yy,类似同上。
~~~~~~~~
文件的隐藏属性:
a:文件或目录有了这个权限之后,只能增加数据,不能删除数据,但只有roott才能设置这个权限。
i:此权限使文件目录不能被修改、删除、重命名。只有root才能设置权限。
文件的特殊权限:
set uid:对属主用户增加set位权限,拥有此权限的前提时该文件为二进制文件,对该文件的执行者将拥有root用户的权限。
set gid:对属组内的用户增加set位权限,
设置在文件上:前提时文件为二进制文件,执行者对文件拥有可执行权限,执行者在执行过程中将会获得文件的用户组的支持
设置在目录上:用户若对目录有r和x的权限,该用户可以进入此目录;用户在目录下的有效用户组将会变为该目录的用户组;若用户在此目录下拥有w权限,则用户创建的用户组与目录的用户组相同
sticky bit:粘滞位,使目录有粘滞位权限,主要对目录有效,.目录有了此权限后,目录下的文件目录只能由文件拥有者以及root用户才能删除。一般使用在公共目录下,不让内部文件被随意删除。
ACL
acl是用在提供除了一般权限之外的更加细部的权限设定。可以针对单一使用者,单一档案或目录进行r,w,x的权限规范。
setfacl:设置acl,选项:-m 新增或修改acl规则,-x移除acl中的规则。
getfacl:获得acl权限设置
ACL针对的项目:
使用者:user,可以针对使用者来进行权限设定
群组:group,针对群组为对象来设定其权限
预设属性:mask,可以针对在该目录下的建立新文件目录时,规范新数据的预设属性权限。
mount -o remount,acl / 给根目录开启acl
ACL分类:
存取型ACL:设定ACL后立即生效,可以针对文件和目录
预设型ACL:只能针对目录设置,设定后,在目录下创建的文件和目录都遵循此ACL。