linux入门---基础指令(上)

前言

我们平时使用电脑主要是通过鼠标键盘以及操作系统中自带的图形来对电脑执行相应的命令,比如说我想打开D盘中的cctalk这个文件:
在这里插入图片描述
我就可以先用鼠标左键单击这个文件
在这里插入图片描述
然后再单击鼠标的右键来显示我们能够执行的命令:
在这里插入图片描述
这里有个选项叫打卡,那么点击这里的打开我们就可以进入到cctalk这个文件夹里面:
在这里插入图片描述
当然这个用法很少人这么用,因为windows操作系统可以通过双击鼠标左键来打开对应的文件,所以我们也就很少使用上面的方法,但是这里就有个问题,windows操作系统有各种各样的图标,有各种各样的命令栏选项,有鼠标可以帮我们实现精准的操作,那linux操作系统有这些吗?很遗憾在我们这个平台以及版本中是没有的,我们唯一能够对云服务器进行操作的只有键盘,我们通过键盘往xshell这个平台输入特殊的指令,然后xshell把有效的指令发送给搭载linux操作系统的云服务器,最后Linux再对云服务器做出最后的操作,比如说创建一个文件或者文件夹,将这个文件删除等等…通过上面的讲述相比大家应该能够理解指令的用处以及它的重要性,下面我们将带着大家学习linux中常用的指令。

ls指令

我们登录云服务器的时候,页面是这样的:
在这里插入图片描述
就显示了一个登录成功的提示符,那么我们要想知道当前路径下有哪些内容的话就得使用ls指令。
在这里插入图片描述
首先使用ls是可以不带任何的指令以及文件夹或者文件名,那么这样的结果就是将当前所有的可见的内容显示出来,蓝色的是文件夹名,白色的就是文件:
在这里插入图片描述
-a
既然有可见内容的话,那么就有不可见内容,对于不可见内容我们可以在ls后面加上一个-a选项来显示不可见的内容:
在这里插入图片描述
-1
文件名前面带点的就是不可见内容,这里文件显示的方法有些难看,一行显示了很多个文件名,所以我们这里就可以在ls后面加上一个-1选项,来让他一行只显示一个文件名:
在这里插入图片描述
要想将隐藏内容也显示出来的话就可以再添加一个-a选项,这里大家要记住的一点:选项可以有多个
在这里插入图片描述
-l

当然每个文件都有自己的属性,那么要想看到这些文件属性的话我们就可以使用-l选项:
在这里插入图片描述

当然输入ll的功能和ls -l的功能是一样以后我们就使用ll,这里只显示了可见内容的属性,如果想要看到不可见内容的属性的话,就得在选项后面再加上一个-a选项。
在这里插入图片描述
这里的ls -a -l也可以简化成ls -al功能是一样的。ls指令是可以在后面接文件名或者文件夹名的,但是当我们接的是文件夹的时候,是不会显示该文件夹的名字以及对应的属性,而是将该文件夹中的内容显示了出来:
在这里插入图片描述
-d
那么这里要想显示文件夹本身的话我们就得使用-d选项:
在这里插入图片描述
-R
一个路径下可以存在文件或者文件夹,使用ls指令只会将文件夹的名字显示出来不会显示里面的内容,那么要想将当前目录下的每个文件夹的内容都显示出来的话我们就可以使用-R选项:
在这里插入图片描述
他会递归列出所有子目录中的文件。那么上面就是常用的选项剩下的选项就用的非常的少了大家看看就行这里不多讲。

pwd指令

这个指令的功能就是显示当前所在的路径
在这里插入图片描述
这个指令没有常用选项,所以直接输入pwd就可以了,比如说下面的图片:
在这里插入图片描述
一开始是在root家目录下,所以pwd显示的就是/root,最左边的/表示的意思是根目录,cd +文件夹名可以进入对应的文件夹,所以当执行完cd folder1命令后,pwd显示的是/root/folder1表明我们当前是在根目录下的root目录中的folder1目录里面,那么这就是pwd命名的功能,显示所在路径。

cd指令

在windows操作系统中双击一个文件夹可以将工作页面转移到该文件夹里面,从而执行一系列的操作,那在Linux操作系统中,cd指令就相当于window中对文件夹进行鼠标左键双击:
在这里插入图片描述
首先这里大家得知道一件事就是,每个文件夹中都会含有两个隐藏文件夹,
在这里插入图片描述
mkdir的作用是在当前路径下创建一个文件夹,那么上面的操作就是在当前路径下创建一个文件夹,然后查看这个文件夹中的所有内容,这里显示出来了两个隐藏文件,第一个文件夹名为 . 另一个文件夹名为 . . 那么这两个文件夹表明了两个意思:一个点的文件夹表明是当前目录,两个点的文件夹表明的意思是返回上级目录,而cd指令的作用就是更改工作目录,所以我们可以通过cd . . 来返回上级目录比如下面的操作,首先我们在root家路径下:
在这里插入图片描述
在这个路径中含有以下可见内容:
在这里插入图片描述
我们要想进入folder1这个文件夹的话就可以使用cd指令,在cd后面加上文件夹的名字即可:
在这里插入图片描述
这时再使用pwd显示路径的时候就会发现当前的路径发生了更改,我们输入一些指令也是对folder1这个文件夹进行操作而不是对root这个文件夹,这就是上面说的工作目录的改变:工作目录由root转变成了folder1:
在这里插入图片描述
那这时我们想要回到上级目录的话就可以输入cd . . 来将工作目录由folder1改成root:
在这里插入图片描述
有时候有两个文件相隔非常的远,如果我们一步一步的将工作目录转移的话就显得很麻烦,所以我们这里可以使用cd +绝对路径来实现一步跳转,比如说我在根目录下创建一个文件夹叫folder3,这个文件夹里面还有个文件夹folder4,在folder4文件夹里面含有一个文件test10,
在这里插入图片描述
我们将工作目录转移到之前的folder1里面:
在这里插入图片描述
然后我们再使用cd + 绝对路径 来更改工作目录,test10所在的绝对路径为:/folder3/folder4/ 这里第一个/表示的是根目录,其余的/的作用是将不同的文件夹进行分开在这里插入图片描述有绝对路径就会有相对路径,绝对路径是从根目录开始的路径,而相对路径则是从当前的工作目录下开始的路径,cd 加上相对路径也可是实现工作目录的跳转,比如说下面的操作:在这里插入图片描述
当前是在folder2 这个文件夹里面,我们知道这个文件夹的上一级是root,而root文件夹中还有个folder1文件夹 ,所以我们要想把工作目录转移到folder1这个文件夹的话,就可以使用cd + 相对路径来实现跳转,相对路径是从当前工作目录开始的路径,先用 . . 跳转到上级目录(root)再使用/进行分开,最后进入folder1这个文件夹,那么这里的相对路径就为:../folder1
在这里插入图片描述
Linux中有个概念是家路径,家路径就是每次登录时最开始的那个路径,对于root用户来说家路径就是根目录中的root文件夹,每次使用root登录服务器的时候都会直接来到这个文件夹里面:
在这里插入图片描述
当我们使用其他用户登录这个服务器的话家路径就会发生更改:
在这里插入图片描述
这里的登录用户就是xbb而不是root,所以家路径就变成了/home/xbb,而cd ~的功能就是不管你当前在哪个路径,使用cd ~都可以跳转到家路径下,比如说下面的操作:
在这里插入图片描述
当前的工作目录为:

/home/xbb/folder1/folder3/folder4

当我们执行cd ~后,工作路径就变成了家路径:
在这里插入图片描述
cd -可以将工作目录转移到最近一次使用的工作路径,比如说当前的路径是家目录中的folder2文件夹:
在这里插入图片描述
我们使用cd+相对路径的方式将工作路径进行修改:
在这里插入图片描述
当前的工作路径为/home/xbb/folder1/folder3/folder4而最近一次的工作路径为:/home/xbb/folder2所以使用cd -就可以让当前的工作路径变为最近一次的工作路径:
在这里插入图片描述

touch指令

使用这个指令可以创建一个不存在的文件以及对存在的文件的属性做出修改,我们来看看下面的介绍:
在这里插入图片描述
作为初学者,这个指令大家只用记住它可以创建文件就可以了,创建的形式就是touch加上一个当前路径中不存在的文件名就可以了,比如说下面的操作:
在这里插入图片描述
这里的文件名不要和当前路径中的文件重名即可,如果重名的话touch就不会创建文件而是更改这个文件的时间,stat+文件名可以显示该文件的详细信息,比如说stat test1:
在这里插入图片描述
这里就显示了test1文件的详细信息,仔细的看一下就会发现这里存在着三个时间分别是:Access Modify
Change,这三个时间都是 2023-01-27 16:57:47.384188374,而当我们使用touch test1之后这里的三个时间都会发生更改,变成了当前时间,那么这里大家就得注意一下这里的用法。
在这里插入图片描述
对于touch大家注意这几点就可以上面的选项我们往后再介绍。

mkdir

touch是创建文件,那么这里的mkdir就是创建文件夹
在这里插入图片描述
比如说在家目录下创建一个folder5文件夹,就可以直接在命令行中输入mkdir +文件夹名来进行创建:
在这里插入图片描述
有时候我们需要创建多个连续的文件夹,比如说a文件夹中有个b文件夹,b文件夹中有个c文件夹,这样的情况,如果一个一个的创建的话就显得非常的麻烦,那这里mkdir就提供了一个选项 -p用来创建像这样的连续文件夹,使用的形式如下:mkdir -p a/b/c 那么这里的操作就如下:
在这里插入图片描述
确实创建了一个连续的文件夹,那么这就是mkdir的用法。

rmdir

既然我们可以使用mkdir来创建文件夹,那么这里我们就可以使用rmdir来删除文件夹。
在这里插入图片描述
但是这里有一点就是rmdir只能删除空文件夹,如果文件夹中含有内容的话是不能被rmdir删除的,比如说下面的操作:
在这里插入图片描述

当前路径下有三个文件夹,并且只有folder5这个文件是空的,那么使用mkdir删除folder5是可以删除成功的:
在这里插入图片描述
但是我们使用mkdir删除folder1或者folder2的话就会报错:
在这里插入图片描述
并且mkdir还不能删除文件,比如说下面的操作
在这里插入图片描述
那么这就是rmdir的性质只能删除空文件夹,这个指令就是-p,当子目录删除之后父目录为空的话也会被跟着删除,比如说下面的额操作:
在这里插入图片描述
首先创建一个连续的文件夹,然后再使用rmdir -p来删除这个连续的文件,但是这里的删除得在后面加上一个连续的文件夹在这里插入图片描述
如果你只把文件夹a写上去的话,这里是无法删除的这里大家要注意一下:
在这里插入图片描述
当然在平时的使用过程中rmdir是用的非常的少的,我们主要用的还是rm这个指令。

rm

rm指令可以同时删除文件或者目录,其语法如下:
在这里插入图片描述
使用这个指令如果不加选项的话只能删除文件,如果是文件夹是无法删除的,比如下面的操作:
在这里插入图片描述
rm不加选项的话,文件可以删除但是文件夹无法被删除,但是文件夹是一个特殊的文件,在这个文件里面包含了其他文件,所以rm就提供了一个选项 -r用来递归删除一个文件中的所有文件,并且将这个文件夹也跟着删除,比如下面的操作:
在这里插入图片描述
-i
我们平时在windows系统中删除一些软件的时候都会弹出一个窗口询问我们是否确定删除,那么使用rm指令也提供了这样的功能这就是选项 - i,比如说下面的操作:
在这里插入图片描述
当我们使用- i选项删除指定内容的时候就会弹出这样的内容问我们是否确定删除,如果确实想删除的话就输入y,如果突然不想删除的话就输入其他字符
在这里插入图片描述
-f
root账户中的每个文件都可能非常的重要,所以每删除一个文件即使我们不添加选项系统也会询问你是否要进行删除:
在这里插入图片描述
但是有些时候我们不想看到这个询问这时候就可以添加- f选项来进行强制删除,比如下面的操作:
在这里插入图片描述
这时就直接强制删除了系统没有再询问我们。

man指令

Linux的命令有很多参数,我们不可能全记住,如果我们平时使用linux时,忘记了一些命令参数以及一些指令的用法的话,我们就可以通过man指令来查找这些指令的用法以及介绍,linux将这些命令分为了好几个手册,不同的手册针对不同的内容,手册还有对应的编号1 2 3 4…下面是不同编号的手册介绍:
1 是普通的命令
2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)
3 是库函数,如printf,fread是特殊文件,也就是/dev下的各种设备文件
5 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义
6 是给游戏留的,由各个游戏自己定义
7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明
8 是系统管理用的命令,这些命令只能由root使用,如ifconfig

下面是man函数的用法
在这里插入图片描述
比如说我们想看看top这个指令的用法就可以这么输入:
在这里插入图片描述
按下回车就跳转到了这个页面:
在这里插入图片描述
这里就是top这个函数的介绍,按键盘上的上下键就可以将页面向上移动或者向下移动,如果你看完了想退出的话就可以按一下键盘上的q来退出当前页面。我们看看上面的三号手册这个手册是专门用来查看库函数的,也就是c语言的函数,所以当我们使用c库函数时发现不会用的时候就可以通过man指令来查看对应用法,比如说查看printf函数:
在这里插入图片描述
按下回车就会出现这样的场景:
在这里插入图片描述
但是我们仔细看一下这个好像不是c库中的pintf函数,而是1号手册中的指令,那这是为什么呢?原因很简单man函数在查找指令的时候是从一号手册开始查找的,一但找到了对应的指令就结束,或者找了8个手册都没有找到就直接显示错误
在这里插入图片描述
那我们这里在查找printf函数的时候它是从一号手册开始查找,可是一号手册中也有个叫printf的东西,所以man指令找到这个之后就直接结束了,并不会继续往后查找,如果我们想查看c库中的printf函数的话就得在man指令后面加上一个3这样就可以找到c库中的printf函数
在这里插入图片描述
这里的3表示的意思是3号手册,而man 3就是让linux在3号手册中查找对应指令,那么上面的运行的结果就是这样:
在这里插入图片描述
当然很多小伙伴们的云服务器都是刚买的里面的man指令还不完善这时就得输入这段指令将man指令完善一下:

在这里插入图片描述
按下回车就会出现这样的场景:
在这里插入图片描述
等出现complete就完成了man的安装这时就可以正常的使用man指令了,既然看到这里我们再安装一下tree指令这个指令能让我们更好的看文件夹的递归:
在这里插入图片描述
那么这里在安装的时候会弹出这样的窗口问我们是否要安装:
在这里插入图片描述
那这里输入y即可,安装完之后我们再递归查看文件夹时就不用输入ls -R了而是直接输入tree比如说下面的操作:
在这里插入图片描述
创建一系列的文件夹,让后再输入tree就会出现这样的场景:
在这里插入图片描述
那么这就是一个对比,很明显tree更好看一点。好这时我们再用man函数查找c语言中的printf函数就可以正常的找到了:
在这里插入图片描述

cp指令

cp指令也可以叫拷贝指令,我们可以通过这个指令将一个路径下的内容拷贝到另外一个路径下,下面是这个指令的用法:
在这里插入图片描述
我们来看看这个指令的使用,首先创建一个文件和一个文件夹并且使用echo指令往文件里面输出hello world字符串:
在这里插入图片描述
然后再使用cp指令将src文件拷贝到dst文件夹里面,使用tree指令就可以看到这样的场景在这里插入图片描述
我们可以看到这里的拷贝不是剪切,不会将原来的文件删除,并且cp在拷贝文件的时候还会将文件里面的内容也全部都拷贝过去,我们使用cat就可以查看文件里面的内容:
在这里插入图片描述
这里我们发现不管是拷贝的文件还是被拷贝的文件里面都含有hello world字符串,那么这就验证了这里的cp是拷贝而不是剪切。那如果我们想要拷贝文件夹呢?rm在删除文件夹的时候可以通过-r选项来递归删除,那这里的拷贝是不是也可以通过-r选项来递归拷贝呢?答案是可以的,我们来看看下面的操作:
在这里插入图片描述
我们这里的文件情况是这样的,想将这里的dst文件夹拷贝到folder1里面就可以使用cp加-r选项来递归拷贝:
在这里插入图片描述
cp指令还有个选项就是-i,功能和rm中的-i是一样的,原因是cp在复制的时候如果目标地址中有同名文件的话,会直接将源文件进行覆盖,比如说下面的操作:
在这里插入图片描述
创建一个文件夹folder和一个文件test1,然后在folder文件里面创建一个文件test1,并往这个test1文件里面输入字符串hello world,然后我们再用cp指令将外面的test1文件拷贝到folder文件夹里面,这时我们再用cat输出test1里面的内容时就会发现这里的test1 文件被外面的空test1文件覆盖了:
在这里插入图片描述
folder文件夹中的test1没有任何内容,那这就说明如果拷贝文件的过程中目标地址出现同名的话会将目标文件进行覆盖,并且同名文件的覆盖会在执行的过程中进行确认,如果我们不想有这个确认过程的话就可以加一个- f选项这样就可以强制进行覆盖,不会有提示,与- f相反的就是- i选项这个不管目标地址有没有同名文件都会给出一个确认的指令,那么这就是cp指令的内容。

mv指令

上面的cp相当于复制粘贴执行完这个指令之后源文件还在那,那么这里的mv就相当于剪切执行完这个命令后源文件就不见了,来到了目标路径下,并且mv指令还可以帮我们修改文件或者文件夹的名字我们来看看看看这个指令的语法:
在这里插入图片描述
首先展示一下mv的剪切功能:
在这里插入图片描述
首先创建一个空文件夹和一个文件,并且使用echo往这个文件里面输入一段字符串,然后再使用mv指令将test1文件剪切到folder里面,那么这里的mv就和cp是一样的第一个是源文件或者目录,第二个是目标地址,那么这里的操作就如下:
在这里插入图片描述
我们可以看到folder外面的test1文件不见了来到了folder里面,并且内容还依然存在。剪切文件是没问题的,那剪切文件夹呢?需要带-r吗?答案是mv可以剪切文件夹但是不需要在选项里带-r,这一点要与cp rm区分开:
在这里插入图片描述
touch可以将一个文件的时间属性进行更新,那么mv指令就可以将一个文件或者文件夹的名字进行重命名,比如说下面的操作:改名之前文件夹的名字和内容如上
在这里插入图片描述
然后我们使用mv指令将文件夹的名字进行修改,前面是你要修改的文件夹,后面是你要修改成的名字,这里大家要注意的一点就是修改后的名字不能与当前路径下的其他文件或者文件夹重名也不能是一个路径,比如说下面的操作:
在这里插入图片描述
如果后来取的名字出现重名的话,这里机器会认为你这不是重名而是剪切到后面的那个路径下
在这里插入图片描述
如果是文件的话就会直接报错:
在这里插入图片描述
那么这就是mv指令这个指令没有-r选项,但是有-i或者-f选项其功能和cp指令的功能是一样的。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叶超凡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值