如何在戴尔PC上使用Ubuntu Linux终端

Summary: 本文是一篇参考文章,可引导您完成所需了解的终端约定,以便充分利用戴尔 PC 上的 Linux Ubuntu 操作系统。

Article Content


Symptoms

以下文章提供有关在 Ubuntu Linux 中使用终端 Shell 的信息。如何找到有关终端中提供的多个命令的使用方式的更多信息。


目录:

  1. 使用终端 Shell 查明命令的用途和使用方式
  2. 哪些 Ubuntu Linux 终端命令可以提供此信息?
  3. 终端 Shell 教程
  4. 须了解的有用命令
  5. 要记住的有用规则

 

使用终端 Shell 查明命令的用途和使用方式

 

本文中将说明如何使用内置的终端命令来提供有关某些命令及其用途的信息。

此外,还将提供一些示例来阐释该过程。

命令行功能强大。现有的工具可以在图形用户界面 (GUI) 中处理乏味的作业,并将其转换为只需数秒钟即可完成的任务。在 GUI 应用程序中,删除大文件每行的最后四行将是一个漫长的过程。但是,它可以在命令行上自动化执行。

目前有许多命令与 Ubuntu Linux 中的终端 Shell 相关联。下面的文章列出了它们所影响的群体中的大多数人。


返回页首


Resolution

 

哪些 Ubuntu Linux 终端命令可以提供此信息?

 

我们将使用三个主要命令来提供使用各种终端命令所需的全部信息。

 

该 man 命令会显示终端中使用的任何命令的手册。

大多数 shell 命令将接受各种选项。要获取有关命令和可用选项列表的某些信息,请使用 manmanual 的缩写)命令。提供要查找更多相关信息的命令的名称作为其参数即,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。

从手册页中能够看到,我们可以使用 -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 –helpwget -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:

这通常会将大量信息打印到终端。滚动浏览可能难以实行。要更轻松地读取输出,您可以通过 less 命令传输该输出(类似于采用 pipe 命令进行管道传输)。这允许您使用键盘上的光标/箭头键进行滚动浏览。

示例: 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 实用程序。

要查找特定选项,您可以通过 grep 命令传输该输出(类似于采用 pipe 命令进行管道传输)。例如,使用以下命令搜索包含某单词的选项,在此处,该单词为 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 键,您可以向下滚动页面。

  1. 对于 help,请按 H

  2. quit,请按 Q

  3. 搜索菜单项,请按 M


终端 Shell 教程

 

您可以在终端中执行几乎所有操作,这些也可以从 GUI 进行。

正如前面所述,许多命令首先被设计成在终端中工作,然后 GUI 才在此基础上进行构建。这就是某些 GUI 可能让人感觉笨拙的原因 — 它们在开始时是事后添加的事物,因为大多数 Linux 服务器内部版本并不会为它们操心。

从菜单打开终端的默认位置是在您的 home 文件夹。被称为 ~

您可以通过 . 操作符查找当前目录。大多数命令当它们作用于当前文件夹选择时,对命令、位置和文件的操作是区分大小写的。/home 同于 /HOME/Home

使用 TAB 键完成文件名。如果您有较长的驱动程序标题(例如,driver-128947232jaseu.sh ),则只需键入 dri,它将会填写其余部分。在没有 2 个以 dri 开头的名称的情况下,如果您这么做,请添加另一个字符,以使其成为 driv,然后重试。确保自动完成与您想要看到的内容相匹配。

通过使用 man 页面或在写入初始命令后键入 -h--help,可以完整阅读几乎所有命令的相关信息。此语法是 man command_name, command_name -hcommand_name --help

要获取更多信息,您可以使用 info。通过使用 info command_name,可以搜索命令。对于属于 coreutils 包的大多数这类命令,您也可以查找 info,方法是使用 info coreutils command_name 调用,其中 command_name 由搜索到的命令进行替换。

几乎所有命令都可以逐步准确地显示正在发生的事情。这通常是 -v--verbose

您可以一次性为命令指定多个命令标记,以获取更多信息。请参阅下面的 ls -al 示例。

命令名称并不总是显而易见 — 在以前的 Unix 中,由于空间限制,命令名称遭到缩短,这些约定一直保留下来。


须了解的有用命令

 

 

  1. cd — 将您移回到主目录,等同于 cd ~

  2. cd.. — 使您返回一个目录。从 /home/user/Desktop 开始,cd.. 使您进入 /home/user。这可以扩展为 cd ../../,它会将您移回 2 个目录,以便进入 /home

  3. cd foldername/ — 将您向前移动到当前文件夹中的给定文件夹。

SLN265948_zh_CN__1icon :缺少前缀 /,它是重要的省略。如果我位于 /home/user,并且想要到达 Desktop。我必须键入 cd Desktop/,并且在 Desktop 之前没有 /。在它前面键入 / 会将我们置于将会无法工作的文件系统的根目录。
  1. cd /some/other/path — 将您转至指定的文件夹路径。只要路径正确即可。请勿忘记,您可以使用 TAB 键来自动完成。

 

 

  1. ls — 列出当前文件夹中的所有文件。

  2. ls -l — 提供更长的列表,其中包括所有者、权限、大小和修改日期。

  3. ls -a — 显示隐藏的文件和文件夹以及正常列表。

  4. ls -al — 组合两个选项以显示隐藏的文件和文件夹,并以长格式显示。

  5. ls -h — 以人类可读格式 KB, MB, GB, 文件大小(而非字节)来显示文件大小。最常与 -l 标记配合使用。

  6. 您可以查看自己甚至不在其中的目录中的文件。如果我位于 /home/user/Desktop,并且想要查看 /home/user 中的文件,则可以执行 ls ../,它将会列出上一层目录的文件。

 

  1. cp file /path/to/folder — 将指定的文件复制到给定路径。

  2. cp -r folder /path/to/folder — 将文件夹的内容重复复制到另一个文件夹。

  3. cp *.extension /path/to/folder — 将与给定扩展名匹配的文件复制到新文件夹。要复制所有 .doc 文件,它将变为 cp *.doc /path/to/folder,并且文件夹必须存在。

  4. cp name* /path/to/folder — 将以 name 开头的所有文件复制到给定文件夹。要复制以 example 开头的所有文件,它将变为 cp example* /path/to/folder,并且文件夹必须已存在。

 

  1. mv 的语法与上面的示例相似,只需将示例 #2 的 cp 免除即可。mv 不采用 -r 标记,这是因为移动文件夹也会移动其内容。该语法并不是在所有实例中都是准确的,但是可以用于上面的示例。有关更多详细信息,请查阅您的手册页

 

SLN265948_zh_CN__1icon :如果某个重要的内容被删除,它不会提示您。如果您必须使用此命令,则可能是因为出错,导致使用此命令。或者机器有其他问题。此命令只能作为最后手段使用,我们不建议您使用它。
  1. 通过 rm 删除文件是永久性的。它不使用垃圾桶。谨慎使用此功能,并确保删除内容正是您想要删除的项,然后再按 Enter 键。如果您使删除命令过于复杂,则它可能不会很好地结束

  2. rm file — 从系统中删除该特定的文件。

  3. rm -r folder — 从系统中删除该特定的文件夹。

  4. rm -rf folder — 从系统中强行删除该特定文件夹。如果使用不当,此命令可能会使配置混乱

 
  1. 您可以在终端中使用 nano 编辑文件,从而快速而粗略地执行文件编辑,直至完整配置为止。它可能很有用,但它只处理纯文本文件和编程文件,因此像 Microsoft Word 文档之类的文件将无法正常打开。

  2. 如果文件归 root 用户所有,则常规用户无法对其进行编辑。nano 必须带有前缀 sudo;以便保存更改。否则,它将在只读模式下打开。

  3. nano newfile.whatever 隶属于指定的名称,您可将它打开以进行编辑。

  4. nano existing_file — 打开现有文件进行编辑。

  5. 从内部的 nano

  6. 通过同时按 CTRL+O 键来保存文件,然后更改名称或按 Enter 键以保持相同的名称。这将会保存文件。

  7. 通过同时使用 CTRL+X 键,退出 nano。如果您有未保存的更改,则它会询问您是否要保存它们。

 

  1. mkdir folder_name — 使用指定的名称创建文件夹

  2. mkdir -p /path/to/folder/name — 根据需要创建每个文件夹。要创建文件夹 /home/user/1stfolder/2ndfolder,并且仅 /home/user 存在,使用 mkdir -p 将创建两个目录 1stfolder2ndfolder

 

  1. ps aux — 详细地列出系统上正在运行的所有进程。这包括用户、进程 ID PID 和进程名称。通过使用此命令,您可以查看进程列表,如有必要,您可以终止不必要的进程或暂停的进程。

 

  1. kill PID — PID 是引用有问题的进程的数字。您应该从 ps aux 等命令获取 PID。如果某个进程拒绝停止运行,您还可以指定 kill -9 PID,这应该会以所有方式终止该进程。

SLN265948_zh_CN__1icon :请小心,因为这将会关闭它,即使它以一种不干净的方式进行,或者它会把系统搞得一团糟,情况也是如此。
  1. killall programKillall 会按名称(即,by name)终止列出的程序(即,listed program)的所有实例。例如,如果打开了 3 个 Firefox Internet 浏览器会话,killall Firefox 将执行操作,终止所有 Firefox 会话。kill 将只采用您希望终止的有问题的 Firefox 进程的指定 PID,然后仅终止该进程。

  2. xkill 是一种用于单击和关闭窗口的 GUI 方式。键入 xkill 应该会出现头骨加交叉腿骨图标,并且将关闭下一个单击打开的窗口。

 

  1. Pipesstraight bar(也称为 | 键)表示。

  2. 它是 Windows 中很少使用的键,但通常在反斜杠键上找到。

  3. 这些用于将命令链接在一起。Pipes 获取一个命令的输出,并将其路由,以便在第一个命令和第二个命令链接到一起时用作第二个命令的输入。

  4. 有关 pipes 及其用法的更多信息,请查阅联机资源,因为这些管道上有写入的卷。

 

  1. > 用于覆盖(即,overwrite)现有文件内容,方法是将现有文件内容替换为新命令的输出。

  2. >> 用于将信息追加(即,append)到现有文件。这对于日志记录操作非常有用。

  3. Example: ps aux > processes.log 将 ps aux 的输出发送到文件 processes.log,以便在文本编辑器中查看命令输出并覆盖该文件的当前内容。

 

  1. tee| 配合使用,以便获取命令输出,并将其发送到其他地方。如果存在您遗漏的错误,这将很有用。通过这种方式,屏幕上的任何内容也会捕获到文件中。

  2. 示例:dmesg |  tee boot.txt 将运行会显示初始启动信息的命令 dmesg|dmesg 的输出发送到 tee,接着后者会通过将输出发送到终端和日志文件 boot.txt 来完成其作业。

 

  1. 在标记为可执行项目后,是否需要在当前目录中执行文件?如果您不需要 root 用户权限,./ 操作符能够以普通用户的身份执行该文件。./ 意味着在当前目录(即,in the current directory),因此它不适用于当前目录以外的文件。

  2. 如果您需要执行不在当前目录中的文件,则必须将路径传递至正确的执行程序。例如,如果是 python 程序,则它将是 python /path/to/file;如果是 shell 文件,则它将是 sh /path/to/file。目前有其他程序,但这些程序都是最常见的。

  3. 如果由于先前收到 operation not permitted?(操作未被允许)而需要使用 root 用户权限执行文件,您需要给该命令加上前缀 sudo。与上面的示例一样,sudo python /path/to/file 将使用 root 用户权限执行脚本。

  4. 如果您需要从终端执行 GUI 程序,则只需键入程序名称(名称应区分大小写!即采用 case sensitive!),该程序将启动。这会导致当前终端不可用。当程序打开时关闭终端也会终止该程序。更好的方法是使用 program_name 在后台运行程序,然后在终端键入 exit 一词以将其关闭,并使进程保持运行状态。

  5. 如果您需要使用 root 用户权限从终端运行 GUI 程序,则给它加上前缀 gksudogksu(而非 sudo)。使用 sudo 启动 GUI 应用程序是一种坏习惯,应加以避免。

  6. 不要(即,not)仅仅因为出现 Operation not permitted.(操作未被允许。)就使用 sudo。请记住,在错误位置使用 root 用户权限运行命令,您可能会销毁(即,destroy)系统。确保您的文件来自可靠来源。


要记住的有用规则

 

在目录中迷路了吗?键入 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 将擦除该信息。


返回页首


 

其它信息:

 

SLN265948_zh_CN__1icon 注:
Canonical 通过以下方式提供软件支持:
由戴尔提供技术支持:


返回页首


Article Properties


Affected Product

Desktops & All-in-Ones, Laptops

Last Published Date

21 Feb 2021

Version

4

Article Type

Solution

Rate This Article


Accurate
Useful
Easy to Understand
Was this article helpful?

0/3000 characters