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

风住尘香花已尽

日晚倦梳头


 重命名、剪切指令 -- 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.xdnf.cn/news/1419945.html

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

相关文章

stm32——OLED篇

技术笔记&#xff01; 一、OLED显示屏介绍&#xff08;了解&#xff09; 1. OLED显示屏简介 二、OLED驱动原理&#xff08;熟悉&#xff09; 1. 驱动OLED驱动芯片的步骤 2. SSD1306工作时序 三、OLED驱动芯片简介&#xff08;掌握&#xff09; 1. 常用SSD1306指令 2. …

iOS 提交项目到github(本地没有该项目)

流程简介 申请github账号&#xff08;如果有请跳过&#xff09; add repository创建项目开心的提交就好 具体过程 1. 申请账号&#xff08;本部分不做介绍&#xff0c;请自行研究&#xff09; 2. 如果有账号&#xff0c;按照下面图片依次操作就好 点击该图中的New reposito…

AI语音模型PaddleSpeech踩坑(安装)指南

PaddleSpeech简介 PaddleSpeech 是基于飞桨 PaddlePaddle 的语音方向的开源模型库&#xff0c;用于语音和音频中的各种关键任务的开发&#xff0c;包含大量基于深度学习前沿和有影响力的模型。 PaddleSpeech安装步骤 提示&#xff1a;要找到一个合适的PaddleSpeech版本与pad…

sklearn之线性回归——以上证红利指数为例

文章目录 线性回归概念使用sklearn实现上证中立指数预测内置数据集的加载与处理 外部数据集的加载和处理数据内容数据加载和处理 开始预测分割数据集导入线性回归模型查看线性回归模型的系数绘制预测结果预测效果评估 最终代码 线性回归 线性回归&#xff08;Linear Regressio…

无管理员权限linux系统手动切换cuda版本

查看当前计算机cudatoolkit的版本 nvcc -V下载 如果想切换到指定版本&#xff0c;则去官网下载&#xff08;10.1版本为例&#xff09;&#xff1a; cuda下载 cudnn下载 将下载好的文件放到服务器的文件夹中 安装 安装cuda sh cuda_10.1.243_418.87.00_linux.run选择接受 …

用户登录后端:登录密码解密后用PasswordEncoder验证密码是否正确

前置知识: 前端登录加密看用户登录 PasswordEncoder加密看PasswordEncoder详解 项目中因为要判断用户登录密码是否正确&#xff0c;通过输入错误次数锁住用户 1.后端配置rsa私钥 #密码加密传输&#xff0c;前端公钥加密&#xff0c;后端私钥解密 rsa:private_key: xxxx2. 读…

parallels desktop19最新免费Mac电脑虚拟机软件

Parallels Desktop是一款运行在Mac电脑上的虚拟机软件&#xff0c;它允许用户在Mac系统上同时运行多个操作系统&#xff0c;比如Windows、Linux等。通过这款软件&#xff0c;Mac用户可以轻松地在同一台电脑上体验不同操作系统的功能和应用程序&#xff0c;而无需额外的硬件设备…

【深耕 Python】Quantum Computing 量子计算机(5)量子物理概念(二)

写在前面 往期量子计算机博客&#xff1a; 【深耕 Python】Quantum Computing 量子计算机&#xff08;1&#xff09;图像绘制基础 【深耕 Python】Quantum Computing 量子计算机&#xff08;2&#xff09;绘制电子运动平面波 【深耕 Python】Quantum Computing 量子计算机&…

软件验收计划书-验收规程(Word原件)

编写软件验收计划是软件开发过程中的一个关键步骤&#xff0c;其重要性体现在以下几个方面&#xff1a; 明确验收标准&#xff1a;软件验收计划详细列出了验收的标准、测试方法、测试环境等&#xff0c;确保所有相关人员对验收的期望和要求有清晰的认识。这有助于避免在验收阶段…

windows@注册表介绍@注册表的查看和编辑操作

文章目录 abstractrefs注册表的主要组件包括根键极其缩写名称&#x1f47a;子键特性 查看注册表&#x1f47a;使用powershell查看路径下的子路径声明概念Get-ChildItem查看注册表路径下的项Set-Location进入注册表路径举例说明查看文件系统某个路径下的项查看某个注册表路径的项…

以Ubuntu 18.04为例,介绍如何通过GUI安装Vmware Tools

正文共&#xff1a;1024 字 15 图&#xff0c;预估阅读时间&#xff1a;1 分钟 我前面已经在我的VMware ESXi主机上装了上百台虚拟机了&#xff0c;系统涉及的面也算得上非常广了&#xff0c;包括Windows系列&#xff08;Windows 7&#xff08;VMware虚拟机部署&#xff08;Win…

springboot+vue+mybatis灵活就业服务平台+PPT+论文+讲解+售后

随着网络科技的不断发展以及人们经济水平的逐步提高&#xff0c;网络技术如今已成为人们生活中不可缺少的一部分&#xff0c;而微信小程序是通过计算机技术&#xff0c;针对用户需求开发与设计&#xff0c;该技术尤其在各行业领域发挥了巨大的作用&#xff0c;有效地促进了灵活…

电脑nvidia驱动和合适版本的duda--自用 回忆版

参考文献&#xff1a;http://t.csdnimg.cn/ecDuG 内容很多抄的这个&#xff0c;主要害怕链接失效 一、Ubuntu 18.04 安装NVIDIA显卡驱动 1、查看本机显卡能够配置的驱动信息 ubuntu-drivers devices所以可以看出&#xff0c;推荐 nvidia-driver-530 - distro non-free 2、安…

暗区突围资格 暗区突围测试资格 暗区突围资格申请

《暗区突围》作为一款备受瞩目的战术射击手游&#xff0c;以其独特的撤离玩法、高度拟真的枪战体验以及丰富的装备搜集系统&#xff0c;在玩家群体中迅速积累了极高的人气。游戏设定在一个充满未知与危险的封闭区域&#xff0c;玩家需要凭借智慧、策略与精湛的操作&#xff0c;…

一个注解完美实现分布式锁(AOP)

前言 学习过Spring的小伙伴都知道AOP的强大&#xff0c;本文将通过Redisson结合AOP&#xff0c;仅需一个注解就能实现分布式锁。 &#x1f36d; 不会使用aop和redisson的小伙伴可以参考&#xff1a; 【学习总结】使Aop实现自定义日志注解-CSDN博客 【学习总结】使用分布式锁和…

小学拼音弄一下

import re from xpinyin import Pinyindef remove_middle_characters(text):# 仅保留汉字chinese_chars re.findall(r[\u4e00-\u9fff], text)cleaned_text .join(chinese_chars)# 如果字符数为偶数&#xff0c;则在中间添加空格if len(cleaned_text) % 2 0:middle_index le…

Sqlite在Mybatis Plus中关于时间字段的处理

我的个人项目中&#xff0c;使用Mybatis-Plus 和 Sqlite数据库&#xff0c; 但是在存储和查询时间字段的时候&#xff0c;总是出现问题&#xff0c;记录下我解决问题的过程。 Sqlite会默认把时间字段转成时间戳存储到数据库的字段中&#xff0c;看起来不直观&#xff0c;所以我…

鸿蒙开发-ArkTS语言-XML

鸿蒙开发-UI-web 鸿蒙开发-UI-web-页面 鸿蒙开发-ArkTS语言-基础类库 鸿蒙开发-ArkTS语言-并发 鸿蒙开发-ArkTS语言-并发-案例 鸿蒙开发-ArkTS语言-容器 鸿蒙开发-ArkTS语言-非线性容器 文章目录 前言 一、XML概述 二、XML生成 三、XML解析 1.解析XML标签和标签值 2.解析XML属性…

Mac IDEA 自动补全mybatis sql语句

导航 Mac IDEA 自动补全mybatis sql语句一、点击IDEA 右侧Database选项二、选择添加对应数据库三、输入数据库信息和方案四、输入数据库信息和方案五、成功 Mac IDEA 自动补全mybatis sql语句 背景&#xff1a; 想在Mapper中&#xff0c;能够实现自动检索数据库表和对应的字段…

安装多个版本gcc并实现快捷切换

在实际生成过程中可能需要不同gcc版本来完成编译工作。 可以在环境中配置好不同版本的gcc&#xff0c;方便快捷的实现版本的切换 linux下gcc默认保存路径&#xff1a;/usr/bin # 查看当前gcc环境 gcc --version# 查看已有的gcc包 ls /usr/bin/gcc* ls /usr/bin/g*安装特定版本…