Linux链家地产对新人怎么样入门,应该参加什么样的Linux培训?

用户名:抚琴煮酒
文章数:110
评论数:2511
访问量:1165020
注册日期:
阅读量:1297
阅读量:3317
阅读量:584424
阅读量:469833
51CTO推荐博文
我把之前的一些学习经验和方法跟大家分享下,希望对大家有所帮助:一、玩好Linux一定要经常折腾,说白了,就是动手能力一定要强。我初学Linux那块,家里3台电脑,我在上面经常反反复复的做kickstart、网络ghost、双系统安装的实验。有很长一段时间,我还在其中的一台老式笔记本上安装了Ubuntu系统,通过它来游览网页和看视频,解决各种驱动问题,通过这些折腾,对Linux也是越来越有兴趣,学习的劲头也越来越足了。二、床边经常放几本书,临睡觉前或无聊时经常翻一翻,我个人的感觉是夜深人静的时候印象非常深刻,很多知识点很容易就记住了。三、我习惯手边放一个小本,初学的一些Linux操作单词我会写在上面,详细用法也会记载,等人或吃饭的时候我会拿来翻一翻,这样感觉掌握得特别快。对英文头疼的同学建议坚持看中英文字幕的美剧,比如现在流行的《生活大爆炸》、《傲骨贤妻》、《权力的游戏》等等,相信英文不会成为学习的阻碍了。四、实验过程中的排障一定要注意出错的原因,比如我近期发现自己PXE安装的实验机器,老是带了一个ifcfg_eth0.bak文件,后来经过仔细分析,发现是由于我的机器是Kickstart安装,分配的MAC跟原来机器不一致,机器重启service服务以后就自动的添加了一个ifcfg_eth0.bak文件,知道故障的原因以后就好办了。工作中遇到的问题,也应该反反复复排查,千万不要在没搞清出错原因的前提下胡乱猜测,这样的效果是非常糟糕的。大家可以看下有问题的网卡文件,下面分配的MAC地址实际跟系统网卡自身的MAC地址并不是相匹配的,如下所示:[root@localhost&network-scripts]#&cat&ifcfg-eth0.bak&
#&Realtek&Semiconductor&Co.,&Ltd.&RTLB&PCI&Express&Gigabit&Ethernet&controller
DEVICE=eth0
BOOTPROTO=none
HWADDR=fe:ff:ff:ff:ff:ff
ONBOOT=yes
NETMASK=255.255.255.0
IPADDR=192.168.1.120
GATEWAY=192.168.1.1
TYPE=Ethernet而实际的网卡MAC地址我们用ifconfig eth0可以查看得到,这个跟上面所列的网卡MAC确实是不一样的,如下所示:[root@localhost&~]#&ifconfig&eth0
eth0&&&&&&Link&encap:Ethernet&&HWaddr&90:2B:34:87:F3:CD五、如果遇到复杂的问题或是自己想了很久也没有答案的知识点,建议可以去看一下别人的博客,学习别人的实验和心得体会,再融会贯通,吸收了就成了自己的。现在技术论坛的活跃度不高,但很人个人技术含金量还是很高的。这里建议大家一定要做好相关的知识难点的笔记,好记性不如烂笔头,一个一个小知识,长期坚持下去就是一个很可观的数值了。六、实践出真知,在阅读别人的技术文章或著作时,我也发现了不少错误之处,这时候千万不要相信所谓的权威(笔者手上正在阅读的一本国外专家著作中就存在着不少问题),相信自己的实验结果,一切以其为判断依据。七、遇到新技术或疑难问题,先实验,再原理,不明白这点的同学先按照我的这种方法试一试,慢慢就明白了。八、另外,现在的开源技术越来越多,范围也越来越广,但我们如果什么都学习的话,却只只能取反效果的作用,很有可能就是样样都不精,反倒不如静下心来以公司的主要业务为指导方向,让自己的技术能在公司得到淋漓尽致的发挥。九、开发语言的选型以业务为主,比如现在流行的Go语言,无论是用于运维开发还是单纯的开发都适合。这些方法贵在坚持和热情,大家持之以恒的话,假以时间和精力的话,肯定是会有收获的。本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)
本文收录至博客专题:《》
21:32:06 10:04:59 10:47:02 15:27:05 19:11:40 06:49:33 19:04:09 21:29:43 19:11:00 08:50:26 12:55:34 15:23:14 08:42:39 15:34:31 09:31:33 20:31:19 08:59:06 10:49:19 12:36:49 14:29:42 15:46:19 15:48:04 09:08:42 10:19:13 14:20:52 &&1&
&&页数 ( 1/2 ) &【图文】Linux基础培训_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Linux基础培训
大小:1.88MB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢录播视频教程、专属学习资料及全天候的答疑服务,让您体验到随时随地拿起手机都能学习的便捷学习方式。
RHCA架构师、运维专家刘遄老师(),报名后立即开始学习。
Linux技术交流群E: , Linux技术交流群F: 。微信公众号搜索"Linux就该这么学"。
免费还是收费?
《Linux就该这么学》是一本注重实用性的Linux技术自学书籍,自基础篇公布后日常阅读量已经超过8000多人(每天),以后基础篇和进阶篇都将会一如既往免费完整的提供给亲爱的读者们,并且我们正在全球各地部署书籍的镜像站点,想用最迅猛的访问速度满足您心中那颗求知的小宇宙,不仅如此,我们的在完善更新书籍与的同时,还在为您收集整理着值得每天看一看的“”和“”,当然也欢迎来里找大牛!~
当经过了如此超时间的准备,我们正在开办一个,通过结合网络培训的优势,以超高的性价比面向所有0基础的Linux技术爱好者,我们将通过2个月左右的培训带领您入门Linux技术,培训由书籍的作者刘遄主讲,更能够有针对的定制学习计划,课程从最基础的安装Linux系统到高级服务部署,并且因为内容完全100%的覆盖了考试范围(课程内容非常丰富,我们更注重实用技术,而绝非为红帽考试而讲课),学习如此实用的课程后要想顺手考个红帽认证也是可以的~
我们的课程以在线培训为主(让您学习的每节课都能有收获),您可以随时随地的下载录播课程,并为了保证培训的质量,我们每两个月仅开一次班,每期招生约为100人,赠送纸质教材及所需工具,提前预约得越早,价格越优惠哦。
因老师讲课和答疑很忙,请您报名前一定要先看下培训介绍:QQ:5604583
投资自己的大脑,永远不算晚,永远不贬值。
作为一家专注于Linux技术的网络教育平台,我们的优势不仅仅是高性价比的课程,而且非常自豪能够为学员提供更加便捷、不受时间地点限制的学习服务,因此我们已经准备好了非常齐备的录播视频课程来作为您的主要学习资料,课程随看随下非常方便,遇到不懂的地方可随时在线解答,但这些为学员提供的全程服务,只有您加入了培训班后才能知道有多么的便捷和优质。
您只需扫描右侧二维码或微信搜索:"LinuxProbe"即可完成下载
该页面的验证码:
请关注《Linux就该这么学》的微信公众号,回复:“验证码”,获取该页面的验证码。
书籍及项目的发展介绍:
我们是一家专注于Linux技术并为用户持续提供最高品质的开源资讯与红帽RHCE培训服务的网站,独享有刘遄老师原创的基于最新红帽RHEL7系统的《Linux就该这么学》电子版书籍,截至目前保守统计书籍累计浏览量已经超过五十万人次,创办至今关注人气增幅速度稳居中国第一,目前书籍虽未正式发布,但已成为中国第二畅销的Linux电子书籍。《Linux就该这么学》是一本注重实用性的Linux技术自学书籍,自基础篇公布后日常阅读量已经超过8000多人(每天),书籍从起步到最终完善将近花费两年多时间,各章节累计修订次数超过一千五百次,目前是国内罕见品质极高的Linux自学书籍之一,已在百度知道与知乎获得八万余条推荐,不仅如此,本团队长期拥有四十余人的专业网络团队,管理十几家自媒体频道,包括但不限于:新浪微博、今日头条、搜狐公众平台、新浪看点、博客园、开源中国、一点号、Cnbeta专栏、百度百家、鸿鹄论坛专版等资源,并正在与CNbeta、Linux中国、Centos中文站、红联Linux、linux伊甸园、鸿鹄论坛、Linuxdown、IMCN等技术站点保持有深度商业合作,已累计被国内外主流门户媒体报道超过三十余次。因此经过一段时间的运营,我们已经拥有了当前国内人数最多的读者用户群体,累计培训学员八百余人,RHCE通过率达到业界最高水平。
作者简介与本书优势:
本书作者刘遄(Liu Chuán)从事于Linux运维技术行业,高中时期便因兴趣的驱使而较早的接触到了Linux系统并开始学习运维技术,已在2012年考下红帽工程师RHCE_6版本证书,2015年初又分别考下RHCE_7版本证书与红帽架构师认证RHCA证书。
但深知水平有限且技术一般,若没有得益于良师益友的无私帮助,肯定不能如此顺利的完成Linux学业,并且同样作为一名普通的技术人,我亲身经历过半夜还在培训班的心酸,体验过拥堵6小时车程的无奈,看完过当今市面上十几本如同嚼蜡般的技术书籍,所以更加坚定了写出这本书的意念,此刻我正怀揣着一颗忐忑的心,竭尽全身心的斗志努力将知识分享给读者们,让您能够少走一些弯路。
我认为一个高超的技术导师不应该仅仅当一名技术的搬运工,而应该是优质知识的提炼者,所以在写书的过程中将主动抛弃不实用的部分,将重点难点反复实践,更不会将所有了解的知识都写到书里来证明自己的学识,而是真正贴近于新人的思考角度出发,写出一本最适合您的Linux教材。
本书意在带领读者从“0”基础开始学习linux系统,章节内配套有教学图片、视频及习题,达到增强学员兴趣与加深记忆的作用,当然这些都是免费的。才与诚合,然后事可成,恃才而败。我将付出不亚于任何人的努力,与可爱的读者们一起编写、完善这本书籍。
本书相比《鸟哥的linux私房菜》有什么优势?
坦白来讲,鸟哥的linux私房菜也是我的linux入门书籍,我绝对的认可鸟哥为这本书的付出,其书发行量巨大,陪伴了一代的运维人员,甚至被封为“linux入门神书”,渐渐的从一本linux技术书籍,上升至精神的高度,不允许再有一点反驳之声,但思索再三,还是决定阐明我的观点,与初学者分享下这不同的看法:
首先鸟哥在开篇即提到了写书的缘由是因为记性不好,所以想写出一本能够放在案头的备忘录,对书籍的内容自然就没有了太多的筛选,反而一再的扩大知识范围,最终写出的两本书厚度足足超过十厘米,敢问这种“备忘录式的入门书籍”真的适合新手来读?我认为书籍既然发行了,就不能再是个备忘录,而应该是通过作者的经验将知识不断提炼,真正让捧起书的读者看完有收获才可以。
其次是鸟哥的linux私房菜的书籍更新周期过长,2014年末时RHEL7与Centos7就已经公布,经过了一年多的迭代,已经很稳定并被广泛使用了,如果内容没有定期更新,使得技术脱离了生产环境,还怎么称作是真正实用的linux技术?而且鸟哥的linux私房菜缺少了对新手非常重要的答疑与帮助,如果遇到了实验出错,或者有知识点悟不透,这些都可能让初学者丧失掉对linux技术的兴趣。
RHEL与Centos系统区别:
现在国内的很多书籍是以Centos系统为平台编写的,当然作者大多会列出来诸多的理由,但很多都是以讹传讹的歪曲道理,根本没有剖析到RedHat公司的运作方法和Centos系统的本质,Centos系统是通过将RHEL系统释放出的源代码二次编译的Linux系统之一,命令操作和服务配置方法自然都是完全相同,去掉了很多红帽收费的服务套件功能,并且不提供任何形式的技术支持,那么选择的理由只有一个——免费!,当“高手们”大举免费、开源、正义的旗帜来宣扬Centos系统的时候,诸不知Centos系统其实早在2014年初就已经被红帽公司收购,只是战略性的免费而已,而根据Gnu GPL许可协议,我们同样也可以免费使用RHEL系统,甚至是修改代码后创建出衍生产品,自由程度是没有任何的差异,更无关道德问题。
您正在阅读的这本《Linux就该这么学》便是基于最新的RHEL7系统编写的,知识及实验完全的相通于Centos,fedora等系统,因此当您学习完本套课程后,即便公司内的生产环境是Centos系统也一样没有任何问题,并且本书配套资料中的iso镜像与红帽RHCSA及RHCE考试系统一致,尤其适合准备考取红帽认证的学员。
随书配备的软件资源库:
最高品质的linux在线培训:
目前国内网络培训机构普遍还在拼课程数量,但这种毫无质量保证的“海量教程资源”真的能让您从中学会多少有用的技术?
我们的培训采用全新的RHEL7系统,并为之编写了国内质量最高的RHEL7系统学习手册,真正让您能从学习的每节课中收获技术。
Linux在线培训介绍:
培训采用在线直播+随堂录播+辅导教材的形式,报名后可立即开始预习。
当期培训价格为2400元(已含纸质教材费),请有意参加培训的学员抓紧报名:
本期课程安排(您不用担心20天讲不完,这里承诺,如果课时不够用,即便给大家免费加课也会讲完所有内容):
课程内容(每次讲课不低于2小时,不超过3小时。)
邮寄纸质资料,下载所需工具,加内部交流群,开通贵宾权限等一系列准备工作。
介绍开源历史、Linux系统的种类及优势特性、Linux运维工程师的职责与前景。
了解红帽公司、红帽系统及红帽阶梯认证,安装部署VMware虚拟机、搭建RHEL7实验环境系统。
简单熟悉常用的Linux系统命令及内核原理,讲解RPM、Yum及守护进程机制理论。
学习Linux系统内核与BASH解释器的关系与作用,了解Linux系统中命令的执行及排错方法。
学习用于日常工作、系统管理、工作目录切换、文本文件管理、用户与组管理、打包压缩及文件搜索等数十个常用命令,并通过实战演练将这些命令与参数灵活搭配,让任务完成更加准确,日常的工作更加的自动化。
【Linux系统中命令是必需掌握的,内容量非常多,第2、3天请不要迟到。】
复习学习过的Linux系统命令,掌握Shell脚本原理及作用,搞清环境变量的作用。
学习如管道符、输入输出重定向、命令通配符等Shell语法规则并学习Vim编辑器。
了解Linux系统执行命令后的原理机制,学习Linux系统中各种重要的环境变量,尤其是PATH变量。
继续学习Vim编辑器中的常见命令、快捷键及三种模式的原理和切换方式并要求能够熟练使用Vim来编写文档、配置主机名、网卡信息及Yum仓库信息。复习所学的Linux系统命令,并学习SHELL脚本的编写规则与经验,学习文件测试、逻辑测试、整数值比较、字符串比较的条件测试语句,从而能够接收并处理用户的参数。
学习Linux系统中编写SHELL脚本的if(单分支、双分支、多分支)/for/while/case条件语句,学习能够实现计划任务的at命令与crond任务,从最终能够结合所学命令编写出实现自动化工作的Shell脚本。
详细的为读者讲述了用户、用户组和其余人在系统中的不同身份与能力,以及文件的读(r)写(w)执行(x)权限的作用。
为了让系统更加的安全还需要学习SUID、SGID和SBIT的文件特殊权限,文件隐藏权限以及ACL访问控制列表。
学会su命令和sudo服务后一定能够满足您以非超级用户操作实验或日常工作的需求,同时也保证了系统的安全性。
从Linux系统的存储结构引入,讲述硬盘存储结构、硬件命名规则以及内核Udev设备管理器服务,掌握系统中文件权限、学习对文件的限制操作,了解各个文件系统的特性。
让您理解文件系统的作用,能够区分ext3,ext4,xfs有何不同并学习将硬盘设备分区、格式化以及挂载等常用硬盘管理操作,完整配置SWAP交换分区、quota服务限制磁盘配额。
深入学习ln命令创建软/硬链接、管理Raid磁盘冗余阵列(0、1、5和10模式)、LVM逻辑卷管理器并能够熟练掌握创建软/硬链接的方法,学习了解VFS原理。
红帽RHEL7系统已经用firewalld服务替代了iptables服务,了解Firewalld防火墙的新特性及Zone区域概念,课程基于数十个防火墙需求学习新的防火墙管理命令firewall-cmd与图形化工具firewall-config。
了解掌握防火墙的原理、学习规则策略的配置方法、基于条件的数据包过滤规则、学习SNAT源地址转换技术及DNAT目的地址转换技术,防火墙的端口转发及负载均衡等实验,还新增了Tcp_wrappers防火墙服务,即可通过简单配置来保证系统与服务的安全。
红帽RHEL7系统将原先熟悉的守护进程替换为了systemd,用sytemctl命令替换掉了很多管理命令,课程会先了解Systemd初始化进程的作用,要求能够查看网卡状态并熟练的管理网卡参数。
学习使用nmtui命令配置网卡参数、手工将多块网卡做绑定、使用nmcli命令查看网卡信息和使用ss命令查看网络及端口状态,完整演示sshd服务配置方法并详细讲述每个参数的作用,实战基于密钥远程登陆实验以及用screen服务让远程会话不再终断。
通过对比目前热门的网站服务程序来说明Apache服务程序的优势,并新增主机空间选购技巧小节,了解SELinux服务的3种工作模式,小心谨慎的使用semanage命令和setsebool命令配置SELinux安全上下文和服务监管策略,学习Apache网站服务程序的部署方法、个人用户主页功能以及基于IP地址、主机名(域名)、端口号的虚拟主机功能。
先通过介绍文件传输协议来帮助读者理解FTP协议的用处,安装vsftpd服务程序并逐条分析服务文件的配置参数。
完整演示vsftpd服务匿名访问模式、本地用户模式及虚拟用户模式的配置方法,介绍PAM可插拔式认证模块的原理与认证流程,通过配置vsftpd服务程序,进一步的锻炼了读者SELinux服务策略、安全上下文以及防火墙的配置与排错能力。
为您讲述文件共享系统的作用,了解Samba与NFS服务程序的开发背景以及用法,详细逐条讲解Samba服务配置参数,演示安全共享文件的配置方法,并使用autofs服务程序自动挂载设备,学会后即可实现Linux系统之间或与Windows系统之间的文件共享,以及在共享文件时如何配置防火墙与SELinux策略规则,最终要求能够熟练使用Samba及NFS安全的共享文件,并学习Autofs自动挂载服务。
@本节课内容比较多,如果有那里没有听懂请一定一定要告诉我!!!
学习DNS服务程序的原理,学习正向解析与反向解析实验,掌握DNS主服务器、从服务器、缓存服务器的部署方法。
能够熟练配置区域信息文件与区域数据文件,以及通过使用分离解析技术让不同来源的用户得到更合适的解析结果。
DNS服务作为互联网的基础设施,我们还可以配置BIND服务程序支持TSIG安全加密传输机制,从而保障解析数据不被嗅探监听。
DHCP协议服务能够自动化的管理局域网内的主机IP地址,有效的提升IP地址使用率,提高配置效率,减少管理与维护成本。
学习dhcpd服务程序的使用方法并逐条讲解配置参数,完整演示自动化分配IP地址、绑定IP地址与mac地址等实验。
DHCP中继代理技术是多个物理网段共同一台DHCP服务器的最佳解决方案,运维人员必学的实用技术之一。
学习电子邮局系统的组成角色原理,了解MUA、MTA与MDA的作用理论,熟悉熟悉SMTP、POP3与IMAP4邮局协议。
学习postfix与dovecot服务程序的使用方法并逐条讲解配置参数,完整演示了部署基础电子邮局系统以及设置用户别名邮箱的方法。
从代理缓存服务的工作原理开始学起,让您读者能够清晰理解正向代理(普通模式、透明模式)与反向代理的作用。
要求能够正确的使用Squid服务程序部署代理缓存服务可以有效提升访问静态资源的效率,降低原服务器的负载并学习对指定IP地址、网页关键词、网址与文件后缀的ACL访问限制功能的实验,内容非常实用。
了解网络存储技术的原理,分析SCSI与iSCSI技术结构的不同与iSCSI技术的优势、SAN存储网络技术结构以及iSCSI HBA卡的作用。
完整演示部署iSCSI target服务程序的方法流程:创建RAID阵列(5)后使用targetcli命令发布到iSCSI存储目录并创建ACL列表。
学习配置使用iSCSI initiator服务程序发现、连接并使用iSCSI存储设备,最后编辑fstab文件将存储设备设置为开机启动。
了解mariaDB与MYSQL数据管理系统的区别及历史,学会初始化数据库管理工具。
能够熟练的使用mariaDB来创建用户及授权、并能够创建管理数据库及表单。
MYSQL数据库管理系统被Oracle公司收购后从开源换向到了封闭,导致包括红帽在内的许多Linux发行版选择了MariaDB。
课程学习使用mariaDB数据库管理工具来管理数据库,学习对数据表单的新建、搜索、更新、插入、删除等常用操作。
并且熟练掌握对数据库内用户的创建与授权,数据库的备份与恢复方法,不仅满足了RHCE考题要求,还能帮助您的运维工作。
学习搭建PXE+DHCP+TFTP+VSftpd+Kickstart服务程序搭建出无人值守安装系统,从而批量部署客户机系统。
这种系统能够实现自动化运维、避免了重复性劳动,帮助提升工作效率,对于运维人员真的是太有帮助了。
学习从Linux系统的软件安装方式讲起,带领读者分辨RPM软件包与源码安装的区别、并能够理解它们的优缺点。
Nginx是一款相当优秀的用于部署动态网站的服务程序,Nginx具有不错的稳定性、丰富的功能以及占用较少的系统资源等独特特性。
通过部署Linux+Nginx+MYSQL+PHP这四种开源软件,便拥有了一个免费、高效、扩展性强、资源消耗低的LNMP动态网站架构了。
进阶课程目录
第24章 使用Xen与Kvm部署虚拟化服务环境。(即将公布)
Linux技术交流QQ群
向每个正在奋斗的Linuxer致敬.
Linux技术交流群A:560843
Linux技术交流群B:340829
Linux技术交流群C:463590
Linux技术交流群D:915246
Linux技术交流群E:1663106
Linux技术交流群F:1653851
Linux技术交流群G:2632018
Linux技术交流群H:2636170
Linux技术交流群I:2650582
全国Linux技术交流群(总):
12月0 篇文章
1月0 篇文章12月0 篇文章
友情链接:Linux系统技术交流QQ群(1663106)验证问题答案:刘遄
00:00/00:00
本章节已编写及校对完毕,现有奖征集建议、若您发现本章中有错别字或补充欢迎联系老师QQ:5604583。
章节简述:
本章节首先从讲述系统内核和Shell终端的关系与作用来引入介绍bash解释器的4大优势并学习的执行方法,经验丰富的运维人员可以通过合理恰当的组合命令与参数,使令更加便捷且相对减少消耗系统资源。
老师精挑细选出最应该先学习的系统工作、系统状态、工作目录、文件、目录、打包压缩与搜索等近一百个工作所需的,通过把上述命令归纳到不同的章节,让您逐个的学习掌握必会的基础命令,为今后学习更复杂的命令和服务做好必备知识铺垫。
本章目录结构
2.1 强大好用的SHELL
通常计算机硬件是由运算器、控制器、存储器、输入/输出设备等等这些物理设备共同组成的,而能够让机箱内各种硬件设备各司其职的东西就叫做系统内核。Linux系统的内核负责驱动硬件、管理活动和分配/管理硬件资源等等任务,如此说来系统内核对计算机正常稳定的运行来讲可真的是太重要了,因此一般不建议直接去编辑内核中的参数,而是让用户通过基于“系统调用接口”开发出的程序/服务来管理计算机,这样一层层环环相扣来满足咱们的日常工作需要,如图2-1所示。
图2-1 Linux系统的软件结构图,。
回顾我对Linux系统将近十年的学习历程,必须肯定在Linux系统中有些诸如LVM逻辑卷管理器的图形化工具非常好用,很好的减少了运维人员操作出错的几率,值得称赞。但很多图形化工具实际就是调用了脚本来工作,功能上却被一定程度的“阉割”了,缺乏了Linux命令原有的灵活性及可控性。而且相较文字界面的Linux命令来说会更加消耗系统资源,因此经验丰富的运维人员甚至都不会给Linux系统安装图形界面,需要工作了则直接远程连接过去,不得不说这样做确实挺高效的,刘遄老师也一直都是这样做的。
"Shell"——也可称为“壳”,充当的是人与内核(硬件)的翻译官,用户把一些命令“告诉”Shell终端,它就会调用相应的程序服务执行工作啦,很厉害吧~~现在包括系统在内的许多主流Linux系统默认使用的字符Shell终端是Bash(Bourne-Again SHell)解释器。主流Linux系统选择Bash解释器作为命令行终端主要有以下4项优势,当然刘遄老师绝不会要求您去记住它们,而是应该在今后的学习和生产工作中细细体会Linux系统命令行的美妙之处,真正从心里爱上它们。
1.通过上下方向键来调取过往执行过的Linux命令。
2.命令或参数仅需输入前几位就可以用tab键补全。
3.强大的批处理脚本。
4.实用的环境变量。
2.2 执行查看帮助命令
既然Linux系统中已经有了如此好用的“翻译官”,那么接下来就有必要好好学习下怎么跟它沟通了~因为要想准确的、高效的完成任务,不能够光靠命令本身,还应该根据实际情况来灵活调整各种命令的参数,就像咱们切寿司时也可以用菜刀,但米粒一定会撒的满地到处都是,因此寿司刀上设计的圆孔就是为了更好的适应场景而额外增加的参数。当您学完了手里这本《Linux就该这么学》书籍后,再积累一段时间的工作经验,一定能够领悟Linux命令的奥秘,常见执行Linux命令的格式是这样的:
命令名称 [命令参数] [命令对象]
注意:命令名称,命令参数,命令对象之间请用空格键分隔。
命令对象一般是指要被处理的文件、目录、用户等资源,而命令参数可以选用长格式(完整的选项名称)也可选用短格式(单个字母的缩写),一般分别用"--"与"-"做前缀。新手不会执行Linux命令的原因大多是因为参数比较复杂,参数值需要随不同的命令和需求情况而发生改变,因此一定要在选择搭配参数上多花时间来积累经验才可以。
长格式如:man --help
短格式如:man -h
同学们现在心里可能会在想:“Linux系统中有如此多的命令,我怎么知道某个命令是干嘛用的?又或者在日常工作中遇到了一个不熟悉的Linux命令,那咱们又怎样才能知道它的可用参数呢?”。想到这里,那么man命令就肯定能够当之无愧的成为了咱们《Linux就该这么学》这本书中第一个教给读者去学习的Linux命令了。并且对于毫无基础的新手读者,您还可以通过下面如图2-2、2-3、2-4所示的实验来学习到如何在RHEL7系统中执行您的Linux命令啦。
第1步:在RHEL7系统的桌面上按下鼠标右键后点击Open in Terminal(开启终端)选项,这样便可开启了一个Linux系统命令行终端,如图2-2所示。
2-2 在Linux系统上开启命令行终端
第2步:在终端中输入“man man”命令来查看man命令自身的帮助信息,如图2-3所示。
图2-3 查看man命令的帮助信息
第3步:敲击回车后即可看到如图2-4所示的帮助信息。
图2-4 man命令的帮助信息
进入man命令帮助信息界面后的常用操作按键包括有(与后面章节中学习的vim编辑器非常相像):
向下翻一页。
[Page Down]
向下翻一页。
向上翻一页。
直接前往首页。
直接前往尾页。
从上至下搜索某个关键词,如"/linux"。
从下至上搜索某个关键词,如"?linux"。
定位到下一个搜索到的关键词。
定位到上一个搜索到的关键词。
退出帮助文档。
而一般来讲帮助文件都很长很多,如果您不了解帮助文档信息的目录结构和操作方法的话,肯定会感到眼花缭乱的,man命令输出帮助信息的结构主要包括有:
命令的名称
参数的大致使用方法
DESCRIPTION
演示(附带简单说明)
默认的功能
具体的可用选项(带介绍)
ENVIRONMENT
用到的文件
相关的资料
维护历史与联系方式
2.3 常用系统工作命令
您手中的这本《Linux就该这么学》书籍是通过刘遄老师总结将近十年多的运维学习、及开办数十期培训的授课经验而编写而成的,可能在本章节中找不到某些您见过的命令,原因是刘遄老师正在尽力把Linux命令与实践课程相互结合,真正让读者在操作中理解技术,而不是单纯的把命令堆砌到书中让读者去硬背。因此我花费了将近1年的时间把最常用的Linux命令汇总、归纳、整理、分类,最终决定把部分常用的命令合理的安排到了后面章节中陆续以实践的形式来学习,并且经过数年的培训成果反馈来看,我非常有自信的肯定这也一定是适合于您的Linux命令学习方法。
echo命令用于在终端显示字符串或输出变量提取后的值,格式为:“echo [字符串 | $变量]”。
把指定字符串输出到终端屏幕:
[root@linuxprobe ~]#
使用$变量的方式提取变量值并输出到屏幕:
[root@linuxprobe ~]# echo $SHELL
date命令用于显示及设置系统的时间或日期,格式为:"date [选项] [+指定的格式]"。
强大的date命令只需键入以"+"号开头的参数即可按照指定格式来输出系统的时间或日期,这样日常工作时便可以把打包数据的备份命令与指定格式输出的时间信息结合到一起,例如把打包后的文件自动按照“年-月-日”的格式打包成“backup-.tar.gz”,是不是备份时间一眼就能知道了呢?使得咱们可以更加便捷的了解到每个文件的备份时间啦,date命令参数常见的格式如下:
跳格[TAB键]
小时(00-23)
小时(00-12)
分钟(00-59)
秒(00-59)
相当于%I:%M:%S %p
显示本地AM或PM
星期几 (Sunday-Saturday)
星期几 (Sun-Sat)
完整月份 (January-December)
缩写月份 (Jan-Dec)
一年中的第几天(001-366)
月份(01-12)
完整的年份
按照默认的格式查看当前的系统时间:
[root@linuxprobe ~]# date
Mon Aug 24 16:11:23 CST 2017
按照"年-月-日 小时:分钟:秒"的格式查看当前的系统时间:
[root@linuxprobe ~]# date "+%Y-%m-%d %H:%M:%S"
设置当前的系统时间为日8点30分:
[root@linuxprobe ~]# date -s ":30:00"
Tue Sep 1 08:30:00 CST 2017
再次按照默认的格式查看当前的系统时间:
[root@linuxprobe ~]# date
Tue Sep 1 08:30:01 CST 2017
查看今天是一年中的第几天,其实用这个参数也能够很好的区分备份时间的新旧,即数字越大,越靠近当前时间:
[root@linuxprobe ~]# date "+%j"
reboot命令用于重启系统,格式为:"reboot"。
重启计算机这种操作会涉及到对硬件资源的管理权限,因此默认只能使用root用户来重启您的电脑:
[root@linuxprobe ~]# reboot
poweroff命令用于关闭系统,格式为:"poweroff"。
关机命令也同理,默认只有root管理员用户才可以关闭您的电脑:
[root@linuxprobe ~]# poweroff
wget命令用于在终端中下载网络文件,格式为:“wget [参数] 下载地址”。
如果这时您暂时还没有对Linux系统的管理经验,那么切记不要急于求成,这次只需要看下wget命令的演示过程即可,咱们将在后面的章节中逐步学习完Linux系统的配置管理方法,等您学习会了网卡的配置方法后再回来做这个实验吧。示例为从本站的资源库中下载《Linux就该这么学》最新pdf电子版文档:
后台下载模式。
下载到指定目录。
最大尝试次数。
下载页面内所有资源,包括图片、视频等。
[root@linuxprobe ~]# wget /docs/LinuxProbe.pdf
-- 19:30:12 -- http:///docs/LinuxProbe.pdf
()... 220.181.105.185
Connecting to
()|220.181.105.185|:80... connected.
HTTP request sent, awaiting response... 200 OK
(44M) [application/pdf]
Saving to: ‘LinuxProbe.pdf’
100%[============================================================================&] 45,948,568 32.9MB/s in 1.3s
2017-08-24 19:30:14 (32.9 MB/s) - ‘LinuxProbe.pdf’ saved [/]
递归下载《Linux就该这么学》主站内的所有页面数据以及文件,下载完成后会自动保存到当前路径下一个名字叫""的目录中:
[root@linuxprobe ~]# wget -r -p
-- 19:31:41-- /
Resolving ... 106.185.25.197
Connecting to |106.185.25.197|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: `/index.html'
………………省略下载过程………………
ps命令用于查看系统中的进程状态,格式为:“ps [参数]”,
当您第一次执行这个命令时估计要惊呆下,这么多输出值怎么看的过来?其实平常刘遄老师会把ps命令与第3章的管道符技术搭配使用,用于来抓取到某个指定服务进程所对应的PID号码,常见的ps命令参数包括有:
显示所有的进程(包括其他用户的)
用户以及其他详细信息
显示没有控制终端的进程
Linux系统中时刻运行着许许多多的进程,如果能够合理的管理它们,绝对有益于对系统的性能优化,Linux系统中进程最常见的5种不同的状态是运行、中断、不可中断、僵死与停止,它们的含义分别是:
R(运行):正在运行或在运行队列中等待。
S(中断):休眠中, 在等待某个条件的形成或接收到信号。
D(不可中断):收到信号不唤醒和不可运行, 进程必须等待直到有中断发生。
Z:(僵死):进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放。
T:(停止):进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行。
当执行"ps aux"命令后通常会看到下面格式的进程状态,表格中只是列举了部分输出值,而且正常的输出值中不包括中文注释部分:
进程的所有者
运算器占用率
内存占用率
虚拟内存使用量(单位是KB)
占用的固定内存量(单位是KB)
被启动的时间
实际使用CPU的时间
命令名称与参数
/usr/lib/systemd/systemd
[kthreadd]
[ksoftirqd/0]
[kworker/0:0H]
[migration/0]
………………
省略部分输出信息
………………
top命令用于动态的监视进程活动与系统负载等信息,格式为:“top”。
这个top命令可真的是太厉害了,它能够动态的查看系统运维状态,完全可以比喻成是“强化版的Windows任务管理器”,运行界面如图2-5所示:
图2-5 top命令的执行界面
top命令前面的五行为系统整体的统计信息,下面为同学们逐行的讲解下:
第1行:系统时间,运行时间,登录终端数,系统负载(分别为1分钟、5分钟、15分钟的平均值,数值越小意味着负载越低)。
第2行:进程总数,运行中的,睡眠中的,停止的,僵死的。
第3行:用户占用资源,系统内核占用资源,改变过优先级的进程,空闲的资源,等待输入输出的时间。
此行数据均为CPU数据并以百分比格式显示,例如"99.2 id"意味着有99.2%的CPU处理器资源正在空闲中。
第4行:物理内存总量,使用量,空闲量,作为内核缓存的内存量。
第5行:虚拟内存总量,使用量,空闲量,已被提前加载的内存数据。
pidof命令用于查询某个指定服务进程的PID号码值,格式为:“pidof [参数] [服务名称]”。
PID值是区别每个进程的唯一号码,每次在计算机上运行相同的服务程序都很少会获得同样值的PID号码,例如查询下本机sshd服务程序的PID进程号码值:
[root@linuxprobe ~]# pidof sshd
kill命令用于终止某个指定PID号码的服务进程,格式为:“kill [参数] [进程PID号]”。
咱们来动手把上面pidof命令查询到的PID号码给终止掉吧,这样操作的效果等同于把sshd服务强制停止。
[root@linuxprobe ~]# kill 2156
killall命令用于终止某个指定名称的服务所对应的全部进程,格式为:“killall [参数] [进程名称]”。
复杂软件的服务程序通常都会有数个进程协同为用户提供服务,如果逐个去结束PID号码又实在太麻烦,因此便可以使用killall命令来批量结束某个服务程序带有的全部进程。例如结束掉网络服务的全部进程,下面以httpd服务程序为例,默认您的RHEL7系统未安装它,当前同学们只需看操作过程和结果即可:
[root@linuxprobe ~]# pidof httpd
[root@linuxprobe ~]# killall httpd
[root@linuxprobe ~]# pidof httpd
[root@linuxprobe ~]#
平时在系统终端中执行一个命令后如果想立即的停止它,您可以同时按下系统组合键"Ctrl+c",这样命令的进程将会立即被终止,是生产工作中比较常用的命令行快捷键之一。或者有些命令在执行时会不断的在屏幕上输出信息,影响到咱们继续输入命令了,便可以在执行命令时在命令最后面添加上一个"&"符号,这样命令从开始执行就默认被放到系统后台了。
很多同学在报名刘遄老师培训课程时会提到自己的英语基础不好,其实大可不必担心,因为咱们的书籍、培训课程甚至考题都是中文的。而接下来您也就会发现,原来一直使用的是Linux命令,而绝不是纯粹的英语单词,即便它们的拼写100%相同,最终用处肯定也是不一样的。因此在学习Linux系统技术的这件事上,您跟英语达人绝对都是站在同一起跑线上的,更何况还正确的选择了一本适合您的Linux教材,放心开始学习吧!
刘遄老师主讲的Linux技术培训课程介绍:
2.4 系统状态检测命令
为了更好的了解Linux服务器,成为一名合格的运维人员,您必须具备快速查看Linux系统运行状态的能力,因此接下来咱们会逐个来学习下对于网卡网络、系统内核、系统负载、内存使用情况、当前启用终端数量、历史登录记录、命令执行记录以及救援诊断命令的使用方法,都是超级实用的Linux命令哦~
ifconfig用于获取网卡配置与网络状态等信息:格式为"ifconfig [网络设备] [参数]"。
查看本机当前的网卡配置与网络状态等信息,主要就是看每段开头的网卡名称、inet参数后面的IP地址、ether参数后面的MAC网卡物理地址以及RX、TX的接收与发送数据包的流量大小,即下面加粗的信息内容:
[root@linuxprobe ~]# ifconfig
eno: flags=4163
inet 192.168.10.10
netmask 255.255.255.0
broadcast 192.168.10.255
inet6 fe80::20c:29ff:fec4:a409
prefixlen 64
scopeid 0x20
ether 00:0c:29:c4:a4:09
txqueuelen 1000
(Ethernet)
RX packets 36
RX errors 0
overruns 0
TX packets 38
TX errors 0
dropped 0 overruns 0
collisions 0
lo: flags=73
inet 127.0.0.1
netmask 255.0.0.0
prefixlen 128
scopeid 0x10
txqueuelen 0
(Local Loopback)
RX packets 386
bytes 3 KiB)
RX errors 0
overruns 0
TX packets 386
bytes 3 KiB)
TX errors 0
dropped 0 overruns 0
collisions 0
uname命令用于查看系统内核与系统版本等信息,格式为:“uname [-a]”。
一般会固定搭配上-a参数来完整查看当前系统的内核名称、主机名、内核发行版本、节点名、系统时间、硬件名称、硬件平台、处理器类型以及操作系统名称等信息:
[root@linuxprobe ~]# uname -a
3.10.0-123.el7.x86_64 #1 SMP Mon May 5 11:16:57 EDT
x86_64 x86_64 GNU/Linux
顺便说下,如果您想查看当前系统版本的详细信息需要看redhat-release文件:
[root@linuxprobe ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.0 (Maipo)
uptime命令用于查看系统的负载信息,格式为:“uptime”。
这个命令真的很棒,它可以为您显示当前系统时间、系统已运行时间、启用终端数量以及平均负载值等信息数据。平均负载值指的是最近1分钟、5分钟、15分钟的系统压力情况(下面加粗的信息部分),负载值越低越好,尽量不要长期超过1。另外您还可以结合搭配用"watch -n 1 uptime"命令来每秒刷新一次来获得当前的系统负载情况。
[root@linuxprobe ~]# uptime
22:49:55 up 10 min, 2 users, load average: 0.01, 0.19, 0.18
free命令用于显示当前系统中内存的使用量信息,格式为:“free [-h]”。
为了保证Linux系统不会因硬件故障而突然卡住宕机,那么内存使用量当之无愧是运维人员最应该时刻要关注的数据对象啦,可以使用-h参数来以更人性化的样输出当前内存的实时使用量信息,另外下面输出信息中的中文注释是刘遄老师自行添加的内容,命令实际输出时没有对参数的解释。
[root@linuxprobe ~]# free -h
总计内存量
进程共享的内存量
磁盘缓存的内存量
缓存的内存量
-/+ buffers/cache:
who命令用于查看当前登入主机的用户终端信息,格式为:"who [参数]"。
简单三个字母就可以快捷的显示出所有正在登录着本机的用户名称以及他们正在开启的终端信息:
[root@linuxprobe ~]# who
登陆的用户名
登陆到系统的时间
17:52 (:0)
17:52 (:0)
last命令用于查看所有系统的登入记录,格式为:"last [参数]"。
使用last命令可以看到本机的登录记录,但由于这些信息都是被以日志文件的形式保存在系统中的数据内容,骇客们很轻易的便可对内容进行篡改,所以千万不要单纯以该命令的输出信息而判断系统有无被恶意入侵!
[root@linuxprobe ~]# last
root pts/0 :0 Mon Aug 24 17:52 still logged in
root :0 :0 Mon Aug 24 17:52 still logged in
(unknown :0 :0 Mon Aug 24 17:50 - 17:52 (00:02)
reboot system boot 3.10.0-123.el7.x Tue Aug 25 01:49 - 18:17 (-7:-32)
root pts/0 :0 Mon Aug 24 15:40 - 08:54 (7+17:14)
root pts/0 :0 Fri Jul 10 10:49 - 15:37 (45+04:47)
………………省略部分登录信息………………
history命令用于显示历史执行过的命令,格式为:“history [-c]”。
这条命令应该是我最喜欢的了,执行history命令能显示出当前用户在本地计算机中执行过的最近1000条命令记录,觉得1000不够用的话还可以修改/etc/profile文件的HISTSIZE变量值,或者使用-c参数来清空里面的历史数据,还可以使用“!编码数字”的方式来重复执行某一次的命令,有很多种有趣的玩法:
[root@linuxprobe ~]# history
1 tar xzvf VMwareTools-9.9.0-2304977.tar.gz
2 cd vmware-tools-distrib/
4 ./vmware-install.pl -d
7 cd /run/media/
9 cd root/
11 cd VMware\ Tools/
13 cp VMwareTools-9.9.0-2304977.tar.gz /home
14 cd /home
16 tar xzvf VMwareTools-9.9.0-2304977.tar.gz
17 cd vmware-tools-distrib/
19 ./vmware-install.pl -d
21 history
[root@linuxprobe ~]# !15
anaconda-ks.cfg
initial-setup-ks.cfg
历史命令会被保存到用户家目录中的".bash_history"文件中。Linux系统中以点(.)开头的文件均代表隐藏文件,一般大多会是系统服务文件。
[root@linuxprobe ~]# cat ~/.bash_history
清空该用户在本机中执行的Linux命令历史记录信息:
[root@linuxprobe ~]# history -c
sosreport命令用于收集系统配置并诊断信息后输出结论文档,格式为:“sosreport”。
当Linux系统出现故障需要联系红帽厂商或其他技术支持时,大多数时候都要先使用这个SOS功能来简单收集计算机的运行状态和服务配置信息,以便让技术支持公司能够通过远程就解决了一些小问题,又或者让他们能对复杂问题能提前有些了解。下面输出信息加粗的部分是收集好的资料压缩文件以及校验码,发送给对方即可:
[root@linuxprobe ~]# sosreport
sosreport (version 3.0)
This command will collect diagnostic and configuration information from
this Red Hat Enterprise Linux system and installed applications.
An archive containing the collected information will be generated in
/var/tmp and may be provided to a Red Hat support representative.
Any information provided to Red Hat will be treated in accordance with
the published support policies at:
The generated archive may contain data considered sensitive and its
content should be reviewed by the originating organization before being
passed to any third party.
No changes will be made to system configuration.
Press ENTER to continue, or CTRL-C to quit. 此处敲击回车来确认收集信息
Please enter your first initial and last name []:此处敲击回车,来确认主机名称。
Please enter the case number that you are generating this report for:
Running plugins. Please wait ...
Running 70/70: yum...
Creating compressed archive...
Your sosreport has been generated and saved in:
/var/tmp/-31.tar.xz
The checksum is: 79436cdfefde48c452c6322
Please send this file to your support representative.
2.5 工作目录切换命令
工作目录指的是咱们当前在系统中所处的位置,由于会牵涉到系统存储结构的知识,因此刘遄老师将会在第6章为同学们详细讲解,下面的操作实验您只需简单看下就好,如果不能完全掌握也不用担忧,这是因为Linux系统庞大的知识体系造成的结果,每个初学者都会经过这么一段时期。
pwd命令用于显示当前所处的工作目录,格式为:“pwd [选项]”。
[root@linuxprobe etc]# pwd
cd命令用于切换工作路径,格式为:“cd [目录名称]”。
这个命令应该是最最常用的Linux命令之一了,您可以通过cd命令来便捷的切换到不同的工作目录。除了常见的切换目录的方式,还可以使用“cd -”命令来返回到上一次所处的目录或使用“cd ~”命令来切换到当前用户的家目录,亦或使用“cd ~username”则可以切换到其他用户的家目录了~例如使用“cd 路径”的方式切换进/etc目录中:
[root@linuxprobe ~]# cd /etc
同样的道理,再尝试切换进/bin目录中:
[root@linuxprobe etc]# cd /bin
此时返回到上一次的目录(即/etc目录):
[root@linuxprobe bin]# cd -
还可以快速的切换到用户自己的家目录呢:
[root@linuxprobe etc]# cd ~
[root@linuxprobe ~]#
ls命令用于显示目录中的文件信息,格式为:“ls [选项] [文件] ”。
当咱们处在不同的工作目录下时,能够看到当前目录下的文件也在发生变化,ls命令的“-a”参数看到全部文件(包括隐藏文件),再结合“-l”参数来查看文件的属性、大小等详细信息。整合之后的命令即可实现查看当前目录中所有文件列表并输出这些文件的属性信息:
[root@linuxprobe ~]# ls -al
dr-xr-x---. 14 root root 4096 May
drwxr-xr-x. 17 root root 4096 May
4 15:55 ..
-rw-------.
1 root root 1213 May
4 15:44 anaconda-ks.cfg
-rw-------.
1 root root
4 07:54 .bash_history
-rw-r--r--.
1 root root
2013 .bash_logout
-rw-r--r--.
1 root root
176 Dec 28
2013 .bash_profile
-rw-r--r--.
1 root root
176 Dec 28
2013 .bashrc
drwx------. 10 root root 4096 May
4 07:56 .cache
drwx------. 15 root root 4096 May
4 07:49 .config
-rw-r--r--.
1 root root
100 Dec 28
2013 .cshrc
drwx------.
3 root root
4 07:46 .dbus
drwxr-xr-x.
2 root root
4 07:49 Desktop
drwxr-xr-x.
2 root root
4 07:49 Documents
drwxr-xr-x.
2 root root
4 07:49 Downloads
-rw-------.
1 root root
4 07:49 .esd_auth
-rw-------.
1 root root
4 07:56 .ICEauthority
-rw-r--r--.
1 root root 1264 May
4 07:48 initial-setup-ks.cfg
drwx------.
3 root root
4 07:49 .local
drwxr-xr-x.
2 root root
4 07:49 Music
drwxr-xr-x.
2 root root
4 07:49 Pictures
drwxr-xr-x.
2 root root
4 07:49 Public
-rw-r--r--.
1 root root
129 Dec 28
2013 .tcshrc
drwxr-xr-x.
2 root root
4 07:49 Templates
drwxr-xr-x.
2 root root
4 07:49 Videos
-rw-------.
1 root root 1962 May
4 07:54 .viminfo
需要看目录属性信息的话,需要额外添加一个-d参数才可以,例如查看/etc目录的权限与属性信息:
[root@linuxprobe ~]# ls -ld /etc
drwxr-xr-x. 132 root root 8192 Jul 10 10:48 /etc
2.6 文本文件编辑命令
通过刚刚上面几个小节的学习,您已经基本掌握了对当前工作目录及文件的管理方法。在Linux系统中一切都是文件,而对于服务程序的配置自然也就是在编辑程序的配置文件,如果不能熟练的查阅数据,那以后工作时可就真的要尴尬了。接下来学习几条用于查看文本文件内容的命令吧,至于编辑器的使用是比较复杂的,单独放到第4章节中和SHELL脚本内容一起为同学们详细精讲。
cat命令用于查看纯文本文件(较短的),格式为:“cat [选项] [文件]”。
Linux系统中有需要用于查看文本内容的命令,但其中每个命令又都有自己的特色特点,比如这个cat命令就是用于查看比较精简的文本内容的。这个其实是最好记的命令之一,因为cat在英语中是猫的意思,小猫咪是不是总给您一种娇小、可爱的感觉呢?另外如果您想看文本内容时还顺便显示行号的话,不妨再追加一个“-n”参数试试吧:
[root@linuxprobe ~]# cat -n initial-setup-ks.cfg
#version=RHEL7
# X Window System configuration information
--startxonboot
# License agreement
eula --agreed
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
# Run the Setup Agent on first boot
firstboot --enable
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8
ignoredisk --only-use=sda
# Network information
--bootproto=dhcp --device=eno --onboot=off --ipv6=auto
--bootproto=dhcp --
# Root password
rootpw --iscrypted $6$pDjJf42g8C6pL069$iI.PX/yFaqpo0ENw2pa7MomkjLyoae2zjMz2UZJ7bH3UO4oWtR1.Wk/hxZ3XIGmzGJPcs/MgpYssoi8hPCt8b/
# System timezone
timezone America/New_York --isUtc
user --name=linuxprobe --password=$6$a9v3InSTNbweIR7D$JegfYWbCdoOokj9sodEccdO.zLF4oSH2AZ2ss2R05B6Lz2A0v2K.RjwsBALL2FeKQVgf640oa/tok6J.7GUtO/ --iscrypted --gecos="linuxprobe"
# System bootloader configuration
bootloader --location=mbr --boot-drive=sda
autopart --type=lvm
# Partition clearing information
clearpart --none --initlabel
@desktop-debugging
@gnome-desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-browser
@multimedia
@print-client
more命令用于查看纯文本文件(较长的),格式为:“more [选项] 文件”。
如果需要去阅读长篇小说、或者非常长的配置文件,那么“小猫咪”可就真的不适合了,因为一旦您用cat命令去阅读长篇的文本内容,信息就会在您的屏幕上快速翻滚,有点像黑客帝国电影那样酷酷的感觉,但其实自己还没来得及看到内容就已经消失过去了。因此对于长篇的文本内容,推荐使用more命令来查看文本内容,不仅可以提示您已经阅读了百分之多少,还可以使用空格或回车键向下翻页:
//此处会提示您已经阅读了百分之多少,可以使用空格和回车往下翻页。
[root@linuxprobe ~]# more initial-setup-ks.cfg
#version=RHEL7
# X Window System configuration information
--startxonboot
# License agreement
eula --agreed
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
# Run the Setup Agent on first boot
firstboot --enable
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8
ignoredisk --only-use=sda
# Network information
--bootproto=dhcp --device=eno --onboot=off --ipv6=auto
--bootproto=dhcp --
--More--(43%)
head命令用于查看纯文本文档的前N行,格式为:“head [选项] [文件]”。
处理文本内容时,谁都不能保证永远“循规蹈矩”的顺序往下看完整个文件,如果只想看文本中前20行的内容呢:
[root@linuxprobe ~]# head -n 20
initial-setup-ks.cfg
#version=RHEL7
# X Window System configuration information
--startxonboot
# License agreement
eula --agreed
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
# Run the Setup Agent on first boot
firstboot --enable
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8
ignoredisk --only-use=sda
# Network information
--bootproto=dhcp --device=eno --onboot=off --ipv6=auto
[root@linuxprobe ~]#
tail命令用于查看纯文本文档的后N行或持续刷新内容,格式为:“tail [选项] [文件]”。
当然咱们还会遇到一种更奇葩的情况,比如需要去查看文本内容的最后20行,那么操作方法其实跟head命令是非常相似的,只需要执行“tail -n 20 文件名”命令就可以达到这样的效果。而tail命令最强悍的功能是用于持续刷新一个文件的内容,尤其是对于想要实时看到最新日志文件的时候特别有用:
[root@linuxprobe ~]# tail -f /var/log/messages
4 07:56:38 localhost gnome-session: Window manager warning: Log level 16: STACK_OP_ADD: window 0x1e00001 already in stack
4 07:56:38 localhost gnome-session: Window manager warning: Log level 16: STACK_OP_ADD: window 0x1e00001 already in stack
4 07:56:38 localhost vmusr[12982]: [ warning] [Gtk] gtk_disable_setlocale() must be called before gtk_init()
4 07:56:50 localhost systemd-logind: Removed session c1.
1 01:05:31 localhost systemd: Time has been changed
1 01:05:31 localhost systemd: Started LSB: Bring up/down networking.
1 01:08:56 localhost dbus-daemon: dbus[1124]: [system] Activating service name='com.redhat.SubscriptionManager' (using servicehelper)
1 01:08:56 localhost dbus[1124]: [system] Activating service name='com.redhat.SubscriptionManager' (using servicehelper)
1 01:08:57 localhost dbus-daemon: dbus[1124]: [system] Successfully activated service 'com.redhat.SubscriptionManager'
1 01:08:57 localhost dbus[1124]: [system] Successfully activated service 'com.redhat.SubscriptionManager'
tr命令用于替换文本文件中的字符,格式为:“tr [原始字符] [目标字符]”。
很多时候想要快速的替换文本内容中的一些词汇,又或者把整个文本内容都进行替换,手工逐个替换真的太累了,而且对于处理大批量的内容非常不现实。此时咱们便可以先使用cat命令读取待处理的文本内容,然后通过管道符(第3章将为您细致讲解)把这些数据内容传递给tr命令做替换操作即可。例如试试把某个文本内容完整替换成大写英文吧:
[root@linuxprobe ~]# cat anaconda-ks.cfg | tr [a-z] [A-Z]
#VERSION=RHEL7
# SYSTEM AUTHORIZATION INFORMATION
AUTH --ENABLESHADOW --PASSALGO=SHA512
# USE CDROM INSTALLATION MEDIA
# RUN THE SETUP AGENT ON FIRST BOOT
FIRSTBOOT --ENABLE
IGNOREDISK --ONLY-USE=SDA
# KEYBOARD LAYOUTS
KEYBOARD --VCKEYMAP=US --XLAYOUTS='US'
# SYSTEM LANGUAGE
LANG EN_US.UTF-8
# NETWORK INFORMATION
NETWORK --BOOTPROTO=DHCP --DEVICE=ENO --ONBOOT=OFF --IPV6=AUTO
NETWORK --HOSTNAME=LOCALHOST.LOCALDOMAIN
# ROOT PASSWORD
ROOTPW --ISCRYPTED $6$PDJJF42G8C6PL069$II.PX/YFAQPO0ENW2PA7MOMKJLYOAE2ZJMZ2UZJ7BH3UO4OWTR1.WK/HXZ3XIGMZGJPCS/MGPYSSOI8HPCT8B/
# SYSTEM TIMEZONE
TIMEZONE AMERICA/NEW_YORK --ISUTC
USER --NAME=LINUXPROBE --PASSWORD=$6$A9V3INSTNBWEIR7D$JEGFYWBCDOOOKJ9SODECCDO.ZLF4OSH2AZ2SS2R05B6LZ2A0V2K.RJWSBALL2FEKQVGF640OA/TOK6J.7GUTO/ --ISCRYPTED --GECOS="LINUXPROBE"
# X WINDOW SYSTEM CONFIGURATION INFORMATION
XCONFIG --STARTXONBOOT
# SYSTEM BOOTLOADER CONFIGURATION
BOOTLOADER --LOCATION=MBR --BOOT-DRIVE=SDA
AUTOPART --TYPE=LVM
# PARTITION CLEARING INFORMATION
CLEARPART --NONE --INITLABEL
@DESKTOP-DEBUGGING
@GNOME-DESKTOP
@GUEST-AGENTS
@GUEST-DESKTOP-AGENTS
@INPUT-METHODS
@INTERNET-BROWSER
@MULTIMEDIA
@PRINT-CLIENT
wc命令用于统计指定文本的行数、字数、字节数,格式为“wc [参数] 文本”。
每当我讲课提到这个命令的时候,总有同学会联想到一种公共设施,哈哈,但其实两者是毫无关系的。Linux系统中的wc命令用于统计文本的行数、字数、字节数等文本内容的命令,如果为了方便自己更快去记忆,其实也可以联想到上厕所时真的好无聊,无聊到竟然数完了整张报纸上有多少行字。
只显示行数
只显示单词数
只显示字节数
例如可以使用“-l”参数来统计行数,而passwd是用于保存系统帐户信息的文件,因此下面的命令就是用于统计当前系统中有多少个用户的作用啦,感觉是不是很神奇:
[root@linuxprobe ~]# wc -l /etc/passwd
38 /etc/passwd
stat命令用于查看文件的具体存储信息和时间等信息,格式“stat 文件名称”。
使用stat命令可以看到文件的存储信息和时间等信息,下面会显示出文件的三种时间状态(已加粗):Access、Modify、Change,三种时间的区别刘遄老师将在下面的touch命令中单独为您讲解:
[root@linuxprobe ~]# stat anaconda-ks.cfg
File: ‘anaconda-ks.cfg’
Size: 1213 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode:
Access: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root)
Context: system_u:object_r:admin_home_t:s0
01:46:18. -0400
15:44:36. -0400
15:44:36. -0400
cut命令用于按“列”来提取文本字符,格式为:“cut [参数] 文本”。
如何准确的提取出最想要的数据,这也应该是咱们学习研究的方向之一,按基于“行”的方式来提取是比较简单的,只需要设置好要搜索的关键词即可,但是按列搜索的话不仅要使用“-f”参数来设置需要看的列数,还必须使用“-d”参数来设置间隔符号。因为passwd是用于保存用户信息数据的文件且每一项值都是通过冒号来间隔的,因此可以来尝试下提取出passwd文件中的用户名信息吧,即提取以:(冒号)为间隔符号的第一列内容:
[root@linuxprobe ~]# head -n 2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
[root@linuxprobe ~]# cut -d: -f1 /etc/passwd
avahi-autoipd
libstoragemgmt
gnome-initial-setup
linuxprobe
diff命令用于比较多个文本文件的差异,格式为:"diff [参数] 文件"。
咱们不仅可以使用“--brief”参数来仅仅确认两个文件是否不同,还可以使用“-c”参数来详细比较出多个文件的差异之处,这绝对是判断文件是否被篡改的有力神器。例如先查看下两个文件的内容,然后进行比较:
[root@linuxprobe ~]# cat diff_A.txt
Red Hat certified
Free Linux Lessons
Professional guidance
Linux Course
[root@linuxprobe ~]# cat diff_B.txt
Red Hat certified
Free Linux LeSSonS
////////.....////////
Professional guidance
Linux Course
仅仅显示比较后的结果,判断文件是否相同:
[root@linuxprobe ~]# diff --brief diff_A.txt diff_B.txt
Files diff_A.txt and diff_B.txt differ
使用详细的上下文输出格式来描述文件内容具体的不同:
[root@linuxprobe ~]# diff -c diff_A.txt diff_B.txt
*** diff_A.txt
18:07:45. +0800
--- diff_B.txt
18:08:52. +0800
***************
*** 1,5 ****
Red Hat certified
! Free Linux Lessons
Professional guidance
Linux Course
--- 1,7 ----
Red Hat certified
! Free Linux LeSSonS
! ////////.....////////
Professional guidance
Linux Course
2.7 文件目录管理命令
当前同学们学习Linux命令就像是在搬砖打地基,虽然表面上暂时还看不到明显的战绩,但其实各位的内功已经非常雄厚了。对于日常的工作来说,一定要掌握对文件的创建、修改,复制、剪切、更名与删除等操作。
touch命令用于创建空白文件与设置文件的各种时间,格式为:“touch [选项] [文件]”。
这个touch命令可真的是特别好用,它能够创建出空白的文本文件,但这实在太简单不需要去讲,例如“touch linuxprobe”这样就可以创建出一个空白的名为linuxprobe的文本文件,而有难度的操作主要是用于设置文件内容的修改时间(mtime)、文件权限或属性的更改时间(ctime)与文件的读取时间(atime)。
咱们可以在修改一个文件前先查看下文件的修改时间,然后再通过touch命令把修改后的文件时间设置伪装成自己没有动过的一样,很多黑客就会这么做呢:
仅修改“访问时间”(atime)
仅修改“更改时间”(mtime)
同时修改atime与mtime
[root@linuxprobe ~]# ls -l anaconda-ks.cfg
-rw-------. 1 root root 1213 May
4 15:44 anaconda-ks.cfg
[root@linuxprobe ~]# echo "Visit
to learn linux skills" && anaconda-ks.cfg
[root@linuxprobe ~]# ls -l anaconda-ks.cfg
-rw-------. 1 root root 1260 Aug
2 01:26 anaconda-ks.cfg
[root@linuxprobe ~]# touch -d " 15:44" anaconda-ks.cfg
[root@linuxprobe ~]# ls -l anaconda-ks.cfg
-rw-------. 1 root root 1260 May
4 15:44 anaconda-ks.cfg
mkdir命令用于创建空白的文件夹,格式为:“mkdir [选项] 目录”。
在Linux系统中文件夹是最常见的文件类型之一,除了能创建单个目录外,还可以使用“-p”参数来递归创建出具有嵌套叠层关系的文件目录。
[root@linuxprobe ~]# mkdir linuxprobe
[root@linuxprobe ~]# cd linuxprobe
[root@linuxprobe linuxprobe]# mkdir -p a/b/c/d/e
[root@linuxprobe linuxprobe]# cd a
[root@linuxprobe a]# cd b
[root@linuxprobe b]#
cp命令用于复制文件或目录,格式为:“cp [选项] 源文件 目标文件”。
想必同学们一定对文件复制操作不是很陌生吧,在Linux系统中的复制操作其实具体还分为3种情况,第一种情况是如果目标对象是个目录,则会把源文件复制到该目录中.,第二种情况是如果目标对象也是个普通文件,则会询问是否要覆盖它.最后是第三种的情况了,如果目标文件是不存在的,则会是正常的复制操作啦。
保留原始文件的属性
若对象为"链接文件",则保留该"链接文件"的属性
递归持续复制(用于目录)
若目标文件存在则询问是否覆盖
相当于-pdr(p,d,r为上述的参数)
首先创建一个名为install.log的普通空白文件,然后把其复制出来一份名为x.log的备份文件:
[root@linuxprobe ~]# touch install.log
[root@linuxprobe ~]# cp install.log x.log
[root@linuxprobe ~]# ls
install.log x.log
mv命令用于移动文件或改名,格式为:“mv [选项] 源文件 [目标路径|目标文件名]”。
剪切操作不同于复制操作,因为它会默认把源文件删除掉,操作后就只有剪切后的文件了,并且如果对一个文件在同一个目录中进行剪切操作,其实也是重命名的作用:
[root@linuxprobe ~]# mv x.log linux.log
rm命令用于删除文件或目录,格式为:“rm [选项] 文件”。
在Linux系统中删除文件时会默认再向您询问是否要执行删除操作,如果不想总看到这种反复的确认信息,您可以使用“-f”参数来直接强制删除,另外想要删除一个目录文件夹的话就需要再追加一个“-r”参数才可以,否则是删除不掉的,例如来尝试删除下刚刚那两个文件吧:
[root@linuxprobe ~]# ls
install.log linux.log
[root@linuxprobe ~]# rm install.log
rm: remove regular empty file ‘install.log’? y
[root@linuxprobe ~]# rm -rf linux.log
[root@linuxprobe ~]# ls
[root@linuxprobe ~]#
dd命令用于指定大小的拷贝文件或指定转换文件,格式为:“dd [参数]”。
dd命令是个比较重要且具有特色的一个命令,它能够让用户指定数据块的大小和个数来复制一个文件的内容,当然如果您愿意的话还可以在复制过程中转换其中的数据。Linux系统中有一个叫做/dev/zero的设备文件,每次讲课解释起来都感觉有点哲学理论的色彩,因为这个文件不会占用您的系统存储空间,但里面却可以提供无穷无尽的数据,因此用dd命令来生成出来一个指定大小的文件是再好不过的了。
输入的文件名称。
输出的文件名称。
设置每个“块”的大小。
设置要拷贝“块”的个数。
[root@linuxprobe ~]# dd if=/dev/zero of=560_file count=1 bs=560M
1+0 records in
1+0 records out
bytes (587 MB) copied, 27.1755 s, 21.6 MB/s
dd命令也绝对不仅限于复制文件这么简单,如果您想把一个光盘设备制作成iso格式的镜像文件,在Windows系统中一定免不了要用到第三方软件才能做到,但在Linux系统中就可以直接使用dd命令来复制并压制光盘设备变成一个可立即使用的iso镜像哦:
[root@linuxprobe ~]# dd if=/dev/cdrom of=RHEL-server-7.0-x86_.iso
records in
records out
bytes (3.7 GB) copied, 370.758 s, 10.1 MB/s
file命令用于查看文件的类型,格式为:“file 文件名”。
如此看来在Linux系统中文本、目录、设备等等这些一切都会可以被统称为文件,而咱们一般又不能单凭后缀就知道具体的文件类型,这时只能用file命令来查看下文件类型啦~
[root@linuxprobe ~]# file anaconda-ks.cfg
anaconda-ks.cfg: ASCII text
[root@linuxprobe ~]# file /dev/sda
/dev/sda: block special
出现问题?大胆提问!
因读者们硬件不同或操作错误都可能导致实验配置出错,请耐心再仔细看看操作步骤吧,不要气馁~
Linux技术交流请加A群:560843(满),B群:340829(推荐),C群:463590(推荐),。
*本群特色:通过口令验证确保每一个群员都是《Linux就该这么学》的读者,答疑更有针对性,不定期免费领取定制礼品。
2.8 打包压缩与搜索命令
自从有了互联网络,人们传送文件就再也离不开压缩包格式带来的便捷了,下面将学习如何在Linux系统中对于文件的打包压缩与解压的方法,以及让用户能够基于一个关键词在文本文件中搜索匹配信息,与基于指定的名称或属性在整个文件系统中搜索匹配特定文件的超级实用命令。本小节内虽然只有三条命令,但功能都比较复杂而且参数很多,因此才会放到最后大家讲解。
tar命令用于对文件打包压缩或解压,格式为:“tar [选项] [文件]”。
而Linux系统中常见的格式比较多,主要使用的是.tar或.tar.gz或.tar.bz2格式,同学们不用担心格式好多而记不住,其实这些大部分都是由tar命令来完成的。刘遄老师来把最重要的几个参数讲给同学们下,首先“-c”参数是用于创建压缩文件的,“-x”参数是用于解压文件的,因此这两个不能同时放一起使用,其次“-z”参数是指定使用Gzip格式来压缩解压文件,“-j”参数是指定使用bzip2格式来压缩解压文件。解压时候则是根据文件的后缀来决定是何种格式参数,而有些打包操作要数个小时,屏幕没有输出的话您一定会怀疑电脑死机了,也不好判断打包的进度情况,因此非常推荐使用“-v”参数来不断显示压缩或解压的过程给用户,“-C”参数用于指定要解压到的哪个指定的目录,而“-f”参数特别重要,它必须放到参数的最后一位,代表要压缩或解压的软件包名称。我会一般使用“tar -czvf 压缩包名称.tar.gz 要打包的目录”命令来把指定的文件来打包压缩,解压的话则是“tar -xzvf 压缩包名称.tar.gz”命令,让咱们来逐个演示下打包压缩与解压的操作吧。接下来使用tar命令把/etc目录通过gzip格式进行打包压缩,并把文件命名为etc.tar.gz:
[root@linuxprobe ~]# tar czvf etc.tar.gz /etc
tar: Removing leading `/' from member names
/etc/fstab
/etc/crypttab
/etc/fonts/
/etc/fonts/conf.d/
/etc/fonts/conf.d/65-0-madan.conf
/etc/fonts/conf.d/59-liberation-sans.conf
/etc/fonts/conf.d/90-ttf-arphic-uming-embolden.conf
/etc/fonts/conf.d/59-liberation-mono.conf
/etc/fonts/conf.d/66-sil-nuosu.conf
………………省略部分压缩过程………………
然后把刚刚打包的压缩包文件指定解压到/root/etc目录中:
[root@linuxprobe ~]# mkdir /root/etc
[root@linuxprobe ~]# tar xzvf etc.tar.gz -C /root/etc
etc/crypttab
etc/fonts/
etc/fonts/conf.d/
etc/fonts/conf.d/65-0-madan.conf
etc/fonts/conf.d/59-liberation-sans.conf
etc/fonts/conf.d/90-ttf-arphic-uming-embolden.conf
etc/fonts/conf.d/59-liberation-mono.conf
etc/fonts/conf.d/66-sil-nuosu.conf
etc/fonts/conf.d/65-1-vlgothic-gothic.conf
etc/fonts/conf.d/65-0-lohit-bengali.conf
etc/fonts/conf.d/20-unhint-small-dejavu-sans.conf
………………省略部分解压过程………………
grep命令用于对文本内容进行关键词的搜索匹配,格式为:“grep [选项] [文件]”。
咱们可以把grep命令当作是用途最广泛的文本搜索匹配工具,参数虽然很多但基本是用不到的,刘遄老师通过将近十年的运维工作和教学经验总结后才提出本书籍核心“去掉不实用”的写作理念绝对不是乱说,一名技术导师如果写书的水平只能停留在“技术的搬运工”而不能成为一名对真正优质技术知识的提炼者,那绝对会害了一大波学生。刘遄老师在这里只讲两个最最最常用的参数,只要会使用“-n”参数显示搜索到信息的行号,使用“-v”参数用于反选信息(即没有包含关键词的所有信息行)就几乎能完成您以后80%的工作需要,至于其他上百个参数,以后万一工作遇到了,再来用“man grep”命令查一下也来得及。
Linux系统中的/etc/passwd文件是保存着所有用户信息的文件,而一旦用户的登录终端被设置成“/sbin/nologin”则不再允许登录系统,因此可以通过使用grep命令来匹配出当前系统中所有不允许登录系统的用户信息:
[root@linuxprobe ~]# grep /sbin/nologin /etc/passwd
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
………………省略部分输出过程………………
find命令用于在Linux系统中按照指定条件查找文件,格式为:“find [查找路径] 寻找条件 操作”。
刘遄老师在书中反反复复的提到“Linux系统中的一切都是文件”,接下来您就要感受到这份力量了。在Linux系统中的搜索工作一般都是通过find命令来完成的,它可以根据不同的文件特性来做为匹配项(如文件名、大小、修改时间、权限等信息),一旦匹配到了则会默认为用户显示到屏幕上来,基础的匹配项目请见下表即可。我主要讲解下“--exec”参数重要的作用,这个参数是用于把find命令搜索到的结果交由给后面的命令再进一步做处理,十分类似于咱们将在下一章中提到的管道符技术。
匹配权限(mode为完全匹配,-mode为包含即可)
匹配所有者
匹配所有组
-mtime -n +n
匹配修改内容的时间(-n指n天以内,+n指n天以前)
-atime -n +n
匹配访问文件的时间-n指n天以内,+n指n天以前
-ctime -n +n
匹配修改权限的时间-n指n天以内,+n指n天以前
匹配无所有者的文件
匹配无所有组的文件
-newer f1 !f2
匹配比文件f1新却比f2旧的文件
--type b/d/c/p/l/f
匹配文件类型(块设备、目录、字符设备、管道、链接文件、文件文件)
匹配文件的大小(+50k查找超过50k的文件,而-50k则代表查找小于50k的文件)
忽略某个目录
-exec {} \;
后面可接对搜索到结果进一步处理的命令(下面会有演示)
Linux系统中的配置文件根据FHS协议会被保存到/etc目录中(第6章精讲),如果要想获取到该目录中所有以host开头的文件列表就可以这样做:
[root@linuxprobe ~]# find /etc -name "host*" -print
/etc/avahi/hosts
/etc/host.conf
/etc/hosts
/etc/hosts.allow
/etc/hosts.deny
/etc/selinux/targeted/modules/active/modules/hostname.pp
/etc/hostname
想要在整个系统中搜索所有权限中包括SUID权限的文件(第5章精讲),只需使用减号-4000即可:
[root@linuxprobe ~]# find / -perm -4000 -print
/usr/bin/fusermount
/usr/bin/su
/usr/bin/umount
/usr/bin/passwd
/usr/sbin/userhelper
/usr/sbin/usernetctl
………………省略部分输出信息………………
拔高题目:在整个的文件系统中找出所有归属于linuxprobe用户的文件并复制到/root/findresults目录。
此题的重点是"-exec {} \;"其中的{}代表find命令搜索出的逐个文件,并且记得命令的结尾必须是\;
[root@linuxprobe ~]# find / -user linuxprobe -exec cp -a {} /root/findresults/ \;
出现问题?大胆提问!
因读者们硬件不同或操作错误都可能导致实验配置出错,请耐心再仔细看看操作步骤吧,不要气馁~
Linux技术交流请加A群:560843(满),B群:340829(推荐),C群:463590(推荐),。
*本群特色:通过口令验证确保每一个群员都是《Linux就该这么学》的读者,答疑更有针对性,不定期免费领取定制礼品。
本章节的复习作业(答案就在问题的下一行哦,用鼠标选中即可看到的~)
1:在红帽RHEL7系统及众多Linux系统中最常使用的SHELL终端是什么?
答案:Bash(Bourne-Again SHell)解释器。
2:执行Linux系统命令的时候,添加参数的目的是什么?
答案:为了让Linux系统命令能好的完成工作,功能更贴近于工作需求。
3:Linux系统命令、命令参数及命令对象之间,普遍都应该用什么间隔?
答案:应该使用1个或1个以上的空格做间隔。
4:请写出用echo命令把SHELL变量值输出到屏幕终端的命令。
答案:执行echo $SHELL命令即可。
5:简述Linux系统中5种进程的名称及含义:
答案:R(运行):正在运行或在运行队列中等待。S(中断):休眠中, 在等待某个条件的形成或接收到信号。D(不可中断):收到信号不唤醒和不可运行, 进程必须等待直到有中断发生。Z:(僵死):进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放。T:(停止):进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行。
6:请尝试用Linux系统命令关闭PID号码为5529的服务进程。
答案:执行kill 5529命令即可,若知道服务名称则可以用kilall或systemctl命令进行关闭。
7:使用ifconfig命令查看网络状态信息时,刘遄老师说看的4项信息分别是什么?
答案:4项重要信息分别是网卡名称、IP地址、MAC物理地址以及RX/TX的收发流量数据。
8:使用uptime命令查看系统负载情况时,对应的负载数值如果是0.91, 0.56, 0.32,那么最近15分钟内负载压力最大的是那个时间段?
答案:按照负载数值可分析出最近1分钟的负载压力是最大的。
9:使用history命令查看历史命令执行记录时,命令前面的数字除了排序外还有什么用处?
答案:还可以用“!数字”的命令格式重复执行某次的命令记录,避免了重复输入较长命令的麻烦。
10:若想查看的文件内容较长,那么使用cat、more、head、tail中那个命令最合适?
答案:文件较长的话应使用more命令,较短的话应使用cat命令。
11:请问在使用mkdir命令创建有嵌套关系目录的时候,应该加上什么参数呢?
答案:应该加上-p递归迭代参数,进行自动化创建有嵌套关系的目录。
12:请问在使用rm命令删除文件或目录的时候,可使用那个参数来避免二次确认呢?
答案:可使用-f强制删除参数,这样即可无需再二次确认。
13:若有一个名称为backup.tar.gz的压缩包文件,那么解压的命令应该是什么?
答案:应该用tar命令进行解压,执行tar xzvf backup.tar.gz命令即可。
14:使用grep命令对某个文件进行关键词搜索的时候,若想要进行文件内容反选,应使用什么参数?
答案:grep命令可使用-v参数来进行匹配内容的反向选择,即显示出不包含某个关键词的行。
为您推荐一些与本文相关的文章:
进阶课程目录
第24章 使用Xen与Kvm部署虚拟化服务环境。(即将公布)
Linux技术交流QQ群
向每个正在奋斗的Linuxer致敬.
Linux技术交流群A:560843
Linux技术交流群B:340829
Linux技术交流群C:463590
Linux技术交流群D:915246
Linux技术交流群E:1663106
Linux技术交流群F:1653851
Linux技术交流群G:2632018
Linux技术交流群H:2636170
Linux技术交流群I:2650582
全国Linux技术交流群(总):
12月0 篇文章
1月0 篇文章12月0 篇文章}

我要回帖

更多关于 h1z1新人入门教程 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信