基础班__01__linux

03、04、05、06————linux命令、目录相关命令、文件相关命令、远程管理命令

终于进入正题了!!!!!!接下来就是各种玩转Ubuntu的命令了

到此,Linux的学习终于开了个头!!!进入正题
为什么要学习各种命令,原文是这么写的:
1、尽管 Linux 发展得非常迅速,图形界面越来越友好,但是在真正的开发过程中,Linux 命令行的应用还是占有非常重要的席位,而且许多Linux功能在命令行界面要比图形化界面下运行的快。可以说不会命令,就不算会 Linux
2、在职场中,大量的 服务器维护工作 都是在 远程 通过 SSH 客户端 来完成的,并没有图形界面,所有的维护工作都需要通过命令来完成。如 磁盘操作文件存取目录操作进程管理文件权限 设定等
3、Linux 发行版本的命令大概有 200 多个,但是常用的命令只有 10 多个而已

第二条的意思就是工作的时候要进行服务器维护,使用的都是SSH客户端,它没有图形界面,工作用的都是输入命令来完成的;以及后端程序员或多或少都要用到linux常用的终端命令
实际上我就第三条看懂了O(∩_∩)O哈哈~
好的,光说不练假把式,开干


一、常用Linux命令的基本使用


有些命令学了三年都不一定用得到,所以只需要用常用的10几个就行了
切入正题,开始练习命令

关于如何练习,首先回答默写出下面这7个问题:
问题①:ls命令是什么单词的缩写
问题②:pwd命令是什么单词的缩写
问题③:cd命令是什么单词的缩写
问题④:touch这个命令是啥意思
问题⑤:mkdir命令是什么单词的缩写
问题⑥:rm命令是什么单词的缩写
问题⑦:clear这个命令是啥意思
list,print work directory,change directory,touch,make directory,remove
。。。。。。要不要这么麻烦,实际上还是理解和实操更重要

在我敲了5遍左右后,大概理解了
首先是ls,pwd,cd:显示,确认,跳转目录
然后是touch,mkdir:创建文件,创建目录
最后是rm,clear:删除文件,清屏

敲完5遍以后,在脑海里大概理解了这个意思(当然是配合视频的讲解,这个老师讲解的还不错,能讲透要点,一下就领悟到了精髓)
——————————→ok,这个可以过掉了,学会了


PS:关于放大缩小终端窗口字体的放大字体为什么要加一个shift:
如下图所示,是虚拟键盘
可以看出来默认是“-”,它的右边是“=”,所以缩小字体只需要:Ctrl  +  -
而因为“-”右边是“=”,所以需要按下shift键,让它变为“+”,所以放大字体需要:Ctrl  +  shift  +  =

没有按下shift键
按下了shift键

以及另外两个小技巧:

简而言之就是:
1、Tab可以自动补全(一下Tab),或者显示所有可能(两下Tab)
2、按“上/下”可以切换曾经使用过的命令
3、退出当前输入的命令:ctrl + c(输太多发现前面输错了,可以按这个直接重头开始)




二、Linux终端命令


————————01、终端命令格式

关于终端命令格式,如下图所示,大概意思就是:
各种命令后面带有各种功效,可以分为三种(注意空格,[ ]表示可选)
一种是直接命令的,如ls,pwd,clear
一种是带有参数的,如cd 目录,touch 文件名称,mkdir 文件名称,rm 文件名称
还有一种是带有选项的,比如rm 文件名称就只能删除用来文件,不能用来删除目录
但是变为“rm -r 目录名称”就可以删除目录了,这个时候,-r就是所谓的选项

注意,rm -r 目录名称————学到的第八个linux命令,作用是删除目录
属于终端命令格式中:同时带有命令名,选项,参数的linux命令

如图上文所写 ,大概就讲了这么个东西


————————02、查阅命令帮助信息的两种方法

只要有这两种方法查阅命令帮助就行,因为要先学习常用命令
若遇到问题,借助网络搜索;
这两种方法是在你忘记常用命令的时候,帮你回忆起来进行查询的
不用去网络搜索,打断工作节奏
另外注意,它们使用后,显示的都是英文


查阅命令帮助的两种方法


一个-,后面带参数,意味着是选项
而两个-,即--,后面带参数,意味着是固定选项


查询命令方法一之--help

第二种查询命令帮助就不举图了,建议使用第一种(第二种全英文
附上这种命令的操作说明图

manual,即man的操作键





三、目录相关命令

————————00、目标

之前已经学习了几个命令,等下讲解它的使用场景:
查看目录内容:ls
切换目录:cd
创建和删除操作:touch,mkdir,rm

等下要学习的几个新的命令
拷贝和移动文件:cp,mv
查看文件内容:cat,more,grep
其他:echo,重定向>和>>,管道|


————————01、终端实用技巧

如下图所示,自动补全曾经使用过的命令这两个终端实用技巧(虽然我已经会了,但还是补全笔记来)
自动补全是有关于Tab的,有两种效果:按一次,按两次
发现新用法:实际上Tab更多是用来补全你输入的文件夹目录的,而不是命令


曾经使用过的命令:就是上/下光标键
如果觉得输错了,还写的很多,按下ctrl + c 清空当前行所输入的,重新输入

两个终端使用技巧

注意这个Tab对目录的自动补全会带有“/”(其实可以直接回车的,比如下图所示可以直接回车)
如果是多个开头相同的,就需要两次Tab键

在输入Down后按下Tab后出现的


————————02、ls命令说明(关于隐藏文件和两个点的用法)

ls命令说明

又复习了一遍为什么要学习这个终端命令:
工作的时候是要利用SSH客户端来远程控制服务器进行维护的
因为服务器存放的地方很吵,不利于长时间工作!
因为要用SSH客户端,所以要使用终端命令
其中最常见的就是对某个文件夹进行修修改改,第一用到的就是ls命令确认有要修改的文件

Windows系统有隐藏文件,Linux系统也有隐藏文件的概念
以下是要记住的内容:
Linux文件或者目录名称最长可以有 256 个字符
以 . 开头的文件为隐藏文件,需要用 -a 参数才能显示
.代表当前目录
..代表上一级目录


关于隐藏文件的使用,如下图所示
先创建了两个文件,一个隐藏,一个不隐藏
其中以.开头的文件是隐藏文件
用ls命令查看,只能显示不隐藏的文件
再用ls -a命令查看,显示所有隐藏和不隐藏的文件

用rm命令删除隐藏和不隐藏的两个文件,再用ls -a命令查看
发现创建的两个文件全部删除掉了

测试ls和ls -a的命令


用ls -a命令查看时,能注意到开头的  .  和  ..  两个蓝色部分(视频还是没有说这行的三个点到底是干啥的,小脑袋犯糊涂不清楚哈哈~~~)
.代表当前目录
..代表上一级目录

它们是这么使用的:可以用来返回上一个目录
如下图所示:
cd .没有任何反应,仍然在当前目录
而cd ..产生反应,跳转到上一个目录
使用pwd查询当前所在目录,可以发现跳转到上一个目录
最后使用ls命令查看根目录下的文件

cd . 和cd ..的区别效果

关于如何回到最初的目录,如下图所示,使用cd

使用cd回到Desktop目录


————————03、ls常用选项

ls的三个选项:-a,-l,-h

如图所示,介绍的是ls的三个选项:-a,-l,-h的用法
需要注意的是:-h无法单独使用,它必须配合-l一起使用,放在-l的后面

-l能以列表的方式显示文件的详细信息,如下图所示,这些详细信息有(从右到左的每列):
文件的创建时间文件和文件夹占用的磁盘空间大小两列python后面课程会讲到
然后是最前面那一列:如果是目录,那么就是d开头;如果是文件,那么就是-开头

ls -l的效果

使用ls -l -h
可以和上面的图进行对比,所谓的人性化的方式指的是以人性化的方式来显示文件的大小
更直观地知道文件大小

ls -l -h的效果

小技巧:
 在Linux中,终端命令的选项,如果有多个选项,我们可以分开来输入,也可以合在一起来输入
举个例子,上面的输入是ls -l -h
可以合在一起输入ls -lh,如下图所示,分开来输入和合在一起输入没什么区别
注意,合在一起是不分顺序的(实际上ls -h -l和ls -l -h效果一样)
如果是ls -lha,或者是ls -lah,输出都一样,且会带有隐藏文件
这些隐藏文件是安装的各种日常使用应用程序配置文件,不要乱删

可以合在一起输入的ls -lh效果


————————04、ls通配符的使用

通配符通常用于在大量文件里找到自己想要修改的那个文件

通配符的使用

①用法举例之通配符*:代表任意个数个字符
首先创建几个txt文件:111,121,123,223,323,423,523
假设我们想要找到以1开头的文件,如何使用通配符来找到它们:ls 1*
假设我们想要找到以1结尾的文件,如何使用通配符来找到它们:ls *1.txt


注意,如果是找结尾的文件,需要把后缀也加上去
如果没有加上后缀,那么会提示无法访问

实际上也可以利用通配符解决加不加后缀的问题:ls *3*
这个命令的意思就是把3结尾的所有类型文件都显示出来

如下图所示

ls 1*,ls *1.txt,ls *1*,ls *3.txt,ls *3* 

②用法举例之通配符?:代表任意一个字符,至少1个
假设我们想要找到以1开头和结尾的txt文件,如何使用通配符来找到它们:ls 1?1.txt
假设我们想要找到中间是数字2的txt文件,如何使用通配符来找到它们:ls ?2?.txt
下图顺便举例了?和*的结合(*代表显示所有后缀文件,但这里只有txt文件)

ls 1?1.txt,ls 1?1*,ls ?2?.txt,ls ?2?*

此时再创建一个11.txt,如何使用通配符来查询以1开头和结尾的txt
由下图可以看出来ls 1?1.txt是无法查到11.txt的(包括后面的1abc1.txt也查不到)
只有ls 1*1.txt有效果
如果再创建一个1abc1.txt,还能再查询到吗?
ls 1*1.txt当然是能的(*表示任意个数个字符,包括0个字符)

使用通配符来查询以1开头和结尾的txt,包括11.txt,1abc1.txt


③用法举例之通配符[]:表示可以匹配字符组中的任意一个
此时桌面有五个txt文件很有特点:123,223,323,423,523
都是后面两个数字相同,开头的第一个数字不同
如何将它们提取出来呢?这个就是通配符[]的用法:ls [12345]23.txt
如下图所示
[abc]匹配a、b、c中的任意一个

分别查找以单独数字12345开头,123开头,135开头的结尾为23的txt文件

此外,还有一种用法是[a-f]:匹配从a到f范围内的任意一个字符

[a-f]用法举例


————————05、cd

讲解了关于cd这个命令的扩展用法
哈哈,看到这个我才发现原来只要输入cd然后回车就可以直接回到用户的主目录了!!!(没说之前,真没注意😄)
另外就是这节的扩展用法:输入cd ~也可以直接回到用户的主目录

cd


cd和cd ~返回家目录举例,如下图所示
实际上开头在输入pwd之前,有个蓝色的“~”,表示当前位置
提示你当前是在用户的主目录
蓝色的~:表示用户的主目录
蓝色的/:表示根目录

cd和cd ~,注意输入命令之前会显示的蓝色,表示当前位置

cd .和cd ..,这个在之前就学习了,就不举例了
然后是关于cd -的用法:可以在最近两次工作目录之间来回切换
如下图所示
先跳转到Desktop目录,然后再跳转到Documents目录
注意cd ~表示切换回用户的主目录,那么~/Documents就是用户主目录下面的Documents目录
然后再用cd -,切换回上一个目录;
再按下向上键,然后回车,又能继续切换目录

使用cd -会切换到最近两个目录(实际上就是切换回上一个使用的目录)

cd -的用法,注意cd ~/Documents/代表的意思

————————06、相对路径和绝对路径

相对路径和绝对路径

绝对路径:表示从根目录/家目录开始的具体目录位置;在输入路径时,最前面是 / 或者 ~
使用绝对路径可以切换到精准目录位置(只要你记得住这个文件在哪里)
cd 后面加上绝对路径示例,如下图所示

注意绝对路径最前面是/或者~,~代表用户的主目录

相对路径:表示相对当前目录所在的目录位置;在输入路径时,最前面不是 / 或者 ~
实际上这个相对路径就指的是相对于当前目录的其他目录
自己理解到了就行,因为它只是一个概念
你输入的永远都只有绝对路径,相对路径是对于你当前目录的其他目录,相对路径是给你自己看的一个概念




四、文件相关命令


————————01、touch

touch

touch命令的扩展补充:
如下图所示,touch如果输入的是已存在的文件,则可以修改文件的末次修改日期

下面的111.txt文件之前已经被我用了touch,然后为了截图效果,又重新弄了一个哈哈
当然会发现笔者现在是凌晨4点在敲代码哈哈哈!!!
继续学习

touch对于已经存在的文件的使用效果




————————02、mkdir

mkdir用法扩展

简单来说,就是你想创建一个俄罗斯套娃的目录,就可以用这个
你想创建一个a目录,再在a目录下面创建一个b目录,然后在b目录下面创建一个c目录。。。
大概意思是创建一个:a/b/c/d这么个目录,如下图所示

在不使用这个用法之前,正常的创建流程是这样的

挺麻烦的,创建一个俄罗斯套娃

学了这个用法之后,创建流程是这样的
创建了一个a1/b2/c1/d1这么个目录(不小心把b1写成了b2哈哈)

mkdir p 俄罗斯套娃开始 ,cd测试跳转成功
目录结构验证


此外还有一个重要细节需要注意:
Linux里,不管是文件还是目录,名字都不能重名,且文件名和目录名一样不能重名

文件和目录也是不能重名的




————————03、rm

rm

rm命令删除后是直接从磁盘删除的,不会像图形界面那样先放到回收站那里
rm -r之前已经演示过了,用来删除目录,实际上能删除目录下的所有目录和文件
关于rm -f,使用它会强制删除,不管删除的文件存不存在,哪怕不存在的文件它也会删除

rm -f删除文件,以及rm -rf删除目录

注意,如果是删除目录,但你只用了rm -f,它依旧会报错哈哈

rm -f删除目录依旧会报错😄

rm也可以和通配符一起使用,如下图所示
rm *1.txt删除所有以1结尾的文件
rm -r *删除所有文件目录

友情提示:不要在根目录里输入:rm -rf *,不然直接崩溃哦哈哈哈

rm和通配符一起使用



————————04、拷贝和移动文件命令之tree


学习新命令啦!

去!复制copy嗨皮!CCTV-MV!

首先在图形界面新建一个文件夹,一个文件和它的复制文件
然后把文件放到文件夹里面去
好的,新命令开始学习!



tree的介绍

tree的用法是:tree [目录名]
作用是:以树状图列出文件目录结构

直接在桌面输入tree后回车,效果如下图所示
其中,蓝色的 . 表示当前目录
然后尝试输入:tree ~

发现家目录下面有好多东西哈哈

然后尝试在这个文件里面创建一个a/b/c目录
在c目录里面创建一个123.txt
再在b目录创建两个321.txt和322.txt
然后用tree进行验证,最下面显示一共有4个directories,5个files(4个目录,5个文件)

tree练习

关于tree的扩展用法,只有一个,那就是tree -d

tree -d:只想看目录不想看文件




————————05、拷贝和移动文件命令之cp

cp的介绍

cp的用法是:cp 源文件 目标文件
作用是:复制文件或者目录

Ubuntu自带的txt文本查看的文件是gedit
Document文件里面有一个readme.txt文件,我们要把它复制到桌面上来
根据cp的用法,得出大概是这么写的:cp 源文件路径  目标文件路径
即:cp ~/Documents/readme.txt ./readme.txt

回车后桌面出现了readme.txt,.表示当前目录,~表示用户主目录

这里有个小技巧,因为是复制到桌面上的当前目录,且文件名没有改变
所以目标文件可以直接这写一个 . 就可以了

即:cp ~/Documents/readme.txt .
同时发现,cp这个命令可以同时修改文件名

小技巧 . 以及复制的同时修改文件名


cp的简单用法就讲到这里,此外还有两个扩展用法:

带有选项的cp

关于cp里面的覆盖文件:
如果你复制的是一个相同名字内容不一样的文件
且两个地方都已经存在这个相同名字的文件
但是你依然输入了cp命令进行了复制
就会出现源文件内容把目标文件内容替换掉的情况

且执行这种行为之前是没有任何“覆盖文件前的提示的”

执行前的文件
执行复制命令后出现的覆盖情况

为了避免出错,我们希望在执行覆盖文件之前能有一个提示
①即在使用cp命令的使用时候 -i 的选项
即:cp -i ~/Documents/readme.txt .

它会问你是否覆盖:输入y(是)或者n(否)
输入n,没有覆盖
如果输入y,就会被执行覆盖

询问是否覆盖,输入n后没有覆盖

当我们想要复制一个目录的时候,如果直接用cp,它只是能复制文件的,无法复制目录,它会提示略过目录
这个时候我们就要用 -r 这个命令了
如下图所示,我们想要复制桌面的目录a到另一个目录test(这个目录当前没有,在复制的时候会新建)
②用法是:cp -r a test

cp -r 用法示范




————————06、拷贝和移动文件命令之mv






















最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容