一、目录及文件的基本操作
1、pwd
描述:显示当前工作目录的名称。
用法:pwd [选项]...
选项:-p 显示链接的真实路径。
2、cd
描述:切换当前工作目录。
cd /usr/local #切换工作目录至/usr/local
cd . #切换工作目录至当前目录的上一级目录
cd - #返回至目录
cd #切换工作目录至当前用户的家目录
3、ls
描述:显示目录与文件信息
用法:ls [选项]...[文件/目录]
选项:-a 显示所有的信息,包括隐藏文件和目录。
-d 显示目录本身的信息,而非目录下的资料信息。
-h 人性化显示容器信息。
-l 长格式显示详细信息。
-c 显示文件或目录属性最后修改的时间。
-u 显示文件或目录最后被访问的时间。
-t 以修改时间排序,默认按文件名称排序。
4、touch
描述:创建或修改文件时间
touch hello.txt
注意:如何hello.txt不存在,则创建;如果已经存在,则更新文件所有的时间为当前系统时间。
5、mkdir
描述:创建目录。
用法:mkdir [选项]...[目录]...
选项:-p 创建多级目录。
6、cp
描述:复制文件与目录。
用法:cp [选项] 源 目标
选项:-r 递归,复制子文件与子目录,一般复制目录时使用。
7、rm
描述:删除文件或目录
用法:mv [选项]...文件...
选项:-f 不提示,强制删除。
-i 删除前,提示是否删除。
-r 删除目录以及目录下的所有内容。
8、mv
描述:移动(重命名)文件或目录。
9、find
描述:搜索文件或目录。
用法:find [命令选项] [路径] [表达式选项]
选项:-empty 查找空白文件或目录。
-group 按组查找。
-name 按名称查找。
-iname 按名称查找,不区分大小写。
-mtime 按修改时间查找。
-size 按容量大小查找。
-type 按档案类型查找,文件(f)、目录(d)、设备(b,c)、链接(l)等。
-user 按用户查找。
-exec 对找到的档案执行命令。
-a 并且。
-o 或者。
10、du
描述:计算文件或目录的容量。
用法:du [选项]...[文件/目录]...
选项:-h 人性化显示容量信息。
-s 仅显示总容量。
二、查看文件内容
1、cat
描述:查看文件内容。
用法:cat [选项]...[文件]...
选项:-b 显示行号,空白行不显示行号。
-n 显示行号,包括空白行。
2、more
描述:分页查看文件内容,通过空格键查看下一页,q键则退出查看。
3、less
描述:分页查看文件内容,空格(下一页)、方向键(上下回翻)、q键(退出查看)。
4、head
描述:查看文件头部内容,默认显示前10行。
用法:head [选项]...[文件]...
选项:-c nK 显示文件前nKB的内容。
-n 显示文件前n行的内容。
5、tail
描述:查看文件的尾部内容,默认显示末尾10行。
用法:tail [选项]...[文件]...
选项:-c nK 显示文件末尾nKB的内容。
-n 显示文件末尾n行的内容。
-f 动态显示文件内容,按Ctrl+C组合键退出。
6、wc
描述:显示文件的行、单词与字节统计信息。
用法:wc [选项]...[文件]...
选项:-c 显示文件字节统计信息。
-l 显示文件行数统计信息。
-w 显示文件单词统计信息。
7、grep
描述:查找关键词并打印匹配的行。
用法:grep [选项] 匹配模式 [文件]...
选项:-i 忽略大小写。
-v 取反匹配。
-w 匹配单词。
--color 显示颜色。
8、基本命令:echo
描述:显示一行指定的文本。
用法:echo [选项]...[字符串]...
选项:-n 不输出换行,默认echo输出内容后会换行。
-e 支持反斜线开始的转义字符,屏蔽反斜线后面字符的原本含义。
如果使用-e选项,则可以识别如下字符序列的特殊含义。
\\ 反斜线。
\a 报警器。
\b 退格键。
\c 不生成格外输出,默认echo会自动添加换行。
\f 输入表单格式,换行后保留光标位置。
\n 换行。
\t 生成水平Tab。
\v 生成垂直Tab。
三、链接文件
Linux中的链接文件不同于Windows的快捷方式,Linux的链接文件分为软链接和硬链接。软链接可以跨分区,但源文件不可删除;硬链接不可以跨分区,但可以将源文件删除。
1、软链接
ln -s /test/hello.txt /tmp/hi.txt #创建文件软链接
ln -s /test/ /var/test #创建目录软链接
2、硬链接
ln /test/hello.txt /test/hi.txt
rm /test/hello.txt #删除源文件后,链接文件仍可以正常使用
四、压缩及解压
1、gzip
描述:压缩与解压缩
用法:gzip [选项]... [文件名称]...
选项:-d 解压。
2、bzip2
描述:压缩与解压缩。
注意:gzip与bzip2工具不可以对目录做打包压缩操作。
3、tar
描述:打包与解包文件。
用法:tar 模式 [选项] [路径]...
模式:-c 创建打包文件。
--delete 从打包文件中删除文件。
-r 追击文件至打包文档。
-t 列出打包文档的内容。
-x 释放打包文件。
选项:-C 指定解压路径。
-f 指定打包后的文件名称。
-j 打包后通过bzip2格式压缩。
--remove-files 打包后删除源文件。
-z 打包后通过gzip格式压缩。
五、命令使用技巧
1、善于利用Tab键
在 Linux 中,利用 Tab 键可以自动补齐命令或路径,从而提高工作效率。通过键盘输入 bzi后按下 Tab 键,即可补齐以 bzi 开头的命令。当命令不唯一时,如通过键盘输入 c 后按下 Tab键,则屏幕不会进行命令补齐,因为以c 开头的命令不止一个,此时连续按下两次 Tab 键,即可显示所有以c 开头的命令。
2、使用命令历史
在 Linux 中输入的命令会被记录,对于已经输入过的命令,没有必要重复输入,这时可以直接调用历史命令记录。使用命令历史最简单的方法是通过上、下方向键翻阅历史命令,CentOS默认会记录 1000 条命令历史。输入 history 命令可以显示所有的命令记录,每条记录都有相应的编号,如果你想执行编号为 500 的命令历史,可以通过!500 来调用该命令。
3、适时清屏
当命令输入特别多或屏幕显示特别乱时,可以通过快捷键 Ctrl+l 或输入命令 clear 清屏。
4、查找常用命令存储位置
通过 which 命令可以找到常用命令的存储位置如输入 which find,系统将返回 find 命令的实际存储位置/bin/find。
六、帮助
1、man
通过 man(manual)手册文档可以帮助我们快速掌握命令的用法,man 手册一般保存在/usr/share/man目录下,查看手册文档可以直接通过man命令读取。
例如,如果想获取ls 命令的 an 手册,输入man ls 即可,显示结果大致如下:
其中,NAME 为命令的名称与简单描述,SYNOPSIS 为命令的语法格式,DESCRIPTION为命令的详细描述,后面一般为命令的具体选项以及功能描述。
通过<man 命令名>这种方法可以找到绝大多数命令的用法与描述,空格键表示向下翻页,9键表示退出 man 手册。另外,在查看命令手册的过程中,随时可以通过</关键词>来搜索你需要的内容(不包含尖括号),如/fle 查看包含 file 的行,按键上的键查看下一行。
注意:如果查找显示Pattern not found(press RETURN),则表示未找到匹配的行。
2、info
info 信息与 man 手册的内容类似,但info 信息是模块化的它通过链接显示不同的信息块查看起来有点类似于网页。
Info ls 查看ls 命的info信息,内容大致如下:
其中,File 说明当前的 info 文件名称为 coreutilsinfo,当前查看的信息块为 Is invocation,N键进入下一信息块(dir invocationP 键进入上一信息块,U 键返回上一层(一般用来查看 info信息块目录),空格键翻页,q 键退出。
3、help
man手册与 info 信息的内容往往比较多,如果你没有精力细看这些资料,而仅仅需要的是简短的帮助信息,可以通过--help 来获得简要信息。
例如,Is --help 显示信息如下:
其中,Usage 为命令的语法格式,紧接着是说明命令的功能,最后是对每个命令选项的简短说明。
七、Vim文档编辑
Vim 是由 vi 发展演变过来的文本编辑器,因其具有语法高亮显示、多视窗编辑、代码折叠支持插件等功能,现已成为众多 Linux 发行版本的标配。对于初学者来说,Vim 往往是生涩难以学习的文本编辑器,但当你完全掌握了这种编辑器后,你会发现自己的工作效率会比没有使用Vim之前提升了很多倍。
1、Vim工作模式
Vim 具有多种工作模式,常用的工作模式有:普通模式、插入模式、命令模式。其中,普通模式可以实现基本的光标移动与大量的快捷键操作,插入模式可实现文本的基本编辑功能,命令模式通过输入特定的指令实现特定的功能,如保存与退出等。
直接输入 vim 命令,即可开启该文本编辑器,默认将创建一个新的文档(保存时需要指定文件名)。另外,如果 vim 命令后跟了文件名参数,则需要看该文件是否存在,如果存在,Vim将打开该文件,如果不存在,Vim 将创建该文件。
Vim 编辑器默认会进入普通模式,插入模式可以通过以下按键进入,具体如下表:
按键 | 功能描述 |
a | 进入插入模式,后续输入的内容将插入至当前光标的后面 |
A | 进入插入模式,后续输入的内容将插入至当前段落的段尾 |
i | 进入插入模式,后续输入的内容将插入至当前光标的前面 |
I | 进入插入模式,后续输入的内容将插入至当前段落的段首 |
o | 进入插入模式并在当前行的后面创建新的空白行 |
O | 进入插入模式并在当前行的前面创建新的空白行 |
当需要退回到普通模式或不知道自己当前处于什么模式时,可以通过 Esc 键返回到普通模式。
最后,在普通模式下输入“:”,即可进入命令模式;在“:”后输入指令,即可实现特定的
功能。
2、Vim光标操作
Vim 中最简单的移动光标的方式是使用方向键(上、下、左、右)操作,但这种方式效率低下,更高效的方式是使用快捷键,常用的快捷键如下表所示,所有的快捷键均在普通模式下直接使用。
快捷键 | 功能描述 |
h | 光标向左移动一位 |
j | 光标向下移动一行(以回车为换行符) |
k | 光标向上移动一行 |
l | 光标向右移动一位 |
gg | 移动光标至文件首行 |
G | 移动光标至文件末尾 |
nG | 移动光标至第n行(n为数字,如n为10时表示第10行) |
^ | 光标移动至当前行的首字符 |
$ | 光标移动至当前行的尾字符 |
fx | 光标移动至当前行的下一个x字符处 |
Fx | 光标移动至当前行的上一个x字符处 |
w | 光标向右移动一个单词 |
nw | 光标向右移动n个单词(n为数字) |
b | 光标向左移动一个单单词 |
nb | 光标向左移动n个单词(n为数字) |
3、Vim编辑文档
在Vim编器中编辑文档内容主要有两种常用的方式:进入编辑模式操作和快捷键操作进入编辑模式的方法已经在上面有详细的描述,进入编辑模式后,即可以通过移动光标进行增加、删除、修改的基本操作,这种方法也是最简单的方式。另外,快捷键操作方式是在普通模式下输入相应的快捷键实现对应的功能,快捷键功能描述参见下表。
操作快捷键 | 功能描述 |
x | 删除光标当前字符 |
dd | 删除一行 |
ndd | 删除n行(n为数字) |
dS | 删除光标至行尾的内容 |
J | 删除换行符,可以将两行合并为一行 |
u | 撤销上一步操作,可以多次使用uu表示撤销两步操作 |
rx | 将光标当前字符替换为x(x为任何键盘单个输入) |
yy | 复制当前行 |
p | 粘贴至当前行之后 |
P | 粘贴至当前行之前 |
4、Vim查找与替换
当文档很长时,我们可以通过查找快速定位要找的内容,在 Vim 中通过“/”关键词实现自上往下的查找功能,如,/host 在当前文档的光标处向下查找 host 并显示,如果一个文档中有多个 host,可以通过快捷键跳转至下一个匹配的关键词处,快捷键 N 将跳转至上个匹配的关键词处。另外,“?”关键词实现了自下往上的查找功能,如,?host 从当前文档的光标处向上查找 host 并显示,此时快捷键 n 表示查看上一配,N 表示查看下一匹配。
Vim 提供了非常好用的替换功能,可以快速完成大量的替换工作。
cp /etc/passwd /root/
vim /root/passwd
通过上面两条命令复制一份临时测试文档并编辑,我们可以对该文件实现多种替换功能如下表所示(在普通模式下,输入冒号“:”进入命令模式完成替换命令)。
指令 | 功能描述 |
:s/root/admin/ | 将光标当前行中第一个出现的root 替换为admin,没有则不替换 |
:s/root/admin/g | 将光标当前行中所有的root替换为admin |
:3,5 s/sbin/bin/g | 将第三行至第五行之间的所有 sbin 替换为 bin |
:% s/nologin/fault/g | 将所有行的 nologin 都替换为 fault |
5、Vim保存与退出
一般情况下,通过命令模式输入特定的指令实现保存与退出功能,常用指令详见下表。
指令 | 功能描述 |
:q! | 不保存并退出 |
:wq | 保存并退出 |
:x | 保存并退出 |
:w | 保存 |
:w b.txt | 另存为 b.txt |
另一种保存方式为快捷键操作,在普通模式下输入 ZZ,即可实现保存并退出文档。
注意:Vim提示错误信息E32:No file name时,说明你没有为文件设置文件名,需要在w后设置文件名称。
6、Vim小技巧
(1)显示行号
显示当前行是第几行的方式有很多,可以通过为文档添加行号来实现,添加行号的方法是在命令模式下输入:set number 或简写:set nu 即可。
(2)忽略大小写
在 Vim 中查找时,可能不清楚所要找的关键词的大小写,而 Vim 默认是区分大小写的,这时可以通过在命令模式下输入:set ignorecase,实现忽略大小写。
(3)多窗口编辑
当需要同时编辑多个文档时,分制窗口就尤为重要了,最简单的方式是在命令模式下输入:split。如此可以实现编辑同一个文档的不同行,至于窗口的切换,可以使用如下快捷方式:
Ctrl+w+h 快捷键表示跳转至左边一个窗口,Ctrl+w+I 快捷键表示跳转至右边一个窗口,Ctrl+wt+j 快捷键表示跳转至上面一个窗口,Ctrl+w+k 快捷键表示跳转至下面一个窗口。
在命令模式下输入:close,可以关闭当前窗口。
在命令模式下输入:split second.txt,此命令会分割窗口并打开新的文件,如此实现多窗口多文件的编辑工作。默认的:split 为水平分制窗口,垂直分制可以使用:vsplit 指令。
(4)执行shell命令
使用 Vim 编辑文档的过程中,如需要执行一条 Shell命令而不想退出 Vim 编器,可以通过:!{命令}的方式实现。例如,需要查看当前目录下档案的名称,则在命令模式下输入指令:!ls即可,执行完成后按回车键返回 Vim编辑器。
(5)自动补齐
如果需要输入的内容在前面的行中已经出现过,那么 Vim 可以根据上文内容自动补齐输入。例如,在文件第三行定义了一个变量 FIRST_TIME=09,以后需要再次输入 FIRST_TIME时,可以仅输入 FI 后使用快捷键 Ctrl+N,实现自动补齐功能。