问题描述
当我第一次从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-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: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更高级的选项卡完成功能,这在学习时非常有用。
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包含有关使用命令行的章节。它可以快速启动并运行命令行。
也可以免费下载或在线阅读。