跳到主要内容位置

Linux 命令初步与基础理论

第一部分:基础理论

1.1 Linux 内核

信息

Linux 系统由 Linux 系统内核、系统级应用程序 两部分组成

  • 内核提供系统最核心的功能,如:调度 CPU、调度内存、调度文件系 统、调度网络通讯、调度 IO 等

  • 系统级应用程序,可以理解为出厂自带程序,可供用户快速上手操作 系统,如:文件管理器、任务管理器、图片查看、音乐播放等。

  • 比如,播放音乐,无论用户使用自带音乐播放器或是自行安装的第三 方播放器均是由播放器程序,调用内核提供的相关功能,由内核调度 CPU 解码、音响发声等

1.2 Linux 发行版

信息

内核是免费、开源的,这也就代表了:任何人都可以获得并修改内核,并且自行集成系统级程序,

而 Linux 发行版就是提供了内核+系统级程序的完整封装

1.3 FinalShell 与虚拟机快照

备注

FinalShell 是通过 Linux 的 IP 地址并实现远程连接的程序

步骤实现:

  1. 在 Linux 操作系统中,桌面空白右键点击:open in terminal
  2. 输入 ifconfig ,即可看到 IP 地址
  3. 在 FinalShell 中配置好 IP 地址,账号密码后即可连接成功

虚拟机快照:

通过快照将当前虚拟机的状态保存下来,在以后可以通过快照恢复虚拟机到保存的状态。

第二部分:ls/cd/pwd 命令

2.1 ls 命令

ls 命令的作用是列出目录下的内容

ls -a Linux路径
ls -l Linux路径
ls -h Linux路径
  • -a 选项,表示:all 的意思,即列出全部文件(包含隐藏的文件/文件夹)
  • -l 选项,表示:以列表(竖向排列)的形式展示内容,并展示更多信息
  • -h 表示以易于阅读的形式,列出文件大小,如 K、M、G
  • 注意:-h 选项必须要搭配 -l 一起使用
  • 选项可以进行搭配的组合式写法:如:-alf 顺序没关系,不分指令是有的,如 tar zip 之类的

2.2 cd 命令

cd 是用来进行切换工作目录,当 Linux 终端进行时,会默认以用户的 HOME 目录作为当前的工作目录

cd  "[Linux路径]"
  • cd 命令直接执行,不写参数,表示回到用户的 HOME 目录

2.3 pwd 命令

pwd 是用查看当前工作目录

pwd

2.4 相对路径与绝对路径问题

  • Linux 中相对路径就是在本级目录之上直接写对应路径,头部不写/
  • 绝对路径就是以/开头的根路径地址
  • ./表示当前目录
  • ../表示上一级目录
  • ../../表示上两级目录
  • ~/表示直接从 Homo 目录开始

第三部分:文件操作命令(1)

3.1 mkdir 命令

mkdir 命令是用来创建新的目录(文件夹)

mkdir -p "Linux路径"
  • -p 选项可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录
  • 注意:创建文件夹需要修改权限,请确保操作均在 HOME 目录内,不要在 HOME 外操作涉及到权限问题,HOME 外无法成功

3.2 touch 命令

touch 命令是用来创建文件

touch Linux路径
  • touch 命令无选项,参数必填,表示要创建的文件路径,相对、绝对、特殊路径符均可以使用

3.3 cat 命令

cat 命令是用来读取文件

cat Linux路径
  • cat 同样没有选项,只有必填参数,参数表示:被查看的文件路径,相对、绝对、特殊路径符都可以使用

3.4 more 命令

cat 命令也是用来读取文件

more Linux路径
  • cat 是直接将内容全部显示出来
  • more 支持翻页,如果文件内容过多,可以一页页的展示
  • 同样没有选项,只有必填参数,参数表示:被查看的文件路径,相对、绝对、特殊路径符都可以使用
  • 空格翻页 q 退出查看

第四部分:文件操作命令(2)

4.1 cp 命令

cp 命令是用来复制文件/文件夹

cp -r 参数1 参数2
  • -r 选项,可选,用于复制文件夹使用,表示递归
  • 参数 1,Linux 路径,表示被复制的文件或文件夹
  • 参数 2,Linux 路径,表示要复制去的地方

4.2 mv 命令

mv 命令是用来移动文件\文件夹

mv 参数1 参数2
  • 参数 1,Linux 路径,表示被移动的文件或文件夹
  • 参数 2,Linux 路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在

4.3 rm 命令

rm 命令是用来删除文件\文件夹

rm -f 参数1 参数2..参数N
rm -r 参数1 参数2..参数N
  • 同 cp 命令一样, -r 选项用于删除文件夹
  • -f 表示 force,强制删除(不会弹出提示确认信息)
  • 参数 1、参数 2、......、参数 N 表示要删除的文件或文件夹路径,按照空格隔开【无限数量的参数】
  • 普通用户删除内容不会弹出提示,只有 root 管理员用户删除内容会有提示,所以一般普通用户用不到 -f 选项

4.4 通配符问题

  • rm 命令支持通配符 *,用来做模糊匹配
  • 符号 * 表示通配符,即匹配任意内容(包含空),
  • test*,表示匹配任何以 test 开头的内容
  • *test,表示匹配任何以 test 结尾的内容
  • *test*,表示匹配任何包含 test 的内容

第五部分:查找命令

5.1 which 命令

which 命令是用来查找命令

信息

Linux 命令,其实它们的本体就是一个个的二进制可执行程序。

Windows 系统中的.exe 文件,是一个意思。

同时,我们可以通过 which 命令,查看所使用的一系列命令的程序文件存放在哪里

which 要查找的命令

5.2 find 命令

find 命令是用来查找文件

find 起始路径 -name “被查找文件名”
find 起始路径 -size +|-n[kMG] #( | 代表或者的意思,不用实际打在命令行中)
  • +、- 表示大于和小于
  • n 表示大小数字
  • kMG 表示大小单位,k(小写字母)表示 kb,M 表示 MB,G 表示 GB
  • 示例一:查找小于 10KB 的文件: find / -size -10k
  • 示例二:查找大于 100MB 的文件:find / -size +100M
  • 示例三:查找大于 1GB 的文件:find / -size +1G

第六部分:信息过滤统计命令

6.1 grep 命令

grep 命令用来从文件中通过关键字过滤文件行

grep -n 关键字 文件路径
  • -n,可选,表示在结果中显示匹配的行的行号。
  • 参数,关键字,必填,表示过滤的关键字,带有空格或其它特殊符号,建议使用 ” ” 将关键字包围起来
  • 参数,文件路径,必填,表示要过滤内容的文件路径,可作为内容输入端口(就是使用管道符)

6.2 wc 命令

wc 命令用来从文件中通过数量统计(行数/单词数等等)

wc -c 文件路径
wc -m 文件路径
wc -1 文件路径
wc -w 文件路径
  • 选项,-c,统计 bytes 数量
  • 选项,-m,统计字符数量
  • 选项,-l,统计行数
  • 选项,-w,统计单词数量
  • 参数,文件路径,被统计的文件,可作为内容输入端口(就是使用管道符)

6.3 管道符

将管道符左边命令的结果,作为右边命令的输入

# cat text.txt的输出结果(文件内容)作为右边grep命令的输入(被过滤文件)
cat text.txt | grep lhf

# 统计文件中带有itcast关键字的有几行:
cat test.txt | grep itcast |wc -l

# 统计文件中带有itheima关键字的结果中有多少个单词
cat test.txt | grep itheima |wc -w
  • 选项,-c,统计 bytes 数量
  • 选项,-m,统计字符数量
  • 选项,-l,统计行数
  • 选项,-w,统计单词数量
  • 参数,文件路径,被统计的文件,可作为内容输入端口(就是使用管道符)

第七部分:其他命令

7.1 echo 命令

echo 命令用来在命令行内输出指定内容

echo 输出的内容
echo `pwd`
  • 无需选项,只有一个参数,表示要输出的内容,复杂内容可以用 ” ”包围
  • 反引号包围命令语句,例如:包围 pwd 这样的获得内容语句,像代码块的第二句那样

7.2 反引号符

反引号包围命令语句,例如:包围 pwd 这样的获得内容语句,代表执行 pwd,而不是吧 pwd 当成字符串

echo `pwd`

7.3 重定向符

重定向符:>>>

# > 表示 将左侧命令的结果,覆盖写入到符号右侧指定的文件中
# >> 将左侧命令的结果,追加写入到符号右侧指定的文件中
echo 'hello world' >> test.txt
cat base.txt > test.txt

7.4 tail 命令

wc 命令是用来查看文件尾部内容,跟踪文件的最新更改

tail  -f  Linux路径
tail -num Linux路径
  • 参数,Linux 路径,表示被跟踪的文件路径
  • 选项 -f,表示持续跟踪文件的更改,退出必须使用 ctrl+c 停止命令来解除
  • 选项 -num,表示,查看尾部多少行,不填默认 10 行

第八部分:Vim 编辑器

8.1 工作原理图

8.2 快速使用

vi 文件路径
vim 文件路径

整体一套流程就是:

  1. 先 vim 进入命令模式
  2. 然后按下 i进入输入模式
  3. 编辑完成后,按下ESC 返回命令模式
  4. 按下:进入底线命令模式
  5. 输入wq保存并退出 vim 编辑器

8.3 底线命令模式选项

快捷键功能描述
wq保存并退出文件,相当于:wq命令
q退出文件但不保存,相当于:q!命令
q!强制退出文件但不保存,忽略任何修改
w保存文件但不退出,相当于:w命令
set nu打开行号显示功能
set nonu关闭行号显示功能
set paste进入粘贴模式,用于粘贴时不自动缩进
set nopaste退出粘贴模式,取消set paste效果

8.3 进入插入模式快捷键

快捷键功能描述
i在光标位置前插入文本
I在行首插入文本
a在光标位置后插入文本
A在行尾插入文本
o在光标下面插入一个新行
O在光标上面插入一个新行
esc从插入模式切换回命令模式

8.4 命令模式快捷键

快捷键功能描述
h向左移动光标
j向下移动光标
k向上移动光标
l向右移动光标
w向前跳转一个单词
b向后跳转一个单词
0跳转到行首
^跳转到行首非空字符位置
$跳转到行尾
gg跳转到文件首行
G跳转到文件尾行
dgg删除从当前行到文件首行的所有行
d0删除从光标位置到当前行首的内容
d$删除从光标位置到当前行尾的内容
dG删除从当前行到文件尾行的所有行