Linux笔记

Linux笔记

最近春节,有时间再家里好好读读书,之前对linux的操作没有很系统地了解,都是半吊子,所以想把自己看的资料好好整理整理,跟大家分享,顺便帮助自己梳理思路

用户和用户管理篇

<!--[if !supportLists]-->1.? <!--[endif]-->用户账号:根用户,虚拟用户,普通用户

<!--[if !supportLists]-->2.? <!--[endif]-->用户UID:用户的UID0,普通用户在500~60000之间;

<!--[if !supportLists]-->3.? <!--[endif]-->用户组:具有相同特征的用户被分到一个用户组里,一个用户可以属于多个组;用户组里的成员有相同的权限,比如查看/修改/删除某个文件或者执行某个命令——通过把用户都定义到一个用户组,然后修改文件或者目录的权限,让用户组具有一定的操作权限。

<!--[if !supportLists]-->4.? <!--[endif]-->passwdshadow两个文件的作用:passwd文件:/etc/passwd;作用:存放着用户相关信息;shadow文件位置:/etc/passwd;作用:这个文件只能超级用户才能访问,将用户的密码加密后存放在此文件,因为passwd普通用户都可以访问,密码存放在此处有可能会被暴力破解;

<!--[if !supportLists]-->5.? <!--[endif]-->用户组文件:groupgshadow,两个文件的作用与passwdshadow相似,前者记录用户组信息,后者记录用户组口令

?

磁盘分区管理

<!--[if !supportLists]-->1.?????? <!--[endif]-->所谓分区就是在磁盘上建立的用于存储数据和文件的单独区域部分;一个磁盘可以有四个主分区,如果算上扩展分区会有三个,一个主分区变成扩展分区,扩展分区可以细分,主分区不能再细分了

<!--[if !supportLists]-->2.?????? <!--[endif]-->Swap分区:是一个非常特殊的分区,是整个操作系统的根目录:用于保存物理内存上暂时不用的数据,需要的时候才调入内存,也可以将其理解为和windows下虚拟内存一样的数据;关于大小:内存2G以下一般为内存的22.5倍,2G以上与内存大小一致即可。

<!--[if !supportLists]-->3.?????? <!--[endif]-->Linux分区:在/dev目录下,格式为:hdxyx为(a,b,c,d,……)代表磁盘,第一块为a,第二块为b,依次类推,y为数字,代表分区;

<!--[if !supportLists]-->4.?????? <!--[endif]-->Fdisk进入交互模式管理分区:

<!--[if !supportLists]-->a)???????? <!--[endif]-->首先输入fdisk –l

<!--[if !supportLists]-->b)???????? <!--[endif]-->接着输入 fdisk /dev/sda1进入交互模式(如图)



?
<!--[endif]-->

<!--[if !supportLists]-->c)???????? <!--[endif]-->进入交互模式后即可对分区进行增(n)删(d)改(t)查(p),q命令推出交互模式。

?



?

<!--[if !supportLists]-->5.?????? <!--[endif]-->parted进入交互模式管理分区:

<!--[if !supportLists]-->a)???????? <!--[endif]-->查看parted版本:parted -v

<!--[if !supportLists]-->b)???????? <!--[endif]-->进入交互模式的方法跟fdisk类似:直接输入parted即可;

<!--[if !supportLists]-->c)???????? <!--[endif]-->Parted也是一个分区软件,其大致功能和fdisk一样,用法稍微有点不同,具体用法可以输入help获得



?

<!--[if !supportLists]-->6.?????? <!--[endif]-->LVM逻辑卷管理:

<!--[if !supportLists]-->a)???????? <!--[endif]-->逻辑卷可以方便系统管理员调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名管理和分配。

<!--[if !supportLists]-->b)???????? <!--[endif]-->物理卷:一个物理卷就是一个磁盘分区,或者在逻辑上与磁盘分区等价。

<!--[if !supportLists]-->c)???????? <!--[endif]-->一个物理卷被划分成若干个PE(基本单元),具有的唯一编号是可以被寻址的最小单元。大小可以更改,但是默认是4MB

<!--[if !supportLists]-->d)???????? <!--[endif]-->卷组管理:系统管理员可以将多个物理卷组成一个卷组,在一个卷组上可以自由分配逻辑卷的大小。

<!--[if !supportLists]-->e)???????? <!--[endif]-->在卷组上可以进行的操作大致分为:添加卷组/扩展卷组容量/查看卷组/从卷组中删除物理卷/删除卷组

<!--[if !supportLists]-->f)????????? <!--[endif]-->逻辑卷:添加逻辑卷,更改逻辑卷大小,查看逻辑卷信息,删除逻辑卷

<!--[if !supportLists]-->g)???????? <!--[endif]-->常见问题:如何添加一个磁盘;如何创建主分区;如何扩展分区;如何创建逻辑分区;误删Swap分区如何启动?

?

文件系统管理



?
<!--[endif]-->

<!--[if !supportLists]-->1.? <!--[endif]-->Linux支持的文件系统很多,用户可以以加载的方式将windows的分区挂到linux的某个目录下进行访问;

<!--[if !supportLists]-->2.? <!--[endif]-->各个目录中的说明:

<!--[if !supportLists]-->a)???????? <!--[endif]-->/:最底层目录

<!--[if !supportLists]-->b)???????? <!--[endif]-->/bin:存放可执行命令文件:cp/mv/rm等,和一些shell/bash程序

<!--[if !supportLists]-->c)???????? <!--[endif]-->/boot:内核映像和引导系统程序

<!--[if !supportLists]-->d)???????? <!--[endif]-->/dev:每个设备对应的设备文件,如分区设备文件

<!--[if !supportLists]-->e)???????? <!--[endif]-->/etc:系统配置文件,如用户账号和密码配置文件

<!--[if !supportLists]-->f)????????? <!--[endif]-->/home:普通用户主目录的默认存放位置

<!--[if !supportLists]-->g)???????? <!--[endif]-->/lib:库文件存放目录

<!--[if !supportLists]-->h)???????? <!--[endif]-->/lost+found:系统意外崩溃关机产生的文件碎片

<!--[if !supportLists]-->i)?????????? <!--[endif]-->/media:即插即用型设备会自动在此目录下创建挂载点:如USB接入计算机后,会在此目录下创建一个子目录

<!--[if !supportLists]-->j)?????????? <!--[endif]-->/mnt:挂载存储设备的挂载目录

<!--[if !supportLists]-->k)???????? <!--[endif]-->/opt:存放较大型的第三方软件

<!--[if !supportLists]-->l)?????????? <!--[endif]-->/proc:特殊的目录,存放操作系统在运行时的进程信息和内核信息

<!--[if !supportLists]-->m)?????? <!--[endif]-->/sbin:存放root用户有权限执行,普通用户无法执行的命令(系统命令)

<!--[if !supportLists]-->n)???????? <!--[endif]-->/tmp:临时文件目录,存放运行程序时产生的临时文件

<!--[if !supportLists]-->o)??????? <!--[endif]-->/usr:大多数应用软件安装在此目录(因此这个目录非常重要)

<!--[if !supportLists]-->p)??????? <!--[endif]-->/usr/bin:存放普通用户可执行程序

<!--[if !supportLists]-->q)??????? <!--[endif]-->/usr/sbin:存放root权限才能执行的程序

<!--[if !supportLists]-->r)????????? <!--[endif]-->/usr/local:用户自编译安装软件存放的目录,一般安装源码包形式的软件

<!--[if !supportLists]-->s)???????? <!--[endif]-->/usr/share:存放公共文件;

<!--[if !supportLists]-->t)????????? <!--[endif]-->/usr/src:内核源码存放;

<!--[if !supportLists]-->u)???????? <!--[endif]-->/var:存放系统运行时需要改变的数据,如系统日志存放在/var/log

<!--[if !supportLists]-->v)???????? <!--[endif]-->/var/log:系统日志;

<!--[if !supportLists]-->w)?????? <!--[endif]-->var/spool:假脱机文件

?

<!--[if !supportLists]-->7.?????? <!--[endif]-->文件系统管理(此处不用深究):

<!--[if !supportLists]-->a)???????? <!--[endif]-->创建文件系统;

<!--[if !supportLists]-->b)???????? <!--[endif]-->查看已经挂载的文件系统

<!--[if !supportLists]-->c)???????? <!--[endif]-->使用fstab文件自动挂载文件系统

?

<!--[if !supportLists]-->8.?????? <!--[endif]-->文件和目录的管理:

<!--[if !supportLists]-->a)???????? <!--[endif]-->Ls是基本查看文件目录的基本操作,ls的使用格式为:ls…[option]…[FILE],有几个操作需要熟悉:-a:查看指定目录下的所有文件和子目录;-c以文件最后一次的更新时间进行排序;-t以文件最后修改时间进行排序

<!--[if !supportLists]-->b)???????? <!--[endif]-->查看文件内容的命令:catmore,实时查看tail –f

<!--[if !supportLists]-->c)???????? <!--[endif]-->删除:rmprtion-f(强制删除,无需用户确认),-r/-R:递归删除,-i:每一步删除都要用户确认;

<!--[if !supportLists]-->d)???????? <!--[endif]-->复制和移动:复制——cp-f:无需用户确认的复制;-i:每一步都要确认;-r\-R:递归复制该目录下的子目录和子文件;移动(剪切)-f-i;格式 cp/mv [option] source dest

<!--[if !supportLists]-->e)???????? <!--[endif]-->文件通配符:*:任意个数相匹配;?:只匹配一个;

?

<!--[if !supportLists]-->9.?????? <!--[endif]-->文件和目录权限管理:

<!--[if !supportLists]-->a)???????? <!--[endif]-->权限说明:r:可读;w:可写;x:可执行文件

<!--[if !supportLists]-->b)???????? <!--[endif]-->规则说明:rwxr—:前三个代表所有者权限,中间代表所属组,其他用户的权限;

<!--[if !supportLists]-->c)???????? <!--[endif]-->更改文件和目录所有者:chown:命令书写格式:chown –R(表示以递归的方式更改目录下各级子目录和文件)[owner]:[group](所有者和组) FILE(文件)

<!--[if !supportLists]-->d)???????? <!--[endif]-->chmod:更改文件以及目录的权限: ugoa分别代表所有者,属组,其他用户和所有用户;+表示增加权限,-表示减少权限,=表示覆盖权限,chmod g+w,o+w file1 file2为属组和其他用户添加文件file1file2的更改权限;chmod a=rwx file1 设置所有用户对file1文件的权限为可读/可修改/可执行

<!--[if !supportLists]-->e)???????? <!--[endif]-->数字表示方式:chmod nnn filename r=4,w=2,x=1,可读可写可修改的n=4+2+1=7,第一个数字为所有者,第二个为用户组,第三个为其他成员;

<!--[if !supportLists]-->f)????????? <!--[endif]-->umask:设置默认权限,一个文件的默认权限为0666,目录为0777,如果我们设置umask值为0022,那么文件的默认权限就变成了0666-0022=0644,目录为:0755,文件属组的权限由可读可写被削弱为可读,目录被削为可读可执行

<!--[if !supportLists]-->g)???????? <!--[endif]-->查看哪些进程正在访问该文件系统:lsof 或者fuser,终止访问文件系统的进程:umount

<!--[if !supportLists]-->h)???????? <!--[endif]-->恢复受损文件系统(省略)

<!--[if !supportLists]-->i)?????????? <!--[endif]-->恢复文件系统超级块(省略)

?

软件包管理:

<!--[if !supportLists]-->10.?? <!--[endif]-->使用rpm安装:

<!--[if !supportLists]-->a)???????? <!--[endif]-->rpm软件包有都是以.rpm结尾的,命名格式也比较统一:软件包名称-版本号-修订版.硬件平台.rpm

最基本的安装语句: rpm -i your-package.rpm (-q,-V,-i,-U,-e分别代表:查询,验证,安装,升级,删除),详细介绍rpm可参照:http://www.douban.com/note/10271967/

<!--[if !supportLists]-->b)???????? <!--[endif]-->语句分析(安装rpm):rpm –ivh httpd-2.2.15-15.elf_2.1.i686.rpm:安装软件包分两个阶段:首先是安装准备阶段:检查磁盘空间,软件包是否已经安装,依赖软件包是否已经安装等等,准备阶段通过后才会进行软件包安装,我们可以使用—test进行模拟安装,以检查安装后是否会产生冲突:rpm –ivh --text ?httpd-2.2.15-15.elf_2.1.i686.rpm

<!--[if !supportLists]-->c)???????? <!--[endif]-->除了—text还有—force命令:覆盖已安装的软件包;--nodeps在不希望安装依赖的软件包的情况下进行安装(有可能会产生错误)

<!--[if !supportLists]-->d)???????? <!--[endif]-->查看软件包的文件清单:rpm –ql 软件包名称;

<!--[if !supportLists]-->e)???????? <!--[endif]-->查看软件包所依赖的其他软件rpm –qR 软件包名称

<!--[if !supportLists]-->f)????????? <!--[endif]-->查看系统中已安装的所有装软件包清单:rpm –aq

<!--[if !supportLists]-->11.?? <!--[endif]-->升级软件包:rpm –Uvh 软件包名称

<!--[if !supportLists]-->12.?? <!--[endif]-->删除软件包

<!--[if !supportLists]-->a)???????? <!--[endif]-->rpm –e httpd-2.2.15-15.elf_2.1.i686

<!--[if !supportLists]-->b)???????? <!--[endif]-->rpm –e --test httpd-2.2.15-15.elf_2.1.i686:模拟删除

<!--[if !supportLists]-->13.?? <!--[endif]-->rpm –e –nodeps httpd-2.2.15-15.elf_2.1.i686:强制删除(不管依赖,有可能导致其他软件无法正常使用)

<!--[if !supportLists]-->14.?? <!--[endif]-->打包操作:-c打包,-x解包)

<!--[if !supportLists]-->a)???????? <!--[endif]-->tar现在的作用是磁盘上的文件备份和打包管理方面,打包成功后成为一个归档文件(.tar),便于文件的保存和传输

<!--[if !supportLists]-->b)???????? <!--[endif]-->打包文件:tar –cvf files.tar files?? //files目录打包成归档文件files.tar???????? tar命令会列出该目录下的所有文件及子目录清单

<!--[if !supportLists]-->c)???????? <!--[endif]-->查看归档文件内容:tar –tvf files.tar files

<!--[if !supportLists]-->d)???????? <!--[endif]-->还原打包文件:tar –xvf files.tar files

<!--[if !supportLists]-->e)???????? <!--[endif]-->追加新文件:tar rvf files.tar files(如果该文件已经存在,则覆盖)

<!--[if !supportLists]-->f)????????? <!--[endif]-->追加新文件并防止追加的新文件比原版本旧:tar uvf files.tar files

<!--[if !supportLists]-->15.?? <!--[endif]-->压缩归档文档:

<!--[if !supportLists]-->a)???????? <!--[endif]-->压缩(或者解压缩)方式选择在option操作中排第二位,如:tar –xzvf files.tar files 中的-czvfc代表的是压缩,x代表的是解压缩,而第二位:-z:调用gzip命令进行压缩解压,-Z调用compess命令,-j调用bz2命令

<!--[if !supportLists]-->16.?? <!--[endif]-->解压和压缩

<!--[if !supportLists]-->a)???????? <!--[endif]-->gzipgunzip:一般配合tar使用,因为gzip只能逐个生成压缩文件,不能将多个文件或者目录压缩成一个文件。

<!--[if !supportLists]-->b)???????? <!--[endif]-->zipunzip:比较linux系统支持winzip压缩工具的压缩格式

<!--[if !supportLists]-->c)???????? <!--[endif]-->bzip2bunzip2:很强大的压缩工具,具有很高的压缩比

<!--[if !supportLists]-->d)???????? <!--[endif]-->compressuncompress进行压缩:现在已经比较少用,是一对相当古老的压缩命令,必须要使用tar打包后才能进行压缩

<!--[if !supportLists]-->17.?? <!--[endif]-->源代码安装:

<!--[if !supportLists]-->a)???????? <!--[endif]-->源代码安装要经过gcc编译器编译后才能连接成可执行文件,所以首先要检查系统是否装有gccgcc –v

<!--[if !supportLists]-->b)???????? <!--[endif]-->检查gcccc位置是否正确



?

<!--[if !supportLists]-->c)???????? <!--[endif]-->一般情况下,源代码安装都是经过tar打包的,所以他们都是以.tar.gztar.Z.tar.bz2.tar.zip结尾,使用相应的解压工具进入安装包的解压目录,如果有README文件最好先阅读

<!--[if !supportLists]-->d)??????? <!--[endif]-->root权限下运行以下命令:

./configure

make

make install

<!--[if !supportLists]-->e)???????? <!--[endif]-->三条指令详细解释:

<!--[if !supportLists]-->???????????????????????? i.????????????? <!--[endif]-->configure:配置脚本,该脚本会检查需要安装的组件,配置相关的安装选项,完成编译器兼容性和所需要的库的检测

<!--[if !supportLists]-->?????????????????????? ii.????????????? <!--[endif]-->make:对源代码进行编译

<!--[if !supportLists]-->????????????????????? iii.????????????? <!--[endif]-->make install:把经过make命令编译后的二进制代码安装到系统中

<!--[if !supportLists]-->18.?? <!--[endif]-->.bin安装,以.bin结尾的文件需要使用的安装方法:

<!--[if !supportLists]-->a)???????? <!--[endif]-->首先为.bin文件添加可执行权限

<!--[if !supportLists]-->b)???????? <!--[endif]-->./ 文件名

?

<!--[if !supportLists]-->c)???????? <!--[endif]-->.src.rpm安装:rpm –I 文件名

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。