当前位置: 首页 > article >正文

Linux入门(2)

 林纳斯托瓦兹

Linux之父

1. echo

echo是向指定文件打印内容

ehco+要打印的内容,不加任何操作就默认打印到显示器文件上。

知识点

在Linux下,一切皆文件。

打印到显示器,显示器也是文件。

2.重定向

>重定向操作,>指向的是文件,echo+>是向指定文件进行写入,如果文件不存在,就创建文件。

这样就可以观察到,hello wolrd已经写入到test.txt里面了。

已经提到过>是向指定文件进行写入,如果直接用>+指定文件会怎么样呢,

因为>前没有任何内容,所以就空内容写入到test.txt里面了,再查看test.txt,就会发现test.txt是空内容。

不仅仅是一个>可以操作,两个>也可以。

>>是追加重定向

追加重定向是默认加换行符的。

既然有输入重定向,那么就有输出重定向。

3.验证Linux下一切皆文件

首先我们打开一台机器,输入ll /dev/pts操作,

然后我们再打开一台机器,再执行上述指令,

此时就会发现多了一个1,这个1就是刚刚打开的机器。

同理我们也可以通过echo和输出重定向在新机器上打印内容。

就是相当于向1这个文件进行写入操作,这样就在新的机器上打印了内容,间接验证了Linux下一切皆文件。

1是新打开的机器,0就是本地的机器。

登录终端就是文件。

这些就验证了:

Linux下一切皆文件。

4.cp指令

cp顾名思义就是copy,就是将文件复制到指定目录。

cp+需要复制的文件+指定目录。

如果后面跟名称那么久会复制目录并且将名字改为添加的名字,当然也可以不添加,名字就是原目录。

5.mv指令

mv类似于copy指令,mv是move的简称,也就是移动。

这就将test.c移动到上一个目录了,但是如果在目标目录的位置后面添加名称,文件就默认改名字了。

当然mv也可以直接改名字,直接在文件名后面加要修改的名字就实现修改名称了。

6.查看文件内容

首先就是cat指令

cat后面可以直接加要查看的文件

也可以加-n就是附加行数

        

-b 对非空输出行编号
-s 不输出多行空行

more指令

当我们查看大文件时候,使用cat就不太方便了
我们想要查看上面的内容也是没有办法,所以我们就有了more
                 

按回车键可以向下查看,遗憾的是,more不能向上查看

less指令

less指令就可以弥补不能翻页的困恼了,

使用less回车查看下一行上下查看上一行和下一行。

此外,在使用 less 进行查找时,还可以利用一些其他快捷键和选项来提高查找效率。例如:

  • 使用 ? 进行向上查找,与 / 的向下查找相对应。
  • 使用 g 跳转到文件的开头,使用 G 跳转到文件的结尾。
  • 使用 Ctrl+F 向前移动一屏,使用 Ctrl+B 向后移动一屏。
  • 使用 &pattern 代替 /pattern 执行搜索,可以只显示匹配行,而不是整个文件内容。

7.head指令

head -n +文件

可以实现查看文件的前n行

当然也可以不加行数直接使用head

默认是打印10行的

8.tail指令

和head同理

9.管道 |

当我们想查看这个文件的第1000行到1010行共11行内容时怎么办,我们可以先使用定向操作符

这就实现了查看1000到1010行内容,但是创建一个文件的方法有些麻烦,有没有更好的办法,答案是有的 :管道

管道就存放临时文件。

10.时间相关的指令

date

这样很不符合中国人对时间的概念,咱们比较喜欢年月日
%H显示当前小时
%M显示分钟
%S显示秒
%X显示小时分钟秒已经AM或PM
%d显示日
%m显示月份
%Y显示完整年份
%F相当于年-月-日

时间戳

时间戳是距离1970 1_1日的0:00的秒数

date -d@时间戳数字,就是显示某个时间对应的年月日

当时间戳为0时,此时缺是早上8:00并非0:00,因为我们所在的地区比时间戳晚8个小时,所以就是显示1970年的8:00。

cal指令

cal指令是直接显示当前月的日历。

也可以查看其他年的日历。

默认是-1,输入-3可以查看当前月份和前一个以及后一个月份的日历。

11.grep指令

在文件中搜索匹配的字符串。

我们对c进行修改

这样只查到了main,由此可知,grep是对大小写敏感的。

-n是打印行号,-i是取消大小写敏感。

-v是输出不喊查找内容的。


http://www.kler.cn/a/377685.html

相关文章:

  • 提高文本处理效率:精通awk命令中的$NF
  • 1、Qt6 Quick 简介
  • Android 使用ninja加速编译的方法
  • 【Java知识】Java基础-对象排序的实现
  • 批量删除redis数据【亲测可用】
  • 【MySQL工具】pt-archiver
  • OpenAI Swarm:多智能体编排框架
  • mysql通过sql语句手动关闭连接
  • rnn/lstm
  • java的批量update
  • SQL,力扣题目1549,每件商品的最新订单【窗口函数】
  • 实现GUI界面中的logo图片的编码与隐藏
  • 基于vue3和elementPlus的el-tree组件,实现树结构穿梭框,支持数据回显和懒加载
  • mfc140u.dll丢失怎么办? mfc140u.dll文件缺失的修复技巧
  • 机器视觉基础—双目相机
  • Python 三维图表绘制指南
  • 一文囊括风控建模中的变量筛选方法
  • Linux 下执行定时任务之 Systemd Timers
  • Vue问题汇总解决
  • 【Centos】在 CentOS 9 上使用 Apache 搭建 PHP 8 教程
  • Vue插槽的使用场景
  • 垃圾材质分类图像图像分割系统:操作简易训练
  • 【MVP】浅析MVP内存泄漏
  • 20.体育馆使用预约系统(基于springboot和vue的Java项目)
  • ES8388 —— 带耳机放大器的低功耗立体声音频编解码器(4)
  • uniapp ,微信小程序,滚动(下滑,上拉)到底部加载下一页内容