Scroll to navigation

INTRO(1) Linux 用户手册 INTRO(1)

名称

intro - 用户命令的介绍

描述

手册页的第一部分描述了用户命令和工具,例如,文件操作工具、各个 shell、编译器、网页浏览器、文件和图像查看器和编辑器,等等。

注记

Linux 是类 UNIX 的一个变种,粗略地看,很多 UNIX 下的用户命令都可以同样地在 Linux(以及 FreeBSD 和很多其它类 UNIX 系统上)工作。

在 Linux 下,存在 GUI(图形用户界面),其中您可以进行指向、点击或者拖曳,这些工作一般不需要阅读大量手册即可完成。传统的 UNIX 环境是一个 CLI(命令行用户界面),其中您键入命令来告诉计算机该做什么。这样更快、更强大,但是需要先弄清楚这些命令是什么。下面是如何开始工作的一些基础性指导。

登录

要开始工作,您可能需要首先提供您的用户名和密码以打开一个会话。login(1) 程序现在会为您启动一个 shell(命令解释器)。在图形登录的时候,您需要在一个有着菜单和图标的屏幕上使用鼠标点击,最终可以在一个窗口内启动一个 shell。参见 xterm(1)

使用 shell

用户输入命令并将其传送给命令解释器,即 shell。它不是内置的,只是一个独立程序,您可以更改自己使用的 shell。每个人都有其最喜爱的选择。标准的 shell 被称作 sh。参见 ash(1)bash(1)chsh(1)csh(1)dash(1)ksh(1)zsh(1)

一个会话的进行可能如下所示:

knuth login: aeb
Password: ********
$ date
Tue Aug  6 23:50:44 CEST 2002
$ cal

August 2002 Su Mo Tu We Th Fr Sa
1 2 3
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 $ ls bin tel $ ls -l total 2 drwxrwxr-x 2 aeb 1024 Aug 6 23:51 bin -rw-rw-r-- 1 aeb 37 Aug 6 23:52 tel $ cat tel maja 0501-1136285 peter 0136-7399214 $ cp tel tel2 $ ls -l total 3 drwxr-xr-x 2 aeb 1024 Aug 6 23:51 bin -rw-r--r-- 1 aeb 37 Aug 6 23:52 tel -rw-r--r-- 1 aeb 37 Aug 6 23:53 tel2 $ mv tel tel1 $ ls -l total 3 drwxr-xr-x 2 aeb 1024 Aug 6 23:51 bin -rw-r--r-- 1 aeb 37 Aug 6 23:52 tel1 -rw-r--r-- 1 aeb 37 Aug 6 23:53 tel2 $ diff tel1 tel2 $ rm tel1 $ grep maja tel2 maja 0501-1136285 $

这里键入 Control-D 会终止会话。

这里的 $ 是命令提示符—这是 shell 用来提示它已经准备好接收下一条命令的方式。提示符可以用许多方式进行定制,同时可能包含诸如用户名、机器名、当前目录、时间等等附加信息。进行一次类似 PS1="下面该做些什么,主人?" 这样的赋值可以按照用户要求修改该提示的内容。

我们可以看见的命令有 date(提供日期和时间),以及 cal(提供日历)。

命令 ls 列出当前目录的内容—它告诉您您拥有什么文件。使用 -l 选项可以给出一个长列表,其中包括文件的所有者、大小和日期,以及人们读取和/或修改它的权限。例如,这里的“tel”有37字节长,由 aeb 所有,其所有者可以读取或写入它,其他人只能读取它。所有者和权限可以使用 chownchmod 命令进行修改。

命令 cat 将会显示一个文件的内容。(其名称来自“concatenate and print”:所有当作参数给出的文件将会被连接起来并发送至“标准输出”(见 stdout(3)),这里是终端屏幕。)

命令 cp(来自 "copy" 单词)将会复制一个文件。

命令 mv(来自“move”),则只会将其重命名。

命令 diff 列出两个文件之间的不同之处。这里没有输出,因为两者之间没有区别。

命令 rm(来自“remove”)删除文件,请小心!它不见了。没有回收站或者类似的东西。删除即意味着丢失。

命令 grep(来自“g/re/p”)在一个或多个文件中寻找某个字符串的出现情况。这里它找到了 Maja 的电话号码。

路径名和当前目录

文件存在于一个巨大的树结构中,即文件目录结构。每个文件有一个 pathname 描述从树的树根(被称作 /)到这个文件的路径。例如,这样的一个完整路径名可能是 /home/aeb/tel。总是使用完整的路径名可能不太方便,所以当前目录下文件的名称可以缩写为只给出其最后一部分。这就是在当前目录是 /home/aeb/home/aeb/tel 可以被缩写为 tel 的原因。

命令 pwd 打印当前目录。

命令 cd 改变当前目录。

请交替尝试使用 cdpwd 命令并探索 cd 的用法:“cd”、“cd .”、“cd ..”、“cd /”和“cd ~”。

目录

命令 mkdir 创建一个新目录。

命令 rmdir 在目录为空的情况下删除该目录,若非空则提示出错。

命令 find 具有不寻常的语法,它可以使用给定的文件名或其它属性查找文件。例如,“find . -name tel”会从当前目录(也被称作 .)开始寻找文件 tel。而“find / -name tel”会做同样的工作,但是从目录树的根开始寻找。在以 GB 为单位计量容量的磁盘上进行大规模查找可能耗时很多,使用 locate(1) 可能是相对更好的方案。

磁盘和文件系统

命令 mount 会将某些磁盘(或者软盘、光盘等等)上寻找到的文件系统挂载到大的文件系统层次中。而 umount 会将其重新卸载。命令 df 会告诉您磁盘上还有多少空闲空间。

进程

在一个 UNIX 系统上,有许多用户进程和系统进程同时运行。您正与其交互的进程被称为在 前台 运行,其它的则在 后台。命令 ps 将会为您显示哪些进程是活跃的,以及这些进程的编号。命令 kill 允许您将其停止。如果没有额外参数,这将是一个友好的请求:请停止吧。而“kill -9”命令,后面加上该进程的编号则会立刻杀死它。前台进程通常可以通过按下 Control-C 来杀死。

获取信息

系统上可能有成千上万个命令,每个都有许多可用参数。传统上,命令使用 man 手册页 进行记录(类似当前这个文档),这样使用“man kill”命令就可以显示命令“kill”的使用方法(而“man man”则记录了命令“man”的使用方法)。“man”程序将文字送给某些 分页器,通常是 less 程序。敲击空格键可以翻到下一页,点击 q 可以退出。

文档中,习惯上会使用一个名称和一个分类编号来指代一个手册页,例如 man(1)。手册页通常简明扼要,允许您在忘记某些细节时进行快速查找。对新手来说,一段介绍性文字和更多的示例和解释可能会更有用。

许多 GNU/FSF 软件提供了 info 文件。输入“info info”以查阅使用 info 程序的一段介绍。

特别的主题通常被作为 HOWTO 文档。请在 /usr/share/doc/howto/en 目录下看一看,如果您找到了 HTML 文档的话,请使用浏览器阅览。

参见

ash(1), bash(1), chsh(1), csh(1), dash(1), ksh(1), locate(1), login(1), man(1), xterm(1), zsh(1), wait(2), stdout(3), man-pages(7), standards(7)

本页面是 Linux man-pages 项目 4.09 版的一部分。该项目的描述、有关报告错误的信息以及本页面的最新版本可以在 https://www.kernel.org/doc/pan-pages/ 上找到。
本页面中文版由中文 man 手册页计划提供。
中文 man 手册页计划:https://github.com/man-pages-zh/manpages-zh

2015-07-23 Linux