当我第一次从 Windows 迁移到 Ubuntu 时,迄今为止我必须做的最令人生畏的事情是使用命令行。
当您只习惯于指向和单击时,键入命令是一种陌生的体验。
当我与新的 Ubuntu 用户交谈时,他们通常对直接与他们的计算机交谈的想法感到不安。
是否有简单友好的指南来帮助新用户熟悉命令行?
您有什么提示可以使体验更轻松或更有趣吗?
Dar*_*-on 17
如果您正在寻找学习命令行的好指南,我最喜欢的是LinuxCommand.org
该指南将向您展示命令行的基础知识,甚至会指导您编写有用的 shell 脚本。
也就是说,大多数用户不需要在大多数日常操作中使用命令行。我不认为命令行应该阻止用户迁移到 Ubuntu。但是,一旦您了解了命令行的强大功能,您将离不开它!
Nat*_*man 15
以下是一些用于操作文件系统的常用命令:
cp [src] [dest] - 将 src 复制到 destmv [src] [dest] - 将 src 移动到 dest(也用于重命名)cd [dir] - 将当前目录更改为 dirpwd - 打印当前目录cat [file] - 将文件内容打印到屏幕上rm [file]- 删除文件1rmdir [dir] - 删除一个空目录为任何命令添加前缀sudo会导致命令以 root 用户身份执行。
1 - 不要输入,sudo rm -rf /因为它会擦除文件系统
van*_*den 12
1)标签完成:
一个巨大的节省时间。如果您正在键入命令,则只需键入足够的命令以提供只能以单一方式扩展的初始段,然后可以按一次 TAB 将初始段扩展为整个命令。因此,例如,在我的系统上umo TAB扩展为umount. (在我的系统上,初始段只能以一种方式扩展取决于您已安装的功能等。)如果您输入的内容不够明确,TAB 将不会扩展,但第二个 TAB 将显示一个可能完成的列表。所以,在我的系统上,um TAB TAB产生:
umask umax_pp umount umount.hal
Run Code Online (Sandbox Code Playgroud)
选项卡完成也适用于路径:cd /home/me/docs/reallylo TAB如果唯一,将扩展为cd /home/me/docs/reallylongdirname,如果不是唯一,则提供与um上述相同的候选延续列表。
2)man some-command或some-command --help或some-command -h:
如果您不记得命令是如何工作的,您可以直接在 shell 中获取文档。man通常提供最详细的信息。通常,命令的--help和-h参数之一或两者提供简短摘要。
3)head:
man some-command接管终端并阻止您在显示 man 文本时输入命令。man some-command | head将显示前 10 行。man some-command | head -n将显示前 n 行。在这两种情况下,您都会得到提示,这样您就可以在输入命令时在屏幕上显示 man 文本。
切换到 zsh!
虽然它与 bash 非常相似,但它具有许多开箱即用的不错的附加功能(例如,即使在前面的路径组件中也可以更正拼写错误,或者是一个有用的小部件来调用当前命令的帮助(通过 run-help;例如,我在输入后按 ESC-h mplayer,它会打开手册页。关闭它后,我又回到了旧行))。
我推荐以下这本书,其中涵盖了 zsh、bash 和其他一些 shell:
从 Bash 到 Z Shell:征服命令行。虽然它已经有几年的历史了,但我很高兴这并没有让我放弃购买它。如果您不想切换到 zsh,此建议也适用。
几年以来我一直在使用命令行(在本地和通过 SSH),我最近才自己切换到 zsh(主要是因为我的自定义 bash 提示符不兼容)。这是我的zsh 配置(集成在我的dotfiles 存储库中)。
您可以使用chsh -s /bin/zsh切换您的 shell(通过 /etc/passwd),或者只是从您当前的 shell 中调用它,即输入zsh您的 bash 提示符(尽管您可能必须先安装它 ( sudo apt-get install zsh)。
“apropos”(或等效的:“man -k”)来查找执行某事的命令。
$ apropos [my query]
Run Code Online (Sandbox Code Playgroud)
例如,要找到复制文件的命令:
$ apropos copy
Run Code Online (Sandbox Code Playgroud)
会列出一堆命令,其中
cp (1) - copy files and directories
Run Code Online (Sandbox Code Playgroud)
是一个。
“cp”是命令,“1”是手册中出现的部分。第 1 部分是一般用户命令(其他部分包括诸如库调用之类的内容,您不会对此感兴趣)。要将搜索限制为仅第 1 部分,请使用:
$ apropos -s1 [my query]
Run Code Online (Sandbox Code Playgroud)
要了解有关命令的更多信息,请使用“man”。例如
$ man cp
Run Code Online (Sandbox Code Playgroud)