sed命令行格式:sed [options] 'command' file(s)
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站建设、做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的桥东网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
options常用选项:
-n或--quiet或——silent:仅显示script处理后的结果;
-e:以选项中的指定的script来处理输入的文本文件;
-f:以选项中指定的script文件来处理输入的文本文件;
-r∶sed 的动作支援的是延伸型正规表示法的语法;
-i∶直接修改读取的档案内容,而不是由萤幕输出;
-h或--help:显示帮助;
-V或--version:显示版本信息。
Command常用命令:
a:新增,a 的后面可以接字符串,而这些字符串会在新的一行出现(目前的下一行);
c:取代,c 的后面可以接字符串,这些字符串可以取代 n1.n2 之间的行;
d:删除,d 后面通常不接任何字符串;
i:插入,i 的后面可以接字符串,而这些字符串会在新的一行出现(目前的上一行);
p:列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起运作;
s:取代,可以直接进行取代的工作,通常与正规表达式搭配使用。
实例说明:
新增操作:a命令
sed '/^bird/a\test' file将test追加到 以bird开头的行后面
删除操作:d命令
sed '/^$/d' file #删除空白行;
sed '2d' file #删除第二行;
sed '2.$d' file #删除第2行到最后一行;
sed '$d' file #删除最后一行;
sed '/^bird/'d file #删除所有开头是bird的行;
插入操作:i命令
sed -i '3i\bird ' bird.conf #在bird.conf文件第3行之前插入bird
替换文本中的字符串:s命令
sed 's/bird/birds/' file #将文本中的bird替换成birds;
sed -i 's/ bird / birds /g' file #将file文件中每一行的第一个bird替换为birds;
你好,老修来分享一下你的问题。
前言
Linux为什么要取代Windows?
Linux生来就是为服务而生,Windows设计之初就是为个人而活;它们为什么要相互取代?为什么不能并存?
Linux:核心理念-万物皆文件
1、它是一个内核,而不是一个操作系统;因此我们平常说的“操作系统用的是Windows、Mac还是Linux啊?”是错误的,Ubuntu、Fedora等才是操作系统的名字,他们都使用Linux内核;
2、1991年最初由Linus Torvalds针对386(个人计算机)开发;Linus Torvalds那时是芬兰的一名研究生;
3、 Linux的吉祥物是企鹅(英文名:Tux),因为Torvalds在小时候被企鹅咬过,因此印象非常深刻;Unix和Linux的代码是由90%的C语言和10%的汇编组成,因此只需要稍加修改,就能移植到其他硬件上;
Linux的优缺点
1、Linux的优点
1.开放的学习环境;
2.漏洞快速修补;
3.因为内核只有几百k,因此适合嵌入式系统;
2、Linux的缺点
1.有些专业软件没有Linux版本;
Windows
1983年, 微软正式宣布开始设计Windows, 定位是: 一个为个人电脑用户设计的图形界面操作系统.
Windows 1.0
发布时间:1985年11月20日
重大升级:无
关键词: MS-DOS图形界面化,多任务执行
历史 地位:命名“Windows”,奠定Windows的方向
Windows2.0
发布时间:1987年11月1日
重大升级:无
关键词: Intel 处理器优化,多窗口层叠
历史 地位:Wintel联盟先锋,对日后业界发展产生极其深远影响
Windows3.0
发布时间:1990年5月22日
重大升级:3.1、3.2
关键词:控制面板,桌面图标,网络,16色支持
历史 地位:终获认可的Windows系统
Windows95
发布时间:1995年8月24日
重大升级:95 OSR2
关键词:32位系统、开始菜单、IE浏览器、蓝天白云、USB
历史 地位:奠基Windows系统霸主地位,独孤求败的开始
Windows98
发布时间:1998年6月25日
重大升级:98SE
关键词:家庭用户、图形加速卡、MMX、多媒体 娱乐 、蓝屏
历史 地位:统治家庭,霸主无人可撼
Windows2000
发布时间:2000年2月17日
重大升级:2000SP1/SP2/SP3/SP4
关键词:版本细分、NT 内核(5.0版本)、NTFS、混合式核心、权限分级、稳定
历史 地位:NT内核光芒四射
WindowsME
发布时间:2000年9月14日
重大升级:无
关键词:数字多媒体、蓝屏蓝屏蓝屏
历史 地位:DOS内核的落幕
Windows XP
发布时间:2001年10月25日
重大升级:XP SP1/SP2/SP3/SP4
关键词:64位、全新界面、蓝天白云II、长寿、占有率
历史 地位:一统江湖最成功的Windows
Windows Vista
发布时间:2007年1月30日
重大升级:Vista SP1/SP2
关键词:用户管理机制(UAC)、预读内存管理机制、Aero玻璃特效、硬件要求高、兼容性差
历史 地位:生不逢时,新的开始
Windows7
发布时间:2009年10月22日
重大升级:7 SP1/SP2
关键词:Vista马甲、简洁易用、运行稳定、SSDTrim
历史 地位:综合最强的Windows
Windows 8
发布时间:2012年10月26日
重大升级:8.1/8.1SP1
关键词:图标扁平化、动态磁贴、跨硬件平台、取消开始菜单、应用商店
历史 地位: 颠覆性的Windwos操作体验
Windows 10: 2015年7月29日
发布时间:2015年7月29日
重大升级:暂无
关键词:开始菜单回归,1年免费升级(盗版也可以哦)、强制升级、自动识别台式平板模式
感谢阅读,我是AI 科技 猿,听我庖丁解题!
我是一名程序员,每天都在使用Linux和Windows。Linux不需要取代Windows, Linux也有自己“称霸”的领域 。那为什么有人感觉Linux远没有Windows流行?那我抽丝剥茧分析一下。
Linux技术性太强,图形化操作较弱,电脑小白难以上手
Linux对于程序员来说是非常方便的,Linux有Shell命令,所有的操作都可以用命令行搞定。而这对电脑小白来说,实在是“天书”级别的。比如,在Linux里查找一个包含某字符串的文件,我们程序员直接可以“grep -nHr "xxx"”,十分方便,而电脑小白怎么会记得住那么多命令。
当然Linux也有各种图形化的桌面,GNome,KDE,MATE,Unity等等。从Win7换成Win10,电脑小白都蒙圈,何况Linux这多种类。
Linux缺少霸主,版本众多,软件安装和支持不好
Linux是开源系统,不同厂商封装Linux内核,形成自己的发型版本,比如红帽,SUSE系列,Debian系列。因此,在Linux下不同的软件可能需要不同的库。安装一个软件,如果遇到问题,是十分让人头疼的。
在Linux下,微信就没有Linux版本;听音乐的播放器,很多还是没有Linux版本;在Linux下PDF,word文档阅读器远没有windows的Office好用等等。
Linux和Windows“基因”不同,决定了Linux和Windows的各自的角色。
Linux没有超越Windows,但是Linux没有Windows好吗?Linux没有Windows赚钱吗?当然都不是。2016年Linux在服务器端占有市场的80%以上。因此,在服务器端,Linux是霸主。我们公司使用的将近40台服务器,只有两天Windows服务器。
虽然Linux不被普通电脑使用者熟悉,但是Linux在众多公司,特别是互联网公司,使用非常广泛。因为,Linux开源,能脚本话批量执行命令,Linux安全稳定等等诸多优点。 以上就是我对这个问题的浅见,如果感觉说的对你有一点帮助,请点赞,关注!
你好,IT行业老兵来谈谈看法。
Linux系统何时取代Windows系统算是个老生常谈的话题了,Linux支持者希望Windows立马从世界消失,Windows用户呢,好像压根都懒得搭理Linux系统,甚至买电脑时一听说是Linux系统,马上会问:为什么没有预装系统? 是的,在普通小白用户眼里Windows跟操作系统是同义词,对他们来说Windows就是操作系统,操作系统就是Windows。 为什么会出现这种现象呢?是Linux不够好吗?也许是,也许又不是。 诚然,Linux在文件系统、安全性、流畅性、可移植性等方面都有其独特优势,但是为什么用户还是不认呢?在我看来,造成这个现象的主要原因有三个。
Windows先入为主,成为操作系统的事实标准
微软的第一版操作系统Microsoft Windows 1.0发行于1985年,这款产品其实比较失败,没有在市场激起什么水花。随后微软持续推出了优化版本Windows 2.0和Windows 3.0,到了1994年的时候,首次推出了支持中文版的Windows3.2发布,由于消除了语言障碍,在国内得到了较为广泛的应用。同样在1994年,芬兰赫尔辛基大学大学二年级的学生Linus推出完整的Linux操作系统核心Version1.0,此后Linux系统才算正式开始壮大,但是跟Windows比起来,俨然已经“输”在了起跑线上。
事实上,早期的Linux操作系统,并没有刻意要与Windows进行比较,也没有什么商业化的软件 ,这跟Linux操作系统本身是开源特性有关,开源社区里的开发者都是基于兴趣对Linux进行功能扩展和演进,并没有清晰的商业推广计划。 但是Windows不同,作为同时代的天选之子,乔布斯和比尔盖茨在硅谷的一亩三分上谁也看不上谁,都在拼命开发基于“窗口”的图形化界面操作系统,希望能一统操作系统的江湖。 所以Linux的“懈怠”再加上比尔盖茨在商业上的“疯狂输出”,最终成就了微软霸业,近三十年来微软先后推出了Windows95、Windows98、Windows XP、Windows7等经典作品,据统计,全世界的Windows用户大约在18亿到20亿左右。
Linux的“乱”
没错,喜欢Linux系统的人可以列出一万个Linux操作系统的优点,什么开放性、优秀的文件管理、丰富的网络功能、可靠的系统安全以及良好的移植性等等,但是归根结底,Linux是个开源系统,任何遵守其开源许可的个人或者团体都有权利对它进行商业开发,据统计Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的Red Hat Enterprise Linux、SUSE、oracle linux等等。越是百花齐放,就越难占据桌面型操作系统的市场,因为普通的消费者更喜欢的是整齐有序、版本迭代统一的操纵系统。
Linux系统的市场占比其实并不低
根据2018年美国联邦政府的数字分析计划(DAP)公布的数据,桌面版Linux操纵系统占比大约在0.6%到1%之间,跟Windows和IOS比肯定属于others了。但是这并不能说明Linux操作系统没有人用,事实上它的市场占比并不低,只不过普通用户没有感知到而已。 目前Linux系统被广泛应用于企业级服务器、嵌入式领域,有数据显示全球超过95%的企业级服务器都是Linux系统,而世界上使用人数最多的移动操作系统Android,其内核就是Linux系统,所以说,Linux系统的市场占比并不低。
总而言之,在桌面操作系统领域,Linux虽然有所发力,现有的软件也基本能满足人们的日常需要,但是还是那句老话:“既生瑜,何生亮”,短期内还无法撼动Windows和Mac OS的地位;但是在嵌入式和企业服务器领域,Linux充分发挥了其稳定、开源、免费、安全的特点,以绝对优势牢牢占据着头把交椅的位置。
作为一名计算机博士,我觉得这个问题与我相关,以前我也长时间操作过两个系统。我是在编程时使用linux,办公时使用windows。
其实这两个系统主要是定位不同,他们的用户群也不同,功能也不同,Linux主要是面向服务器或者是开发者,他有着一套比较快捷的命令行行操作方式。
Windows所面向的是普通用户,普通用户与图形界面交互只需要鼠标点一点所看即所得,这种方式非常的方便,有助于普通用户操作。
我觉得他们两个系统之间是谁也替代不了谁的关系,因为他们各自都有对方所替代不了的特点。对于Linux为什么始终无法取代Windows? 下面我 就从两个系统的稳定性与配套生态资源丰富性来简单的说一说 。
稳定性
当前的linux发行版的桌面使用稳定性有待提高。 即便linux粉丝都把windows看得是bug一堆,稳定性很差,但是事实是桌面使用windows和Mac OS的稳定性比linux发行版都好很多。用 Linux的经常遇到升级一下Grub挂掉 ,显卡驱动在新内核跑不起来造成启动不了X或者是Xorg的bug造成开机键盘完全失灵得靠Livecd 启动把/分区挂上改配置文件。 实际上windows的升级很少出现这样的情况。
配套生态资源丰富性
然后就Linux上的软件资源现在是远不能和windows比的。其实这个问题大家可以从iOS和Android的快速发展看到一些问题。为什么成千上万的开发者愿意在某个平台上开发软件。 Linux作为服务器应用从不缺软件,但是桌面使用还是缺很多的 。目前linux也还不能吸引很多公司、普通开发者开发Linux下的日常使用软件。
不当家不知道柴米油盐到底多贵。 以前我也很唾弃很多公司不开发linux下的客户端。其实我现在 所在公司的产品对Linux支持也远远落后windows , Mac OS,Android。。以前我总觉得那因为公司的开发都是傻子,搞不来跨平台的东西。站在公司的角度, 以最小的精力做出更多人使用的产品肯定是所有开发团队的选择方向 。换了我们自己开的公司话,如果开发windows客户端和linux客户端的投入相同(实际上linux下的往往更大), 一个客户端能让90%以上的网民可能用,另外一个只能在2%左右的网民可能用,自己也会集中精力搞windows版本的。 实际上大部分互联网公司大家都加班非常严重的,因为大部分时候都是唯快不败。
作为资深IT和DIY电脑爱好者,让我们来分析一下:
windows和macOS独占电脑桌面系统这么多年,很多人一直都在想,有没有一款操作系统能不能代替它们呢,目前能和windows抗衡的系统也只有苹果macOS,但是其只用在苹果机型上面,所以大家就将这个期望寄托在了Linux身上,那么Linux系统能不能取代windows呢?下面我们从以下几点分析:
Linux和windows的发展史
windows起源于1985年,而Linux(桌面系统)诞生于1991 年,最初两者都是基于UNIX操作系统的一种镜像(UNIX是最早的开源系统)。两者诞生的时间相差6年时间,那个时候windows已经出第3代版本了,名字叫Windows 3.0。从windows诞生至今已经产生了将近30多个版本,Linux的发展时间没有windows早,版本各异。
发展方向的差异
因为windows是闭源的,微软公司掌握其主要核心代码,开发升级只能由微软公司完成,而Linux因为其开源性,更多的是成为了更多电脑爱好者的学习工具或者是开发平台,在客户的使用体验和改进中,windows收集到的信息更全,更加的注重得到客户的使用体验。而Linux更加偏向于开发者,没有统一的反正标准。
经济支持
当一家公司没有了利润支持,那么它就不能持续的去发展和运营,也就没有办法搭建一个开发生态系统,无法让更多的APP开发者,软件和硬件设备商去适配,所以Linux作为开源免费系统,在生态维护上不能像windows一样有充足的资金。
APP开发力度不够--开发者太少
更多的用户接受了windows系统,慢慢的抛弃了Linux,用户量的增加,导致了更多的需求和拓展,开发者们也纷纷以windows作为平台开发应用,Linux在没有利益的支持下,慢慢的退出了电脑桌面系统,并且也形成了这一种恶性循环,强者更强。
总结
Linux的优点其实就是它的弱点,因为免费开源的原因,导致大部分用于服务器端和开发爱好者使用,没有经济利益的催动下,开发者越来越少,虽然推出的版本很多,但维护下来的却很少,如果想要更快建立起这个生态环境,那么它必须要拥有更多的开发者去参与进来。并且有资深企业去主导,持续的去开发推进,这样才能真正的建立起这个生态的平衡。
题主好,很高兴能回答这个问题。作为一名开发人员,我同时会使用Windows、macOS、Linux,下面我来结合我的实际体会来谈谈我的看法。
一、用户群体因素
1、 使用习惯,简单来说就是,Windows桌面长啥样Linux长啥样就行。
先来说一说非技术层面的事儿:
1)Linux长成Windows的样子,微软不会同意;
2)Linux会去抄Windows么?虽说天下文章一大抄,但是为了证明自己的存在感,怎么着也得整点不一样的地方呀。另外 Linux 厂商太多了,很难统一的。
我认为技术层面用一句话来描述就可以了:我的C盘哪去了!
2、软件支持,这个支持不是简单一句话就能搞定的,这个是需要做移植的,而且基础平台不一样,和重写也差不多了,可想而知这个难度有多大。
二、先入为主很重要
先入为主真的很重要!先不提操作系统的事儿,从咱们平时看的电视剧就能体会的到。老版西游记、三国演义、水浒传还有各种武侠电视剧,在中年人群中接受度还是非常高的;但是对于00后小朋友来说,或许他们对新版更加认可。操作系统也一样,微软做桌面要比Linux早6年左右的时间,也就是说Linux准备发展的时候,Windows已经有相当的市场了。自然,在桌面应用方面,市场对Windows的接受程度要比Linux要高一些。不过,现在一些Linux厂商也非常注重桌面环境了,希望能坚持下去,越做越好~
三、侧重点不同
这个我只能从我个人的观点来分析了哈,会多一点主观的判断。Linux 更侧重服务器,而Windows更侧重个人PC。如题主在问题中描述的那样,Linux的用户大多是技术人员。但是技术人员只是全部人群中的很小一部分,更多的人还是在用Windows。更何况,技术人员也不是只用Linux,很多时候他们也会用Windows的(例如:打 游戏 的时候)。
在我看来,Windows和Linux都是非常优秀的操作系统,而且在Windows10中已经嵌入了一个定制的Linux内核,从某些角度讲,是Linux赢了!
以上就是我的观点啦,其实回头想想,我们真的离得开Windows么?多元发展不是挺好么?
Window诞生快40年了,全球有几十亿的用户在使用,堪称互联网时代的基石,linux凭什么取代windows?
预言
要知道人类 社会 一直有一个底层逻辑,就是简单的才能成为主流,我在这里甚至能预言,如果以后没有性能问题的情况下,windows为代表的图形界面操作系统必定能取代LINUX为代表的命令行操作系统。
实际情况
目前人类 社会 的实际情况就是学习难度低的干掉学习难度高的,简单的干掉复杂的!
举几个例子就知道:
比如车:手动档的车又有运动感,又有驾驶的趣味,但是自动挡的车成为了主流。
比如 游戏 ,星际,魔兽,DOTA,LOL,王者荣耀,最后真正破圈的是谁?王者荣耀。
比如密码,从密码到手机验证码,到指纹,到人脸支付,都是方便人们使用才被人使用的。
斜阳说
随便想想身边的各种东西,有什么东西是慢慢变得复杂,才被大家广泛使用的?
根本就没有,整个人类 社会 就是往简单易用发展的,因此学习成本更高的linux从底层上来说就不可能取代windows。
这是一个龟兔赛跑的问题。Linux以前如一只乌龟,Windows如兔子。
但在中国的国产系统的浪潮到来后,Linux将有更多机会超越Windows。
1、系统本来的初衷不同
Windows上来就抢跑走PC,面向个人用途,所以UI界面一直强调体验。
Linux从Unix演化而来,一直在小型服务器上独树一帜,并且高举开源大旗,没有Linux就没有安卓系统。
2、Windows是巨型企业的商业行为,而Linux一开始是开源社区行为。
3、开发者生态,有不同领域的积累
当Linux想跟Windows在普通用户方向竞争,首先要让开发工程师们使用起来。也要提供相应UI开发工具。
微软毕竟有VC,.Net等等一大套的UI开发工具,从Win32开始为了方便开发者,一直在迭代开发软件。
4.Linux并不是没有机会,Windows一直想革自己的命,无奈包袱太重,兼容性成问题。
安卓其实就是Linux在个人用户方向最好的延伸。
从这个角度,已经很成功了。
5、Linux开源,Windows一堆后门,所以肯定开发者更喜欢Linux。
Windows最被人诟病的就是,代码封闭,开放给我们的是成千上万的有选择性开发接口。接口越来越多,补丁越来越多。并且大量的没有文档指出的接口,成为后门,成为黑客攻击的乐园。
Linux一直的开源态度,让各家可以八仙过海,各显神通。
当然这有弊有利,但是受开发者欢迎的。
总结:LINUX有机会在未来赶超Windows,对用户来说体验还是第一位,对工程师开发者来说更喜欢开源的Linux.
以上是对问题的观点。
windows系统主攻桌面操作系统领域,而linux主攻服务器操作系统领域。二者应用领域不同,所以就无法直接进行比较了,谁也无法取代谁,在各自领域都发挥着对方无法比拟的优势。二者会长期共存的[耶]
用windows系统的用户可能会想,windows系统和linux系统不都是操作系统,功能应该都差不多,那么,Linux系统可以轻易地替换它.是这样吗?恐怕并不那样简单.
成本
赞成Linux的声音:Linux是免费的,它没有使用许可证费用;支持Linux的成本比支持Windows(NT4/2000)的成本低得多;而且,已经有许多免费办公自动化解决方法可供选择.
赞成Windows的 声音:Linux要求现场的技术支持以保证系统运行,要求开发人员或承包商现场修改系统错误和应用核心补丁程序,无法保证能够由内部人员来解决所有问 题;VisualStudio比其它开放源代码的开发环境好;MSSQL是一个便宜的数据库平台;Linux没有提供足够多的商业工具软件.
声誉
赞成Linux的声音:Linux是发展最迅速的OS平台;Linux应用能更好地工作;Linux桌面提供更多选择;Linux应用程序和工具的运行很出色,选择机会也更多.
赞成Windows的声音:微软视窗是最常用的OS平台;每个Linux系统发布就是一个独立的OS,向后兼容性差;Windows应用比Linux应用允许用户更多的集中到任务上,无需编程就可以使应用系统工作;Windows有一致的界面窗口.
应用
赞成Linux的声音:Linux图形接口像Windows一样容易使用;Linux使用标准兼容协议也使用标准文件格式;从未遇到过像安装微软补丁程序那样的事:选择的机会太多了;Linux提供极大的协同工作能力.
赞成Windows的声音:Linux上的应用非常少;不与InternetExplorer6标准兼容;无法买到像Outlook所提供的电 子邮件备份功能那样的Linux电子邮件备份工具;Linux上没有PCAnywhere那样的管理软件;Linux打印功能不好,没有媒体播放软件.
安全
赞成Linux的声音:没有Linux病毒;Linux没有那种会导致系统死锁的模糊的协议服务;Linux不易受蠕虫攻击;Linux不会发生IRC特洛伊IIS蠕虫.
赞成Windows的声音:Linux并不安全,没有人负责Linux的完整性;有许多出色的第三方企业在生产各种反病毒软件;微软已经集中精力来解决安全问题.
硬件支持
赞成Linux的声音:Linux能够支持视频控制器、USB、调制解调器、鼠标和监视器等一切硬件;HP、Lexmark和Epson都提供了许多打印工具.
赞成Windows的声音:Linux不支持GDI打印机、WIN调制解调器、视频卡和PCMCIA卡.
软件支持
赞成Linux的声音:在Linux团体内的帮助是快速和免费的;可以使用VNC同时遥控Linux和Windows网络客户端;Linux软件更加容易跟上潮流并且更加容易部署;Linux有很好的远程管理工具,使用Linux可以很容易地映射硬盘来复制系统.
赞成Windows的声音:许多供应商不支持Linux,他们无法从Linux用户那里挣到钱;买不到Linux桌面支持服务.没有像微软MMC那样的统一的Linux网络管理工具;Windows有更加成熟的快速配置工具.
可信赖性
赞成Linux的声音:Linux是开放源代码的,而开放源代码是互联网的动力所在.开放源代码意味着永远没有限制,也不会被谁"锁定".
赞成Windows的声音:Linux桌面界面混乱(有KDE、Gnome等好几种),添加菜单不方便;开放源代码意味着:没有路标、没有未来,销售商无钱可赚,也就没有销售商.
总结
命令格式: 命令 [-选项] [参数]
如:ls -la /usr
**说明: **
大部分命令遵从该格式
多个选项时,可以一起写 eg:ls –l –a à ls –la
简化选项与完整选项(注:并非所有选项都可使用完整选项) eg:ls –all à ls –a
作用:切换用户身份
语法:su [选项] 用户名
-c 仅执行一次命令,而不切换用户身份
$ su – root
env
$ su – root –c “useradd longjing”
文件或目录的CRUD
英文:change directory 命令路径:内部命令 执行权限:所有用户
作用: 切换目录
语法:cd [目录] / 切换到根目录
.. 回到上一级目录
. 当前目录
~ 当前用户的宿主目录(eg:# cd ~用户名 进入某个用户的家目录)
英文:list 命令路径:/bin/ls 执行权限:所有用户
作用:显示目录文件
语法:ls [-alrRd] [文件或目录]
-a all 显示所有文件,注意隐藏文件,特殊目录.和..
-l(long) 显示详细信息
-R(recursive) 递归显示当前目录下所有目录
-r (reverse) 逆序排序
-t(time) 按修改时间排序(降序)
英文:print working directory 命令路径:/bin/pwd 执行权限:所有用户
作用:显示当前工作目录
语法:pwd [-LP]
-L 显示链接路径,当前路径,默认
-P 物理路径
eg:# cd /etc/init.d
英文:make directories 命令路径:/bin/mkdir 执行权限:所有用户
作用:创建新目录
语法:mkdir [-p] 目录名
-p 父目录不存在情况下先生成父目录 (parents)
eg: mkdir linux/test 如果目录linux不存在,则报错,使用参数-p即可自动创建父目录。
命令路径:/bin/touch 执行权限:所有用户
作用:创建空文件或更新已存在文件的时间
语法:touch 文件名
eg:touch a.txt b.txt touch {a.txt,b.txt} 同时创建多个文件
创建带空格的文件 eg:touch "program files" 在查询和删除时也必须带双引号
注意:生产环境中,文件名,一定不要加空格
英文:copy 命令路径:/bin/cp 执行权限:所有用户
作用:复制文件或目录
语法:cp [–rp] 源文件或目录 目的目录
-r -R recursive 递归处理,复制目录
-p 保留文件属性 (原文件的时间不变)
eg:
1,相对路径 cp –R /etc/* . cp –R ../aaa ../../test/
2,,绝对路径 cp –R / ect/service /root/test/aa/bb
英文:move 命令路径:/bin/mv 执行权限:所有用户
作用:移动文件或目录、文件或目录改名
语法:mv 源文件或目录 目的目录
英文:remove 命令路径:/bin/rm 执行权限:所有用户
作用:删除文件
语法: rm [-rf] 文件或目录
-r (recursive)删除目录,同时删除该目录下的所有文件
-f(force) 强制删除文件或目录 即使原档案属性设为唯读,亦直接删除,无需逐一确认
注意:工作中,谨慎使用rm –rf 命令。
扩展点 :删除乱码文件
一些文件乱码后使用rm -rf 依然无法删除
此时,使用ll -i 查找到文件的inode节点
然后使用find . -inum 查找到的inode编号 -exec rm {} -rf ;
就能顺利删除了
英文:concatenate 命令路径:/bin/cat 执行权限:所有用户
作用:显示文件内容
语法:cat [-n] [文件名]
-n 显示行号
eg:cat /etc/services
命令路径:/bin/more 执行权限:所有用户
作用:分页显示文件内容
语法:more [文件名]
空格或f 显示下一页
Enter键 显示下一行
q或Q 退出
命令路径:/usr/bin/head 执行权限:所有用户
作用:查看文件前几行(默认10行)
语法:head [文件名]
-n 指定行数
eg:head -20 /etc/services head –n 3 /etc/services
命令路径:/usr/bin/tail 执行权限:所有用户
作用:查看文件的后几行
语法:tail [文件名]
-n 指定行数
-f (follow) 动态显示文件内容
获取一个大文件的部分文件,可使用head或tail命令
head -n 100 /etc/services config.log
英文: link 命令路径:/bin/ln 执行权限:所有用户
作用:产生链接文件
语法:
ln -s [源文件] [目标文件] 创建软链接 源文件 使用 绝对路径
ln [源文件] [目标文件] 创建硬链接
eg:ln -s /etc/service ./service.soft
创建文件/etc/service的软链接service.soft
eg:/etc/service /service.hard
创建文件/etc/service的硬链接/service.hard
软连接类似于windows下的快捷方式
软连接文件格式:
lrwxrwxrwx. 1 root root 13 Jul 20 07:50 service - /etc/services
1 硬链接数量,如果该文件没有硬链接,就只有本身一个硬链接。
13链接文件的长度
格式解析(特征):
1, 软连接的文件类型是 l(软连接),软连接文件的权限 都是 lrwxrwxrwx
2,- 箭头指向到源文件
真正的权限取决于对源文件的权限
时间值为创建软连接的时间
软连接可以跨文件系统生成
硬链接特征
1,相当于 cp -p +同步更新
2,通过i节点识别,与源文件有相同的inode节点
3,硬链接不能跨分区,ln /home/test/issuels /boot/test (错误)
4,不能针对目录使用 ln /tmp/ aa.hard (无法将目录/tmp 生成硬链接)
删除软连接
rm -rf symbolic_name
英文:manual 命令路径:/usr/bin/man 执行权限:所有用户
作用:获取命令或配置文件的帮助信息
语法:man [命令/配置文件]
eg:man ls man services
(查看配置文件时,不需要配置文件的绝对路径,只需要文件名即可)
调用的是more命令来浏览帮助文档,按空格翻下一页,按回车翻下一行,按q退出。
使用/加上关键的参数可直接定位搜索, n 查找下一个,shift+n 查找上一个
eg: /-l 直接查看-l的介绍
扩展:man的级别 (帮助文档的类型, 了解1 5即可)
man man-pages 查看每一种类型代表的含义 man文档的类型(1~9)
1是命令,5是配置文件 man优先显示命令,可指定帮助类型
eg:man 5 passwd (5代表配置文件级别)
[图片上传失败...(image-6718d2-1624438708895)]
help 查看shell内置命令的帮助信息
eg:help cd
内置命令,使用whereis,which,man都不能查看
type 命令 查看内部命令还是外部命令
命令名 --help 列举该命令的常用选项
eg: cp --help
命令路径:/bin/find 执行权限:所有用户
作用:查找文件或目录
语法:find [搜索路径] [匹配条件]
如果没有指定搜索路径,默认从当前目录查找
find命令选项
-name 按名称查找 精准查找
eg:find /etc -name “init” 在目录/etc中查找文件init
-iname 按名称查找
find查找中的字符匹配:
*:匹配所有
?:匹配单个字符
eg:find /etc -name “init???” 在目录/etc中查找以init开头的,且后面有三位的文件
模糊匹配的条件,建议使用单引号或双引号括起来。如果*被转义,可使用 单双引号括住查询条件,或者使用*。
eg: # find . –name *g
-size ****按文件大小查找
以block为单位,一个block是512B, 1K=2block +大于 -小于 不写是等于
eg:find /etc -size -204800 在etc目录下找出大于100MB的文件
100MB=102400KB=204800block
**-type ** 按文件类型查找
f 二进制文件l 软连接文件 d 目录 c 字符文件
eg: find /dev -type c
find****查找的基本原则 :
占用最少的系统资源,即查询范围最小,查询条件最精准
eg:
如果明确知道查找的文件在哪一个目录,就直接对指定目录查找,不查找根目录/
命令路径:/bin/grep 执行权限:所有用户
作用:在文件中搜寻字串匹配的行并输出
语法:grep [-cinv] '搜寻字符串' filename
选项与参数:
-c :输出匹配行的次数(是以行为单位,不是以出现次数为单位)
-i :忽略大小写,所以大小写视为相同
-n :显示匹配行及行号
-v :反向选择,显示不包含匹配文本的所有行。
eg:grep ftp /etc/services
eg:#grep -v ^# /etc/inittab 去掉文件行首的#号
eg:# grep -n “init”/etc/inittab 显示在inittab文件中,init匹配行及行号
eg:# grep -c“init”/etc/inittab 显示在inittab文件中,init匹配了多少次
命令路径:/usr/bin/which 执行权限:所有用户
作用: 显示系统命令所在目录(绝对路径及别名)
which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令
alias ls='ls --color=auto'
/bin/ls
/usr/bin/which: no zs in (/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/ch/bin)
命令路径:/usr/bin/whereis 执行权限:所有用户
作用:**搜索命令所在目录 配置文件所在目录 及帮助文档路径 **
eg: which passwd 和 whereis passwd
eg:查看/etc/passwd配置文件的帮助,就用 man 5 passwd
英文:GNU zip 命令路径:/bin/gzip 执行权限:所有用户
作用:压缩(解压)文件,压缩文件后缀为.gz
gzip只能压缩文件,不能压缩目录;不保留原文件
语法:gzip 文件
-d将压缩文件解压(decompress)
解压使用gzip –d或者 gunzip
命令路径:/usr/bin/bzip2 执行权限:所有用户
作用: 压缩(解压)文件,压缩文件后缀为.bz2
语法:bzip2 [-k] [文件]
-k:产生压缩文件后保留原文件(压缩比高)
-d 解压缩的参数(decompress)
解压使用bzip2 –d或者 bunzip2
命令路径:/usr/bin/zip 执行权限:所有用户
作用: 压缩(解压)文件,压缩文件后缀为.zip
语法:zip 选项[-r] [压缩后文件名称] [文件或目录]
-r压缩目录
eg:zip services.zip /etc/services 压缩文件;
zip -r test.zip /test 压缩目录
如果不加-r选项,压缩后的文件没有数据。
解压使用unzip
命令路径:/bin/tar 执行权限:所有用户
作用:文件、目录打(解)包
语法:tar [-zcf] 压缩后文件名 文件或目录
-c 建立一个压缩文件的参数指令(create),后缀是.tar
-x 解开一个压缩文件的参数指令(extract)
-z 以gzip命令压缩/解压缩
-j 以bzip2命令压缩/解压缩
-v 压缩的过程中显示文件(verbose)
-f file 指定文件名,必选项
1, 单独的打包 ,解包 tar –cf tar –xf
2, 打包之后,进行压缩 gzip bzip2
3, 一步到位 tar –zcvf tar -zxvf
tar -cf -xf 单独 压缩 解压缩
tar -z 以gzip打包目录并压缩 文件格式.tar.gz(.tgz)
tar -j 以bzip2打包目录并压缩 文件格式.tar.bz2
eg:tar -zcvf dir1.tar.gzdir1 使用gzip将目录dir1压缩成一个打包并压缩文件dir1.tar.gz
eg: tar -cvf bak.tar . 将当前目录的文件打包为bak.tar
eg: tar -xvf bak.tar 解压
eg: tar -zcvf bak.tar.gz bak.tar 或 gzip bak.tar使用gzip将打包文件bak.tar压缩为bak.tar.gz
eg: tar -jcvf bak.tar.bz2 bak.tar 或 bzip2 bak.tar 使用bzip2将打包文件bak.tar压缩为bak.tar.bz2
eg: tar -rvf bak.tar /etc/password 将/etc/password追加文件到bak.tar中(r)
eg:tar -cjvf test.tar.bz2 test 生成test.tar.bz2的压缩文件
eg:tar -xjf test.tar.bz2 解压
最常用: tar + gzip
tar –zcvf 压缩
tar –zxvf 解压
补充:
1,文件路径, 压缩包带文件路径
2,源文件是保留的,不会被删除
**shutdown **[选项] 时间
选项: -c: 取消前一个关机命令
-h:关机
-r:重启
eg:
shutdown -h now 立即关机 shutdown -h 20:30 定时关机
其他关机命令 halt poweroff init 0
其他重启命令
**reboot **重启系统 reboot -h now立即重启
init 6
注意:生产环境中,关机命令和重启命令谨慎执行。
善于查看man help等帮助文档
利用好Tab键 自动补全
掌握好一些快捷键
ctrl + c(停止当前进程)
ctrl + z 挂起当前进程,放后台
ctrl + r(查看命令历史) history
ctrl + l(清屏,与clear命令作用相同)
方向箭头 上 下 可以查看执行过的命令
ctrl + a 行首 ctrl + e 行尾
ctrl + k 清除 ctrl+ w 清除单词
vim/vi是Unix / Linux上最常用的文本编辑器而且功能非常强大。
只有命令,没有菜单。
《大碗》编辑器版
周围的同事不是用VI就是Emacs,你要是用UltraEdit都不好意思跟人家打招呼...什么插件呀、语法高亮呀、拼写检查呀,能给它开的都给它开着,就是一个字:酷!你说这么牛X的一东西,怎么着学会也得小半年吧。半年!?入门都远着呢!能学会移动光标就不错了,你还别说耗不起,就这还是左右移动!!!
:
[图片上传失败...(image-a08366-1624438708894)]
命令模式:又称一般模式
编辑模式:又称底行模式,命令行模式
|
命令
|
作用
|
|
a
|
在光标后附加文本
|
|
A(shift + a)
|
在本行行末附加文本 行尾
|
|
i
|
在光标前插入文本
|
|
I(shift+i)
|
在本行开始插入文本 行首
|
|
o
|
在光标下插入新行
|
|
O(shift+o)
|
在光标上插入新行
|
|
命令
|
作用
|
|
:set nu
|
设置行号
|
|
:set nonu
|
取消行号
|
|
gg
G
|
到第一行
到最后一行
|
|
nG
|
到第n行
|
|
:n
|
到第n行
|
|
命令
|
作用
|
|
:w
|
保存修改
|
|
:w new_filename
|
另存为指定文件
|
|
:w a.txt
|
内容追加到a.txt文件中 文件需存在
|
|
:wq
|
保存修改并退出
|
|
shift+zz(ZZ)
|
快捷键,保存修改并退出
|
|
:q!
|
不保存修改退出
|
|
:wq!
|
保存修改并退出(文件所有者可忽略文件的只读属性)
|
不保存并退出:
1, 有修改,但是修改后的内容是不保存的
2, 有突发情况,导致窗口退出。修改文件之后,直接删除同名的.swp文件
|
命令
|
作用
|
|
x
|
删除光标所在处字符 nx 删除光标所在处后n个字符
|
|
dd
|
删除光标所在行,ndd删除n行
|
|
:n1,n2d
|
删除指定范围的行(eg :1,3d 删除了123这三行)
|
|
dG
|
删除光标所在行到末尾的内容
|
|
D
|
删除从光标所在处到行尾
|
|
命令
|
作用
|
|
yy、Y
|
复制当前行
|
|
nyy、nY
|
复制当前行以下n行
|
|
dd
|
剪切当前行
|
|
ndd
|
剪切当前行以下n行
|
|
p、P
|
粘贴在当前光标所在行下 或行上
|
|
命令
|
作用
|
|
r
|
取代光标所在处字符
|
|
R(shift + r)
|
从光标所在处开始替换字符,按Esc结束
|
|
u
|
undo,取消上一步操作
|
|
ctrl+r
|
redo,返回到undo之前
|
|
命令
|
作用
|
|
/string
|
向后搜索指定字符串 搜索时忽略大小写 :set ic
|
|
?string
|
向前搜索指定字符串
|
|
n
|
搜索字符串的下一个出现位置,与搜索顺序相同
|
|
N(Shift + n)
|
搜索字符串的上一个出现位置,与搜索顺序相反
|
|
:%s/old/new/g
|
全文替换指定字符串
|
|
:n1,n2s/old/new/g
|
在一定范围内替换指定字符串
|
% 指全文,s 指开始,g 指全局替换
eg: :41,44/yang/lee/c 从41行到44行,把yang替换为lee,询问是否替换
eg: :41,44/yang/lee/g 同上,不询问,直接替换
使用替换命令来添加删除注释
:% s/^/#/g 来在全部内容的行首添加 # 号注释
:1,10 s/^/#/g 在1~10 行首添加 # 号注释
vi里面怎么查命令??
:!which cp
vi里面怎么导入命令的结果?
:r !which cp
v 可视字符模式
V****(shift+v) 可视行模式,选择多行操作
**ctrl+v **可视块模式(列模式),操作列
I或者O进入插入模式。
1,图形化界面
2,setup 命令虚拟界面
3,修改配置文件(以网络方式为NAT示例)
vi /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.2.129
NETMASK=255.255.255.0
GATEWAY=192.168.2. 2 #网段2任意,IP地址2固定,网段为vmnet8的设置的IP网段
DNS1=114.114.114.114
DNS2=8.8.8.8
重启网络生效:
service network restart
命令路径:/bin/ping 执行权限:所有用户
作用:测试网络的连通性
语法:ping 选项 IP地址
-c 指定发送次数
ping 命令使用的是icmp协议,不占用端口
eg: # ping -c 3 127.0.0.1
英文:interface configure 命令路径:/sbin/ifconfig 执行权限:root
作用:查看和设置网卡网络配置
语法:ifconfig [-a] [网卡设备标识]
-a:显示所有网卡信息
ifconfig [网卡设备标识] IP地址 修改ip地址
英文:network statistics 命令路径:/bin/netstat 执行权限:所有用户
作用:主要用于检测主机的网络配置和状况
-a all显示所有连接和监听端口
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 使用数字方式显示地址和端口号
-l (listening) 显示监控中的服务器的socket
eg:# netstat -tlnu 查看本机监听的端口
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
协议 待收数据包 待发送数据包 本地ip地址:端口 远程IP地址:端口
netstat –antpl
临时生效:
hostname 主机名
[图片上传失败...(image-ceed36-1624438708893)]
永久生效:修改配置文件
vi /etc/sysconfig/network
[图片上传失败...(image-2b9d9e-1624438708893)]
修改主机名和ip地址之间的映射关系
vi /etc/hosts
192.168.2.120 node-1.edu.cn node-1
可配置别名
[图片上传失败...(image-ec86cf-1624438708893)]
进程和程序的区别:
1、程序是静态概念,本身作为一种软件资源长期保存;而进程是程序的执行过程,它是动态概念,有一定的生命期,是动态产生和消亡的。
2、程序和进程无一一对应关系。一个程序可以由多个进程共用;另一方面,一个进程在活动中有可顺序地执行若干个程序。
进程和线程的区别:
进程: 就是正在执行的程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。
线程: 轻量级的进程;进程有独立的地址空间,线程没有;线程不能独立存在,它由进程创建;相对讲,线程耗费的cpu和内存要小于进程。
进程管理的作用?
判断服务器的健康状态
查看系统所有的进程
杀死进程
作用:查看系统中的进程信息
语法:ps [-auxle]
常用选项
查看系统中所有进程
ps应用实例 # ps -u or ps -l 查看隶属于自己进程详细信息
作用: 查看当前进程树
语法:pstree [选项]
-p 显示进程PID
-u 显示进程的所属用户
作用:查看系统健康状态
显示当前系统中耗费资源最多的进程,以及系统的一些负载情况。
语法:top [选项]
-d 秒数,指定几秒刷新一次,默认3秒(动态显示)
作用:关闭进程
语法:kill [-选项] pId
kill -9 进程号(强行关闭) 常用
kill -1 进程号(重启进程)
添加用户
语法:useradd [选项] 用户名
修改密码命令
语法:passwd [选项] [用户名]
用户密码:生产环境中,用户密码长度8位以上,设置大小写加数字加特殊字符,要定期更换密码。
ys^h_L9t
删除用户
-r 删除账号时同时删除宿主目录(remove)
作用:用于查看Linux文件系统的状态信息,显示各个分区的容量、已使用量、未使用量及挂载点等信息。看剩余空间
语法:df [-hkam] [挂载点]
-h(human-readable)根据磁盘空间和使用情况 以易读的方式显示 KB,MB,GB等 -k 以KB 为单位显示各分区的信息,默认
-M 以MB为单位显示信息 -a 显示所有分区包括大小为0 的分区
作用:用于查看文件或目录的大小(磁盘使用空间)
语法:du [-abhs] [文件名目录]
-a 显示子文件的大小
-h以易读的方式显示 KB,MB,GB等
-s summarize 统计总占有量
eg:
du -a(all) /home 显示/home 目录下每个子文件的大小,默认单位为kb
du -b /home 以bytes为单位显示/home 目录下各个子目录的大小
du -h /home 以K,M,G为单位显示/home 文件夹下各个子目录的大小
du -sh /home 以常用单位(K,M,G)为单位显示/home 目录的总大小 -s summarize
df命令和du命令的区别:
df命令是从文件系统考虑的,不仅考虑文件占用的空间,还要统计被命令或者程序占用的空间。
du命令面向文件,只计算文件或目录占用的空间。
作用:查看内存及交换空间使用状态
语法: free [-kmg]
选项:
-k: 以KB为单位显示,默认就是以KB为单位显示
-m: 以MB为单位显示
-g: 以GB为单位显示
清理缓存命令:
echo 1 /proc/sys/vm/drop_caches