当前位置: 首页>>技术教程>>正文


掌握命令行的提示

,

问题描述

当我第一次从Windows迁移到Ubuntu时,到目前为止,我要做的最艰巨的事情就是使用命令行。

当你只习惯指向和点击时,打字命令是一种外星人的体验。

当我与新的Ubuntu用户交谈时,他们常常因为直接与他们的计算机交谈而感到不安。

是否有一个简单而友好的指南来帮助新用户熟悉命令行?

您有什么建议可以让您的体验更轻松或更有趣吗?

最佳解决方案

如果您正在寻找学习命令行的好指南,我最喜欢的是LinuxCommand.org

本指南将向您展示命令行的基础知识,甚至可以指导您编写有用的shell脚本。

也就是说,大多数用户不需要使用命令行进行大多数日常操作。我认为命令行不应该阻止用户迁移到Ubuntu。但是一旦你学会了命令行的力量,没有它你将无法生存!

次佳解决方案

以下是一些用于操作文件系统的常用命令:

  • cp [src] [dest] – 将src复制到dest

  • mv [src] [dest] – 将src移动到dest(也用于重命名)

  • cd [dir] – 将当前目录更改为dir

  • pwd – 打印当前目录

  • cat [file] – 将文件内容打印到屏幕上

  • rm [file] – 删除file1

  • rmdir [dir] – 删除空目录

使用sudo对任何命令进行前缀会导致命令以root用户身份执行。

1 – 不要键入sudo rm -rf /,因为它将擦除文件系统

第三种解决方案

1)标签完成:

节省大量时间。如果要键入命令,则只需输入足够的命令来提供只能以单一方式扩展的初始段,然后可以按TAB一次将初始段扩展为整个命令。因此,例如,在我的系统上,umo TAB扩展为umount。 (在我的系统上,初始段只能以一种方式扩展,这是你安装的功能等等)如果你输入的内容不足以使完成明确,TAB将不会扩展,但是第二个TAB将显示一个可能的完成列表。所以,在我的系统上,um TAB TAB产生:

umask       umax_pp     umount      umount.hal

选项卡完成也适用于路径:如果唯一,cd /home/me/docs/reallylo TAB将扩展为cd /home/me/docs/reallylongdirname,如果不是唯一的,则提供候选连续列表,如上面的um

2)man some-commandsome-command --helpsome-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:From Bash to Z Shell: Conquering the Command Line。虽然它已经有几年了,但我很高兴这并没有让我远离购买它。如果您不想切换到zsh,此建议也适用。

几年以来我一直在使用命令行(本地和通过SSH),我最近才切换到zsh自己(主要是因为我的自定义bash提示符,这是不兼容的)。这是我的zsh config(集成在我的dotfiles repository中)。

您可以使用chsh -s /bin/zsh来切换shell(通过/etc /passwd),或者只是从当前shell调用它,即在bash提示符下键入zsh(您可能必须先安装它(sudo apt-get install zsh)。

第五种方案

“apropos”(或它的等价物:“man -k”)找到做某事的命令。

$ apropos [my query]

例如,要查找复制文件的命令:

$ apropos copy

将列出一堆命令,其中

cp (1) - copy files and directories

是一个。

“cp”是命令,”1″是它出现的手册中的部分。第1部分是一般用户命令(其他部分包括库调用,您不会感兴趣)。要将搜索限制为仅限第1部分,请使用:

$ apropos -s1 [my query]

然后使用”man”了解有关该命令的更多信息。例如

$ man cp

第六种方案

尝试用鱼

fish是UNIX-like操作系统(如Linux)的用户友好命令行shell。

除了其他功能之外,它还具有比bash更高级的选项卡完成功能,这在学习时非常有用。

command-line,ubuntu

https://www.pablumfication.co.uk/2010/02/26/fish/

http://fishshell.org/index.php

第七种方案

history | grep SOMETHING – 查找在包含SOMETHING之前使用的命令。

fortune – 🙂

第八种方案

要学习如何使用命令添加空格,然后将”–help”添加到其末尾 – 这将告诉您如何使用它并提供选项列表。

例如

cp --help

第九种方案

Ubuntu Pocket Guide and Reference包含有关使用命令行的章节。它可以快速启动并运行命令行。

也可以免费下载或在线阅读。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/3081.html,未经允许,请勿转载。