Linux基本操作入门2

目录

一、登录的另一种方式

二、rm相关指令

2.1 rmdir

2.2 rm指令

2.3 rm -r指令

 2.4 rm-f指令

 2.5 rm -rf指令

2.6 rm -i指令

三、man指令

①手册

② 安装man手册

 四 cp指令

4.1 cp指令

4.2 cp -r&&cp-rf指令

4.3 cp -i

五、mv指令

5.1mv剪切

①移动普通文件

②移动目录

 ③mv受限

​④询问覆盖

5.2mv重命名

六、 echo&&printf&&cat

6.1 echo指令

6.2 >重定向

七、显示文本内容指令

7.1 cat&&tac指令

①cat指令

 ②tac指令

7.2 nano指令

 7.3 more指令

① more指令比较适合查看大文本:

②more指令还可以对前n行显示

 ③查找具体文本

7.4 less指令

①less+文件名 可以查看文本

 ②less查找

③less加行号

7.5 head&&tail指令

①head指令

 ②tail指令

 7.6怎么拿中间文本?

①临时文件的方案

 ②不创建临时文件的方案

 7.7了解管道:|

八、时间指令

8.1 date指令

​8.2 date +%s指令

8.3 cal指令

每日鸡汤:努力成为自己喜欢的那种人 就算不成功 至少你会喜欢 这样努力的自己❤

这篇博文紧承上篇博文,今天博主还是给诸位老铁分享一些Linux的入门操作。

一、登录的另一种方式

在上篇博文,博主像各位老铁介绍了Linux登录用户的一种方式:

ssh  用户名@公网ip   然后输入密码就可登陆了。

今天再分享一种登陆方式:

Linux基本操作入门2_第1张图片

 其余的东西暂时先不管。我们新增后,再点击打开,就会出现这样一个窗口,这时我们创建的就会出现

Linux基本操作入门2_第2张图片

 后序如果想对它进行修改,右击打开属性就可以修改了。

Linux基本操作入门2_第3张图片

 这种方式和ssh那一种互补,大家喜欢哪个就使用哪个咯。

二、rm相关指令

2.1 rmdir

rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除指令。

rmdir的功能是删除空目录

常用选项:

rmdir -p 子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。

Linux基本操作入门2_第4张图片

这里我们可以看到,rmdir只能删除目录,不能对普通文件删除。

 Linux基本操作入门2_第5张图片

2.2 rm指令

rm指令默认删除普通文件。

Linux基本操作入门2_第6张图片

 rm删不掉有文件的目录和空目录--rm删不掉目录。

2.3 rm -r指令

我们看到,rmdir指令只能删除空目录,rm指令只能删除普通文件。那么怎么删除目录呢?

引入了rm -r选项。

Linux基本操作入门2_第7张图片

 2.4 rm-f指令

如果当我们对使用sudo指令创建的文件进行删除的时候:

Linux基本操作入门2_第8张图片

 对于使用sudo指令创建的文件,当我们删除时会询问我们是否要删除。这个询问是比较好的,可以防止我们误删。但是我们来看这种情况:

Linux基本操作入门2_第9张图片

 当我连续删使用 sudo touch 的文件时,每一个文件被删除都要询问我是否要删除,如果我删除确定丢弃的1000个文件,每个都要询问是不是过于繁琐??

所以,就有了rm -f指令,这个指令让我们在删除普通文件的时候,不需询问直接删除:

Linux基本操作入门2_第10张图片

 2.5 rm -rf指令

 Linux基本操作入门2_第11张图片

rm - f可以不需询问直接删除sudo touch创建的普通文件,但是不能删除sudo mkdir创建的目录,所以引入了 rm -rf指令可以不需询问直接强制删除sudo mkdir创建的目录。

Linux基本操作入门2_第12张图片

注意: 

这里提醒一下诸位老铁,对于rm -rf这条指令要谨慎使用,它会不提醒直接递归删除,这种操作是十分可怕的,不当可能会导致操作系统直接挂掉,Linux是一个企业后端服务器,它上面可能会部署很多重要的服务,MySQL数据库(大量用户信息),所以如果你不小心rm -rf /,删掉了根目录,就是码农戏称的删库跑路了!

2.6 rm -i指令

之前介绍的rm -f;rm-rf都是强制删除不需询问,而rm -i就是一定会询问我们是否要删除。

Linux基本操作入门2_第13张图片

 对rm指令的总结:

1、rmdir只能删除空目录;

2、rm只能删除普通文件,删不掉目录

3、rm -r 递归删除目录,它既能删除目录,也能删除普通文件;

4、rm -f强制删除sudo touch创建的普通文件

5、rm -rf强制删除sudo mkdir创建的目录,基本删除一切文件而不询问。当然rm -ef也不是万能的,对于正在使用的文件,被特殊保护的,账号权限不够的文件是删不掉的。

6、rm -i 删除时问一下我是否要删除。

三、man指令

man指令是访问Linux手册页的指令,它是一个查看命令、系统调用、C接口的一个手册。

比如我们查询touch指令:

Linux基本操作入门2_第14张图片

 查询到,如果我们想看更详细的信息,翻页就按键盘上的空格键,退出就按'q'.

再比如:

Linux基本操作入门2_第15张图片

 Linux基本操作入门2_第16张图片

 只不过这里的printf是指令,它不是C里面的函数,要是我们要查看C语言里面的printf函数,只需man 3 printf 操作就可以在3号手册查询就可以了。

Linux基本操作入门2_第17张图片

 这里有的老铁可能有点茫然,三号手册是什么?还有为什么我的XShell不能查看这个printf函数。一个一个解决。

①手册

 比如:Linux基本操作入门2_第18张图片

后面的数字代表他是在几号手册里面的。那么man有几个手册呢?我们输入man man就可以查看 

 Linux基本操作入门2_第19张图片

 解释一下,man手册分为8章

1 是普通的命令

2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)

3 是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件

5 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义

6 是给游戏留的,由各个游戏自己定义

7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明

8 是系统管理用的命令,这些命令只能由root使用,如ifconfig

 这里在说明一下手册的查询规则:如果我们只是输入 man指令去查询,他按照1、2、3、4手册依次去查询,查到就显示。比如printf在1号手册是指令,而在3号手册是C函数,如果我们只是默认查询,是找不到在3号手册的函数printf的因为在1号手册找到就不找了

所以如果我们想具体查询,就得加上手册编号:

man  1/2/3/...   命令/接口 /C

这个手册查询,有的老铁可能觉得全英不好查看,它可以汉化指令部分,但是不建议汉化。

② 安装man手册

有的老铁说为啥我的不能显示printf函数,是因为没有安装man手册,如果你是普通用户,可能会权限受限不能安装,你可以在root账号上去安装。

安装指令是:

root上安装了其他用户也可以使用的。 

 四 cp指令

语法cp [选项] 源文件或目录 目标文件或目录

功能: 复制文件或目录

说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录, 则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息。

4.1 cp指令

cp指令就是简单的复制粘贴普通文件。

 Linux基本操作入门2_第20张图片

 就是一个拷贝的作用,注意拷贝不是剪切,我们将file.txt拷贝到cp_file里面,file.txt并没有受到影响!!

4.2 cp -r&&cp-rf指令

Linux基本操作入门2_第21张图片

 cp指令只能拷贝普通文件不能拷贝目录,所以就引入了 cp -r 拷贝目录。

cp -r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理。

Linux基本操作入门2_第22张图片

 cp -rf是也是可以的,它是强制拷贝。

cp -f:强行复制文件或目录, 不论目的文件或目录是否已经存在。

4.3 cp -i

cp-i:覆盖文件之前先询问用户。

Linux基本操作入门2_第23张图片

cp_file里面已经有file1.txt,但是我们在执行cp指令还在不断往里面拷贝覆盖file1.txt,而没有提醒我们--这是有风险的,如果原来有重要文件,但是因为没有提醒而误被覆盖,就会导致出问题。所以可以cp -i  ,使用这个指令拷贝复制就会问你是否要覆盖:

Linux基本操作入门2_第24张图片

对于这一点,还要说明的是root用户下拷贝复制,存在同名文件时,不用加i他也会询问,用户的话不加i不会询问。

Linux基本操作入门2_第25张图片

 Linux基本操作入门2_第26张图片

cp 拷贝普通文件;cp -r/cp-rf拷贝目录 ;cp -i 设置询问拷贝。

五、mv指令

我们知道CTRL+CCTRL+V不会影响原文件,但是CTRL+X CTRL+V 是以剪切移动到另一文件夹,原文件自动删除。mv指令就有类似于剪切功能。mv命令是move的缩写,可以用来移动文件或者将文件改名,是Linux系统下常用的命令,经常用来备份文件或者目录。

5.1mv剪切

①移动普通文件

Linux基本操作入门2_第27张图片

②移动目录

Linux基本操作入门2_第28张图片

 ③mv受限

Linux基本操作入门2_第29张图片④询问覆盖

当存在同名文件时就会询问我们是否要覆盖剪切。如果我们不想让他询问,就可以使用mv -f指令。

Linux基本操作入门2_第30张图片

 mv -i :若目标文件已经存在时,就会询问是否覆盖,这个操作在root账号下和普通用户下是不一样的。

Linux基本操作入门2_第31张图片

5.2mv重命名

mv 原来文件名  不存在的文件名。就可以改变名字。 

 Linux基本操作入门2_第32张图片

六、 echo&&printf&&cat

6.1 echo指令

echo指令的功能有:

1、显示信息到屏幕,这一点和printf一样:

Linux基本操作入门2_第33张图片

 2、echo可以初始化创建一个文件,比如我们可以touch一个空文件,也可以echo一些内容到一个普通文件:

Linux基本操作入门2_第34张图片

 Linux基本操作入门2_第35张图片

这里提到的cat指令后面还会细说。 

6.2 >重定向

>也是一个指令叫重定向指令,>文件名直接创建一个大小为0的文件 ,它的作用和touch差不多。

Linux基本操作入门2_第36张图片

 至此,我们创建文件的方式有了三种:

1、>创建一个大小为0的普通文件;

2、touch创建一个空白文件;

3、echo可以初始化一个普通文件,也可以打印信息到屏幕。

七、显示文本内容指令

7.1 cat&&tac指令

①cat指令

cat可以把文件的内容显示出来。

Linux基本操作入门2_第37张图片

下面博主输入一个XShell的脚本指令:

 Linux基本操作入门2_第38张图片

这段指令需要 严格控制空格,否则有很大程度完成不了!!

Linux基本操作入门2_第39张图片

cat-n 指令,显示文本行号:

Linux基本操作入门2_第40张图片

 ②tac指令

tac 指令的功能恰好和cat反过来,它可以逆序文本。

Linux基本操作入门2_第41张图片

 但是,对于一行文本,tac无法逆序!!

Linux基本操作入门2_第42张图片

7.2 nano指令

nano指令也可以查看这一万行文本。 

 Linux基本操作入门2_第43张图片

其实我们还可以vim查看文本,但是初学者容易进去后退不出来,所以建议还是nano指令查看。 

nano指令还有很多功能,这里只做了简单介绍:比如查找,替换,和跳转到指定行数等功能,它功能比cat多得多,操作比vim简便,非常适合新手。

可能有的老铁XShell上没有nano指令,需要安装:

 Linux基本操作入门2_第44张图片

 7.3 more指令

① more指令比较适合查看大文本:

Linux基本操作入门2_第45张图片

more指令还可以对前n行显示

Linux基本操作入门2_第46张图片

 ③查找具体文本

Linux基本操作入门2_第47张图片

7.4 less指令

①less+文件名 可以查看文本

 Linux基本操作入门2_第48张图片

 ②less查找

less比more更好的地方在于它可以按键盘上下键翻阅,而more只能向下翻阅。按q退出,less也可以查找:

Linux基本操作入门2_第49张图片

但是,less不支持查看指定行数的文本操作。

③less加行号

Linux基本操作入门2_第50张图片

lessmore比较:

1、less可以按键盘上下键翻阅,而more只能向下翻阅

2、lessmore都可以查找文本,但是less查找到后会给予高亮。

3、但是,less不如more的是不支持查看指定行数的文本操作。

4、less可以像cat -n一样给文本加行号。

7.5 head&&tail指令

more/less指令我还觉得不够方便,比如我就想查看最开始或最后几行文本,more和less都不够方便,于是就有了head和tail指令。 

①head指令

 Linux基本操作入门2_第51张图片

 Linux基本操作入门2_第52张图片

 ②tail指令

Linux基本操作入门2_第53张图片

 7.6怎么拿中间文本?

讲了拿到头和尾的指令,那么我想拿到中间的文本内容,怎么操作呢?

比如我想拿到[800,809]这10行的文本怎么办呢?

①临时文件的方案

Linux基本操作入门2_第54张图片

 ②不创建临时文件的方案

Linux基本操作入门2_第55张图片

 7.7了解管道:|

| 称为管道,它是一个类似于容器的东西,用于传输资源,这里我们只学习管道的命令行操作,后面到了进程间通信还会介绍管道的实现。

我们来分析刚才是怎么使用的管道:

Linux基本操作入门2_第56张图片

 head将前810行文本放到了管道,tail将管道内后十行打印。通过管道,head将文本内容传给了tail去操作。

了解管道之后,我们来进行这样一个操作,将中间十行[600,609]并逆置,并提取逆置后的前三行。

Linux基本操作入门2_第57张图片

我们看到,管道类似于一个流水线。我们把逆置后的 10行放到管道,head提取前三行,通过管道实现多个信息流进行不同指令的加工处理。

八、时间指令

8.1 date指令

date 指定格式显示时间: date +%Y:%m:%d

date 用法:date [OPTION]... [+FORMAT]

1.在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下

1、%H : 小时

2、%M : 分钟

3、%S : 秒

4、%X : 相当于 %H:%M:%S

5、%d : 日 

6、%m : 月份 

7、%Y : 完整年份 

8、%F : 相当于 %Y-%m-%d

Linux基本操作入门2_第58张图片

 这个看起来不舒服,我们可以改造一下:date +%Y/%m/%d

Linux基本操作入门2_第59张图片

 Linux基本操作入门2_第60张图片

 这里需要说明,除了百分号以外的符号,其他符号除了空格可以自行随便设置。

Linux基本操作入门2_第61张图片8.2 date +%s指令

date +%s指令显示时间戳

Linux基本操作入门2_第62张图片

我们决定这个秒数真别扭,可以把时间戳转成好看的时间。 

Linux基本操作入门2_第63张图片

 我们在时间后面加上 -d@秒数 ,就会计算距离1970年1月1日多少秒的时间。

Linux基本操作入门2_第64张图片

8.3 cal指令

cal指令就是一个查看日历的指令。 

 Linux基本操作入门2_第65张图片

 cal+年份显示那一年的日历:

Linux基本操作入门2_第66张图片

 cal -3显示本月上月和下月的日历

Linux基本操作入门2_第67张图片

你可能感兴趣的:(Linux学习,linux,服务器,运维)