【Linux笔记】 基础指令(二)

news2024/12/24 0:28:18

风住尘香花已尽

日晚倦梳头


 重命名、剪切指令 -- mv

简介:

mv 命令是 move 的缩写,可以用来移动文件或者将文件改名,是 Linux 系统下常用的命令,经常用来备份文件或者目录

语法:

mv [选项] 源文件或目录 目标文件或目录 --->重命名
mv [选项] 文件 路径 --->剪切

常用选项:

-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖 
-i :若目标文件已经存在时,就会询问是否覆盖

(重命名)测试: 

如图所示:我们在该目录下创建了一个 mack.txt 文件利用 mv 命令改成了 tank.txt

 (剪切)测试

如图所示:我们将文件 tank.txt 剪切到上级目录中


查看目标文件的内容指令 -- cat

简介:

查看目标文件的内容

语法:

cat [选项][文件]

常用选项:

-b 对非空内容输出编号
-n 对输出所有行进行编号
-s 不输入多行空格

 查看目标文件的内容

我们创建了一个 mack.txt 文件,然后进行文本编写,cat 一下就可以看到编写的内容了

扩展:echo(向显示器文件进行写入)


Linux下一切皆文件,键盘、显示器等等皆以文件来看待

printf、cout 我们向显示器进行打印 -- 向显示器文件进行写入
scanf、cin 键盘读取数据 -- 从键盘文件中读取数据


如果我不想看到 hello linux 怎么办,在用 vim 进行编写(打开+保存退出)太麻烦了!

我们可以用 echo 将显示器中打印的内容写入文件中

echo "文件内容" >目标文件 -- >符号表示输入重定向(本来要写入显示器的内容写入到文件)

注意:

如果文件不存在,就创建它

【每次写入,都要从头写入,并且要将原内容清空,然后在写入】

那么我们想继续写不想让原内容清空该怎么办呢?

 -- 我们可以使用 >> 两个大于号表示 追加

echo有自动换行的功能

 cat -b [文件名]

首先我们在 mack.txt 中写入了以上内容

所以 cat -b 是对非空内容输出编号

cat -n [文件名]

所以 cat -n 是对所有内容进行编号

 cat -s [文件名]

所以 cat -s 是即使有多个空行最后只会输出一个

扩展 tac(逆序打印文件)

我们知道 cat 是按正序打印编写内容,而 tac则是逆序打印编写内容

选项与 cat 对应

cat 的局限性

cat 适合小文件对于大文件要查找相关的内容会很不方便 ~ 因为会刷屏


全屏方式分页显示文件内容指令 -- more

简介:

全屏方式分页显示文件内容,可以往下翻动但是不能回退

语法:

more [选项][文件]

常用选项:

-n 对输出的所有行编号 
-q 退出

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

我们先用脚本语言制造从 1 到 1000 的文件写入 log.txt

我们先用 cat 查看一下

我们可以看到 cat 在查看我们大型文件的时候刷屏了,这样就很不好 ~

试试我们的 more 

more 在命令行只会显示在分屏中显示过的内容

我们按 回撤键 表示往下翻页,但是不能往上翻

我们按 q键 表示退出 


查看文件内容的最佳指令 -- less

简介:

less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。

less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看。但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容! 除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。

语法:

less [选项/参数] 文件

常用选项:

指令:
-i 忽略搜索时的大小写 
-N 显示每行的行号 
参数:
/: 字符串:向下搜索“字符串”的功能 
?: 字符串:向上搜索“字符串”的功能 
n:重复前一个搜索(与 / 或 ? 有关) 
N:反向重复前一个搜索(与 / 或 ? 有关) 
q: q退出

首先我们可以了解到 less 浏览的内容并不会在命令行打印

其次 less 不仅可以下翻还可以回退

与参数搭配还能在分屏中快速查找自己想到的结果(/)

我们来试试 less -i

less 可以在搜索时忽略大小写


查看文件开头与结尾的内容 -- head --tail

简介:

head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾。

语法:

head [选项/参数] 文件
tail [选项/参数] 文件

head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头 10 行,tail 也是默认打印其相应文件的末尾 10  行

常用选项:

-n<行数> 显示行数

 head 默认是查看文件的前 10 个,tail 默认是查看文件的后 10 个

head、tail + n(显示行数)就是显示前、后的多少行

这都是取开头和结尾,那么如何取到中间的数据呢?

head、tail还可以搭配使用

格式

head <开始行数> [文件] | tail <行数>


这就用打了管道,中间的 " | " 符号就是管道,head 确定了管道的底部,而 tail 不正是显示末尾的 n 行吗,tail 就决定了管道的高度,等于从 head 开始的前 n 行


时间相关的指令 -- data

简介:

date 指定格式显示时间,例如:date +%Y:%m:%d

在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下:

%H : 小时
%M : 分钟
%S : 秒 
%X : 相当于 %H:%M:%S 
%d : 日  
%m : 月份  
%Y : 完整年份  
%F : 相当于 %Y-%m-%d

在设定时间方面:

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″   //这样可以设置全部时间

时间戳:

是从1970年1月1日(UTC/GMT的 午夜)开始所经过的秒数,不考虑闰秒。简单来讲:时间戳是一份能够表示一份数据在一个特定时间点已经存在的完整的可验证的数据。 它的提出主要是为用户提供一份电子证据, 以证明用户的某些数据的产生时间

就是一个时间记录,对数据产生的时间进行一个唯一认证,不可更改

当前时间转化为时间戳:时间->时间戳:date +%s
当前时间戳转化为时间:时间戳->时间:date -d@当前时间戳

data 加一些选项便可以显示当前时间!!!

显示当前时间戳 

显示时间戳上的时间


时间戳:我们开发的时候一般都是要写开发日志的,而开发日志都要写上时间戳,以便将来查找文件


 

 查找日历指令 -- cal

简介:

cal命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。

语法:
 

cal [参数][月份][年份]

常用选项:

-3 显示系统前一个月,当前月,下一个月的月历 
-j  显示在当年中的第几天(一年日期按天算,从11号算起,默认显示当前月在一年中的天数) 
-y  显示当前年份的日历 

 显示当前年份的日历

显示当前年份的第几天,比如以上的黑框框表示今天是当前年份的第 132 天


 

查找文件所在位置 -- find 

简介:

用于在文件树中按照文件名深度优先、广度优先的匹配查找对应文件,并作出相应的处理(可能访问磁盘)

语法:

find [当前查找的路径] -选项 [文件名]

常用选项:

-name   按照文件名查找文件

 

以上我们就找到了 tank.c 文件所在的位置

那么我觉得一次查一个文件太麻烦,能不能同时查多个文件呢

这个时候就要用到我们的 -o 命令,表示 或者

find [查找路径] -name [文件名] -o -name [文件名]

扩展一:which -- 查找指令文件存放的位置

作用:which 用来在我们的 liunx 搜索指定指令存储位置

这些都是我们在linux中所用到的指令 ~ 

所以指令到底是什么???

指令就是一个可执行程序,就是一个文件

就相当于你之前写过的 C 代码原本程序后缀是 .c 通过编译链接生成了 .exe 的可执行文件,这个 .exe 就像我们的 linux 指令一样只要我们输入系统就会给出对应的操作

就如我这样带路径的使用也是可以的 ~ 只是 linux 帮我们简化了

还有不理解的可以看看我接下来的操作:

我先在当前路径下创建了一个 mack.cpp 文件

这个时候我们就有了一个 mack 的可执行文件绿色

如果我们在命令行直接输入 mack 是运行不了的,加上路径之后才可以

但是当我做一件事情,将 mack 拷贝到 bin 目录

以后我们想直接执行我们的命令,这样就可以直接运行了

卸载可执行程序

所以老铁们现在知道我们运行可执行文件为什么要带 ./ 了吗

如果你不带 ./ 系统就会默认在 bin 去找,就找不到指定的文件了

扩展二:alias -- 给指令取别名

在以上我们发现有 alias 这个东西 ~ 什么意思呢?

我们先来看:

我们还是用刚刚的代码生成可执行文件 ~ 

我们发现 系统简化过的ls 下是有颜色的,而路径下的 ls 是不带色的

这两种有什么不同呢?

因为我们之前用的 ls 是一种别名!!!

别急我们来看:

我们利用 alias 将 ls -al 取了别名 tank

这个时候我们输入 tank 就等于输入了 ls -al

为什么用取别名的命令可执行文件会带颜色呢?

因为我们别名默认带了--color=auto

而我们只要这样

就可以带颜色啦 ~ 

回顾 -- 我们之前说到过的 ll 指令就是 ls -l 指令的简化,其实没什么难的就是取别名


注意:系统别名是系统开机时赋予的,我们写的别名是内存级别,在系统关闭时就会被删除


 

搜寻字符串指令 -- grep 

简介:

在文件中搜索字符串,将找到的行打印出来

语法:

 grep [选项] 搜寻字符串 文件

常用选项:
 

-i :忽略大小写的不同,所以大小写视为相同 
-n :顺便输出行号 
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行

我们在 log.txt 中查找带有 '9' 的字符串过滤出来

grep -i 忽略大小写的查找

grep -v 将不是目标字符串的过滤出来


 压缩文件、解压文件 -- zip、unzip

简介:

zip命令的功能是用于压缩文件,解压命令为unzip。通过zip命令可以将文件打包成 .zip 格式的压缩包,里面会包含文件的名称、路径、创建时间、上次修改时间等等信息

为什么要打包压缩?

减少网络传输的数据量,将多个文件合并成一个,方便网络传输!!!

语法:

语法: zip 压缩文件.zip 目录或文件
语法: unzip 压缩文件.zip 解压目录

常见选项:

-r 递归处理,将指定目录下的所有文件和子目录一并处理 

安装 zip 的命令:

yum install -y unzip
yum install -y zip

 

我们现在 dir3 目录下创建一个压缩包并剪切到上级目录 ~ 这个过程相当于下载

我们在解压的时候发现:我们解压的目录是空的,这是为什么呢?

因为我们在打包一个目录的时候要知道目录是一颗树要递归打包,而一个文件则是直接打包(这里就不展示了)

这下打包压缩之后再解压就已经完成啦 !!!

先介绍到这里啦~

有不对的地方请指出💞

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1664040.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

笨方法自学python(三)-数学计算

数字和数学计算 这章练习里有很多的数学运算符号。我们来看一遍它们都叫什么名字 plus 加号-minus 减号/ slash 斜杠*asterisk 星号% percent 百分号< less-than 小于号greater-than 大于号< less-than-equal 小于等于号 greater-than-equal 大于等于号 print ("I …

刷t2、、、

、、 public class ThisTest {public static void main(String args[]) {int i;for (;;) {System.out.println(1);}} } while()的循环条件等于for中循环条件。循环体会有一个条件改变等于for中类似自增条件。while()判断条件一般在while前面会初始化跟for中初始化一样。这样 w…

【讲解下目标追踪】

&#x1f308;个人主页: 程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…

ECharts系列文章汇总(持续更新中)

ECharts介绍 ECharts是一款基于JavaScript的数据可视化图表库&#xff0c;提供了直观、生动、可交互、可个性化定制的数据可视化图表。以下是关于ECharts的详细介绍&#xff1a; 发展历程&#xff1a; ECharts最初由百度团队开源&#xff0c;并在2018年初捐赠给Apache基金会&…

软件工程经济学--期末复习资料

软件工程经济学--期末复习资料 前言第一章 绪论第二章 软件工程经济学基础第三章 软件的成本管理与定价分析第四章 软件工程项目评价方法与经济效果评价第五章 软件生产函数、效益分析及不确定性分析第六章 软件工程项目进度计划的制定结尾总结 前言 软件工程经济学&#xff0…

Github2024-05-10开日报 Top10

根据Github Trendings的统计&#xff0c;今日(2024-05-10统计)共有10个项目上榜。根据开发语言中项目的数量&#xff0c;汇总情况如下&#xff1a; 开发语言项目数量Python项目4TypeScript项目4JavaScript项目1Lua项目1C项目1Rust项目1Dart项目1 RustDesk: 用Rust编写的开源远…

如何映射公司的BS架构系统,出差也能远程访问?

在现代企业运营中&#xff0c;员工出差和分支机构的协同工作变得越来越普遍。然而&#xff0c;如何确保在不同地点的员工都能安全、便捷地访问公司内网的BS&#xff08;Browser/Server&#xff09;架构办公系统&#xff0c;是一个亟待解决的问题。 贝锐花生壳内网穿透服务提供…

vue 路由url中去掉#

修改前效果 想要去掉/# 如何实现&#xff1f; 1、typeScript中去掉url中# 找到项目中的router/index.ts-----------去掉createWebHashHistory中的Hash 将createWebHashHistory修改为createWebHistory 2、javaScript中去掉url中# 找到项目中的router/index.js-----------添加…

如何批量将十六进制数据转成bin文件

最近在做新项目遇到一个问题&#xff0c;我们要通过上位机把一堆数据通过串口发送给下位机存储&#xff0c;而上位机需要Bin文件。 解决办法&#xff1a; 1)创建一个记事本文件&#xff0c;然后将其后缀修改成.bin 2)然后打开notepad,新建一个文件&#xff0c;随便写下数据 我…

2024年第九届数维杯大学生数学建模挑战赛B 题思路1.0版本

B题&#xff1a;生物质和煤共热解问题的研究 数维杯分享资料&#xff08;问题一代码论文思路&#xff09;链接&#xff08;18点更新&#xff09;&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1GSv9dkqcY6G-XUnd0sJe_A 提取码&#xff1a;sxjm 题目分析&#xff1…

RFID在汽车制造中的应用如何改变行业

随着工业4.0和中国制造2025的推进&#xff0c;企业对于智能化、自动化的需求日益增长&#xff0c;RFID射频技术在制造业中已经相当普遍了。在如今这瞬息万变的行业与时代中&#xff0c;RFID技术可以帮助企业获得竞争优势&#xff0c;简化日益复杂的生产流程&#xff0c;推动企业…

Ansible的安装与基础命令的使用

Ansible Ansible 是一个开源的自动化工具&#xff0c;用于配置管理、应用部署和任务自动化。它由 Michael DeHaan 于 2012 年创建&#xff0c;后来被 Red Hat 收购。Ansible 的设计理念是简单易用&#xff0c;不需要在受管节点上安装任何代理软件&#xff0c;它通过 SSH&#…

使用 scrapyd 部署 scrapy

1.scrapyd 是什么&#xff1f; Scrapyd 是一个用于部署和运行 Scrapy 爬虫项目的服务器应用程序。它使得你可以通过 HTTP 命令来部署、管理和执行多个 Scrapy 爬虫&#xff0c;非常适合持续集成和生产环境中的爬虫部署。 2.安装scrapyd 并使用 2.1 安装 scrapyd F:\scrapydTes…

飞跨电容型的三电平(FC-NPC)逆变器simulink仿真模型

本人搭建了飞跨电容型的三电平逆变器simulink仿真模型&#xff0c;相较于二极管钳位型三电平逆变器而言&#xff0c;钳位二极管变为飞跨的电容。采用SPWM调制和均流均压控制&#xff0c;通过搭建仿真模型得到三电平波形。 三电平拓扑中的飞跨电容是指在电路的输出端使用电容来实…

[YOLOv8] 用YOLOv8实现指针式圆形仪表智能读数(三)

最近研究了一个项目&#xff0c;利用python代码实现指针式圆形仪表的自动读数&#xff0c;并将读数结果进行输出&#xff0c;若需要完整数据集和源代码可以私信。 目录 &#x1f353;&#x1f353;1.yolov8实现圆盘形仪表智能读数 &#x1f64b;&#x1f64b;2.表盘智能读数…

2024年人工智能数据报告

大家好&#xff0c;我是爱编程的喵喵。双985硕士毕业&#xff0c;现担任全栈工程师一职&#xff0c;热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。…

图片识别公式神器推荐_mathpix

你是否遇到在某个资料上看到一个很复杂的公式&#xff0c;但有懒得再 word 或者其他文件上打出来。 比如这个&#xff1a; 如果直接截图的话&#xff0c;只能说非常丑陋。 推荐一个网站 mathpix&#xff0c;点击 try for free&#xff0c;注册登录。 Mathpix: AI-powered doc…

【Pip】pip 安装第三方包异常:[SSL:CERTIFICATE_VERIFY_FAILED]解决方案

pip 安装第三方包异常:[SSL:CERTIFICATE_VERIFY_FAILED] 大家好 我是寸铁&#x1f44a; 总结了一篇pip 安装第三方包异常:[SSL:CERTIFICATE_VERIFY_FAILED]✨ 喜欢的小伙伴可以点点关注 &#x1f49d; 报错 今天在安装第三方包时报错如下: 解决方案 本质上是需要指定信任的镜像…

探索国外静态住宅代理:保护网络安全与隐私的利器

随着互联网的日益发展&#xff0c;网络安全和隐私保护成为越来越多用户关注的焦点。在这个信息爆炸的时代&#xff0c;如何确保网络活动的匿名性和安全性成为了我们必须面对的问题。国外静态住宅代理作为一种新兴的网络技术&#xff0c;为我们提供了有效的解决方案。 &#xf…

软考常见排序

1.桶排序 将需要排序的数组内容全都取出来放在另一个有序的数组中,然后在依次放回(菜鸟网原图) 2.冒泡排序 数组最前面的元素与之后的每个元素依次比较,后面的元素比前面的元素大,就获取后面的元素然后继续与后面元素比较,直到所有元素都比较过一遍. 3.选择排序 从待排序的数据…