自学内容网 自学内容网

Linux入门指令(2)[暑假提升]

要做到坚韧不拔,最要紧的是坚持到底。——陀思妥耶夫斯基


1、前言

相关的Linux指令在先前的文章中有说过,建议是先看前面的文章再继续看这篇文章,这文章中也有包含着大量基础的指令及相关的知识.

2、cat(tac)

语法: cat [选项] [文件]
功能: 查看目标文件的内容
能够将文件内的内容呈现出来。
本质就是现实文件内容。在上一篇文章中介绍过,文件=内容+属性
而属性怎么看?用ls -l/ll 来看。
在这里插入图片描述

cat -s code.c //不输出多行空格
cat -n code.c //此时展现的时候会同时展现出行数
cat -b code.c//对非输出行编号
cat :把键盘文件的内容显示到显示器上。

在这里插入图片描述
其中用的最多的也就是直接cat,将短代码打开。
其中还有一个指令叫做tac,看这就是cat反过来,那就说明tac也就是直接将文本之中的内容反着输出一遍。

3、more指令(解决cat的一些问题)

语法: more [选项] [文件]
功能: more 指令,类似于cat
面对一个大文件的时候,使用more指令将不会再刷屏(但是打满一屏),而且可以允许我们逐行查看。
并且允许我们进行简单的搜索

/(搜索内容)

但是对于上下键没有作用,只能进行enter进行下一行。

4、less指令(解决more问题,重要)

语法: less [选项] [文件]
功能: less指令
能够进行上下翻找,也能够进行关键字查找,更能高亮显示。

作用: 查找的作用大概就是查看系统的日志,防止系统出现一些问题。

5、head指令

语法: head [选项] [文件]
功能: head用来显示档案的开头至标准输出中,,默认head命令打印相应文件的开头10行。

head -n log.txt//其中的n能够展示log.txt文件中的n行。

6、tail指令

无独有偶,有head指令,当眼也有与之相对的tail指令。
语法: tail [选项] [文件]
功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。

tail -n log.txt //想类似于head的指令,其中的n也就是相当于是展示log.txt的倒数n行。当然,默认的设置就是显示倒数10行

能查找头,能查找尾,那么怎么查找中间的数据呢?
应该有两种方法。
其中的一种方法需要创建一个临时文件。

(方法一)
head -8010 log.txt>tmp.txt
tail -10 tmp.txt
(方法二)
head -8010 log.txt | tail -10

其中的( | ),称为管道。所有的管道都是用来资源传输的。(资源是数据)

7、时间相关的指令

7、1、data显示

语法: date [选项]
在这里插入图片描述
在这里插入图片描述
计算机中时间的重要意义体现在日志中。计算机中的日志就想类似于人的日记一样,记录着事情的发生和变化,在计算机中能够借助日志能够帮助我们在计算机中发生问题的时候进行回看,看看到底是哪里的问题。
所以想要看查看日志,就需要利用这一小节的内容来帮助我们进行查找同时方便我们进行翻找。

7、2、时间戳

date +%s//显示时间戳,格林威治

单调递增的时间,不会出现混乱的情况,方便进行范围查找。
同时由于时间戳不方便理解,我们也能够利用date指令,将时间戳转换成能看懂的时间

date +%Y/%m%d_%H:%M:%S -d @(时间戳大小)

8、Cal指令

cal指令可以用来显示公历(阳历)日历。
语法: cal [参数][月份][年份]
功能: 用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份

cal -3:显示当前月以及上一个月和下一个月
cal -j:显示在当年中的第几天(一年一起按天算,从1月1号算起,默认显示当前月在一年中的天数)
cal -y:显示当前年份的日历
cal -y 2004:能够显示2004年份的日历

9、find指令(很重要)

语法: find pathname [选项]
功能: 用于在文件树中查找文件,并作出相应的处理(可能访问磁盘)
find是真正的在树结构中查找。

find / -name 111:从根目录开始查找包含111的文件

10、grep指令

语法: grep [选项] 搜索字符串 文件
功能: 在文件中搜索字符串,将找到的行打印出来
行过滤作用。

grep "999" big.txt:能将包含999的在big.txt中的保留并且显示出来
grep"999" -n big.txt:将包含999的行保留并且显示行好
grep"999" -v big.txt:包不包含999的行保留并且显示
grep -i "hello" sample.txt:忽略大小写 其中i的意思是ignore

11、zip/unzip指令

什么是zip/unzip。为什么要打包压缩
zip和为什么zip的原因。
就是类似于大学生出发去学校拉着行李,如果一个大学生带了太多的东西了,难免会在路上的时候会可能发生一些事情导致东西丢失(文件内容丢失),所以都会建议打包一下防止出现不打包的情况。打开行李的过程也能看做是一个unzip解压的操作。
压缩好处: a、占据磁盘空间小,下载快。 b、一般不会轻易的丢失文件。
语法: zip 压缩文件.zip 目录或文件
功能: 将目录或文件压缩成zip格式

zip 111.zip 111:将111文件夹压缩成111.zip文件(只会打包压缩目录,后续的文件没有压缩进去)
zip -r 111.zip 111:这样才能全部压缩进去。
unzip XXX.zip:在当前的目录下解压
unzip XXX.zip -d /(路径):当前目录下的文件解压到所写的指定的路径之下
zip -r test.zip *:在当前目录下打包所有文件
zip -r test.zip XXX XXXX:打包指定文件

其中压缩文件的后缀 .zip 是固定的。

12、tar指令(重要)

语法: tar [-cxtzjvf] 文件

-c:创建一个压缩文件包(create)
-z:使用压缩算法 (zip)
-f:你要打包压缩的文件名要跟在f后面
-v:将打包过程显示出来(visual)
tar -cvzf 文件:这是压缩
tar -xcvf 文件:这是解压
tar -xzvf test.tgz -C /:指定解压到/,根目录之下。根据选择不同,可以指定到不同的地方。

!!!压缩好处!!!
方便传输。

13、bc指令

bc命令可以方便的进行浮点运算。
主要作用就是运算。Linux上的计算器。

14、uname指令

语法: uname [选项]
功能: uname可以用来获取电脑和操作系统的相关信息

uname -r:展示Linux内核版本

在这里插入图片描述
前面的3.10.0指的是内核版本,后面的el7指的是centos7release版本。
如果是只有x86代表的是32位机器,x86_64/x64代表的就是64位的机器。
高位数的机器能够兼容低位数的机器的软件,可是总会存在32位的机器,所以有些软件发布的就是32位,在任何一个平台都能够运行。在这里插入图片描述
通过这个手段也能够查看系统的版本。

15、额外细节知识

1、echo相关知识,输入/追加 重定向(>/>>)及输出重定向(<)细节

在这里插入图片描述
其中第三行中的(>)符号是输出重定向的作用。
1、创建文件
2、本该显示到显示器上的数据,显示到文件中。

echo > file.txt//能够创建一个file.txt的文件
> file.txt //这样也能够直接创建一个file.txt的文件(从此以后,不用touch也能够直接用重定向创建一个空的文件)

首先,Linux的概念是:一切皆文件。对于任何文件来说,就是读和写文件。

所以,显示器设备->显示器文件->向显示器打印就是意味着向显示器进行写入。
所以

echo "hello Linux" >log.txt//就是让原本“写”在屏幕文件重定向到log.txt中

在这里插入图片描述
每次重定向,都会从文件开始写入文件内容。先清空再写入。
创建一个性文件 >file &&清空一个文件 >file
上面的都是一个 > 符号,那么

echo "hello Linux">>log.txt

这句话又是什么意思呢?当我们这么操作之后,再利用cat指令,能够看到其中log.txt并没有只有hello Linux这句话,是在上一句话之后加上的这句话,那么也就是说 >> 这个符号叫做追加重定向,会在之前追加

cat <log.txt : 输入重定向。先将log.txt打开,从此以后从log.txt中读取而不再是键盘文件。

cat < log.txt与cat log.txt有区别,但是现在还是入门,不太能讲清楚,以后讲清楚了我粘一下链接。

在Linux中观点是一切皆文件的作用是什么呢?
举个例子,当你的室友无论发生什么事情都是无所谓,无论是挂科还是中彩票,都表现的无所谓,那么对于所有的事情处理的方法,简单点来说,就是可以将所有的事情看作是一件事情,也就是说将事情简化处理。
所以相对于在Linux中的好处就是能够有统一的方式来进行文件设备的访问。
怎么证明?

ls /dev/pts/ -l :能够看到有几个显示器文件。
echo "hello Linux"> /dev/pts/1 :能够将输出的输出在1显示器文件
//所以通过echo的输出重定向,能够推断出显示器也是一个文件的概念,体现一切皆文件。

所以类似于嵌入式的都是在Linux的平台操作的原因就是在于,一切皆文件,当有硬件接入的时候能够在文件中看见,并且进行操作。

2、构造大文件

i=1; while [ $i -le 100000 ]; do echo "hello Linux $i"; let i++;done

能够发现,这行指令的输出都是在显示器上显示,所以

i=1; while [ $i -le 100000 ]; do echo "hello Linux $i"; let i++;done >log.txt

这样子,我们就能够直接得到一个有着100000行数据的log.txt文件。

3、出现centos not find

出现这种情况通常来说不是输入错误基本上就是没有安装,那要是没有安装的话,可以直接上网上搜索
centos yum 安装 指令(所需要的指令)


原文地址:https://blog.csdn.net/2301_79194984/article/details/140385007

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!