文章目录
前言
Linux 命令是用于在 Linux 操作系统中执行各种任务的指令。它们提供了与系统交互、管理文件和目录、处理文本、管理用户和组、配置网络以及执行其他任务的强大而灵活的方式。
一、linux的目录结构和命令基础
1:linux的目录结构
linux的目录结构是一个树形结构:
windows中有盘符的概念,而linux中没有,只有一个根目录/
,所有文件都存放在它下面;
- 路径描述方式:windows中用
\
来连接,而linux中用/
来连接:
例如上图中的bin文件夹:
/usf/bin
;/test/hello.txt
2:linux基础命令
学习linux,其实就是学习熟练使用linux的各种命令;
命令行:即终端(Terminal),一种命令提示符页面;
命令:即linux程序,一个命令就是一个程序,只不过没有图形化界面;
a:命令基础格式
无论是什么命令,用于什么用途,在linux中,命令有他的通用格式command [-options] [parameter]
- command:命令本身;
- -options:命令的一些选项,可以通过选项来控制命令的行为细节【可选,非必填】;
- parameter:命令的参数,多数用于命令的执行目标;【可选,非必填】
例如
ls -l/home/itcsdn
ls是命令本身,-l是选项,/home/itcsdn是参数;意思是以列表的形式,显示/home/itcsdn中的内容
二、基础命令(上)
1.ls命令
- 命令的作用:列出目录下的内容;
- 语法:
ls [-a -l -h] [linux路径]
-a,-l,-h是可选的选项,linux路径是命令的参数;
意思呢就是以-a,-l,-h的其中一种或多种方式去列出linux路径目录下的内容
我们在命令行中输入ls命令,相当于在图形化界面中打开文件管理器显示出的文件
-
-a
:是all的意思;即列出全部文件(包括隐藏文件)
没有-a
:
有-a
:
可以看到多出来许多白色的文件前缀都带有.
这就是隐藏文件 -
-l
:是list的意思,以列表的形式展示内容;
上面我将-a -l
一块用这一块也可以-al,-la
效果都是一样的,可以动手试一下; -
-h
:以易于阅读的形式,列出文件的大小,如k,m,g
上面我们看到在月份前面是内存大小,这些内存大小都是以k为单位的我们使用-h
:
可以发现第一行的4096变成的4.0k,所以-h
可以自动转化进制;
注意:-h
和-l
必须同时使用; -
ls后面的是选填的,那我们只输入ls,他就会列出当前的工作目录,linux中默认的工作目录是用户的HOME目录;(可以动手试一下,看看命令行的输出的和文件管理器中的是否一致);
-
a,h,l
可以自由组合,结果都是一样的;
2:cd命令和pwd命令
a:切换目录命令cd
我们打开命令行时,默认是以HOME目录作为当前的工作目录。我们可以使用cd
更改当前的工作目录;
cd:change Directory
语法:cd [linux路径]
- cd命令没有选项,只有参数,表示要切换到那个目录下;
- cd命令如果不写参数表示回到默认工作目录HOME;
例如:使用cd切换到根目录cd /
再切回HOME目录:cd
b:pwd命令
通过ls来验证当前的工作目录是不恰当的,我们可以通过pwd命令,来查看当前所在的工作目录。
pwd:print work directory;
语法 :pwd
- pwd命令,无选项,无参数,直接输入pwd;
4:相对路径绝对路径和特殊路径
如图我们想切换到Desktop目录下,该 如何操作呢?
cd/home/wfwfr-long/Desktop
cd Desktop
第一种写法是绝对路径,第二种写法是相对路径;
-
返回上一级该怎么操作呢?
-
.
表示当前目录‘ -
..
表示上一级目录,比如cd..
就能防护上一级目录 -
~
表示HOME目录,比如cd ~
就能回到HOME目录;
所以前面提到的问题可以用cd..
:
cd ~
表示程序员要回家,要cd home哈哈;
5:mkdir命令
使用mkdir来创建新的目录(文件夹);
mkdir:Make Directory
- 语法:
mkdir [-p] linux路径
- 参数必填,表示linux路径,即创建文件夹的路径,可以是相对路径,也可以是绝对路径;
- -p选项选填,表示自动创建不存在的父目录,适用于创建连续多层级目录;
例如:在当前目录下创建一个itcsdn的文件夹:
mkdir itcsdn
使用绝对路径在itcsdn下创建一个test文件夹:mkdir /home/wfwfr-long/itcsdn/test
在上一级目录中创建test2: mkdir ../test2
- 加上-p可以创建多层级的目录:
比如可以在当前目录下创建一个itcast/good/666的文件:mkdir -p itcast/good/666
三:基础命令(下)
1:touch,cat,more命令
a:touch命令
使用touch命令创建文件:
- 语法:
touch linux路径
- touch命令没有选项,参数必填,表示要创建的文件,路径,相对,绝对,特殊路径都能用;
mkdir创建的是目录,touch创建的是文件,文件和目录在显示的时候有区别,文件是白色的,目录是蓝色的;
b:cat命令
- 创建文件之后我们可以通过图形化界面来写入数据,然后通过
cat
来查看文件内容; - 语法
cat linux路径
c:more命令
more同样可以查看文件内容,但是和cat不同的是,cat是将全部的内容显示,而more是可以支持翻页
- 语法
more linux路径
我们来查看一个系统内置的文件路径为/etc/services
因为一般较小的文件体现不出来more的翻页的效果;more /etc/services
- 通过空格来翻页;
- 通过q退出查看;
2:cp,mv,rm命令
a:cp命令
cp命令可以用于复制文件和文件夹;
cp:copy
- 语法:
cp [-r] 参数1 参数2
- -r可选,负责文件夹时使用,表示递归;
- 参数1,Linux路径,表示被复制的文件或文件夹;
- 参数2,linux路径,表示要复制去的地方;
例如:复制test,txt到当前目录下的test2.txt;cp test.txt test2.txt
复制文件夹也可以:cp -r itcast itcast2
需要加上-r的选项
b:mv命令
mv命令可以用于移动文件/文件夹;
mv:move
- 语法:
move 参数1 参数2
- 参数1,linux路径,表示被移动的文件夹或目录
- 参数2,linux路径,表示移动到的位置,如果目标不存在则有改名的效果,如将参数1的名字改成参数2的名字
例如:将test.txt移动到Desktop里:mv test.txt Desktop/test.txt
可以看到原来的文件已经不在了;
将test2.txt改名为test3.txt:mv test2.txt test3.txt
c:rm命令
rm命令可用于删除文件,文件夹;
rm:remove
- 语法:
rm [-r -f] 参数1 参数2 .....参数n
- 和cp命令一样
-r
用于删除文件夹; -f
表示force,强制删除(不会弹出提示信息);
普通用户删除内容不会弹出提示,只有root管理员用户删除内容会有提示,普通用户用不到-f选项;
- 参数1,参数2等表示要删除的文件或者文件夹路径,用空格隔开;(也就是说一次可以删除多个文件或文件夹)
例如:删test3.txt:rm test3.txt
删除itcast文件夹:rm -r itcast
(这里删除文件夹要加上-r)
删除多个文件:rm -r itcast2 itcsdn
rm命令支持通配符*,可以进行模糊匹配;
* 可以匹配任何内容,如test* 表示匹配以test开头的所有内容;* test *表示匹配含有test的内容
使用通配符: rm -r test*
注意:
3:which,find命令
a:which命令
我们之前学过,命令是一种系统级程序;我们可以通过which来查看所使用的命令存放在哪:
- 语法:
which 要查找的命令
b:find命令
find命令可以通过指定的名称去搜索文件:
- 语法:
find 起始路径 -name “被查找的文件名”
;
我们需要拥有最大权限才能在整个系统中进行查找,我们可以切换到root用户:使用su - root
然后输入密码就能切换到root
例如全盘搜索名称为test的文件:find / -name "test"
这里在查找时也可以使用通配符:
如:查找以test开头的目录:find / -name "test*"
查找以test结尾的目录:find / -name "*test"
查找包含test的目录:find / -name *test*
find命令也可以通过文件大小去查找文件:
- 语法:
find 起始路径 -size +|- n【KMG】
- +,-表示大于和小于;
- n表示大小数字;
- kmg为大小单位,K是kb,M是mb,G是gb
例如:查找小于10kb的文件:find / -size -10b
查找大于1g的文件:find / -size +1G
4:grep,wc命令和管道符
a:grep命令
可以通过grep命令,在文件中通过关键字来过滤文件行;即通过grep命令查找包含关键字的文件行;
- 语法:
grep [-n] 关键字 文件路径
-n
可选,在结果中显示匹配行的行数;- 参数:关键字,必填,通过关键字来过滤,如果带有空格或者特殊符号需要用“”包起来;
- 参数:文件路径,必填,表示要过滤内容的文件路径,可以作为管道符的输入;
例如:我们通过finalShell来创建一个txt文件然后在图形化界面中往文件中写入:
itheima is a bround of itcast.
itcast stock code 003032.
过滤itheima
:grep -n "itheima" ithbu.txt
过滤itcast
:grep -n "itcast" ithbu.txt
b:wc命令
wc命令用来统计文件行数,单词数量等;
- 语法:
wc [-c -m -l -w] 文件路径
- -c,统计bytes数量;
- -m,统计字符数量
- -l,统计行数;
- -w,统计单词数量;
- 参数,文件路径,可以作为管道符的输入
如果什么选项都不带:统计出来的是行数,单词数,字节数
c:管道符
管道符|
;含义:管道符左边命令的结果作为右边命令的输入;
例如:将cat的内容作为grep过滤的文件内容;
cat ithbu.txt | grep ithbu.txt
练习:管道符,grep,wc的组合使用:
1:统计test。txt文件中带有itcast关键子的有几行;
grep "itcast" ithbu.txt | wc -l
2:统计文件中带有itheima的关键字的结果有多少个单词;
grep "itheima" ithbu.txt | wc -w
5:echo,tail和重定向符
a:echo命令
可以在命令行中输出指定的内容;
- 语法:
echo 输出的内容
- 无需选项,只要一个参数,表示要输出的内容,复杂内容用”“包围
例如在终端上输出:hello,linux:echo "hello linux"
- 反引号:如果我们想要输出的是pwd命令的内容,而不是pwd,我们需要在pwd上加上
``
:
- 重定向符:>和>>
> 将左侧命令的结果,覆盖到右侧指定的文件中;
>>,将左侧命令的结果,追加到右侧的指定文件中;
1:将内容覆盖到test文件中:
echo "hello linux" > ithbu.txt
2:追加:echo "good666" >> ithbu.txt
b:tail命令
使用tail命令,可以查看文件尾部内容,跟踪文件的最新更改;
- 语法:
tail 【-f -num】linux路径
- 参数,linux路径,表示被跟踪的文件路径;
- 选项,-f,表示持续跟踪;
- 选项,-num,表示尾部多数行,不填默认10行
例如:先执行两个操作:
1:ls / >> ithbu.txt
2:ls >> ithbu.txt
然后执行tail语句:tail ithbu.txt
2:查询后20行:tail -20 ithbu.txt
3:追踪:tail -f ithbu.txt
追踪的时候我们的控制台会停留在tail命令中,我们创建第二个连接控制台,然后向其中追加单词,会在原来的连接控制台中更新这就是追踪文件的最新更新;
然后要想强制退出tail命令可以使用crol+c来停止
四:vi编辑器
vi和vim是visual interface的简称,是linux中最经典的文本编辑器;vi是命令行下对文本文件进行编辑的绝佳选择;
vim 是vi的加强版本,兼容vi的所有指令,不仅能编辑文本,而且还具有shell程序编辑的功能,可以根据不同颜色的字体来判别语法的正确性,极大方便了程序的设计和编辑性。
1:三种工作模式:
a:命令模式:
命令模式下,所敲的按键编辑器都理解为命令,以命令驱动执行不同的功能,此模式下不能自由进行文本编辑;
使用
vi/vim 文件路径
进入命令模式
b:输入模式:编辑插入模式;此模式下可以对文件内容进行编辑;
c:底线命令模式:
以:
开始通常用于文件的保存,退出;
2:vim编辑器的快速体验
- 进入vi编辑器会进入命令模式
- 通过命令模式输入键盘指令,可以进入输入模式;
- 输入模式需要退到命令模式,然后可以通过命令进入底线命令模式;
3:命令模式快捷键
我们知道命令模式下输入i可以进入插入功能,那我呢来了解一下其他的快捷键;
- i在当前光标位置进入输入模式;
- a在当前光标位置之后进入输入模式
- I在当前行的开头进入输入模式;
- A在当前行的结尾进入输入模式
- o 在当前光标的下一行进入输入模式;
- O在当前光标的上一行进入输入模式;
- esc 退回到命令模式;
- 上下左右,kjhl光标上下左右移动;
- 0:移动光标到开头;
- $:移动光标到结尾;
- pageup:向上翻页;
- pagedowm:向下翻页;
- /进入搜索模式;
- n向下搜索;
- N向上搜索;**
dd:删除当前行内容;
ndd:删除当前行向下n行;
yy:复制当前行;
nyy:复制当前n行;
p:粘贴;
u:撤销(ctrl+z)
gg:回到首行;
G:跳到行尾;
dG:从当前行开始向下全部删除;
dgg:向上全部删除
d$:从当前光标开始删除到本行结尾
d0:从当前行开始删除到开头;
4:底线命令模式:
我们在命令模式中输入:
进入底线命令模式:
:wq:保存并退出;
:q:仅退出
:w:仅保存;
:q!:强制退出
:set nu:显示行号;
:set paste:设置粘贴模式;(从外部复制内容,进入粘贴模式粘贴后不会产生格式的错乱)
总结
这一章我们学习了一些常用的Linux命令如:ls,cd,mv,mkdir,touch,cat,more,which,find,grep,wc,echo,tail,cp的使用;然后我们还学了vim编辑器的使用及其的快捷命令;
标签:文件,txt,入门,Linux,命令,linux,test,第二章,目录 From: https://blog.csdn.net/2301_79748665/article/details/142897839