二章
一些快捷键
【ctrl+ l 是清空屏幕】
【CTRL+c 终止正在进行的程序】
一、Linux的,目录结构
{Linux的目录结构时一个树形结构,window是系统可以拥有多个盘符如C盘,D盘、E盘
Linux没有盘符概念 ,只有一个根目录/ ,所有文件都在他下面。}
Linux只有一个顶级目录,称之为:根目录
windows系统有多个顶级目录,即各个盘符
2./ 在Linux系统中表示
1.出现在开头的/表示根目录
2.出现在后面/的表示层次关系。
二、linux命令入门
1.Linux命令基础
什么是命令、命令行?
学习Linux,本质上是学习在命令行下熟练使用Linux的各类命令。
命令行:即Linux终端(terminal),是一种命令提示符的页面。以纯“字符”的形式操作系统,可以使用各种字符化命令对系统发出操作指令。
命令:即Linux程序。一个命令就是一个Linux的程序。命令没有图形化页面,可以在命令行(终端中)提供字符化的反馈。
finalsheel就是一个命令行程序。
Linux 命令基础格式
command 【-option】【parameter】
command:命令本身
-option:【可选,非必填】命令的一些选项,可以通过选项控制命令的行为细节
parameter:【可选,非必填】命令的参数,多数用于命令的指向目标等
示例:
ls-l/home/itheima, ls 是命令本身,-l是选项,/home/itthima 是参数
意思是以列表的形式,显示/home/itheima 目录内的内容。
cp-r test1 test2 ,cp是命令本身 -r是选项,test1和test2是参数
意思是复制文件夹 test1成为 test2
总结
1.什么是命令,命令行
命令:即Linux操作指令,是系统内置的程序,可以以字符化的形式去使用
命令行:即 Linux终端,,可以提供字符化的操作页面提供命令执行。
2.Linux命令的通用格式
command 【-option】【parameter】
命令本体:即命令本身。
可选选项,控制命令的行为细节
可选参数,控制命令的指向目标,
2.ls命令入门
1.LS命令的作用是?
在命令行中,以平铺的形式,展示当前工作目录(默认home目录)下的内容(文件或文件夹)
2.home目录是?
每一个用户在Linux系统的专属目录,默认在:/home/用户名
3.当前工作目录?
Linux命令行在执行命令的时候,需要一个工作目录,打开命令行程序(终端)默认设置工作目录在用户的home目录
ls命令
ls【-a -l -h】【linux路径】
-a -l -h 是可选的选项
Linux路径是此命令可选的参数
当不使用此选型和参数,直接使用ls命令本体,表示:以平铺形式,列出当前工作目录下的内容。
home目录和工作目录
Linux系统的命令行终端,在启动的时候,默认会加载:
1.当前登录用户的home目录作为当前工作目录,所以ls命令列出的是home目录的内容
2.home目录:每个Linux操作用户在linux系统的个人账户目录,路径在:/home/用户名
3.ls命令的参数和选项
ls【-a -l -h】【linux路径】
1.当ls不使用参数,表示列出:当前工作目录内容,即用户的home目录
当使用参数,ls命令的参数表示:指定一个linux路径,列出指定路径的内容
通过 ls / 列出根目录的内容
2.ls 命令的选项
-a选项 ,表示:all的意思,即列出全部文件(包含隐藏的文件/文件夹)
以.开头的,表示是Linux系统的隐藏文件/文件夹(指要以. 开头,就能自动隐藏)
只有-a选项,才能看到这些隐藏的文件/文件夹
-l选项,表示:以列表(竖向列表)的形式展示内容,并展示更多信息
-h选项 表示以易于阅读的形式,列出文件大小,如 k、m 、g。
-h 选项必须要搭配-l一起使用。
ls命令选项的组合使用
语法中的选项是可以组合使用的,比如学的-a
和-l 可以组合应用
写法:
ls-l-a
ls-la
ls-al
上述三种写法,都是一i杨的,表示同时应用-l 和-a的功能。
除了选项本身可以组合以外,选型和参数页可以一起使用。
3.总结
1.ls命令的参数的作用
可以指定要查看的文件夹(目录)的内容,如果不给定参数就查看当前工作目录的内容
2.ls命令的选项:
-a选项,可以展示除隐藏的内容
以 . 开头的文件或文件夹默认被隐藏,需要-a才能显示出来
-l选项,以列表的形式展示内容,并展示更多细节,
-h选项,需要和-l选项搭配使用,以更加人性化的方式显示文件的大小单位,
3.命令的选项组合使用
命令的选项时可以组合使用的,比如:ls -lah 等同于 ls -a -l -h
4.cd pwd命令
1.cd ——切换工作目录
当Linux终端(命令行)打开的时候,会默认以用户HOME目录作为当前的工作目录
我们可以通过cd命令,更改当前所在的工作目录。
cd命令来自英文:chang Directory
语法:cd【Linux路径】
1.cd命令无需选项,只有参数,表示要切换到哪个目录下。
2.cd 命令直接执行,不写参数,表示回到用户home目录
3.使用参数切换到指定路径
2.pwd——查看当前的工作目录
通过LS来验证当前的工作目录,其实是不恰当的。
我们可以通过PWD命令,来查看当前所在的工作目录。
pwd命令来自:print work directory
语法:pwd
1.pwd 命令,无选项,无参数,直接输入Pwd即可
5.相对路径绝对路径和特殊路径
1.相对路径和绝对路径
通过pwd得知当前所在的是home目录:/home/lijuan
现在想要通过cd命令,切换工作目录到Desktop文件夹中去,那么,cd命令的参数(Linux)如何写呢?
绝对路径:cd /home/lijuan/Desktop
相对路径;cd Desktop
上述两种写法都可以正确的切换目录到指定的Desktop中
2特殊路径符
(1) . 表示当前目录,比如cd ./desktop表示切换到当前目录下的desktop目录内,和cd Desktop 效果一致
(2) ..表示上一级目录,比如:cd..即可切换到上一级目录,cd ../..切换到上二级目录
(3) ~ 表示HOME目录,比如 cd~ 即可切换到HOME目录或cd ~/Desktop,切换到home内的Desktop目录
5.mkdir命令
1.通过mkdir 命令可以创建新的目录(文件夹)
mkdir来自英文: Make Directory
语法:mkdir 【-p】【linux路径】
参数必填,表示Linux路径,即要创建文件夹的路径,相对路径或绝对路径均可
-p选项可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录。
2.mkdir -p 选项
如果想要一次性创建多个层级的目录,如下图
会报错,因为上级目录 him 和 handsom 并不存在,所以无法创建xt 目录
可以同过-p选项,将以整个链条都创建完成
注意:创建文件夹,需要修改权限,请确保操作均在home目录内,不要在home外操作,涉及到权限问题,home外无法成功。
{
遇到一个问题 :当在home/lijuan 下 mkdir ..p 此时的p文件到底在那里?这个我没弄懂,需要求解。
}
6、touch、cat 、 more 命令
1.touch创建文件
可以通过touch命令创建文件
语法:touch linux路径
touch命令无选项,参数必填,表示要创建的文件路径,相对、绝对、特殊路径均可以使用
注意:
文件:不带.txt, 显示为蓝色字体,排序下显示具体内容是带 d的。
文本:带.txt, 显示为白色字体,排序下显示具体内容是不带 d的,显示 -。
2.图形化中手动向文件添加内容
places->computer ->填写内容-》save
3.cat命令 查看内容
准备好文件内容后,可以通过 cat 查看内容。
语法: cat linux路径
cat 没有选项,只有必填参数,参数表示,被查看的文件路径,相对,绝对特殊路径符都可以使用。
4.more 命令查看文件内容,
more命令同样可以查看文件内容,同cat不同的是:
1.cat是直接将内容全部显示出来
2.more 支持翻页,如果文件内容果多们可以一页一页的展示。
语法:more linux路径
同样没有选项,只有必填参数,参数表示:被查看的文件路径,相对,绝对,特殊路径符都可以使用。
Linux系统内置有一个文件,路径为:etc/services,可以使用more命令查看,
more/etc/services
1.在查看的过程中,通过空格翻页。
2.通过q退出查看。
7.cp mv rm 命令
1.cp命令复制文件,文件夹
cp命令 可以用于复制文件\文件夹,cp命令来自英文单词:copy
语法 :cp【-r】参数1 参数2
-r 选项 ,可选,用于复制文件夹使用,表示递归
参数1,linux路径,表示被复制到文件或文件夹
参数2,linux路径,表示要复制去的地方
2.mv 移动文件或文件夹
mv命令可以用于移动文件夹、文件 ,mv命令来自英文但此:move
语法: mv 参数1 参数2
参数1,linux路径,表示被移动的文件,或文件夹
参数2 ,Linux路径,表是要移动去的地方,如果目标不存在,则进行改名,确保目标存在。
3.rm 删除文件,文件夹
rm 命令可用于删除文件、文件夹
rm命令来自英文单词 remove
语法 rm 【-r -f】参数1 参数2 …..参数N
-r:同cp命令一样 -r选项用于删除文件夹
-f:表示force,强制删除(不会弹出提示确认信息——1.普通用户删除内容不会弹出提示信息,只有root管理员也就是超级管理员用户删除内容会有提示,所以一般普通用户用不到-f选项)
参数1、参数2…….\参数n:表示要删除的文件或文件夹路径,按照空格隔开。
4.rm删除文件、文件夹—通配符
符号* 表示通配符,即匹配任意内容(包含空)
(1)test* ,表示匹配任何以test开头的内容
(2)*test,表示匹配任何以test结尾的内容
(3)* test * ,表示匹配包含test的内容
(4)演示强制删除,-f选项
可以通过su -root,并输入密码(和普通用户默认一样)临时切换到root用户体验
通过输入exit命令,退回普通用户(临时用root,用完记得退出,不要一直用)
注意: rm是一个危险的命令,特别是载处于root(超级管理员)用户的时候请谨慎使用
如下命令,请千万千万不要在root 管理元用户下执行:
rm- rf /
rm-rf /*
效果等同于在window是上执行c盘格式化
8.which 、 find 命令
1.使用which命令查找命令程序文件
前面学习的Linux命令,其实它们的本体是一个个的二进制可执行程序和Windows系统中的.exe文件,是一个意思
我们可以通过which命令,查看所使用的一系列命令程序文件存放在那里。
语法: which 要查找的命令
2使用find命令查找指定文件
(1)find命令——按文件名查找文件
在图形化中,我们可以通过系统提供的搜索功能搜索指定文件
同样,在Linux系统中,我们可以通过find命令去搜索指定的文件。
语法: find 起始路径 - name “被查找文件名”
通过拥有最大权限,可以在整个系统完成搜索,我们可以切换到root 用户以获得管理员权限
(2)find命令——通配符
根据
find 起始路径 - name “被查找文件名”
被查找的文件名,支持使用通配符*来做模糊查询
(1)test* ,表示匹配任何以test开头的内容
(2)*test,表示匹配任何以test结尾的内容
(3)* test * ,表示匹配包含test的内容
(4)符号*表示通配符,即匹配任意内容(包含空)
给予通配符的含义可以解合find命令做文件的模糊查询
(3)find命令——按文件大小查找文件
语法:find 起始路径 -size + |- n【KMG]
+、-表示大于和小于
n表示大小数字
KMG表示大小单位,k(小写字母)表示kB,M表示MB,G表示GB
列:
查找小于10kb的文件: find / -size -10k
查找大于100MB的文件: find / -size +100M
查找大于1GB的文件: find / -size + 1G
9.grep 、 wc 命令,管道符概念
1.使用grep命令过滤文件内容
可以通过grep命令,从文件中通过关键字过滤文件行。
语法:grep [-n] 关键字 文件路径
选项-n,可选,表示在结果中显示匹配的行和号。
参数,关键字,必填,表示过滤的关键字,带有空额或其他特殊符号,建议使用“ ”,将关键字包围起来。
参数,文件路径,必填表示过滤内容的文件路径,可作为内容输入端口。
2.使用wc命令统计内容数量
可以通过wc命令统计文件的行数,单词数量等
语法: wc [-c -m -l -w] 文件路径
选项,-c,统计bytes数量
选项,-m,统计字符数量
选项,-l,统计行数
选项,-w ,统计单词数量
参数,文件路径,被统计的文件,可作为内容输入端口
3.管道符的概念和应用
学习grep命令后,来学习一个新的特殊符号,管道符:|
管道符的含义是: 将管道符的左边命令结果,作为右边命令的输入
如上:
cat test.txt的输出结果(文件内容)作为右边的grp命令的输入(被过滤的文件)
10.echo 、 tail 、重定向符
1.使用echo命令输入内容
可以使用echo命令在命令行输出指定内容
语法: echo 输出的内容
无需选项,只有一个参数,表示要输出的内容,复杂的内容可以用” “ 包围
(1)在终端上显示: hello Linux
(2)带有空格或\等特殊符号,建议使用双引号包围
因为不包围的话空格很容易被识别为参数,尽管echo不受影响,但是要养成习惯。
2.反引号的使用
我们可以通过将命令用反引号(通常称指为飘号)``将其包围被包围的内容,会被作为命令执行,而非普通字符
3.tail命令跟踪文件更改
使用 tail命令,可以查看到文件尾部的内容,跟踪文件的最新更改,语法如下
tail 【 -f -num】 linux 路径
参数,Linux路径,表示被跟踪的文件路径
选项,-f , 表示持续跟踪
选项【-num】表示,查看尾部多少行,不填默认10 行
【-mum】演示
【-f】演示
4重定向符的使用
学习两个特殊符号,重定向符——:>和>>
(1) >: 将左侧命令的结果,覆盖写入到符号右侧指定的文件中
(2)>> : 将左侧命令的结果 ,追加写入到符号右侧指定的文件中
11.vi编辑器
1.使用VI 或VIM编辑器完成文件编辑工作
(1)vi 和vim编辑器介绍
vi或vim 是 visual interface的简称,是Linux中的最经典的文本编辑器
同图形化界面的文本编辑器(记事本)一样, vi是命令行下对文本文件进行编辑的绝佳选择
注意:vim 是vi 的加强版本,兼容vi所有的指令,不仅能编辑文本,而且还具有shell 程序编辑的功能,可以不同颜色的字体来辨别语法的正确性,极大方便了程序的设计和编辑性。
(2)vi 或vim 编辑器的三种工作模式
通过 vi / vim 命令编辑文件,会打开一个新的窗口,此时这个窗口就是:命令模式窗口,命令模式是vi编辑器的入口和出口,如下图
进入vi编辑器会进入命令模式
通过命令模式输入键盘指令,可以进入输入模式
输入模式需要退回到命令模式,然后通过命令可以进入底线命令模式。
一.命令模式:
命令模式下所敲的按键编辑器都能理解为命令,以命令的驱动执行不同的功能。
此模式下,不能自由进行文本编辑。
如果需要通过vi/vim编辑器编辑文件,可以通过一下命令:
vi 文件路径
vim 文件路径
注意 : vim兼容全部的vi功能,后续全部使用 vim命令。
如果文件路径表示的文件不存在,那么此命令会用于编辑新文件。
如果文件路径表示的文件存在,那么此命令用于编辑已有文件。
二.输入模式
也就是所谓的编辑模式、插入模式。此模式下,可以对文件内容进行自由编辑。
三、底线命令模式
通常用于文件的保存、退出。
编辑模式没有什么特殊的,进入编辑模式后任何快捷键都没有作用,就是正常输入文本而已,唯一大家需要记住的就是: 通过esc,可以退回到命令模式中即可。
(3)快速体验
1.使用: vim hello.txt,编辑一个新文件,执行后进入的是命令模式。
2.在命令模式内,按键盘i,进入输入模式
3.在输入模式内输入: hello linux !
4.输入完成后 按 esc退回命令模式
5 在命令模式内,按键盘:,进入底线命令模式
6 .在底线命令内输入: wq,保存文件并退出 vi编辑器。
(4)命令模式快捷键
显示1
显示2
显示3
根据这三个显示的快捷键尝试。