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

<Linux复习>基础指令下

一、本章重点

1、复习基本指令:man、cp、mv、cat、tac、more、less、head、tail、date、cal、find、grep

2、介绍:输入重定向、输出重定向、追加重定向

01 man指令

功能:可用来查看命令、系统调用、c库函数。

用法:man 选项 命令

常用选项:1、2、3

1:命令

2:系统调用

3:c库函数(如果没有,需要安装)

安装c库函数命令: yum install -y man-pages

需要安装其他语言库函数及汉化版可自行百度搜索

默认选项是1,如果库函数和命令查找冲突,在不指明选项的情况下,查找的是命令。

如:printf,man printf查找的是指令printf,man 3 printf查找的是c库函数。

如果man指令不熟悉,可以man man来查阅man命令的使用方式。

02 cp指令

cp是copy的缩写,用来拷贝目录和文件

拷贝文件:

 拷贝目录:

【cp 原目录 目标目录】这样直接拷贝目录是不被允许的,需要加上-r选项才能完成目录拷贝

 

还有两个不是很常用的选项,-f和-i。

-f:是force的缩写,用来强制拷贝,因为有的时候该文件和目录不是你的,在你拷贝的时候linux可能会询问你是否确认拷贝。

需要注意的是,当目标文件和当前目录的文件重名的时候,直接拷贝会覆盖掉重名的文件。

比如:

 -i:覆盖文件之前先询问用户。

如:

 

还有需要了解:默认拷贝生成的文件和目录都是在当前目录下。

03 mv指令

mv是move的缩写,有两个功能:

1、类是于剪切文件和目录的功能。

2、对文件或目录进行重命名。

该指令的用法和cp非常相似,不同的是:mv剪切目录时不需要带-r选项。

04 cat指令

功能:查看目标文件的内容。

常用选项:-n

 如果cat后面没有跟文件,则从键盘读取数据。

 cat + 文件名的使用方式,实际上是一种输入重定向,与cat < 文件名是一样的。

输入重定向:简单来说就是原本从键盘上读取数据改为从目标文件读取数据。

05 tac指令

功能:逆序打印文件内容

 与cat功能相似,但需要了解的是tac没有-n选项。

06 more指令

功能:一般用于查看长文本。

cat更适合查看短文本,more更适合查看长文本。

因为:当文本很长的时候cat会将文本打印出来,这样不仅消耗了很多时间,同时不断的刷屏让我们难以查看前面的内容,而more则是选择将屏幕打满,然后等待你按Enter向下翻阅。

使用:more + 文件名

在翻阅的同时,more也可以使用 / 来实现搜索功能。

但一般我们跟喜欢使用less,因为more不能向前翻,只能向后翻,less可以使用上下键实现前后翻。除此之外,less有更多的搜索功能,不仅可以向下搜索,也可以向上搜索。

07 less指令

功能:用于查看长文本,比more功能更强大。

在使用less指令之前,先生成一个100000行的文件。

这里我直接用shell脚本生成:

cnt=1; while [ $cnt -le 100000 ]; do echo "hello bit $cnt"; let cnt++; done > file.txt

再用wc命令查看file文件的内容行数

 说明我们数据写入成功。

查看file文件,输入命令:less file.txt

可通过上下键或者j、k来上下翻阅文件内容。

08 head指令

功能:查看前n行文本。

常用选项:-数字

如查看file.txt的前5行文本:

 不带-数字,默认显示前10行内容。

09 tail指令

功能:查看后n行文本

常用选项:-数字

如查看file.txt的后5行文本:

  不带-数字,默认显示前10行内容。

既然可以查看前n行内容和后n行内容,怎么查看[30000-30020]行的内容呢?

方法一:使用临时文件

 方法二:使用管道

10 date指令

功能:显示时间

直接使用date,不加任何选项,显示的是英文的年、月、日、时、分、秒。

如果不习惯这种显示格式,可以自己控制显示的格式。

还可以打印时间戳(时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。)

有两种方式打印时间戳

1、使用命令打印

2、使用c库函数打印

 

 

 还可以将时间戳转化为对应的日期时间。

11 cal指令

功能:打印日期

直接使用cal命令:打印本月的日期

 cal 年份:打印该年的日期

 cal -3:打印本月并打印与本月相近的2个月份的日期。

12 find指令(灰肠重要)

功能:在目录结构中搜索文件,功能非常强大。

用法:find pathname -options

如:在/usr/include目录下查找stdio.h头文件在哪

13 grep指令

功能:常用于进行行文本过滤

 

 常用选项:

-n:顺便输出行号

-i:忽略大小写

-v:反向过滤

 

 

14重定向

1、输入重定向:原本从键盘读取数据改为从目标文件读取数据

在使用的时候,我们一般省略<,直接写cat test.c

2、输出重定向:原本将数据往显示器打印变为将数据往目标文件打印。(会清空原数据)

 

3、追加重定向:原本将数据往显示器打印变为将数据往目标文件打印(不会清空原数据)

相关文章:

  • Spring中自定义依赖注入对象注入Controller中,优雅的解决用户鉴权问题(HandlerInterceptorAdapter)
  • opencv 车牌识别
  • [LeetCode周赛复盘] 第 312 场周赛20220925
  • 基于HTML+CSS+JavaScript的MIUI10官网网站设计与开发
  • Vue 新手期练手出现问题记录与解决方案——Vue练手项目“小问题“
  • 计算机组成原理-华科版本
  • 计算机网络原理 谢希仁(第8版)第五章习题答案
  • 记一次Netty堆外内存溢出OutOfDirectMemoryError
  • 设计模式详解:模式汇总与索引清单
  • SpringSecurity实战-第5章 自动登录和注销登录
  • Python基础内容训练9(文件操作)
  • 冰冰学习笔记:list的简单模拟
  • 基于鸽群优化算法的线性规划求解matlab程序
  • 【博客505】k8s Sig-scheduler Coscheduling调度器插件原理
  • 【Linux】I/O多路复用-SELECT/POLL/EPOLL
  • 11111111
  • Git学习与使用心得(1)—— 初始化
  • Idea+maven+scala构建包并在spark on yarn 运行
  • Java比较器对数组,集合排序
  • java概述
  • JSONP原理
  • Js基础知识(四) - js运行原理与机制
  • laravel5.5 视图共享数据
  • Linux链接文件
  • Object.assign方法不能实现深复制
  • PHP变量
  • Python3爬取英雄联盟英雄皮肤大图
  • React-redux的原理以及使用
  • text-decoration与color属性
  • Vim Clutch | 面向脚踏板编程……
  • vuex 学习笔记 01
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 前端之React实战:创建跨平台的项目架构
  • 使用iElevator.js模拟segmentfault的文章标题导航
  • 新手搭建网站的主要流程
  • 新书推荐|Windows黑客编程技术详解
  • 异步
  • 走向全栈之MongoDB的使用
  • 白色的风信子
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • 回归生活:清理微信公众号
  • ​linux启动进程的方式
  • #14vue3生成表单并跳转到外部地址的方式
  • #Linux(Source Insight安装及工程建立)
  • #图像处理
  • (Oracle)SQL优化技巧(一):分页查询
  • (附源码)计算机毕业设计大学生兼职系统
  • (转)Android学习笔记 --- android任务栈和启动模式
  • (转)EXC_BREAKPOINT僵尸错误
  • (转)使用VMware vSphere标准交换机设置网络连接
  • ******IT公司面试题汇总+优秀技术博客汇总
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • .net 开发怎么实现前后端分离_前后端分离:分离式开发和一体式发布
  • .NET 使用 XPath 来读写 XML 文件
  • .NetCore实践篇:分布式监控Zipkin持久化之殇