一、Linux 命令行基础
(一)命令与命令行简介
-
命令:Linux 系统内置的操作指令,以字符化形式使用,用于指示系统执行特定任务。
-
命令行(终端):提供字符化的操作界面,用户通过键盘输入命令,系统读取后执行并返回结果。它是用户与操作系统进行交互的重要工具。
(二)Linux 命令的通用格式
command [-options] [parameter]
-
command:命令本体,指定要执行的操作。
-
-options:可选选项,用于控制命令的行为细节,可精确调整命令功能。
-
parameter:可选参数,明确命令的操作对象。
二、常用命令解析
(一)ls 命令
-
作用:以平铺形式展示指定目录下的内容。不指定目录时,默认显示当前工作目录下的内容。
-
示例 :
ls /home/user
列出/home/user
目录下的所有内容。
(二)cd 与 pwd 命令
-
cd 命令 :切换当前工作目录,语法是
cd [Linux 路径]
。不使用参数时,切换至用户的 HOME 目录。 -
pwd 命令:输出当前所在的工作目录,无需选项和参数。
-
示例:
-
切换到
/home/user/docs
目录:cd /home/user/docs
-
查看当前工作目录:
pwd
-
(三)mkdir 与 touch 命令
-
mkdir 命令 :创建新的目录,语法是
mkdir [-p] Linux 路径
,-p
选项可自动创建不存在的父目录。 -
touch 命令 :创建新文件,语法是
touch Linux 路径
。 -
示例:
-
创建目录:
mkdir /home/user/newdir
-
创建文件:
touch /home/user/newfile.txt
-
(四)cat、more 与 tail 命令
-
cat 命令 :查看文件内容,语法是
cat Linux 路径
。 -
more 命令 :查看文件内容且可翻页,使用空格翻页,
q
键退出查看。 -
tail 命令 :查看文件尾部内容,语法是
tail [-f -num] Linux 路径
。 -
示例:
-
查看文件内容:
cat /home/user/file.txt
-
查看文件内容并翻页:
more /home/user/file.txt
-
查看文件尾部 10 行:
tail -n 10 /home/user/file.txt
-
(五)cp、mv 与 rm 命令
-
cp 命令 :复制文件或文件夹,语法是
cp [-r] 参数 1 参数 2
,-r
选项用于递归复制文件夹。 -
mv 命令 :移动或重命名文件或文件夹,语法是
mv 参数 1 参数 2
。 -
rm 命令 :删除文件或文件夹,语法是
rm [-r -f] 参数 1 参数 2 ...... 参数 N
,-r
用于删除文件夹,-f
用于强制删除。 -
示例:
-
复制文件:
cp /home/user/file.txt /home/user/backup
-
移动并重命名文件:
mv /home/user/file.txt /home/user/docs/document.txt
-
删除文件:
rm /home/user/docs/*.tmp
-
(六)which 与 find 命令
-
which 命令 :查找命令的程序文件,语法是
which 要查找的命令
。 -
find 命令 :查找指定文件,可按文件名查找,语法是
find 起始路径 -name "被查找文件名"
,也支持按文件大小查找。 -
示例:
-
查找命令文件:
which ls
-
按文件名查找:
find /home/user -name "*.txt"
-
(七)echo 命令、反引号符与重定向符
-
echo 命令 :输出指定内容,语法是
echo 输出的内容
。 -
反引号符 :被
反引号
包围的内容会被作为命令执行。 -
重定向符 :
>
将左侧命令结果覆盖写入右侧文件,>>
追加写入。 -
示例:
-
输出文本:
echo "Hello, Linux!"
-
命令执行并输出:
echo The current date is
date -
重定向输出:
ls > dir_list.txt
-
(八)grep 与 wc 命令、管道符
-
grep 命令 :通过关键字过滤文件行,语法是
grep [-n] 关键字 文件路径
。-n
选项会在输出结果中显示匹配行的行号。 -
wc 命令 :统计文件的行数、单词数量等,语法是
wc [-c -m -l -w] 文件路径
。 -
管道符 :将管道符左边命令的结果作为右边命令的输入,用法是
命令 1 | 命令 2
。 -
示例:
-
搜索功能:
grep "error" /var/log/syslog
-
统计文件行数:
wc -l /home/user/file.txt
-
组合使用:
cat /home/user/file.txt | grep "important"
-
(九)命令行快捷键
-
光标移动 :
-
Ctrl + A
或Home
:光标移至行首。 -
Ctrl + E
或End
:光标移至行尾。 -
Ctrl + B
或左箭头:光标左移一个字符。 -
Ctrl + F
或右箭头:光标右移一个字符。 -
Ctrl + 左箭头
或Alt + B
:光标左移一个单词。 -
Ctrl + 右箭头
或Alt + F
:光标右移一个单词。
-
-
文本编辑 :
-
Ctrl + U
:删除光标到行首的内容。 -
Ctrl + K
:删除光标到行尾的内容。 -
Ctrl + W
:删除光标左侧的单词。 -
Alt + D
:删除光标右侧的单词。
-
-
命令历史 :
-
Ctrl + P
:检索上一个命令。 -
Ctrl + N
:检索下一个命令。 -
Ctrl + R
:反向搜索历史命令。
-
-
其他快捷方法 :
-
快速清屏:
Ctrl + L
,效果等同于clear
命令。 -
中断命令:
Ctrl + C
,可终止当前正在执行的程序。 -
暂停命令:
Ctrl + Z
,可将当前进程放到后台。 -
复制粘贴:
Ctrl + Shift + C
复制文本到系统剪贴板,Ctrl + Shift + V
粘贴文本到命令行。
-
三、vi/vim 编辑器的使用
(一)vi/vim 编辑器简介
vi/vim 是命令行模式下的文本编辑器,vim 是 vi 的升级版,功能更强大,一般使用 vim 即可。启动 vi/vim 编辑器的方式为:vi 文件路径
或vim 文件路径
。
(二)vi/vim 的三种工作模式
-
命令模式(Command mode) :默认模式,所敲的按键都被编辑器理解为命令,以命令驱动执行不同的功能。在此模式下,不能自由进行文本编辑。可以通过以下快捷键进入其他模式:
-
i
:在当前光标位置进入插入模式。 -
a
:在当前光标位置之后进入插入模式。 -
I
:在当前行的开头进入插入模式。 -
A
:在当前行的结尾进入插入模式。 -
o
:在当前光标下一行进入插入模式。 -
O
:在当前光标上一行进入插入模式。
-
-
输入模式(Insert mode) :也就是所谓的编辑模式、插入模式。此模式下,可以对文件内容进行自由编辑。按
ESC
键可以退出输入模式,回到命令模式。 -
底线命令模式(Last line mode) :以
:
开始,通常用于文件的保存、退出等操作。在命令模式内,输入:
即可进入底线命令模式。常用的底线命令模式命令如下:-
:wq
:保存并退出。 -
:q
:仅退出。 -
:q!
:强制退出。 -
:w
:仅保存。 -
:set nu
:显示行号。 -
:set paste
:设置粘贴模式。
-
(三)命令模式下快捷键
-
光标移动 :
-
k
或↑
:向上移动光标。 -
j
或↓
:向下移动光标。 -
h
或←
:向左移动光标。 -
l
或→
:向右移动光标。 -
0
(数字零):移动光标到当前行的开头。 -
$
:移动光标到当前行的结尾。 -
PgUp
:向上翻页。 -
PgDn
:向下翻页。 -
gg
:跳转到文件的首行。 -
G
:跳转到文件的尾行。
-
-
文本编辑 :
-
dd
:删除光标所在行的内容。 -
ndd
(n 为数字):删除当前光标向下 n 行。 -
yy
:复制当前行。 -
nyy
(n 为数字):复制当前行和下面的 n 行。 -
p
:粘贴复制的内容。 -
u
:撤销修改。 -
Ctrl + R
:反向撤销修改。 -
dG
:从当前行开始,向下全部删除。 -
dgg
:从当前行开始,向上全部删除。 -
d$
:从当前光标开始,删除到本行的结尾。 -
d0
:从当前光标开始,删除到本行的开头。
-
-
查找替换 :
-
/
:进入搜索模式,在命令模式下输入/
后输入要查找的文本,按Enter
键开始向下查找。 -
?
:进入反向搜索模式,输入?
后输入要查找的文本,按Enter
键开始向上查找。 -
n
:向下继续查找。 -
N
:向上继续查找。 -
:%s/旧内容/新内容/g
:将文件中所有匹配的旧内容替换为新内容。
-
(四)vi/vim 的实用功能
-
多窗口操作 :使用
:split
命令可将当前文件分成两个窗口显示,方便同时查看文件的不同部分。 -
宏录制 :在命令模式下,按下
q
键再按一个字母(如a
)开始录制宏,再次按下q
键结束录制。之后可以使用@a
来执行录制的宏,提高重复操作的效率。
四、总结
掌握 Linux 命令行的基础知识和常用命令,是深入学习 Linux 系统的前提。通过本文的介绍,希望大家对 Linux 命令行有了更深入的认识,并能熟练运用这些基础命令进行日常操作。在后续的学习中,可以逐步探索更多高级命令和功能,提升自己在 Linux 环境下的工作效率。同时,vi/vim 编辑器作为 Linux 系统中功能强大的文本编辑工具,掌握其使用方法对于提高工作效率也至关重要。通过实际操作和不断练习,你将能够更加熟练地运用这些工具,从而更好地应对各种 Linux 系统相关的工作和学习任务。