【Linux】——基础指令(下)
前面我们学习了Linux的一些基础的指令,下面我们继续学习在Linux中一些常用的基础指令。
一、man指令
在我们的Linux系统中,是有很多指令的,那么我们对于每个指令的选项,还有功能语法这些,可能会因为时间的缘故,会忘记,所以Linux中提供了man指令,被我们查看联机手册获取帮助。
其语法如下:
man [选项] 要查看的命令
要注意的是:
我们的man其默认是选项1,然后我们进入到查询界面后,要退出的话,就单击q即可。
例如我们使用man指令查看man指令:
我们可以看到比较显眼的是那1-9的选项:
如果我们不输入参数,那么就默认是1,然后其会从1开始往下开始寻找,要是没有找到,那么就会报错反馈。
1是普通的命令
2是系统调用,比如open,write这种,通过这个查询我们可以查到调用的这个函数,要使用到什么头文件。
3是库函数,比如我们在C语言中使用的printf,fread等。
4这里不做解释
5是指文件的格式,比如说passwd,这里就会说明这个文件的各个字段的含义
6是给游戏使用的,由各个游戏进行定义
7是附件还有一些变量,比如像environ这种全局变量在这里就会有说明
8是系统管理用的命令,这些命令只有root用户可以使用,比如ifconfig
9这里不做解释
比如我们现在要查看C语言库中的函数printf,那么我们就可以使用选项3:
二、cp指令
这个指令我们听名字就大概知道其是干嘛用的了,这个是用来复制文件或者目录的。
语法:cp [选项]源文件或目录,目标文件或者目录。
其有如下的几个选项:
1、cp -f
这个作用是强制复制文件或者目录,要是目的文件或者目录不存在,那么就会直接创建一个文件或者目录:
可以看到我们的目录下多了个Hello.txt文件
2、cp -i
这个复制就会多一步,会再次询问用户是否复制。
3、cp -r
这个选项会递归处理,将我们目录下的文件和子目录一并进行处理。若源文件或目录的形态不属于目录或者符号链接,那么就一律当普通文件处理。
三、echo指令
这个指令的作用就是输出字符串/还有对文件进行内容的写入
其主要有三种情况:
1、echo
作用:echo 字符串,那么就会在屏幕上直接打印字符串:
2、echo >
作用:出入重定向,向文件中写入内容,然后要注意的是,我们每次使用>给文件写入内容的话,那么会先清空当前文件的内容,然后写入这个新的内容:
3、echo >>
作用:输入重定向,也是向文件中写入内容,但是其和上面的情况就是其不会清空文件原来的内容:
四、cat指令
这个指令我们上面演示echo的时候有使用过,这个指令的作用是输出文件的内容:
1、cat -b
这个指令是对非空行输出的时候显示行号,空行不显示:
我们最后是给了一个空的字符,所以我们会发现其空了一行没编号的,7那边的话我是给了个空格字符。
2、cat -n
这个指令的作用:输出的时候所有行都带编号
3、cat -s
作用:是不输出多行空行
五、more指令
作用:向后翻滚看文件的内容
1、more -n
其作用是输出n行文件的内容:
当我们文件的内容非常多的时候,那么我们要是直接使用cat指令的话,那么其会一下子将文件的内容都打印出来,那么这样不方便我们进行文件的阅读,那么我们使用more -n指令,指定一次显示多少行,然后我们按回车键会继续往后看,然后不想看了就按q就可以退出了。
六、less指令
这个指令的作用和more类似,不过less可以随意的读文件,不过more其只能向前移动,而less在查看文件的时候不会去加载整个文件。
1、less -i
作用:忽略搜索时的大小写
2、less -N
作用:显示每行的行号
七、head指令
作用:head是用来显示档案的开头至标准输出中,默认head命令打印其对于文件的开头10行
1、head -n
显示n行文件的内容:
八、tail
作用:tail命令是从指定的位置开始将文件写到标准输出,用于显示指定文件末尾内容,不指定文件的时候,那么就作为输入信息进行处理。
1、tail -n
从尾部开始输出n行内容
九、head 和tail管道
我们有的时候查看文件,就只想看文件的部分内容,那么我们可以利用管道来,自己设置要看那几行范围的内容:
语法:head -n 文件| tail -n
head的n是控制边界,让其从这行开始找,然后tail的n就是找多少行:
还有一种写法就是:
cat 文件 |head -n |tail -n
十、date指令
作用:用来显示和设置时间
对于时间的显示方面,其有很多种方式:
%H小时,%M分钟,%S秒
%X相当于:%H:%M:%S
%d日,%m月份,%Y年
%F相当于:%Y-%m-%d
然后这个还可以设置当前的时间,不过这个只有超级用户才可以修改:
还有个概念就是时间戳
Unix时间戳(英⽂为Unix epoch, Unix time,POSIX time或Unix timestamp)是从1970年1⽉1 ⽇(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒
这是方便整个世界进行时间的统一
十一、cal指令
这个指令可以显示公历的日历
语法:cal [选项] 年份
要注意的是,我们有的Linux系统默认是按照cal的,那么要是我们在使用的时候弹出了下面的信息就是我们当前的系统没有安装:
那么我们再输入:apt install ncal
这个是在root的用户下的,要是我们是普通用户那么加一个sudo即可。
然后其有三个选项:
1、cal -3
这个会显示当前月份和前一个月份和后一个月份的日历
2、cal -j
作用:显示当前日期在这一年中是第几天,从一月一号开始算:
3、cal -y
作用:显示当年一整年的日历
十二、find指令
这个指令是Linux中用于实时搜索文件和目录的,其可以根据文件的文件名、类型、大小、修改时间、权限等多种条件来精确的查找文件。
那么我们常用的是按照文件的名字找:
find -name
十三、which指令
这个指令的作用是用来查看系统的指令的位置的:
我们可以发现这些指令都在/usr/bin路径下的。
十四、nano指令
这个指令的作用是给文档写入内容这个和echo的区别就是这个指令可以写入多行的内容:
那么这样就可以直接进入到文档进行内容的写入了。
写完后:Ctrl+o保存,回车+x退出
十五、grep指令
作用:在文件中搜索字符串,然后将找到的内容输出
然后其主要有三个选项:
1、grep
查找指定的关键字的内容:
2、grep -i
这个是不去区分大小写查找
3、grep -n
这个是对查到的内容标记上其在文件中的行数:
4、grep -v
作用:将除了指定内容外的其他内容都显示:
十六、mv指令
这个指令是将文件的位置移动,还有就是将文件的名字进行修改,这个指令经常用来备份文件或者目录。
然后其功能详细如下:
1、视mv指令中的第二个参数类型的不同,mv命令会将文件重命名或将其移动至一个新的目录中
2、当第二个参数类型是文件的时候,那么mv会完成文件的重命名,此时,源文件只能有一个,那么它会将所给的源文件或者目录重命名给定的目标文件名
3、当第二个参数是已经存在的目录名称的时候,那么源文件或者目录可以有多个,那么mv命令会将各参数指定的源文件都移动到目标目录中
1、mv -f
作用:要是目标文件是存在的,那么其不会进行提示,然后直接进行覆盖
可以看到text3.txt文件被直接移动到了上一层目录下,而且没有提示。
2、mv -i
这个的作用和上面的-f的区别就是当我们的文件是存在的时候,那么其会去询问我们是否覆盖
3、mv
直接使用这个指令就可以将文件的名字进行修改
十七、alias指令
这个指令的作用是对于我们系统中的名字进行重新命名,实际上这个也是对文件进行改名,这个的权限比mv的要大,经常用于对于一些我们要经常使用的指令进行重命名,但是这个要谨慎使用, 然后对于使用后,要将其修改回来的话我们可以如下:
unalias -a
十八、zip指令
这个指令我们一看就大概猜到其作用了:其是将目录或者文件压缩成zip的格式
然后这个指令在有的机器上没有默认安装,的然后其在root的权限下我们执行指令
yum install -y zip unzip,就可以安装了
十九、unzip指令
这个指令可以做到直接解压当前的文件。
二十、tar指令
我们以后进行项目的时候,会存在很多的文件,那么我们的文件进行转发分享的时候,就很麻烦,那么我们就可以将一些文件先放在一个目录中,然后此时这个目录占的内存还是比较大的,那么我们可以将其打包压缩再进行分享,那么就可以使用我们的tar指令了
语法:tar -cvf 归档名.tar 要打包的文件1 要打包的文件2 要打包的目录/
2、解包
解包到当前的工作目录下:
tar -xvf 归档名.tar
解包到指定目录:
tar -xvf 归档名.tar -C 目标目录/
二十一、bc指令
这个指令就是打开计算器:
二十二、uname指令
作用:uname指令的作用是展示操作系统,内核,主机名,硬件架构等关键信息,是系统诊断,环境确认,脚本开发的常用方式。
-a显示所有核心信息,包括内核名称,主机名,内核发行版本,内核版本,硬件架构,处理器类型等。
-s仅显示内核名称
-n显示主机名
-r显示内核发行版本
-v显示内核详细版本
-m显示硬件架构
二十三、tap指令
作用:指令补全,当我们输入一些关键字后,然后我们按下tap,那么要是此时就只有一个指令符合的时候,那么就可以主动补全了。

二十四、在Linux系统中执行C语言的代码
C语言的代码以.c为后缀,然后其允许的时候要./为前缀哦
二十五、history指令
作用:用来查看最近1000条操作的指令: