ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:36.45KB ,
资源ID:29826297      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/29826297.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Linux知识总结.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Linux知识总结.docx

1、Linux知识总结vim(脚本编程、配置文件修改)vim:功能强大的全屏幕文本编辑器,他的作用是建立、编辑、显示文本文件。它没有菜单,只有命令,并且他支持所有的语言。Emacs,UltraEdit.Vi工作模式:命令模式、插入模式、编辑模式。 缺省进入的是命令模式(键盘的任何输入,系统都会把它当成一个命令),输入相应的插入命令(),编辑模式(正在编辑的文档,做出一些相应的设置,保存、查找、设置行号、定义快捷键等)命令模式:a(光标后)A(行后);i(光标前)I(行前);o(行下面)O(行上面);$(行尾);0(行首);H(屏幕上端);M(中央);L(下端)。定位:set nu(设置行号) se

2、t nonu(取消行号) gg(第一行) G(最后一行) :8 (定位到第八行)删除:x(删除光标所在字符,numb+x,包括光标所在的两个字符)dd(删除光标当前所在行,numb+dd删除N行); dG(删除光标所在行到末尾的内容); :10,20d(删除第十行到第二十行之间的内容)。剪切:dd(剪切当前行)ndd(剪切从当前行一下行,当前行也包括在内)复制:yy、Y(复制当前行)nyy、nY(复制当前行一下的n行);p、P(粘贴在当前光标所在行下或行上)替换和取消命令(在编辑一些文档的事后,没必要在有错误的时候进入插入模式进行写该,或者是命令模式删除再进入插入模式进行输入,改动比较少的时候

3、,完全没这个必要):r(替换光标所在处字符); R(从光标所在处开始替换字符,按Esc结束,提示为replace)搜索和替换命令:/ftp (找到文档中ftp关键词的文件);n(下个ftp文件;)大小写混合时候记不清楚 哪个是大写,哪个是小写,查找时候困难,因为Linux是严格区分大小写的,可以用set ic(开启查找是忽略大小写功能);set noic(关闭查找是忽略大小写功能)替换:%s/ftp/lamp/g (将全文关键字ftp的替换成lamp)制定替换范围: :4,10s /lamp/ftp/g(把第四行到第十行之间关键字lamp替换成ftp) c会询问保存和退出的命令: :wq(保存

4、退出) 如果用户没有写权限:wq!(强行保存退出,覆盖原文件),但不是说任何人没有写权限,用wq!都可以,前提是只有这个文件的所有者或者是root才可以,许多限定对root都是无效的,root很特殊。不保存退出:q!(有的时候不想保存,想退出)保存不退出:w(直接保存,并没有退出)甚至可以另存为:w /root/services.bak导入其他文件内容到本文件中编辑: :r /etc/issue (把issue内容导进来)vi中执行命令(有时候用vi编辑一些系统文件或者是写脚本的时候,比如说些一个备份脚本,需要查询环境,理论上来说不需要退出vi): :!ls -l /etc (回车就回来了)导

5、入和命令一起用(可以把一个命令执行的结果导入vi中去,有时候脚本需要备注信息,说明脚本是用来干什么的,写上公司的版权信息,谁编写的脚本,最后一次更新时间):r !date 把系统当前的时间导入vi编辑文件中。map(定义快捷键): :ctrl+p map P I# 在光标所在行首部出入#号,直接用ctrl+P 即可完成。(因为I可以跳至行首并且进入插入模式。)map E ichao1990116 使用快捷键插入自己的邮箱,方便他人联系你咨询你写的脚本的作用。map B 0x(0可以跳至行首,但不进入插入模式)。:4,8s/#/g (4,8s指定范围,/分分隔符,表示要在行首,/引出要添加的符号

6、,比如,然后分隔符+g等于执行。c也可以,不过会询问。 在第四行到第八行+上了#号):4,8s/#/g (第一个分隔符后面写#表示我要对行首#做替换,第二个分隔符后面什么也没写就表示我要替换为空,就是删除。然后分隔符+g等于执行。如果比没有就会替换该行所有#为空。 表示我把从第四行到第八行行首的#删除或者是替换为空。)如果真的要把vi当做开放工具,但是并不是所有语言都是用#来做注释的。例如/ 如果按照刚才那种方法是行不通的,显然是行不通的。第三讲讲过find,命令别名点的时候提到过转义符,让命令或者符号使用它本意。如果其实删除的时候原本是不会有提示的,之所以有提示是因为他定义了别名-i 才会有

7、提示。转义符 ,1,5s/g (/表示插入了两个/,这样就OK了,在行首插入两个/,呵呵.):ab(你输入一个a自动变成b。):mymail chao1990116快捷键定义多了容易忘记,如果你有经常需要输入比较长的信息,你还不想定义快捷键,可以用这种方法来帮助你实现,太强大了如果需要这些快捷键永远生效需要编辑vim的配置文件(linux里面每一个用户都需要有一个宿主目录,如果用户没有宿主目录,在许多linux和unix里面是不允许登录的。宿主目录的路径可以指定,root目录在/root,users目录在/home,如samlee用户的目录在/home/samlee在宿主目录下有个.vimrc

8、配置文件):vi /root/.vimrc 或 vi /.vimrc (表示宿主目录)里面是空的,可以把日常需要用的快捷键写入里面,例如:set nu ;map P I# 编辑任何文件都是有效的,而不是像刚才保存退出后之后快捷键就没效了。 命令(前三章)find /etc -name init* -a -type f -a -atime -1 -exec ls -l ;匹配文件内容中的关键字:grep ftp /etc/services 配置文件和命令重名:可以用man 5 查看配置文件。gzip 只能压缩文件,不能压缩目录。不保留原文件(原文件直接成压缩包)。gunzip(解压)tar打包目

9、录(Internet 二进制包 源代码包 .tar .gz) -c create产生打包文件 -v 显示执行过程 -f制定压缩后文件名 -z打包并同时压缩file 判断文件内容。.zip 默认win和Linux通用的格式压缩目录(保留原文件) zip -r newdir.zip newdir (可以直接压缩目录) 如果是bz2或者gzip想压缩文件夹必须先用tar打包然后才能再压缩。压缩文件不加 -r.bz2(只能压缩文件,不能压缩目录,压缩比非常强悍,gzip的升级版,其实只是增加了一个选项 -k 保留源文件,但是压缩比很高):压缩:bzip2 -k moon -k(保留原文件)解压:bun

10、zip2 moon.bz2也可以压缩成.tar.bz2文件:先用tar打包目录,再用bz2压缩打包文件。write 发信息(用户)wall 广播(所有人)ping 测试网络是否连通内核shell-用户bashell:在目录下面执行能自动补全文件名。history看历史命令 !numb 可以执行以前的命令 不过最多用的还是翻页键。命令别名:alias 例如为什么ll在linux可以用 在Unix不可以用 就是因为系统定义了别名 如果有连接选项必须用“”引起来 定义别名:alias copy=cp alias xrm=rm -r撤销别名 unalias copy 输入输出重定向:同标准I/O一样,

11、shell对于每个进程预先定义3个文件描述(0、1、2)。分别对应于: 0(STDIN)标准输入键盘; 1(STDOUT)标准输出显示器,投影 2(STDERR)标准错误输出显示器。所谓重定向是指输入不从键盘输入,输出不从显示器输出。 可以把输出的结果显示到一个文件中。输出重定向:0 0 ls -l /tmp /tmp.msg 查看重定向文件可以用cat等 date查看当前系统时间。 会覆盖以前的内容 , 所以必须用才可以追加内容,防止覆盖,以实现脚本自动化。输入重定向:输入的内容可以是事先写好的。 1 1 举例:wall /etc 2 不能省略2cp -R /usr /backup/usr.

12、bak2 /bak.error大于号可以用来判断执行动作是否出错,如果出错可以讲错误信息保存在目标录像里面,方便管理员上线后对动作执行结果进行查找,备份尤其重要。如果执行结果是对的,目标文件管道(重要):将一个命令的输出传给另一个命令,作为另一个命令的输入。管道的最B之处在于可以让不起眼的命令发挥出,居牛B的作用。 举例:ls -l /etc | more (更容易观看)grep(查找某个文件里面所在的关键词,并且可以把该行列出来) 举例:ls -l /etc | grep init | wc -l 查看etc目录下面包含init的文件有多少个(一个文件有多少行 ,或者一个目录下文件有多少个)

13、。命令连接符:1. ; 让很多命令依次执行。 举例:pwd ; ls ; date 比如在写系统计划人任务时需要。2.&(逻辑与) command1 & command2 成功 执行 失败 不执行write 情书 /home/love.txt & rm /home/love.txt 发完了马山删除,保证marry受到才删除,不然情书还没发就被删,白写了。|(逻辑或): command1 & command2 成功 不执行 失败 执行举例:还是些情书 write Mary /home/samlee/love.txt | mail Mary /home/samlee/love.txt第一个命令执行

14、成功,不发邮箱,执行不成功,就发邮件。3.命令替换符 我想查看命令touch文件的详细信息,分两步which touch得到touch路径 ls -l /bin/touch 查看详细信息。如果知道命令替换:ls -l which touch 和上者结果一样。 和管道略有不同,是将一个命令的结果 作为另一个命令的参数。 管道择是将一个命令的输出结果作为下一个命令的输入。写脚本的时候比较方便,因为不用版本的linux路径可能不太一样,如果记忆不出路径,这种方法用以来比较灵活。软件包管理(第六章) linux软件包管理,可以分为两个大的方面:redhat系列软件包管理(很多版本)。debian系列软

15、件包管理(ubuntu),管理稍有区别。软件包的选择上追求的是稳定,管理方面追其实用性,并不是说越新越好。软件包命名形式:sudo-1.7.2p1-5.el5.i386.rpm 其中包括软件名(sudo),版本号(1.7.2p1),发行号(5.e15),和硬件平台(i386) (1)卸载 #rpm -e sudo rpm(表示是rpm包,redhat开发的一种2进制包的管理方式,所以后缀名都是.rpm)注意:如果其他软件包有依赖关系,卸载时会产生提示信息,可使用-nodeps强行卸载。卸载的时候需要用到软件名称(sudo),安装的时候需要软件包名(sudo-1.7.2p1-5.el5.i386

16、.rpm ),i386硬件平台(遵循intelPC硬件平台。不同硬件平台的软件包是不同的。)有时候卸载一个软件包会有这样的提示:比如说我想卸载samba(实现windows和linux之间进行系统共享的软件包)rpm -e samba因为有依赖的关系,因为另外一个软件包需要它。理论上来说把samba卸载掉依赖的数据包就毫无价值了,可以先卸载依赖的数据包,再卸载samba。如果非要直接卸载掉samba,也是可以的。rpm -e -nodeps samba (不考虑任何软件包依赖于该软件包。强行卸载。理论上不建议这么做,除非你对系统有很深了解,对软件包有很深的依赖,那么如果依赖的软件包有10个呢?

17、那么就比较麻烦了,这就是为什么后来引入yama的原因)linux所有软件和配置文件都是通过二进制文件形式进行存储和安装的。安装:如果要安装一个软件包,现在想把sudo再安装上去命令:rpm -ivh sudo-1.7.2p1-5.e15.i386.rpm ( i安装install;v显示这个命令执行的时候详细信息;h安装进度)在安装之前首先要获得这个软件包,有两种方式:1.系统光盘含有的一个软件包,从系统光盘就可以安装了。(什么样来挂载光盘,在linux中有挂载的概念,linux中所有的东西都是文件,硬件设备也是文件,光驱也是文件。它都会以文件的形式来存储,它放在device目录下面不能直接调

18、用,它需要有一个挂载点。挂载点说的通俗点就是一个空目录。很多时候我们习惯将光盘放在mnt下面,linux有一个习惯就是把临时挂载的文件放在mnt目录下面。那你说我死活就是不放在这个目录下面,在别的地方创建一个目录当然也是可以的。创建 mkdir /mnt/cdrom 执行的时候有挂载的命令,mount /dev/ cdrom /mnt/cdrom(/dev/cdrom光盘原文件 挂载到/mnt/cdrom)然后可以看到提示,说是device这个块得文件是写保护的,挂载的时候是只读。看到提示的时候就代表挂载成功了,那么我们现在访问/mnt/cdrom这个目录就相当于访问光盘上的内容。)2.如果是

19、安装光盘中不存在的软件包,是从网络上下载的软件包,直接使用rpm -i 就可以安装了。redhat5的目录居然是Server,晕死!找了半天!ls找麻烦了。 我们可以用 ls | grep sudo 查找到。 用Tab补全,不要傻乎乎一个一个的敲键盘。rpm -ivh sudo.(用Tab补全,安装成功) 怎么查看一个软件包是否已经安装套系统中,直接用rpm -q sudo(文件包名就可以了)查询系统中已经安装的软件包中与samba相关软件包有哪些:rpm -qa | grep samba (其中q是查询,a是所有,其实前面那一句是查询系统里面所有的软件包,后面那一句是约束条件,只查询与sam

20、ba相关的软件。可以看到与samba相关的软件包可以有多个。换句话说,也是就如果你要把samba卸载理论上你是需要把这几个与samba相关联的软件包都卸载掉的,所以要知道怎么样进行查询。)关于安装的选项:1.-excludedocs ;rpm -ivh -excludedocs samba-client-3.0.23c-2.i386.rpm(这个选项的作用是不安装软件包中的文档文件,linux里面很多软件包都有很相详细的文档,也就是说你对这个软件包相当的熟悉了,不需要看帮助文档,那么加上这个选项安装的时候就不会安装了。)2.-prefix PATH(将软件包安装到由PATH指定的路径下,理论上

21、是可以指定路径的。但是对于rpm包来讲这个指定的意义不大,因为大部分rpm包都不允许改变他们的安装目录。命令: rpm -ivh -prefix=/user/local/sudo sudo-1.7.2p1-5.e15.i386.rpm 这样就可以把安装的路径指定在/user/local ;rpm的制作者在生产rpm包的时候都规定了它在Linux系统中的存放的目录,你是改变不了的。linux不想windows一样有注册表的概念,而且文件的存放位置东一个西一个,卸载的时候容易遗漏,而linux中则不存在注册表的概念,卸载的时候也会循序规则把相应路径的文件全部卸载,不会存在遗漏。)3.-test 安

22、装软件包之前测试一下,能发现其依赖的软件包,冲突等还有三种情况需要了解:1.理论上来说已经被安装就不需要重新再安装了,但是有的时候例如在windows里面使用软件的时候不小心删除了它的一些文件,导致其不能运行或者运行不正常,可以重新按照原路径重新安装下。那么在linux里面可以用一个选项实现,命令:rpm -ivh -replacepkgs sudo-1.7.2p1-5.e15.i386.rpm这个命令就执行了一个覆盖安装的过程,如果你需要的话。2.在windows里面例如软件比较老了,系统检测到新的文件,提示要更新到最新的版本。这个时候在安装的时候可能会提示文件冲突,在windows碰到这种

23、提示,一般我们都选择覆盖。如果在linux里面也出现这种文件冲突,那么可以使用命令:rpm -ivh -replacefiles sudo-1.7.2p1-5.e15.i386.rpm(这个时候它会把这个文件进行一个覆盖)3.第三种情况就是比较挠头的问题,出现了依赖的关系,有很多时候软件包之间是有依赖关系的,比如说我们现在安装一个软件包,它需要c的编译器,那么如果你没有安装c的编译器,那么这个软件包没有办法运行或使用,这是很有可能的。那么在安装软件包的时候系统提示失败的依赖关系,理论上这种情况下应该先安装它依赖的软件包,然后才能使用这个软件,如果不这样,这个软件包十有八九是运行不了的。当然如果

24、你要强行安装,也不是不可以,使用-nodeps,忽略依赖性,强行安装,这个软件包也会被安装上,根据李明大师的经验这个软件包十有八九是用不了。rpm没有很好的解决依赖的关系,例如安装A,提示依赖B,然后去安装B,有提示依赖C,这样会把人头搞的很大,这也就是为什么yum会诞生的原因,但是rpm还是有其管理方法的。4.软件包升级 rpm -Uvh sudo-1.8.0p1-5.e15.i386.rpm(其中U是升级的意思。) YUM包的管理YUM应用上面有两个好处:1.自动解决软件包依赖关系(假如说你想安装软件包A,yum会自动把依赖于软件包A的其他软件包自动安装上去,不需要你自己去找)。2.方便你

25、软件包的升级(在rpm软件包中,如果我们想升级软件包,需要下载下来最新的软件包,然后把新的版本用rpm -U再执行安装升级才可以。但是用YUM以后不要去找,我们缺省在centOS或者任何一个redhat系列的linux安装完以后,它都会自动指向一个rpm的源,这个源你也可以自定义修改指向其他地方)。YUM选项需要链接互联网,自己在局域网制定一个源也可以,但是在解决问题的时候没有任何价值,因为你需要手动更新这个源,如果能连Inter网,直接执行intel上的yum源就行了。rpm -e sudoyum install sudo (它实际上会在互联网上寻找sudo的软件包,然后检查依赖关系然后完成

26、整个过程。它会下载安装包,然后完成使用的过程。提示complete)测试升级:yum check-update sudo (如果不写sudo,就表示检查所有软件包的升级,一般别那么写。一般用yum安装基本上都是最新的,而光盘安装未必是最新的软件包,可以用于检查老的软件包版本用于升级。如果检查到有新的软件包,会提升升级。为什么要升级软件包?一个软件包在发布应用的过程难免会有一些漏洞,会有一些问题,要进行修复,有的问题可能不重要,有的问题则会造成一些黑客的侵入,所以建议经常用的软件包最好经常升级,这是十分必要的。可以检查升级,也可以直接升级,如果直接升级命令:yum update sudo 就可以

27、升级了,比较方面,如果用rpm则需要到互联网上去自己查找,并且下载下来再安装。可以把其他linux的源执行一台机器A的目录下面,然后升级用yum升级,或者是rpm手动升级。其他linux用yum升级自动去A的目录下拿最新版本的软件包,这样可以减少同时去internet上面下载所占用的带宽,类似于WSUS.)查询这个源上面有哪些软件包:yum list | more 查找具体软件包时候的命令:yum list | grep sudo 这个查找是查找yum源上面的软件包。 还有一个就是yum info sudo能查看这个软件包的信息,学习的时候使用,知道软件包是做什么用的,什么时候发布的,版本,这

28、是很有价值的信息,或者任何一个要安装软件包的介绍。在安装之前最好查看一下要安装的软件包的内容。yum remove sudo 卸载软件包,确定sudo是否在系统中已经安装可以用yum list | grep sudo 还有一种方法rpm -q sudo 来检测,要使用灵活,如果只是确定该软件包是否安装,用rpm -q sudo就可以了。可以详细的看一下yum帮助 man yum. 软件包是可以信任的,因为更新的软件包的网站是官方的,所以是可以信任的。用rpm的时候下载软件包,最好不要去小网站,下载的软件包可能存在隐患.RPM包的管理,其实RPM很多情况下是很好用的,它查询快。1、查询文件隶属于

29、的软件包:rpm -qf(系统或者软件包安装文件丢失了,还没有备份,想恢复至少要确定文件属于哪一个软件包,或者是清除文件的时候,确定这个文件隶属于哪个文件包,它有什么作用,这个命令十分重要,不管是文件或者命令都可以查询的到。) 2.查询软件包的信息:rpm -qi name(它和yum info name作用差不多,都是查询系统已经安装的软件包有什么作用;如果是还没有安装的软件包,我也知道它是有什么作用,可以rpm -qip name)3.查询软件包安装了哪些文件在系统里面:rpm -ql names rpm -qlp names(装备在系统中安装的哪些文件) (软件包到底装了哪些文件在系统里

30、面,这个命令很重要,能让我们清除的看到软件包所安装的所有文件和其路径(包括其文件和命令,因为在linux看来都是文件,看看文件和命令,差不多这个软件包就会用了。如果还不会用,可以看看帮助。)/etc下面都是软件包的配置文件, usr/下面都是命令。) rpm -qlp 文件全名 (可以看文件没有安装之前将要在系统里面安装哪些信息) 4:查看软件包的帮助文件rpm -qd names rpm -qdp names(查看还没安装的软件包的帮助文档)5:查看配置文件:rpm -c names (安装之后的配置文件) 查看没有安装到系统中的rpm包的配置文件 rpm -c names就像以前讲过的引导

31、流程,里面的服务肯定不是都需要启动的。rpm -qf vncserver 得到信息(vnc-server)它的软件包名是什么, rpm -qi vnc-server 得到他的作用,如果不需要它可以设置系统每隔运行级别的脚本设置为不启动。这是一个理念和用法,一定要理解。rmp的查询能帮助我们解决很多问题。vi中定义了许多快捷键,其中一个快捷键不想用,不想删除,可以用#注释掉。但是使用的时候提示错误,why? 因为#不是标准的注释符,配置文件是vim,要有解决问题的思路, rpm -qa | grep vim (安装包未必只有一个,而且名字也未必很规范,所以要使用 rpm -qa | grep vim) 基本上在绝大版本的软件包中它的实例文档都叫example命令rpm -ql vim-common | grep example 查询出vimrc_example.vim 进入查看。man info 获得vim的帮助信息,看他的软件包有没有实例文档,发现原来vim的配置文件中的注释符号很特别,不是#而是。 引导流程解析(第五章)系统引导流程:1.固件(firmware)(CMOS/BIOS)POST加电自检(不能称之为硬件因为是一段

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1