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
命令用于显示文本文件。它还可用于复制,组合和创建新的文本文件。让我们看看它是如何工作的。
要创建新文件,请使用该命令
cat > filename
- 添加内容
- 按Ctrl + d返回命令提示符。
要查看文件,请使用命令 -
cat filename
组合 2 个文件的语法是 -
cat file1 file2 > newfilename
这样我们把文件 1 和文件 2 结合在了一起。
只要输入此命令并按Enter键,文件就会连接在一起,但是你看不到结果。这是因为 Bash Shell
是静默类型。它永远不会给你确认消息,如 OK
或 Command 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 -s
Subjectto-address <Filename
发送带附件的电子邮件的命令