千锋教育-做有情怀、有良心、有品质的IT职业教育机构

位置:首页 > 行业动态

千锋广州Linux培训的老师告诉你学习时需要了解内容

时间:2018-04-18 14:07:43  |  来源:广州千锋  |  作者:广州千锋

  使用Linux,随着时间的推移,你可以不断获得新的知识。每天,你都可能会遇到一个新的实用工具,或者只是一个不太熟悉的奇技淫巧,但是却非常有用。这些零碎的东西并不总是能够改变生活,但是却是专业知识的基础。今天,就让千锋老师,来给你说说吧!
 
  即使是,也不可能事事皆知。无论你有多少经验,可能总会有多的东西需要你去学习。所以,在这儿,千锋老师列出了七件关于 Linux 你可能不知道的事情。
 
  3.jpg
 
  你可能对  history 命令非常熟悉,它会读取 bash 历史,然后以编号列表的方式输出到标准输出(stdout)。然而,如果你在?curl?命令的海洋里寻找一个特定的链接(URL),那么这个列表并不总是那么容易阅读的。
 
  你还可以有另一个选择,Linux 有一个交互式的反向搜索可以帮助你解决这个问题。你可以通过快捷键?ctrl+r启动交互模式,然后进入一个交互提示中,它将会根据你提供的字符串来向后搜索 bash 历史,你可以通过再次按下 ctrl+r 向后搜索老的命令,或者按下 ctrl+s 向前搜索。
 
  注意,ctrl+s 有时会与 XON/XOFF 流控制冲突,即 XON/XOFF 流控制也会使用该快捷键。你可以通过运行 stty -ixon 命令来禁用该快捷键。在你的个人电脑上,这通常是有用的,但是在禁用前,确保你不需要 XON/XOFF 。
 
  4.jpg
 
  Cron 任务对于任何水平的系统管理员,无论是毫无经验的初学者,还是经验丰富的来说,都是非常有用的。但是,如果你需要安排一个一次性的任务,那么?at?命令为你提供了一个快捷的方式来创建任务,从而你不需要接触 crontab 。
 
  at 命令的运行方式是在后面紧跟着你想要运行任务的运行时间。时间是灵活的,因为它支持许多时间格式。包括下面这些例子:
 
  5.jpg
 
  当你以带参数的方式输入 at 命令以后,将会提示你该命令将在你的 Linux 系统上运行。这可能是一个备份脚本,一套维护任务,或者甚至是一个普通的 bash 命令。如果要结束任务,可以按  ctrl+d 。
 
  另外,你可以使用 atq 命令查看当前用户的所有任务,或者使用 sudo atq 查看所有用户的任务。它将会展示出所有排定好的任务,并且每个任务都伴有一个 ID 。如果你想取消一个排定好的任务,可以使用 atrm 命令,并且以任务 ID 作为参数。
 
  6.jpg
 
  记住命令的名字非常困难,特别是对于初学者来说。幸运的是,Linux 附带了一个通过名字和描述来搜索 man 页面的工具。
 
  下次,如果你没有记住你想要使用的工具的名称,你可以尝试使用?apropos?命令加上你想要干的事情的描述。比如,apropos build filesystem?将会返回一系列名字和描述包括了 “build” 和 “filesystem” 单词的工具。
 
  apropos 命令接受一个或多个字符串作为参数,但同时它也有其他参数,比如你可以使用 -r 参数,从而通过正则表达式来搜索。
 
  7.jpg
 
  如果你曾进行过软件开发,你就会明白跨项目管理不同版本的语言的支持的重要性。许多 Linux 发行版都有工具可以来处理不同的内建版本。
 
  可执行文件比如 java 往往符号链接到目录  /etc/alternatives下。反过来,该目录会将符号链接存储为二进制文件并提供一个管理这些链接的接口。Java 可能是替代系统常管理的语言,但是,经过一些配置,它也可以作为其他应用程序替代品,比如 NVM 和 RVM (NVM 和 RVM 分别是 NodeJS 和 Ruby 的版本管理器)。
 
  在基于 Debian 的系统中,你可以使用?update-alternatives?命令创建和管理这些链接。在 CentOS 中,这个工具就叫做?alternatives?。通过改你的 alternatives 文件中的链接,你便可以安装一个语言的多个版本,并且在不同的情况下使用不同的二进制。这个替代系统也提供了对任何你可能在命令行运行的程序的支持。
 
  8.jpg
 
  我们大多数时候总是使用 rm 命令来删除文件。但是文件去哪儿了呢?真相是 rm 命令所做的事情并不是像你所想像的那样,它仅仅删除了文件系统和硬盘上的数据的硬链接。硬盘上的数据依旧存在,直到被另一个应用重写覆盖。对于非常敏感的数据来说,这会带来一个很大的安全隐患。
 
  shred 命令是 rm 命令的升级版。当你使用 shred 命令删除一个文件之后,文件中的数据会被多次随机覆写。甚至有一个选项可以在随机覆写之后对所有的数据进行清零。
 
  如果你想安全的删除一个文件并且以零覆盖,那么可以使用下面的命令:
 
  shred -u -z [file name]
 
  同时,你也可以使用 -n 选项和一个数字作为参数,从而指定在随机覆盖数据的时候迭代多少次。
 
  9.jpg
 
  有多少次,你输入一个文件的路径,然而却看到“没有该文件或目录”的消息。任何人都会明白输入一个很长的字符串的痛苦。幸运的是,有一个很简单的解决办法。
 
  内建的?shopt?命令允许你设置不同的选项来改变 shell 的行为。设置 cdspell 选项是避免输入文件路径时一个字母出错的头痛的一个简单方式。你可以通过运行 shopt -s cdspell 命令来启用该选项。启用该选项后,当你想要切换目录时,会自动正为匹配的目录。
 
  Shell 选项是节省时间的一个好方法(不用说减少麻烦),此外还有许许多多的其他选项。如果想查看你的系统中所有选项的完整列表,可以运行不带参数的?shopt?命令。需要注意的是,这是 bash 的特性,如果你运行 zsh 或者其他可供选择的 shell,可能无法使用。
 
  10.jpg
 
  如果你曾经配置过一个比较复杂的系统,那么你可能会发现你需要频繁的换目录,从而很难跟踪你所在的位置。如果在运行完一个命令后自动返回到当前位置,不是很好吗?
 
  Linux 系统实际上提供了一个解决该问题的方法,并且非常简单。如果你想通过?cd?命令进入另一个目录完成一些任务,然后再返回当前工作目录,那么你可以将命令置于括号中。你可以在你的 Linux 系统上尝试下面这个命令。记住你当前的工作目录,然后运行:
 
  11.jpg
 
  该命令会输出 /etc 目录的内容。现在,检查你的当前工作目录。它和执行该命令前的目录一样,而不是 /etc 目录。
 
  它是如何工作的呢?运行一个括号中的命令会创建一个子 shell 或一个当前 shell 进程的复刻副本。该子 shell 可以访问所有的父变量,反之则不行。所以请记住,你是在运行一个非常复杂的单行命令。
 
  在并行处理中经常使用子 shell ,但是在命令行中,它也能为你带来同样的力量,从而使你在浏览文件系统时加容易。
 
  千锋广州Linux培训课程,面向大学计算专业的学生、大学非计算专业的学生、现从事网络工程方面工作的人员、现从事软件开发方面工作的人员、现从事基础运维工作的人员、现从事非IT类工作的小白、向往IT行业的人群等,全部学习下来,学员可以成为经验丰富的linux开发工程师。千锋有的linux视频教程帮助学员快速学习。

上一篇:广州Java培训多少钱?要看学科质量怎么样
下一篇:返回列表

新开班New

  • 广州地址:广州市天河区元岗路310号智汇park创意园E座5层
    咨询电话:020-22119207 400-654-7778
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训
  • 北京天丰利校区:北京市海淀区宝盛北里西区28号天丰利商城4层
    北京沙河校区:北京市昌平区沙阳路18号北京科技职业技术广场服务楼2层、南区服务楼2层
    咨询电话:400-654-7778 010-82790226-801
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、UI课程培训、好程序员特训营
  • 深圳西部硅谷校区:深圳市宝安区宝安大道5010号西部硅谷B座A605-619
    深圳科技园校区:广东省深圳市南山区高新技术产业园R3栋B5楼
    深圳大学城校区:深圳市南山区留仙大道1201号大学城创客小镇16栋2楼、3楼
    咨询电话:0755-86681178/9-801
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、UI课程培训、PHP培训、JavaEE培训、好程序员特训营
  • 上海地址:上海市宝山区同济支路199号智慧七立方3号楼2-4层
    咨询电话:400-627-7899 021-65025129-602
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、UI课程培训、好程序员特训营
  • 郑州地址:郑州市金水区纬五路21号河南教育综合楼(经纬中学楼)6/7/8层
    咨询电话:0371-55911950 400-654-7778
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、UI课程培训
  • 大连地址:大连市高新园区软件园路2号B8座
    咨询电话:0411-39026086 400-654-7778
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训
  • 武汉地址:武汉市东新区光谷大道77号金融港B26栋9楼
    咨询电话:027-59905902 027-59905908 027-59905909
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训
  • 成都旅游校区:成都市一环路西二段17号四川旅游青羊校区内
    成都华立校区:成都一环路西二段17号华立大厦3楼
    咨询电话:028-83178771 028-61967740
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、UI课程培训
  • 西安地址:西安市二环南路西段60号永安大厦4层
    西安科技园校区:西安市雁塔区高新六路52号立人科技园C座西区4层
    咨询电话:029-85260160 029-85261030 029-85260960
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训
  • 杭州地址:浙江省杭州市江干区九堡旺田书画城A座4层
    咨询电话:0571-86893632 010-82790226/7-801
    面授课程:iOS课程培训、Android课程培训
  • 青岛校区地址:青岛市市南区金坛路17号青岛职业技术南校区实训楼A4层
    咨询电话:0532-80910752/3 010-82790226/7-801
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、UI课程培训
  • 了解千锋动态
    关注千锋教育服务号

  • 扫码匿名提建议
    直达CEO信箱