位置: 编程技术 - 正文

Linux折腾记(一):玩转Linux系统的方法论(,linux)

编辑:rootadmin

推荐整理分享Linux折腾记(一):玩转Linux系统的方法论(,linux),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux la,linux1,linuxone,linux la,linux !,linux la,linuxone,linuxone,内容如对您有帮助,希望把文章链接给更多的朋友!

Linus说“Just for fun”,而我要说“Just for 折腾”。想知道我是怎样折腾Linux的,请看下面这个截图:

  从这个截图可以看出,我为了“折腾”Linux系统,在我的电脑上安装的5个不同的发行版。它们分别是Ubuntu .桌面版、CentOS 5.、CentOS 6.5、Fedora 和一个Ubuntu . Server版。在以上所有系统中,只有Ubuntu .桌面版和Fedora 开启了GUI,其它的几个系统都使用字符界面。上面的截图就是我在Ubuntu .桌面版中,使用ssh远程连接到另外四个系统时的情形。

关于字符界面和图形界面

  多年前,我使用Linux系统是偏爱字符界面的。装B神器啊,不管是别人看起来还是自己看起来,都显得特别的高大上。当然,字符界面用起来那也是相当舒服的,不过只是曾经。为什么这么说呢,那是因为在寸或寸,分辨率限于*的时代,使用字符界面,字体不大不小,也没有刺眼的强光,眼睛看着非常舒服。可是,自从液晶屏、高分屏时代来临之后,这种舒服感就一去不复返了。原因何在?字太小。比如在我这个.5寸*的液晶显示器上,使用纯字符界面根本没法看,即使开启FrameBuffer也没办法把字体变漂亮。在我的显示器上,必须使用pt到pt的Dejavu Sans Mono字体,眼睛看着才舒服。现在在网络上,仍然有很多人问怎么把Linux设置成启动后自动进入字符界面这样的问题,我很想告诉他们:拉倒吧,还是使用图形界面靠谱。对于确实没有图形界面的服务器系统,还是老老实实使用ssh远程连接吧。

  在图形界面下,使用gnome-terminal依然可以模拟全字符界面,只要按一个F键全屏即可。甚至可以设置半透明背景,看起来更拉风。如下图:

  Fedora 的图形界面也不错,如下图,在图形界面下使用Vim和GVim都很清爽:

为什么要装这么多不同的发行版

  都是Linux,为什么要装这么多的发行版呢?那是因为系统和系统之间是不一样的。不同流派的发行版不一样,同样流派的发行版,老系统和新系统也不一样。还是以上面提到的那个经典问题“怎么把Linux设置成启动后自动进入字符界面”为例。对于这个问题,教科书式的回答是:将/etc/inittab文件中的启动级别修改为3。但是,我可以很负责任地说:教科书过时了。

  我最早是从Red Hat Linux 9开始接触Linux的,那时,天天抱着一本《Red Hat Linux 9 宝典》啃。很显然,这本书现在已经是古董级了,因为Red Hat后来就开始做Enterprise Linux,每两年一个版本,现在已经到了Enterprise Linux 6,马上就要出第7版了。在我安装的这些系统中,CentOS等同于Red Hat Enterprise Linux,Fedora是Red Hat新技术的试验场,所以他们是一个流派的,Fedora 比CentOS 5、CentOS 6新,Ubuntu则是另外一个流派,每半年出一个新版本,我用的是目前的最新版。

  我想,我们中的很多人学习Linux都是从Red Hat开始的吧。就像我家里总有那么几本经典教材,如下图(我书柜一角的照片):

  对于前面提到的那个经典问题,教科书式的回答仅适用于CentOS 5及其之前的版本,其它的系统则各有各的方法。我将在后面讲述方法论的时候详细说明。

折腾Linux系统的方法论

  要想在Linux江湖中畅行无阻,光靠几本入门书是远远不够的,还得掌握适当的方法。我的方法论如下:

  1.在使用一个命令的时候,最好要知道它属于哪个软件包;

  2.会查找和安装软件包,安装软件包后,要能够找出文件都安装到哪里了;

  3.要会阅读软件的文档;

  4.实在不行了,那就看源代码吧。

  使用我的方法论还是得有一定的Linux基础(比如如何进行用户管理、文件管理等,以及了解Linux究竟是个什么样的系统这样的基本哲学问题),所以教科书还是很有必要读那么几本的。过了基础阶段,折腾Linux其实就是折腾Linux系统下的各种软件,这个时候,掌握正确的方法论尤其重要。

举例说明

  还是以前面提到的经典问题为例,究竟怎么样才能让Linux系统启动后自动进入字符界面呢?按我的方法论,我们还是得从软件分析起。Linux系统的内核加载完毕后,第一个执行的进程是init,是进入字符界面还是进入图形界面,当然是init说了算。不同的系统,启动的第1个进程都叫init,可此init等于彼init吗?所以,1.我们要找到这个init属于哪个软件包;2.找到这个软件包的文件都安装在文件系统的哪些位置,这个软件包还包含哪些程序,包含哪些文档;3.阅读这个软件包的文档(当然,首先利用搜索引擎对该软件包做一些功课是必须的);4.实在不行就阅读源代码吧。

  在Red Hat流派的系统(CentOS、Fedora)中,软件的包管理器是RPM。先看CentOS 5.,首先,使用which init命令,可以查出init的完整路径为/sbin/init;然后使用rpm -qf /sbin/init命令,可以查出init程序所在的软件包为SysVinit;最后,使用rpm -ql SysVinit命令,就可以看到这个软件包里面还有哪些程序、哪些文档以及它们分别位于文件系统的什么地方了,如下图:

Linux折腾记(一):玩转Linux系统的方法论(,linux)

  而Ubuntu属于另外一个流派。它的包管理器为dpkg。在Ubuntu中,首先,使用which init命令,可以查出init的完整路径为/sbin/init;然后使用sudo dpkg -S /sbin/init命令,可以查出init程序所在的软件包为upstart;最后,使用sudo dpkg -L upstart命令,就可以看到这个软件包里面还有哪些程序、哪些文档以及它们分别位于文件系统的什么地方了,如下图:

  用同样的方法研究一下CentOS 6.5,发现其init程序也是属于upstart软件包,如下图:

  究竟是什么样的优势使得upstart软件包取代了传统的SysVinit软件包呢?很显然,有了以上信息,我们在Google上以upstart、SysVinit作为关键字搜索一下又有何难。另外,还会有更先进的软件包取代upstart吗?让我们看看Fedora 用的什么,如下图:

  原来Fedora 用的是systemd。使用cat /etc/inittab命令可以显示inittab文件里面的内容,从其提示可以看出Runlevel的概念早已无影无踪。由此可见,inittab、RunLevel都不是Linux本身的哲学,只是软件层面的定义而已。

查找和安装软件包

  使用Ubuntu、CentOS、Fedora等Linux发行版有一个很省心的地方,那就是它们都具有官方的软件包仓库,只需要一个命令,就可以从仓库中查找、安装相应的软件包。Ubuntu系统使用的是apt-get或aptitude,Red Hat流派的系统使用的是yum。如下图,在Ubuntu中使用aptitude查找软件包:

  在CentOS 5中使用yum查找软件包:

怎么查看软件的文档

  Linux就是一座宝藏,其中有汗牛充栋的精心编写的文档,一辈子都学不完。要发掘这座宝藏,有两把钥匙必不可少,它们就是man和info。比如,想学习bash编程,可以尝试输入man bash来查看bash的文档,如下图(后面的截图都是将gnome-terminal全屏后的效果,完全模拟全文本界面,没有设置半透明背景):

  而对于GNU出品的软件,往往都提供info格式的文档,可以通过info命令阅读。例如,想了解Grub怎么安装和配置,可以输入info grub查看其文档,如下图:

  需要提一下,在Ubuntu中,很多软件的文档是单独打包的,可以通过aptitude search命令搜索,通过aptitude install命令安装相应的文档包。有些软件的文档可能不是man格式或info格式,而是html格式或pdf格式,这时,可以通过前面提到的方法找到这些文件都安装在文件系统的什么地方,然后使用相应的阅读器打开阅读。

阅读源代码

  通过查找软件包、无所不能的搜索引擎和精心编写的文档,我们基本上可以解决Linux系统下绝大部分的问题。只有极少数情况下,可能需要阅读源代码。

  在Ubuntu系统下,可以通过sudo apt-get source命令获取某一个包的源代码。比如要想学习getty是怎么写的,想看它的代码,使用如下图命令:

  在Ubuntu中,Linux内核的源代码是特例,它单独打包。可以使用如下命令搜索内核的源代码:

  yum自己并没有下载安装源代码包的功能。

  但是yum-utils软件包中的yumdownloader工具可以让人下载源代码包。命令为yumdownloader --source package-name。下载的源代码包是.src.rpm格式。如果只想阅读源代码,而不是想重新编译源代码的话,可以使用rpm2cpio命令和cpio命令对该源代码包进行解包。截图如下:

  源代码下载和安装后,如果仅仅只是阅读,使用Vim足以。在“Linux江湖”的后续系列中,我肯定会有一篇如何折腾Vim的博文,所以不在这里继续??隆?/p>总结

  掌握了以上方法论,当在Linux中碰到困难时,即使没有书本或别人的指导,也可以通过自己的努力找到解决问题的办法。前面提到的命令如下:

  Ubuntu系统:    which    dpkg -S    dpkg -L    aptitude search    aptitude install    apt-get source    man    info

  CentOS、Fedora系统:    which    rpm -qf    rpm -ql    yum list    yum install    yumdownloader --source    rpm2cpio    cpio    man    info

Linux blockdev命令设置文件预读大小介绍 在命令行调用设备的ioctl函数。在Linux系统中,似乎对设备的直接操作只有ioctl函数了。他接受的参数不是太多,而且都是一一对应的。blockdev-从命令行

Linux折腾记(二):打造属于自己的Vim Linux系统中很多东西都是以脚本代码、配置文件的形式存在,使用Linux系统时,需经常对这些文件进行编辑。很显然,如果没有文本编辑器,江湖之路寸

Linux折腾记(三):X Window的奥秘 大名鼎鼎的XWindow大家肯定不陌生。都知道它是Unix/Linux下面的窗口系统,也都知道它基于Server/Clinet架构。在网上随便搜一搜,也可以找到不少XWindow的介

标签: ,linux

本文链接地址:https://www.jiuchutong.com/biancheng/368234.html 转载请保留说明!

上一篇:Linux系统绑定多网卡的7种bond模式介绍(linux如何绑定域名)

下一篇:Linux blockdev命令设置文件预读大小介绍(linux block io)

  • 个体工商户是对公账户还是个人账户
  • 香港保险代理人佣金
  • 投资收益做什么
  • 高新技术企业预审要求
  • 顾客退货补差价怎么做账?
  • 政府补助计入资本公积是老准则吗
  • 营改增后房地产企业如何开票
  • 年薪12万个人所得税交多少钱
  • 私人转公账可以开发票吗
  • 关于进项税额转出的规定
  • 专票和普票的税率哪个高
  • 期初建账实验步骤
  • 销售折扣与折让影响应收账款周转率吗
  • 机票改签费要开发票吗
  • 个人非货币性资产投资个人所得税
  • 固定资产折旧怎么做记账凭证
  • linux系统怎么查看mac地址
  • Google Bard VS ChatGPT:哪个是更好的AI聊天机器人?
  • 支付宝国际驾照有效期是多久
  • 成本的分类有哪些如何分类
  • 企业招聘费用计算公式
  • 厂房租金计入什么费用部门
  • 鸿蒙系统怎样开启5G
  • php利用云片网实现短信验证码功能的示例代码
  • Linux Mount NTFS分区造成的权限问题如何解决?
  • linux 管道命令详解
  • 以专利权出资,能否使用专利权
  • 搬迁收入税务筹划
  • PHP:clearstatcache()的用法_Filesystem函数
  • 固定资产一次性扣除申报表怎么填
  • 最贵的手机号码值多少钱
  • 施工方可以向建设单位借款么
  • 房地产企业土地出让金抵减销项税额
  • 其他综合收益要交企业所得税吗
  • erp面试题目100及最佳答案
  • uniapp前端 django后端
  • php获取位置
  • 小企业会计准则应付税款法
  • 暂未取得发票的费用怎么入账
  • mongodb怎么用
  • mongodb skip limit
  • 单位出租厂房需交税吗
  • 母公司对子公司的控股比例
  • 购入不动产进项税额怎么抵扣
  • 小企业会计准则2023电子版
  • 每月工资不一样怎么算误工费呢
  • 机关事业单位购买口罩
  • 如何开具污水处理证明
  • 企业收到房租发票怎么做账
  • 商业汇票的会计核算
  • 外籍人员个税汇算清缴流程
  • 培训费属于什么应税项目
  • 应付职工薪酬账户贷方登记的是
  • 公司不注销有什么影响吗
  • 注册资本越多越好吗
  • 流动比率越高越好吗
  • windowsserver2008远程桌面怎么打开
  • 怎么把操作系统转移到另一个盘
  • centos的特点
  • linux oracle 01034
  • fsrremos.exe
  • win10预览版bug
  • Android游戏开发案例教程小小弹球
  • css display none之后怎么显示回来
  • Unity3D游戏开发标准教程吴亚峰于复兴人民邮电出版社
  • js实现鼠标事件
  • 内部变量 变成 外部变量
  • Vuforia unity3d 发布 eclipse工程
  • js代码示例
  • js代码怎么使用
  • jquery.treegrid
  • md5加密python
  • python中jsonpath
  • Python编程中装饰器的使用示例解析
  • 东莞网上办税服务厅
  • 煤炭资源税税率减半对上市公司影响
  • 国税纳税申报表打印
  • 买了发票但是税控机里显示没有发票怎么办?
  • 讲话和讲话精神的区别
  • 建立高效的法治实施体系,需要着力解决四个问题
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设