Linux 基本命令

我们学习了基本的 Linux 命令后,文件管理就变得简单了。

列出文件 ls

如果要查看 UNIX 或 Linux 系统上的文件列表,请使用 ls 命令。

它显示当前目录中的文件列表。

注意:

  • 目录以蓝色表示。
  • 文件用白色表示。
  • 你会在不同版本的 Linux 中找到类似的配色方案。
username@hostname:~$ ls
bin  git  Test

你可以使用 ls -R 来显示不仅在目录中而且还在子目录中的所有文件。

注意: 该命令区分大小写。如果输入 ls -r,你将收到错误消息。

ls -al 提供文件的详细信息。该命令以柱状格式提供信息。这些列包含以下信息:

信息
1 文件类型和访问权限
2 文件的硬链接数
3 文件的所有者和创建者
4 所有者所在组
5 以字节为单位的文件大小
6 日期和时间
7 目录或文件名

我们来看一个例子,

dishan@vultr:~/git/ProductivityCodes/Productivity$ ls -al
total 15972
-rw-rw-r-- 1 dishan dishan     5135 Sep 13 09:11 test1.txt
-rw-rw-r-- 1 dishan dishan     1919 Sep 13 09:11 test2.txt
-rw-rw-r-- 1 dishan dishan     3109 Sep 13 09:11 test1.md

列出隐藏文件

任何以 . 开头的目录/文件除非你主动请求,否则它们不会被看到。要查看隐藏文件,可以使用下面命令。

ls -a

创建和查看文件

cat 命令用于显示文本文件。它还可用于复制,组合和创建新的文本文件。让我们看看它是如何工作的。

要创建新文件,请使用该命令

  1. cat > filename
  2. 添加内容
  3. Ctrl + d返回命令提示符。

要查看文件,请使用命令 -

cat filename

组合 2 个文件的语法是 -

cat file1 file2 > newfilename

这样我们把文件 1 和文件 2 结合在了一起。

只要输入此命令并按Enter键,文件就会连接在一起,但是你看不到结果。这是因为 Bash Shell 是静默类型。它永远不会给你确认消息,如 OKCommand Successfully Executed。它只会在出现问题或发生错误时显示消息。

要查看新的组合文件 newfilename,请使用该命令

cat newfilename

删除文件

rm 命令在不需要确认的情况下从系统中删除文件。

删除文件使用语法 -

rm filename

移动和重命名文件

要移动文件,请使用下面的命令。

mv filename new_file_location

假设我们要将文件 sample2 移动到 /home/username/Documents。使用命令

$ mv sample2 /home/username/Documents

mv 命令需要超级用户权限。假如我们以普通用户身份登陆的话,我们需要切换到超级用户,

sudo command_you_want_to_execute

sudo 程序允许常规用户使用超级用户或 root 的安全权限运行程序。

sudo 命令将要求密码验证。但是,你不需要知道 root 密码。你可以提供自己的密码。验证后,系统将调用请求的命令。

guru99@VirtualBox:~$ sudo mv sample2 /home/quru99/Documents 

[sudo] password for guru99: ****

guru99@VirtualBox:~$ 

对于重命名文件,你可以用,

mv filename newfilename

注意:默认情况下,你为 sudo 输入的密码每个终端保留 15 分钟。这样就无需再次输入密码。

仅当命令涉及不属于运行命令的用户或组所拥有的文件或目录时,才需要 root/sudo 权限。

文件夹操作

我们已经学了很多的文件操作了,让我们学习一些文件夹命令。

创建目录

可以使用以下命令在 Linux 操作系统上创建目录,

mkdir directoryname

此命令将在你当前的工作目录中创建一个子目录,该子目录通常是你的 主目录

例如,

mkdir mydirectory

如果要在 主目录 以外的其他位置创建目录,可以使用以下命令 -

mkdir 

比如,

mkdir /tmp/MUSIC

将在 /tmp 目录下创建一个目录 Music

你还可以一次创建多个目录。

$ mkdir /tmp/MUSIC /tmp/VIDEO

删除目录

要删除目录,请使用命令 -

rmdir directoryname

例如,

rmdir mydirectory

它将删除文件夹 mydirectory

提示:确保你要删除的目录下没有文件/子目录。在删除父目录之前,首先删除里面的文件和子文件夹。

重命名文件夹

mv(move)命令(前面介绍过)也可用于重命名目录。使用以下给定的格式:

mv directoryname newdirectoryname

其他重要命令

###Man 命令

man 代表 manual,它是 Linux 操作系统的参考书。它类似于流行软件中的 HELP 文件。

要查找你不理解的任何命令的帮助,你可以键入

man 

终端将打开该命令的帮助说明。

例如,如果我们键入 man man 并按 Enter 键,终端会给我们关于 man 命令的信息。

dishan@vultr:~$ man man
MAN(1)                        Manual pager utils                        MAN(1)

NAME
       man - an interface to the on-line reference manuals

SYNOPSIS
       man  [-C  file]  [-d]  [-D]  [--warnings[=warnings]]  [-R encoding] [-L
       locale] [-m system[,...]] [-M path] [-S list]  [-e  extension]  [-i|-I]
       [--regex|--wildcard]   [--names-only]  [-a]  [-u]  [--no-subpages]  [-P
       pager] [-r prompt] [-7] [-E encoding] [--no-hyphenation] [--no-justifi‐
       cation]  [-p  string]  [-t]  [-T[device]]  [-H[browser]] [-X[dpi]] [-Z]
       [[section] page[.section] ...] ...
       man -k [apropos options] regexp ...
       man -K [-w|-W] [-S list] [-i|-I] [--regex] [section] term ...
       man -f [whatis options] page ...
       man -l [-C file] [-d] [-D] [--warnings[=warnings]]  [-R  encoding]  [-L
       locale]  [-P  pager]  [-r  prompt]  [-7] [-E encoding] [-p string] [-t]
       [-T[device]] [-H[browser]] [-X[dpi]] [-Z] file ...
       man -w|-W [-C file] [-d] [-D] page ...
       man -c [-C file] [-d] [-D] page ...
       man [-?V]

DESCRIPTION
       man is the system's manual pager.  Each page argument given to  man  is
       normally  the  name of a program, utility or function.  The manual page
       associated with each of these arguments is then found and displayed.  A
       section,  if  provided, will direct man to look only in that section of
       the manual.  The default action is to search in all  of  the  available
       sections  following  a pre-defined order ("1 n l 8 3 2 3posix 3pm 3perl
       3am 5 4 9 6 7" by default, unless overridden by the  SECTION  directive
       in /etc/manpath.config), and to show only the first page found, even if
       page exists in several sections.

       The table below shows the section numbers of the manual followed by the
       types of pages they contain.
 Manual page man(1) line 1 (press h for help or q to quit)

history 命令

history 命令显示你在当前终端中过去使用的所有命令。这可以帮助你参考你输入的旧命令,并在操作中重复使用它们。

dishan@vultr:~$ histroy
  1  man man
  2  history

clear 命令

此命令清除终端上的所有文字,为你提供一个干净的窗口,就像重新启动终端一样。

dishan@vultr:~$ clear

将命令粘贴到终端中

很多时候你必须在终端上键入长命令。嗯,它有时会很烦人,如果你想避免这种情况,那么复制,粘贴命令就可以解救了。

对于复制来自源的文本,你可以使用Ctrl + C,但是要在终端上粘贴它,你需要使用Ctrl + Shift + P。你也可以用Shift + Insert或在菜单上选择 Edit->Paste

注意:Linux 升级后,这些快捷方式会不断变化。你可以通过 Terminal>Edit>Keyboard Shortcuts 来设置首选快捷方式。

在 Unix/Linux 中打印

让我们尝试一些简单的命令,来以你想要的格式打印文件。此外,你的原始文件不会受到你所执行格式的影响。我们开始来学习这些命令及其用法。

pr 命令

此命令有助于格式化文件以在终端上打印。此命令有许多选项可用于对文件进行所需的格式更改。下面列出了最常用的 pr 选项。

选项 功能
-x 将数据分为 x
-h “header” header 值指定为报告头部信息
-t 不打印标题和上/下边距
-d 双重输出文件
-n 给所有行标上行号
-l page length 定义页面中的行(page length)。默认值为 56
-o margin 按页边距数格式化页面

让我们试一些这些选项并看看它们的效果。

分配标题

语法是:

pr -h "Header" Filename

-h 选项将 Header 值指定为 Filename 的头部信息。

显示所有含有数字的行

语法是:

pr -n Filename

此命令表示将文件中所有行标上行号。

这些是可用于修改文件格式的一些 pr 命令选项。

打印文件

一旦你完成格式化,现在是时候开始真正打印文件了,你需要使用以下命令:

lp Filename

或者,

lpr Filename

如果要打印多份文件,可以使用数字来指定份数。

$ lp -n10 test.txt

或者,

$ lpr 10 test.txt

如果你安装了多台打印机,则可以指定特定的打印机,

$ lp -dHPofficejet test.txt

或者,

$ lpr -dHPofficejet test.txt

安装软件

在 Linux/UNIX 中,安装文件作为包分发。但是程序包只包含程序本身。任何相关组件都必须单独安装,这些组件通常有自己的安装包。

你可以使用 apt 命令安装或删除软件包。让我们使用命令更新系统中所有已安装的软件包 -

sudo apt-get update

在 Ubuntu 上安装程序的简单而流行的方法是使用软件中心 Software Center,因为它上面有大多数软件包,它比从互联网上下载的文件安全得多。

发送电子邮件

要通过终端发送邮件,你需要安装软件包 mailutils

命令语法是 -

sudo apt-get install mailutils

完成后,你可以使用以下语法发送电子邮件。

mail -s `subject` -c 'cc-address' -b 'bcc-address' 'to-address'

比如,

dishan@vultr:~$ mail -s "Test Email" test@example.com
Hi,
This is a test Email.

写完邮件后,按Ctrl + D后邮件将被发送到上述地址。

复习

  • 你可以直接从终端格式化和打印文件。你对文件执行的格式化不会影响文件内容
  • 在 Unix/Linux 中,软件以包的形式安装。包中包含程序本身。任何相关组件都需要单独下载。
  • 你也可以使用 mail 命令从终端发送电子邮件

备忘单

下面是我们在本教程中学到的 Linux 命令

  • | 命令 | 描述 | | ——————— | ———————————————————— | | ls | 列出当前工作目录中的所有文件和目录 | | ls - R | 列出子目录中的文件 | | ls - a | 列出隐藏文件 | | ls - al | 列出包含权限、大小、所有者等详细信息的文件和目录。 | | cat > filename | 创建一个新文件 | | cat filename | 显示文件内容 | | cat file file2 > file3 | 连接两个文件(file1,file2)并将输出存储在一个新文件(file3)中 | | mv file "new file path" | 将文件移动到新位置 | | mv filename new_file_name | 将文件重命名为新文件名 | | sudo | 允许常规用户使用超级用户或 root 的安全权限运行程序 | | rm filename | 删除文件 | | man | 提供有关命令的帮助信息 | | history | 提供当前终端会话中键入的所有过去命令的列表 | | clear | 清除终端 | | mkdir directoryname | 在当前工作目录或指定路径中创建新目录 | | rmdir | 删除目录 | | mv | 重命名目录 | | pr -x | 将文件分为 x 列 | | pr -h | 为文件指定头信息 | | pr -n | 用行号表示文件 | | lp -d | lp -P | 指定打印机的名称 | | apt-get | 用于安装和更新包的命令 | | mail -s' subject'-c'cc-address'-b'bcc-address''to-address' | 命令发送电子邮件 | | mail -sSubjectto-address <Filename | 发送带附件的电子邮件的命令 |