我来自 Windows 世界,试图切换到 Linux。抱歉问了这个幼稚的问题,但是有没有类似“常见 Linux 命令”之类的东西?
例如,在 Windows 中,命令行非常有限,但它在所有窗口之间是通用的。因此,如果您知道dir
ormkdir
命令的作用以及它需要哪些开关,您就可以使用任何版本的 Windows 并确保您的 BATCH 文件正常工作。
然而,在 Linux 中,如果我理解正确的话,有很多方法可以做同样的事情。例如,要编辑文件,您可以使用 EMACS 或 VIM。就连外壳也种类繁多(是bash
事实上的标准吗?)
据我目前所知,命令行比 Windows CMD 更加灵活(且通用)。类似Busybox
承诺将大量命令打包到一个项目中。不管怎样,这一切都太令人难以承受了,所以我想知道是否有一小部分在所有系统之间通用的 Linux 命令,并且我可以在每台 Linux 机器上执行日常任务,无论其发行版如何。
答案1
这个最有用的命令列表以及每个命令的简要说明将帮助您入门。该列表也不与任何发行版绑定,这非常有用。
答案2
当然,有“常见的 Linux 命令”,但我怀疑您是否会找到平均最常使用哪些命令的统计数据,并且不同的人使用不同的命令。没有权威会说“这个命令是通用的,这个不是”。
有一些命令是标准跨类 Unix 操作系统,定义为POSIX。然而标准不等于常见的。有些命令由于存在很长时间并被许多供应商纳入而成为标准。命令如compress
和tsort
是标准的,但你可能永远不会使用它们 -compress
已被更好的压缩实用程序取代,例如gzip
,并且tsort
是一个相当晦涩的功能。另一方面,诸如mount
以下的命令事实上的标准,但不是法律上的,因为他们的运作方式差异太大。有些命令像bash
它自己一样,只有一种实现,而且非常常见。
非嵌入式 Linux 系统以及 Cygwin 都附带GNU 核心工具。该软件包提供了ls
、mkdir
等基本命令(和tsort
)。这实用程序Linux该软件包在非嵌入式 Linux 系统中也几乎是通用的。忙碌盒是一组适用于嵌入式系统的实用程序,其功能与 GNU coreutils 和 util-linux 相同,但功能有所减少。
没有明确的常用命令列表,但有很多关于 Linux 命令行的书籍和教程。我建议你一点一点地阅读其中的一些内容。当然,当您需要做某事时,请去寻找可以完成此任务的命令。除了网络搜索引擎之外,您可能会发现恰到好处命令很有用——例如,如果你想复制一个文件,你可以运行它apropos -s 1 copy
,它会显示一个命令列表,其简短描述包括单词“复制”。由于apropos
两者都包含大量误报(“复制 ID3 标签”、“系统到系统复制”等),并且可能会因为其描述使用不同的公式而错过命令,因此您通常会得到更好的结果网络搜索引擎它尝试根据相关性和受欢迎程度对结果进行排名。
我将提供一个有用命令的简短列表。这绝不是一个详尽的列表,甚至也不是您最常使用的命令的列表,但它们是常见任务,了解它们非常有用。
答案3
*nix 以及一般开源的美妙之处在于您不缺乏资源。尽管存在异常值,但大多数 *nix CLI 的行为类似。暂时不用担心他们。了解 BASH。 99% 的情况下,它将是您的口译员。学习 vim,并且现在知道大多数发行版只包含 vim-tiny,因此一旦 cli 登陆就安装包“vim”。
// 这是一个很好的备忘单。还有很多,搜索“BASH Cheat Sheet”即可
https://github.com/NisreenFarhoud/Bash-Cheatsheet
// 这是全面的初学者指南。非常值得一读。
http://www.tldp.org/LDP/Bash-Beginners-Guide/html/Bash-Beginners-Guide.html
// 阅读组件部分
http://en.wikipedia.org/wiki/Unix
一旦您习惯了基础知识,请查看其他人的 bash shell 脚本。 No Starch Press 的 Wicked Cool BASH Scripts 值得一读。这里还有一个。
这是我的:
find ~/ -mtime $(echo $(date +%s) - $(date +%s -d"Dec 31, 2009 23:59:59") | bc -l | awk '{print $1 / 86400}' | bc -l)