初识Linux篇:第三篇

在这里插入图片描述

初识Linux篇:第三篇

😁本篇接着学习Linux的基本指令的学习

在这里插入图片描述

1.Linux中常见的通配符

🤔什么是通配符?通配符有什么没用?

概念通配符是一种匹配文件名的一种特殊符号;

作用帮助我们更加方便和快捷地查找和操作文件;

首先我们先切换到普通用户,普通用户更方便操作而且风险更低:
在这里插入图片描述
切换用户的命令:su 用户名
su:switch user(切换用户的意思);
在这里插入图片描述


1.1*号通配符

*号表示任何字符,它可以让你很快的筛选指定的文件或目录;

我们可以验证一下,* 号是不是匹配所有文件或目录?
在这里插入图片描述
比如,我想要查看所有的.c文件以及删除所有的.c文件,就可以用通配符*号去匹配:
1.查看所有.c文件:
在这里插入图片描述
2.删除所有.c文件:
在这里插入图片描述

注意:* 号也可以搭配其他指令,让我们更快的查找和操作文件或目录;


1.2 ?通配符

?:表示占用任意单个字符,用来匹配匹配文件名中单个字符;

比如,我想要查找第一个字符是 ‘t’ ,并且倒数第三个字符也是 ‘t’ 的文件:
在这里插入图片描述

1.3[ ]通配符

[ ]是匹配单个字符集,用来匹配这个[ ]中的一个字符;

比如,我想要显示第二个字符是 ‘t’ 或 ’e‘ 的文件:

在这里插入图片描述

1.4{ }通配符

{}:是字符串集,用来匹配花括号的中的一个字符串;

比如,我要查找含有”suzhou“或”yangzhou“的文件:
在这里插入图片描述


总结:

  • *号通配符表示任意字符;
  • ?号通配符表示匹配单个字符或占用单个字符;
  • []表示匹配单个字符集中的任意一个字符;
  • {}表示匹配字符串集中的任意一个字符串;

2.man指令

😭有时候我们会忘记某些指令怎么用,怎么办?

man(manul)指令:查看联机手册,也就是看看Linux中的命令该怎么用;

在这里插入图片描述

语法: man [选项] Linux命令
常用选项

  • num 只在第num章节找,不写默认从第一章找;
  • -a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用-a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕;

注意

  • man手册共8章,因此你的num只能在1~8之间;
  • 我们不能用鼠标进行上下观看,可以用键盘上的上下键,或者键盘上的pgup,pgdown;
  • 退出手册可以按键盘上的q键或者ctrl+c;
  • 如果查不到,可能是man手册不完整,可以在root用户下输入以下命令:yum install -y man

我们输入:man man即可查看man的用法,以下是man的章节;
在这里插入图片描述
比如查看第三章C语言库函数中的printf函数:

在这里插入图片描述
在这里插入图片描述


3.cp指令

🤔什么是cp呢?

cp(copy)指令:用来拷贝文件或目录(加一个-r选项)的,也就是我们在windows下的ctrl+c和ctrl+v的结合;
在这里插入图片描述

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

  • -f 不要问我,强行复制文件或目录, 不论目的文件或目录是否已经存在;
  • -i 覆盖文件之前先询问用户;
  • -r 递归处理,将指定目录下的文件与子目录一并处理;

注意

  • 如果在同一个目录下,源文件名或源目录名与目标文件名或目标目录名相同,则拷贝失败,加-f也不行;
  • 如果目标文件或目录不存在,则自动创建目标文件或目标目录;
  • 如果目标文件存在,则源文件覆盖掉目标文件,如果目标目录存在,则源目录会拷贝到目标目录的当前路径下;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


注意:
在这里插入图片描述
在这里插入图片描述
通过这两张图,我们可以看到这两个test.c文件的内容是不一样的,那么我们cp一下:

在这里插入图片描述


对于两目录名相同而言:
原图:
在这里插入图片描述
拷贝后:
在这里插入图片描述


4.mv指令

🤔什么是mv指令?

mv(move)指令:mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录;


windows下通俗的讲就是文件重命名或者对文件剪切+粘贴的操作;


语法: mv [选项] 源文件或目录 目标文件或目录
常用选项

  • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
  • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖;

🤔如何判断mv到底是重命名还是剪切呢?

其实我们都可以认为mv是剪切并重命名的意思,把目标文件看成一个目录,如果目标目录后有新的名字则表示剪切后重命名,没有新的名字则剪切后用自己原来的名字;
比如:
对于重命名:
在这里插入图片描述
对于剪切:
在这里插入图片描述

注意

  • mv的选项没有-r,也就是说它既可以剪切或重命名文件也能剪切或重命名目录
  • 在同一个目录下,如果源文件或目录名与目标文件或目录名相同,则剪切或重命名失败;
  • 如果目标文件存在,则源文件覆盖掉目标文件,源文件消失,如果目标目录存在,则源目录会拷贝到目标目录的当前路径下,源目录消失;
  • 如果目标文件或目录不存在则自动创建,将原文件数据拷贝过来,源文件消失;

举个例子:

在这里插入图片描述
在这里插入图片描述


5.alias指令

以后我们可以自己配置文件时可能会用到;

🤔什么是alias指令?

alias(别名):就是指令起别名;

🤔🤔为什么ls -l就可以写成ll,这其实就用到了alias指令;

在这里插入图片描述

注意which指令是用来查看指令的绝对路径 pwd是不行的,pwd只是显示我们自己写的所在文件的当前路径;


语法:alias [选项] 别名=’ 命令名称 ',双引号也可以;

常用选项:

  • -p显示当前所有的别名设置;

值得注意的是
alias仅作用于该次登陆的作业,若要每次登陆时都自动设置好别名,需要自己进行配置;


举个例子,我想让mkdir -p取名为为mk:

在这里插入图片描述


🤔那么如果我不想用别名了呢?

用unalias指令:取消对指令取别名;
语法:unalias [选项] 别名
常见选项

  • -a 删除当前会话的所有别名,包括ll这个别名;

注意:unalias,只能删除当前会话的别名,对于已经配置好的别名,在当前会话下也会被删除但是在下一次打开后,又会自动生成;

在这里插入图片描述
在这里插入图片描述
但是我们重新打开会话框,对于系统的别名依旧存在:
在这里插入图片描述


6. echo指令

🤔什么是echo?

echo英文单词是回响的意思,可简单理解为为显示;
echo指令:在linux里是一个用于字符串输出的命令;
语法:echo [选项] 字符串
常用选项

  • -e 表示对于转义字符按对应的方式进行处理;
  • -n表示输出不换行,默认会换行;

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
其实echo还有一个知识点就是输出重定向

🤔🤔什么是输出重定向?

输出重定向可以理解为重新换个输出方向;
输出重定向符号:>,表示输出到目标文件;
在这里插入图片描述
我们看到,原本我们没有输出重定向,默认会输出在显示器文件上,但是我们加了>就输出到(写入到)目标文件中了;


🤔🤔为什么我会说显示器文件?

在这里插入图片描述

因为Linux下一切皆文件,如显示器文件(一种输出流),键盘文件(一种输入流),显卡文件,普通文件;

🤔🤔🤔那么你是怎样看待指令的?

其实指令也是文件,是一个普通文件,更细的说是一个可执行程序,只不过这个可执行程序在Linux中的/usr/bin这个特定的路径底下,每次使用指令时,系统会自动在这个特定的路径下找;
在这里插入图片描述
实在记不住这个路径没关系,我们刚才学了which指令,可以查看指令的所在位置;


回到正题,这个输出重定向可以将字符串输出到指定文件中,但是他有一个特性就是每次写入到这个文件中都会先清理这个文件,再写入新的内容
在这里插入图片描述

🤔🤔🤔🤔那么如何不让它清理(也就是追加的写)呢?

这就涉及到追加输出重定向了,就是>>符号;
在这里插入图片描述
值得注意的是:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

所以我们还可以利用输出重定向或输出追加重定向创建文件或目录,用输出重定向清空文件或目录;


7.cat指令

注意这里的cat可不是猫的意思,这里的cat时concatenate的缩写,是来连接的意思,可理解为将文件的内容连接到显示屏上;

🤔什么是cat指令?

cat指令查看目标文件内容 但是cat只适用于看小文本;
语法:cat [选项] 目标文件
常用选项

  • -n 对输出的所有行编号;
  • -s 不输出多行空行,只输出一行空行;
  • -b 对非空输出行编号;

相信大家从上面已经看到这个指令很多了;

🤔我们刚才知道有输出重定向,那有没有输入重定向呢?

cat就是可以输入重定向;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们可以得出结论输入重定向<,在默认情况下是从键盘中读取的,加上文件后是从文件中读取的;


选项的用法展示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


8.more指令

🤔more指令是用来干什么的呢?

在这里插入图片描述
向上面这种稍大的文本我们就不适合用cat看了,因为它会自动刷屏到结尾,我们可以用more来观看;
语法:more [选项][文件]
常用选项

  • -num 打印到num行
  • q 退出more

注意:more是只打印满屏,不会将所有的都打印,只有当你按一下回车键才能继续往下打印一个,但是不能往上翻;
在这里插入图片描述


9.less指令

🤔🤔那有没有比more更好的查看大文本的指令呢?

less指令,既可以上下翻(上下键:慢翻,pgup/down:快翻),也可以搜索;
语法: less [参数] 文件
选项

  • -i 忽略搜索时的大小写;
  • -N 显示每行的行号;
  • /字符串:向下搜索“字符串”的功能;
  • ?字符串:向上搜索“字符串”的功能
  • q:quit退出;

在这里插入图片描述


10.head与tail指令

🤔🤔head与tail指令是干什么的呢?

head与tail指令是提取大文本的信息的,head是提取大文本前num行信息,tail是提取大文本后num行信息的,他们会将这些信息输出到显示器文件中;
注意:默认num是10行;
在这里插入图片描述

语法:head [选项] 文件
语法:tail [选项] 文件
常用选项

  • -num num表示查看的行数;

🤔那我想要200-300的信息呢?

在这里插入图片描述
但是这要创建一个文件,势必会占用磁盘空间;
所以介绍一个新的符号’|‘,管道(文件);
在这里插入图片描述

分析:先从head -300 out.txt处理,把前300行存到管道文件中,然后tail -101从管道这个文件中读取后101行,最后显示结果;


11.在Linux中写代码

我们现在先简单的学习一下如何在linux中写代码,需要用到编辑器nano;
1.先从yum软件资源安装包上安装nano编辑器,即输入这串指令:yum install -y nano
2.安装完后输入nano 文件名进入nano编辑器,编写代码;
在这里插入图片描述
在这里插入图片描述

3.按ctrl+o保存内容,按ctrl+x退出nano编辑器,再按Y保存文件,进入是否修改文件,按回车退出编辑器来到xshell中;
在这里插入图片描述

4.编译,系统中只有C语言的编译器:输入gcc 文件 ,想对文件重命名的输入:gcc 文件 -o 重命名
在这里插入图片描述

5.运行,./a.out,注意这个a.out是默认的文件名,如果你重命名了就用重命名后的名字,即./重命名;
在这里插入图片描述

注意:这个编辑器也能够写cpp的代码,不过系统没有cpp的编译器,所以要装cpp的编译器:yum install -y gcc gcc-c++,然后编译时用g++编译即可;

🤔怎么保存你运行的结果呢?

在这里插入图片描述

总结

本篇主要介绍了一些Linux中的常见指令,如cp,mv,echo,su,通配符,man,which,alias,unalias,cat,more,less,head,tail等等,如果喜欢本篇不妨留下一颗小❤️,下篇见!

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值