Linux基础指令(2)

目录

序言

cat 

echo 

总结 

more 

less

head

tail

管道|

date


序言

在Linux中一切皆文件;比如我们的屏幕也是文件,叫做显示器文件,任何进行的操作都是在文件中进行的;一些指令的默认操作对象就是键盘或者显示器文件;

cat 

cat除了能够直接跟文件名进行查看文件中内容,这一点在博客CSDN中演示过了;除此之外,cat还有其他的功能;

cat:没错,就是只有cat这一个指令,我们类比cat 文件是读取文件中的内容,说明cat的作用是读取对象中的内容;只有一个cat是读取的键盘上的数据,也就是我们手动输入的数据;cat默认的就是从键盘读取数据;

我执行命令cat,然后会让我们输入数据;然后cat就会从我们的键盘中获取刚才输入的数据直接打印在下一行;

cat < 文件:cat <文件这种指令叫做输入重定向;后面也会提到输出重定向;<的作用就是指定读取的位置;cat <文件就是指定的从后面的文件中读取数据,然后打印在显示屏中;当然这个个人觉得与没有<的功能一样;就不在演示了;

注意:cat 从假盘读取数据时,按ctrl+c停止输入;

echo 

举个简单的例子就能很清晰的明白echo 的功能;

 echo 是个输出重定向指令;默认的操作对象是显示器文件;所以我echo 一个字符串就会直接在显示器中打印出来;
注意:echo 打印字符串时后面的冒号可加可不加,因为在Linux中本就是字符;另外,echo 打印完后会自动的换行;

echo  "字符串" > 文件: 向指定文件中输出数据;如果文件不存在会自动创建然后储存输入的数据;如果文件是已存在的,将会清空文件的内容,再写入新的字符串;
小技巧:如果我们想要清空一个已有文件;直接>文件名即可,非常方便;

> 文件:如果我们在文件中什么也不写;依旧可以使用echo >文件;这个时候echo 就可以省略了;直接> 文件名就可以成功创建一个新的文件;所以这也是一个新的创建文件的方法;

>> 指令;如果我们不想直接把文件全部清空,我们可以使用>> ;>>的功能是追加;所以叫做追加重定向指令;

为什么会换行追加呢,因为echo写入一行后会自动换行; 

总结 

echo 的三种功能:
1.创建文件;
2.清空内容;
3.内容重写;

more 

more是配合cat使用的;如果我们cat 一个比较大文件时,直接cat会发生刷屏的现象;为了防止刷屏我们可以使用more指令替代cat ;
创建一个大文件:cnt=1;while [ $cnt -le 10000 ];do echo "hello $cnt";let cnt++;done > log.txt

在more指令下打印到满屏就会停止打印;我们回车才会看到下一行的数据;可以按q停止; more的缺点是只能回车才能看到下面的数据;无法使用鼠标滑轮向下翻;

less

less的功能要优于more,所以我们推荐使用less查看大文件;less不仅包含了more的功能,而且可以随意的使用鼠标上下翻;而且还有搜索功能;
/ +关键字(搜索):在冒号后面输入即可开始按照关键字搜索;同样也是按q结束查看;

head -n(行数) 文件  : 展示前n行的数据;
其中的n可以省略;

tail

tail -n(行数) 文件: 展示后n行的数据;

管道|

假如我们要把一个文件的中间的几行打印出来或者放到另一个文件中;我们有两种方法可以完成;以log.txt文件为例,把[5000,5020]打印出来;

1.先将前5020行放到一个文件tmp.txt中,然后把打印后21行;但是这样看起来和操作起来会比较麻烦;
2.利用管道;可以把管道看成是一个中间储存的媒介;

先将前50200行放在管道中,然后tail -21从管道中读取;当然我们可在一段指令中使用多个管道;

时间相关的指令

date

date 显示
date 指定格式显示时间: date +%Y:%m:%d
date 用法: date [OPTION]... [+FORMAT]
1. 在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下
%H : 小时 (00..23)
%M : 分钟 (00..59)
%S : (00..61)
%X : 相当于 %H:%M:%S
%d : (01..31)
%m : 月份 (01..12)
%Y : 完整年份 (0000..9999)
%F : 相当于 %Y-%m-%d
2. 在设定时间方面
date -s // 设置当前时间,只有 root 权限才能设置,其他只能查看。
date -s 20080523 // 设置成 20080523 ,这样会把具体时间设置成空 00:00:00
date -s 01:01:01 // 设置具体时间,不会对日期做更改
date -s “01:01:01 2008-05-23″ // 这样可以设置全部时间
date -s “01:01:01 20080523″ // 这样可以设置全部时间
date -s “2008-05-23 01:01:01″ // 这样可以设置全部时间
date -s “20080523 01:01:01″ // 这样可以设置全部时间
3. 时间戳
时间戳的产生的原因:因为各国之间的时间有差别(时差),随着互联网的发展,世界人民也对时间的统一有了想法;为了统一时间所以定义 1970年1月1日的午夜(12:00)到现在累计的秒数叫做 时间戳;我们打印出来的是当时的北京时间;
所以时间戳具有 线性递增的特性;
用法:
时间 -> 时间戳: date +%s
时间戳 ->时间:date -d@1508749502(打印时间戳为0的日期加上目前时间戳的时间);

实例:

1.默认打印格式

默认打印的格式并不符合我们日常生活看日期的格式,会很不方便;

2.按照年-月-日格式打印日期

y格式是打印的年份的后两位数;Y格式会将整个年份打印出来;

2.按照年-月-日  小时-分钟-秒 的格式打印日期

这里需要注意的是中间隔开的部分并不能使用空格;而是要使用斜杠';

cal

cal 命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。 阳历 又名 太阳历” ,系以地球绕行太阳一周为一年,为西方各国所通用,故又名 西历
命令格式 cal [ 参数 ][ 月份 ][ 年份 ]
功能 : 用于查看日历等时间信息,如只有一个参数,则表示年份 (1-9999) ,如有两个参数,则表示月份和年份
常用选项
-3  显示系统前一个月,当前月,下一个月的月历
-j   显示在当年中的第几天(一年日期按天算,从 1 1 号算起,默认显示当前月在一年中的天数)
-y   显示当前年份的日历
举例
1.cal -y
显示日历;
2.cal -j
cal -j 会显示出这个月的每一天是这一年中的第几日;
3.cal

cal会显示出当前这个月的信息;
后续内容请看博客 Linux基本指令(3)-CSDN博客
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值