如何在戴尔计算机上使用 Ubuntu Linux 终端
Summary: 本文是一篇参考文章,介绍了您必须了解的终端惯例用法。您需要了解终端命令,以便充分利用戴尔计算机上的 Linux Ubuntu 操作系统。
Symptoms
目录:
使用终端 Shell 查明命令的用途和使用方式
本文中将说明如何使用终端命令来提供有关某些命令及其用途的信息。
此外,还提供示例来阐释该过程。
命令行工具十分强大。现有的工具可以在图形用户界面 (UI) 中处理乏味的作业,并将其转换为只需数秒钟即可完成的任务。在用户界面应用程序中,删除大文件每行的最后四行将是一个漫长的过程。但是,它可以在命令行上自动化执行。
在 Ubuntu Linux 中打开终端窗口的最常见方法是:
- 使用桌面搜索功能查找终端、命令或提示符,这会打开终端窗口。
- 如果您使用菜单查找终端窗口,大多数版本的 Linux 会将其置于与其他应用程序启动程序相同的位置。
- 以下键盘快捷方式适用于大多数 Ubuntu 版本和其他类型的 Linux。同时按下 CTRL + Alt + T 键。
目前有许多命令与 Ubuntu Linux 中的终端 Shell 相关联。下面的文章列出了它们所影响的群体中的大多数人。
Cause
Resolution
哪些 Ubuntu Linux 终端命令可以提供此信息?
我们使用三个主要命令来提供使用各种终端命令所需的全部信息。
该 man 命令会显示终端中使用的任何命令的手册。
大多数 shell 命令接受各种选项。要获取有关命令和可用选项列表的某些信息,请使用 man - manual 的缩写命令。提供要查找更多相关信息的命令的名称作为其参数。这就是 man 命令将要发挥作用的命令。
示例:如果输入命令 man who,将显示以下输出。
WHO(1) User Commands WHO(1) NAME who - show who is logged on SYNOPSIS who [OPTION}... [ FILE | ARG1 ARG2 ] DESCRIPTION -a, --all same as -b -d --login -p -r -t -T -u -b, --boot time of last system boot -d, --dead print dead processes -H, --heading print line of column headings -i, --idle add idle time as HOURS:MINUTES, . or old (deprecated, use -u) -l, --login print system login processes --lookup attempt to canonicalize hostnames via DNS -m, only hostname and user associated with stdin Manual page who(1) line 1
许多手册都有几个屏幕那么长。使用光标或 ARROW 键,或 Page Up 和 Page Down 键来浏览文本。空格键显示下一行文本。按 q 键可退出手册并返回到 shell。
在 man 页面中可以看到,我们可以使用 -a 选项来显示有关活动用户会话的更多信息。
user@3[user]$ who -a
|
|
|
|
Nov 14 13:47 |
|
10 |
id=si |
term=0 |
exit=0 |
|
|
|
system boot |
Nov 14 13:47 |
|
|
|
|
|
|
|
|
run-level 5 |
Nov 14 13:47 |
|
|
Last=S |
|
|
|
|
|
|
Nov 14 13:47 |
|
835 |
id=15 |
term=0 |
exit=0 |
LOGIN |
|
|
tty1 |
Nov 14 13:47 |
|
958 |
id=1 |
|
|
root |
|
- |
tty2 |
Nov 14 19:15 |
00:19 |
959 |
|
|
|
user |
|
- |
tty3 |
Nov 14 19:28 |
00:06 |
960 |
|
|
|
LOGIN |
|
|
tty4 |
Nov 14 13:47 |
|
961 |
id=4 |
|
|
LOGIN |
|
|
tty5 |
Nov 14 13:47 |
|
962 |
id=5 |
|
|
LOGIN |
|
|
tty6 |
Nov 14 13:47 |
|
963 |
id=6 |
|
|
user |
|
? |
:0 |
Nov 14 13:47 |
? |
965 |
|
|
|
|
|
|
pts/3 |
Nov 14 16:29 |
|
1746 |
id=/3 |
term=0 |
exit=0 |
user@3[user]$
此外,它会读取程序的帮助文件, man 命令还可以提供有关 shell、函数和库的信息。
如果您不确定如何使用特定的命令,则运行该命令,并且加上 -h 或 –help 交换机.您看到用法信息和可与命令配合使用的选项列表。
示例:如果您想知道如何使用 wget 命令,则键入 wget –help 或 wget -h。
User@Ubuntu@#$ wget --help GNU Wget 1.12, a non-interactive network retriever. Usage: wget [OPTION]... [URL]... Mandatory arguments to long options are mandatory for short options t oo. Startup: -V, --version display the version of Wget and exit. -h, --help print this help. -b, --background go to background after startup. -e, --execute=COMMAND execute a '.wgetrc' -style command. Logging and input file:
这通常会将大量信息打印到终端。滚动浏览可能难以实行。要更轻松地读取输出,您可以 pipe 通过 less 命令。这允许您使用键盘上的光标或箭头键进行滚动浏览。
示例: wget -help | less
GNU Wget 1.12, a non-interactive network retriever. Usage: wget [OPTION]... [URL]... Mandatory arguments to long options are mandatory for short options t oo. Startup: -V, --version display the version of Wget and exit. -h, --help print this help. -b, --background go to background after startup. -e, --execute=COMMAND execute a '.wgetrc' -style command. Logging and input file: -o, --output-file=FILE log messages to FILE. :
操作完成后,按 q 键可关闭 less 实用程序。
要查找特定选项,您可以 pipe 通过命令传输 grep 该输出。(例如:使用以下命令搜索包含某单词的选项 proxy.)
wget -help | grep proxy
User@ubuntu:~$ wget --help | grep proxy --no-proxy explicitly turn off proxy. --proxy-user=USER set USER as proxy username. --proxy-password=PASS set PASS as proxy password. User@Ubuntu:~$
某些命令也记录在 info 系统中。此处的信息补充了 man 命令所显示的内容。
示例:输入命令 info ls, 将显示以下输出。
[support@support]$" info ls
您现在可以查看包含有关 ls 命令的重要信息的手册。
File: coreutils.info, Node: ls invocation, Next: dir invocation, Up: Directory listing 'ls': List directory contents ============================= The 'ls' program lists information about files (of any type, including directories). Options and file arguments can be intermixed arbitrarily, as usual. For non-option command-line arguments that are directories, by default 'ls' lists the contents of directories, not recursively, and omitting files with name beginning with '.'. For other non-option arguments, be default 'ls' lists just the file name. If no non-option argument is specified, 'ls' operates on the current directory, acting as if it had been invoked with a single argument of '.'. By default, the output is sorted alphabetically, according to the locale settings in effect. (1) If standard output is a terminal, the output is in columns (sorted vertically) and control characters are output as question marks; otherwise, the output is listed one per line and control characters are output as-is. --zz-Info: (coreutils.info.gz)ls invocation, 48 lines --Top------------------ Welcome to info version 4.3 Type C-h for help, m for menu item.
通过按空格键或使用光标/ARROW 键,您可以向下滚动页面。
- 对于
help,按 H - 修改至
quit,按 Q - 要搜索菜单项,请按 M。
终端 Shell 教程
您可以在终端中执行几乎所有操作,这些也可以从用户界面进行。
正如前面所述,许多命令首先被设计成在终端中工作,然后用户界面才在此基础上进行构建。这就是某些 GUI 可能让人感觉笨拙的原因 — 它们在开始时是事后添加的事物,因为大多数 Linux 服务器内部版本并不会为它们操心。
从菜单打开终端的默认位置是在您的 home 文件夹。被称为 ~
您可以通过 . 操作符查找当前目录。大多数命令当它们作用于当前文件夹选择时,对命令、位置和文件的操作是区分大小写的。 /home 不同于 /HOME 或 /Home。
如果驱动程序名称很长,请使用 TAB 键来填入文件名。 driver-128947232jaseu.sh 例如,键入 dri ,它会输入剩余的部分。在没有 2 个以 dri 开头的名称的情况下,如果您这么做,请添加另一个字符,以使其成为 driv ,然后重试。确保自动完成与您想要看到的内容相匹配。
通过使用 man 页面 -h 或 --help 在写入初始命令后键入 ,可以完整阅读几乎所有命令的相关信息。此语法是 man command_name、 command_name -h 或 command_name --help。
要获取更多信息,您可以使用 info。通过使用 ,可以搜索命令 info command_name。对于属于 coreutils 包的大多数这类命令,您也可以查找 info ,方法是使用 info coreutils command_name 调用 ,其中 由搜索到的命令进行替换 command_name。
几乎所有命令都可以逐步准确地显示正在发生的事情。这通常包括 -v 或 --verbose。
您可以一次性为命令指定多个命令标记,以获取更多信息。请参阅 ls -al 以下示例。
命令名称并不总是显而易见 — 在以前的 UNIX 中,由于空间限制,命令名称遭到缩短,这些约定一直保留下来。
须了解的有用命令
-
cd— 将您移回到主目录,等同于cd ~ -
cd..— 使您返回一个目录。从/home/user/Desktop开始,cd..使您进入/home/user。这可以扩展为cd ../../,它会将您移回 2 个目录,以便进入/home。 -
cd foldername/— 将您向前移动到当前文件夹中的给定文件夹。
/,它是重要的省略。如果我位于 /home/user ,并且想要到达 Desktop。我必须键入 cd Desktop/ ,并且在 / 之前没有 Desktop。在它前面键入 / 会将我们置于将会无法工作的文件系统的根目录。
-
cd /some/other/path— 将您转至指定的文件夹路径。只要路径正确即可。请勿忘记,您可以使用TAB键来自动完成。
-
ls— 列出当前文件夹中的所有文件。 -
ls -l— 提供更长的列表,其中包括所有者、权限、大小和修改日期。 -
ls -a— 显示隐藏的文件和文件夹以及正常列表。 -
ls -al— 组合两个选项以显示隐藏的文件和文件夹,并以长格式显示。 -
ls -h— 以人类可读格式KB, MB, GB,文件大小(而非字节)来显示文件大小。它最常与-l标记一起使用。 -
您可以查看自己甚至不在其中的目录中的文件。如果我位于
/home/user/Desktop,并且想要查看/home/user中的文件,则可以执行ls ../,它将会列出上一层目录的文件。
-
cp file /path/to/folder— 将指定的文件复制到给定路径。 -
cp -r folder /path/to/folder— 将文件夹的内容重复复制到另一个文件夹。 -
cp *.extension /path/to/folder— 将与给定扩展名匹配的文件复制到新文件夹。要复制所有 .doc 文件,它将变为cp *.doc /path/to/folder,并且文件夹必须存在。 -
cp name* /path/to/folder— 将以name开头的所有文件复制到给定文件夹。要复制以example开头的所有文件,它将变为cp example* /path/to/folder,并且文件夹必须已存在。
-
的语法
mv与上面的示例相似,只需将示例 #2 的cp免除即可。mv不采用-r标记,这是因为移动文件夹也会移动其内容。该语法并不是在所有实例中都是准确的,但是可以用于上面的示例。有关更多详细信息,请查阅您的手册页。
-
使用
rm删除文件是永久性的。它不使用垃圾桶。谨慎使用此功能,并确保删除内容正是您想要删除的项,然后再按Enter键。如果您使删除命令过于复杂,则它可能不会很好地结束。 -
rm file— 从计算机中删除该特定的文件。 -
rm -r folder— 从计算机中删除该特定的文件夹。 -
rm -rf folder— 从计算机中强行删除该特定文件夹。如果使用不当,此命令可能会使配置混乱。
-
您可以在终端中使用
nano编辑文件,从而快速而粗略地执行文件编辑,直至完整配置为止。它可能很有用,但它只处理纯文本文件和编程文件,因此像 Microsoft Word 文档之类的文件无法正常打开。 -
如果文件归 root 所有,则常规用户无法对其进行编辑。
nano必须带有前缀sudo;以便保存更改。否则,它在只读模式下打开。 -
nano newfile.whatever隶属于指定的名称,您可将它打开以进行编辑。 -
nano existing_file— 打开现有文件进行编辑。 -
从内部的
nano -
通过同时按
CTRL+O键来保存文件,然后更改名称或按Enter键以保持相同的名称。这将保存文件。 -
退出
nano通过同时使用CTRL+X键。如果您有未保存的更改,则它会询问您是否要保存它们。
-
mkdir folder_name— 使用指定的名称创建文件夹 -
mkdir -p /path/to/folder/name— 根据需要创建每个文件夹。要创建文件夹/home/user/1stfolder/2ndfolder,并且仅/home/user存在,使用mkdir -p将创建两个目录1stfolder,和2ndfolder。
-
ps aux— 详细地列出计算机上正在运行的所有进程。这包括用户、进程 IDPID,和进程名称。通过使用此命令,您可以查看进程列表,如有必要,您可以终止不必要的进程或暂停的进程。
-
kill PID— PID 是引用有问题的进程的数字。您应该从 等命令获取 PIDps aux。如果某个进程拒绝停止运行,您还可以指定kill -9 PID,这应该会以所有方式终止该进程。
-
killall program-Killall会按名称(即,by name)终止列出的程序(即,listed program)的所有实例。例如,如果打开了 3 个 Firefox Internet 浏览器会话,killall Firefox将执行操作,终止所有 Firefox 会话。kill将只采用您希望终止的有问题的 Firefox 进程的指定 PID,然后仅终止该进程。 -
xkill是一种用于单击和关闭窗口的用户界面方式。键入xkill应该会出现头骨加交叉腿骨图标,并且将关闭下一个单击打开的窗口。
-
Pipes显示为straight bar,也称为|键。 -
它是 Windows 中很少使用的键,但通常在反斜杠键上找到。
-
这些用于将命令链接在一起。
Pipes获取一个命令的输出,并将其路由,以便在第一个命令和第二个命令链接到一起时用作第二个命令的输入。 -
有关
pipes及其用法的更多信息,请查阅联机资源,因为这些管道上有写入的卷。
-
>用于overwrite覆盖(即,)现有文件内容,方法是将现有文件内容替换为新命令的输出。 -
>>于将信息追加append到现有文件。这对于日志记录操作非常有用。 -
Example:ps aux > processes.log将 的输出发送ps aux到文件processes.log以便在文本编辑器中查看命令输出并覆盖该文件的当前内容。
-
tee与|配合使用,以便获取命令输出,并将其发送到其他地方。如果存在您遗漏的错误,这将很有用。通过这种方式,屏幕上的任何内容也会捕获到文件中。 -
示例:
dmesg|tee boot.txt将运行会dmesg显示初始启动信息的命令。该|将 的输出发送dmesg设置为tee接着后者会通过将输出发送到终端和日志文件 来完成其作业boot.txt。
-
在标记为可运行项目后,是否需要在当前目录中执行文件?如果
./您不需要 root 用户权限, 操作符能够以普通用户的身份执行该文件。./意味着在当前目录(即,),in the current directory因此它不适用于当前目录以外的文件。 -
如果您需要运行不在当前目录中的文件,则必须将路径传递至正确的运行程序。例如,如果是 python 程序,则它是
python /path/to/file;如果是 shell 文件,则它将是sh /path/to/file。目前有其他程序,但这些程序都是最常见的。 -
如果由于先前收到(操作未被允许)而需要使用 root 用户权限运行文件
operation not permitted?。您必须给该命令加上前缀sudo。与上面的示例一样,sudo python /path/to/file将使用 root 用户权限运行脚本。 -
如果要从终端运行用户界面程序,请键入程序名称 -
case sensitive!,它将会启动。这会导致当前终端不可用。当程序打开时关闭终端也会终止该程序。更好的方法是使用以下命令对程序进行后台处理program_name在后台运行程序,然后在终端键入exit一词以将其关闭,并使进程保持运行状态。 -
如果您需要使用 root 用户权限从终端运行 GUI 程序,则给它加上前缀
gksudo或gksu而不是sudo。使用sudo启动 GUI 应用程序是一种坏习惯,应加以避免。 -
应做事项
not使用sudo仅仅因为出现Operation not permitted.请记住,destroy在错误位置使用 root 用户权限运行命令,您可能会销毁。确保您的文件来自可靠来源。
要记住的有用规则
在目录中迷路了吗?键入 pwd 打印工作目录。
要计算磁盘空间吗? df -h 可为您提供快速的图片。
要计算文件夹或文件的大小吗? du -cksh target_name 可以实现。要计算当前文件夹的大小吗? du -cksh。
要标记可执行文件吗? chmod +x filename 可以做到。
需要装载 ISO?Linux 内置了此功能。请在某个地方创建目录(例如, /home/user/isomount 并发出命令 mount -o loop /path/to/myisofile.iso /home/user/isomount ,然后内容就会装载在该文件夹中。
已运行某个命令,您必须重新运行它,但您无法确切地记得它的运行方式?在终端中键入 , history 它将打印命令历史记录。要清除历史记录吗? history -c 擦除信息。