Linux-01(Linux 基础命令)
Linux 基础命令
- (一)Linux 目录结构
- 一、Linux 目录结构
- 二、Linux 路径的描述方式
- (二)Linux 命令入门
- 一、Linux 命令基础格式
- 二、ls 命令入门
- 三、ls 命令的参数和选项
- 1. ls 命令的参数
- 2. ls 命令的选项
- (三)目录切换相关命令(cd / pwd)
- 一、cd 切换工作目录
- 二、pwd 查看当前工作目录
- (四)相对路径、绝对路径和特殊路径符
- (五)创建目录命令(mkdir)
- (六)文件操作命令_01(touch、cat、more)
- 一、touch 创建文件
- 二、cat 查看文件内容
- 三、more 查看文件内容
- (七)文件操作命令_02(cp、mv、rm)
- 一、cp 复制文件 / 文件夹
- 二、mv 移动文件 / 文件夹
- 三、rm 删除文件 / 文件夹
- (八)查找命令(which、find)
- 一、which 命令
- 二、find 命令
- (九)grep、wc 和管道符
- 一、grep 命令
- 二、wc 命令:数量统计
- 三、管道符
- (十)echo、tail 和重定向符
- 一、echo 命令
- 二、tail 命令
- (十一)vi 编辑器
(一)Linux 目录结构
一、Linux 目录结构
Linux 的目录结构是一个树型结构。
Windows 系统可以拥有多个盘符,如C盘、D盘…
Linux 没有盘符这个概念,只有一个根目录/,所有文件都在它下面。
二、Linux 路径的描述方式
-
在 Linux 系统中,路径之间的层级关系,使用: / 来表示。
如:/usr/Local/hello.txt
开头的 / 表示根目录
后面的 / 表示层级关系 -
在 Windows 系统中,路径之间的层级关系,使用:\ 来表示。
如:D:\data\work\hello.txt
D: 表示D盘
\ 表示层级关系
(二)Linux 命令入门
命令:即 Linux 操作指令,是系统内置的程序,可以以字符化的形式去使用。
命令行:即 Linux 终端,可以提供字符化的操作页面供命令执行。
一、Linux 命令基础格式
command [-options] [parameter]
command
:命令本身-options
:[可选,非必填] 命令的一些选项,可以通过选项控制命令的行为细节。parameter
:[可选,非必填] 命令的参数,多数用于命令的指向目标等。
语法中的 [ ] 表示可选的意思。
▲ 例如:
ls -l /home/yulisa2
ls 是命令本身,-l 是选项,/home/yulisa2 是参数。
以列表的形式,显示 /home/yulisa2 目录内的内容。cp -r test1 test2
cp 是命令本身,-r 是选项,test1 和 test2 是参数。
复制文件夹 test1,成为 test2
二、ls 命令入门
ls 命令的作用是列出目录下的内容,语法细节如下:
ls [-a -l -h] [Linux路径]
- -a -l -h 是可选的选项
- Linux 路径是此命令可选的参数
当不使用选项和参数,直接使用 ls 命令本体,表示:以平铺形式,列出当前工作目录下的内容。
▲ 当前工作目录?
- 当前登录用户的 HOME 目录作为当前工作目录,所以 ls 命令列出的是 HOME 目录的内容。
- HOME 目录:每个 Linux 操作用户在 Linux 系统的个人账户目录,路径在:
/home/用户名
三、ls 命令的参数和选项
1. ls 命令的参数
- 当 ls 不使用参数,表述列出:当前工作目录的内容,即用户的 HOME 目录。
- 当使用参数,ls 命令的参数表示:指定一个 Linux 路径,列出指定路径的内容。
place——computer——
2. ls 命令的选项
▲ ** -a选项**
-a 选项:表示 all 的意思,即 列出全部文件(包含隐藏的文件 / 文件夹)
可以看到,ls -a
对比 ls
列出的内容更多了。
- 图中以 . 开头的,表示是 Linux 系统的隐藏文件/文件夹(只要以 . 开头,就能自动隐藏)
- 只有通过 -a 选项,才能看到这些隐藏的文件/文件夹。
▲ ** -l 选项**
-l 选项:表示 以列表(竖向排列)的形式展示内容,并展示更多信息。
□ 语法中的选项是可以组合使用的。
ls -l -a
ls -la
ls -al
上述三种写法都是一样的,表示同时应用 -l 和 -a 的功能。
□ 选项和参数也可以组合。
▲ ** -h 选项**
- -h 表示易于阅读的形式,列出文件大小,如 K、M、G
- -h 选项必须要搭配 -l 一起使用
(三)目录切换相关命令(cd / pwd)
一、cd 切换工作目录
当 Linux 终端(命令行)打开的时候,会默认以用户的 HOME 目录作为当前的工作目录。
我们可以通过 cd 命令,更改当前所在的工作目录。
cd 命令来自英文:Change Directory
cd [Linux路径]
- cd 命令无需选项,只有参数,表现要切换到哪个目录下
- cd 命令直接执行,不写参数,表示回到用户的 HOME 目录
二、pwd 查看当前工作目录
通过 ls 来验证当前的工作目录,其实是不恰当的。
我们可以通过 pwd 命令,来查看当前所在的工作目录。
pwd 命令来自:Print Work Directory
pwd
pwd命令,无选项,无参数,直接输入 pwd 即可。
(四)相对路径、绝对路径和特殊路径符
▲ 绝对路径和相对路径
如图,通过 pwd 得知当前所在是 HOME 目录:/home/yulisa
。
现在想要通过 cd 命令,切换工作目录到 Desktop 文件夹中去。
那么,cd 命令的参数(Linux 路径)如何写呢?
cd /home/yulisa/Desktop
(绝对路径写法)
cd Desktop
(相对路径写法)
上述两种写法,都可以正确地切换目录到指定的 Desktop 中。
- 绝对路径:以根目录为起点描述路径,以 / 开头
- 相对路径:以当前目录为起点描述路径,无需以 / 开头
▲ 特殊路径符
.
:表示当前目录,比如cd ./Desktop
表示切换到当前目录下的 Desktop 目录内,和cd Desktop
效果一致。..
:表示上一级目录。cd ..
切换到上一级目录。cd ../..
切换到上二级的目录。~
:表示 HOME 目录。
(五)创建目录命令(mkdir)
通过 mkdir 命令可以创建新的目录(文件夹)
mkdir 来自英文:Make Directory
语法:mkdir [-p] Linux路径
- 参数必填,表示 Linux 路径,即要创建的文件夹的路径,相对路径或绝对路径均可。
- -p 可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录。
mkdir one
mkdir /home/yulisa/two
mkdir ./three
mkdir ~/four
▲ mkdir -p 选项
如果想要一次性创建多个层级的目录。
会报错,因为上级目录itcast和good并不存在,所以无法创建 666 目录。
可以通过 -p 选项,将一整个链条都创建完成。
🔺 注意:创建文件夹需要修改权限,请确保操作均在 HOME 目录内,不要在 HOME 外操作。
涉及到权限问题,HOME 外无法成功。
(六)文件操作命令_01(touch、cat、more)
一、touch 创建文件
touch Linux路径
touch 命令无选项,参数必填,表示要创建的文件路径,相对、绝对、特殊路径符均可以使用。
二、cat 查看文件内容
我们先手动编辑。
cat Linux路径
三、more 查看文件内容
more Linux路径
- cat 是直接将内容全部显示出来
- more 支持翻页,如果文件内容过多,可以一页页的显示
Linux 系统内置有一个文件,路径为:/etc/services
,可以使用 more 命令查看。
more /etc/services
- 在查看的过程中,通过空格翻页。
- 通过 q 退出查看。
(七)文件操作命令_02(cp、mv、rm)
一、cp 复制文件 / 文件夹
cp [-r] 参数1 参数2
- -r 选项,可选,用于复制文件夹使用,表示递归
- 参数1,Linux 路径,表示被复制的文件或文件夹
- 参数2,Linux 路径,表示要复制去的地方
二、mv 移动文件 / 文件夹
mv 参数1 参数2
- 参数1,Linux 路径,表示被移动的文件或文件夹
- 参数2,Linux 路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在。
三、rm 删除文件 / 文件夹
rm [-r -f] 参数1 参数2 ... 参数N
- -r 用于删除文件夹
- -f 强制删除(force),不会弹出提示确认信息。
– 普通用户删除内容不会弹出提示,只有 root 管理员用户删除内容会有提示。
– 所以一般普通用户用不到 -f 选项。 - 参数:要删除的文件或文件夹路径
▲ 通配符:*
符号 *
表示通配符,即匹配任意内容(包含空),示例:
test*
:表示匹配任何以 test 开头的内容*test
:表示匹配任何以 test 结尾的内容*test*
:表示匹配任何包含 test 的内容
删除所有以 test 开头的文件或文件夹:
rm -r test*
▲ -f 强制删除
可以通过 su - root,并输入密码,临时切换到 root 用户体验。
通过输入 exit 命令,退回普通用户。
(临时用 root,用完记得推出,不要一直用 )
(八)查找命令(which、find)
一、which 命令
通过 which 命令,查看所使用的一系列命令的程序文件存放在哪里。
which 要查找的命令
二、find 命令
按文件名查找文件
find 起始路径 -name "被查找文件名"
▲ 通配符 *
test*
:表示匹配任何以 test 开头的内容*test
:表示匹配任何以 test 结尾的内容*test*
:表示匹配任何包含 test 的内容
▲ 按文件大小查找文件
find 起始路径 -size +n[kMG]
find 起始路径 -size -n[kMG]
- +、-表示大于和小于
- n 表示大小数字
- kMG 表示大小单位,k(小写字母)表示kb,M表示MB,G表示GB
示例:
- 查找小于10KB的文件:
find / -size -10k
- 查找大于100MB的文件:
find / -size +100M
(九)grep、wc 和管道符
一、grep 命令
可以通过 grep 命令,从文件中通过关键字过滤文件行。
grep [-n] 关键字 文件路径
- 选项 -n,可选,表示在结果中显示普配的行的行号
- 参数,关键字,必填,表示过滤的关键字,带有空格或其他特殊符号,建议使用 " " 将关键字包围起来。
- 参数,文件路径,必填,表示要过滤内容的文件路径,可作为内容输入端口。
二、wc 命令:数量统计
可以通过 wc 命令统计文件的行数、单词数量等。
wc [-c -m -l -w] 文件路径
- 选项,-c,统计 bytes 数量
- 选项,-m,统计字符数量
- 选项,-l,统计行数
- 选项,-w,统计单词数量
- 参数,文件路径,被统计的文件,可作为内容输入端口
三、管道符
|
将管道符左边命令的结构,作为右边命令的输入。
(十)echo、tail 和重定向符
一、echo 命令
可以使用 echo 命令在命令行内输出指定内容
echo 输出的内容
▲ 反引号 `
我们想输出当前的工作路径:
可是pwd被作为普通字符输出了。
我们可以通过将pwd用反引号包围。
被反引号包围的内容,会被作为命令执行,而非普通字符。
▲ 重定向符
>
:将左侧命令的结果,覆盖写入到符号右侧指定的文件中。>>
:将左侧命令的结果,追加写入到符号右侧指定的文件中。
(被覆盖)
(追加)
二、tail 命令
使用 tail 命令,可以查看文件尾部内容,跟踪文件的最新更改。
tail [-f -num] Linux路径
- 参数,Linux 路径,表示被跟踪的文件路径
- 选项,-f,表示持续跟踪
- 选项,-num,表示查看尾部多少行,不填默认10行
(十一)vi 编辑器
-
什么是 vi/vim 编辑器?
vi / vim 编辑器,就是命令行模式下的文本编辑器,用来编辑文件。
vim 是 vi 的升级版,一般用 vim 即可,包含全部 vi 功能。 -
基础命令
vi 文件路径
vim 文件路径
-
运行模式
(1) 命令模式:默认的模式,可以通过键盘快捷键控制文件内容。
(2) 输入模式:通过命令模式进入,可以输入内容进行编辑,按 esc 退回命令模式。
(3) 底线命令模式:通过命令模式进入,可以对文件进行保存、关闭等操作。