一、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 isdate
-  重定向输出: 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 系统相关的工作和学习任务。
