欢迎光临
我们一直在努力

Linux命令行的日常使用技术

  有人说Linux的命令行就是一种艺术,由命令行形成的Linux系统的架构呈现丰富多变的样貌,这就才是Linux的魅力所在。本文就来介绍一下Linux命令行的日常使用技术。

Linux命令行的日常使用技术

  curl -s ‘https://raw.githubusercontent.com/jlevy/the-art-of-command-line/master/README.md’ | egrep -o ‘`\w+`’ | tr -d ‘`’ | cowsay -W50

  流畅地使用命令行是一个常被忽略的技能,或被认为是神秘的奥义。但是,它会以明显而微妙的方式改善你作为工程师的灵活度和生产力。这是我在 Linux 上工作时发现的有用的命令行使用小窍门和笔记的精粹。有些小窍门是很基础的,而有些是相当地特别、复杂、或者晦涩难懂。这篇文章不长,但是如果你可以使用并记得这里的所有内容,那么你就懂得很多了。

  其中大部分最初出现在Quora上,但是考虑到兴趣所在,似乎更应该放到 Github 上,这里的人比我更能提出改进建议。如果你看到一个错误,或者更好的某种东西,请提交问题或 PR!(当然,提交前请看看必读小节和已有的 PR/Issue。)

  必读

  范围:

  本文是针对初学者和专业人员的,选题目标是覆盖面广(全都很重要)、有针对性(大多数情况下都给出具体实例)而简洁(避免不必要内容以及你能在其它地方轻松找到的离题的内容)。每个小窍门在某种情形下都很必需的,或者能比替代品大大节省时间。

  这是为 Linux 写的。绝大部分条目都可以同样应用到 MacOS(或者甚至 Cygwin)。

  主要针对交互式 Bash,尽管大多数小窍门也可以应用到其它 shell,以及常规 Bash 脚本。

  包括了“标准的”UNIX 命令以及那些需要安装的软件包(它们很重要,值得安装)。

  注意:

  为了能在一篇文章内展示尽量多的东西,一些具体的信息会被放到引用页里。你可以使用 Google 来获得进一步的内容。(如果需要的话,)你可以使用 apt-get/yum/dnf/pacman/pip/brew 来安装这些新的程序。

  使用 Explainshell 来获取命令、参数、管道等内容的解释。

  基础

  学习基本 Bash 技能。实际上,键入man bash,然后至少浏览一遍所有内容;它很容易理解,没那么长。其它 shell 也不错,但是 Bash 很强大,而且到处都可以找到(如果在你自己的笔记本上只学习 zsh、fish 之类,会在很多情形下受到限制,比如使用现存的服务器时)。

  至少学好一种基于文本的编辑器。理想的一个是 Vim(vi),因为在终端中编辑时随时都能找到它(即使大多数时候你在使用 Emacs、一个大型的 IDE、或一个现代的时髦编辑器)。

  学习怎样使用 man 来阅读文档(好奇的话,用 man man 来列出分区号,比如 1 是常规命令,5 是文件描述,8 用于管理员)。用 apropos 找到帮助页。了解哪些命令不是可执行程序,而是 Bash 内置的,你可以用 help 和 help -d 得到帮助。

  学习使用 》 和 《 来进行输出和输入重定向,以及使用 | 来管道重定向,学习关于 stdout 和 stderr 的东西。

  学习 *(也许还有 ? 和 {。..} )文件通配扩展和应用,以及双引号 “ 和单引号 ‘ 之间的区别。(更多内容请参看下面关于变量扩展部分)。

  熟悉 Bash 作业管理:&, ctrl-z, ctrl-c, jobs, fg, bg, kill 等等。

  掌握ssh,以及通过 ssh-agent,ssh-add 等进行无密码验证的基础技能。

  基本的文件管理:ls 和 ls -l(特别是,知道ls -l各个列的意义),less, head, tail 和 tail -f(或者更好的less +F),ln 和 ln -s(知道硬链接和软链接的区别,以及硬链接相对于软链接的优势),chown,chmod,du(用于查看磁盘使用率的快速摘要:du -sk *)。文件系统管理:df, mount,fdisk,mkfs,lsblk。

  基本的网络管理: ip 或 ifconfig,dig。

  熟知正则表达式,以及各种使用grep/egrep的选项。-i,-o,-A 和 -B 选项值得掌握。

  学会使用 apt-get,yum ,dnf 或 pacman(这取决于你的发行版)来查找并安装软件包。确保你可以用 pip 来安装基于 Python 的命令行工具(下面的一些东西可以很容易地通过 pip 安装)。

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《Linux命令行的日常使用技术》
文章链接:https://pc.adminn.cn/2203.html
本站属非盈利性网站,不接受任何形式广告。本站提供文章纯教程分享,给网民提供教程,文章均采集网路,如侵犯您的权益,请联系我们删除,QQ:805750011。