[Linux]基本指令(二)

一些剩下的指令部分

mv指令(重要)

mv 命令是 move 的缩写,可以用来移动文件或者将文件改名( move (rename) files ),是 Linux 系统下常用的命令, 经常用来备份文件或者目录。
语法 : mv [ 选项 源文件或目录 目标文件或目录

功能:

1. mv 命令中第二个参数类型的不同(是目标文件还是目标目录), mv 命令将文件重命名或将其移至一个新的目录中。
2. 当第二个参数类型是文件时, mv 命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个, mv 命令将各参数指定的源文件均移至目标目录中。
常用选项
-f  force  强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i  :若目标文件  (destination)  已经存在时,就会询问是否覆盖!
这个操作我们可以类比成,剪切和重命名
操作像这样:
mv src[文件、目录] dst[路径、文件]
mv src 文件 ->重命名
mv src 路径 ->剪切

举例  ::

重命名:

首先我当前路径下有如下内容

现在我们来对他们进行重命名:

mv dir mydir

我们会发现,不存在dir了,只存在mydir,这个mydir就是原来的dir,这个操作,我们就称之为重命名.

剪切:

首先,我们观察到mydir目录下,有一个new文件

我们先进入mydir目录里

这里我们来执行这段指令

mv new ..(..是上级目录)

来把new移至上级目录

然后

我们发现mydir里的new没了,跑到了上级目录里,这个操作我们就称之为剪切。

总结一下:

mv src[文件、目录] dst[路径、文件]
mv src 文件 ->重命名 mv dir mydir                    dir->mydir
mv src 路径 ->剪切   mv new ..                          ./new->../new
当然这两个操作一样可以同时进行:
这里new->nnew

cat

语法 cat [ 选项 ] [ 文件 ]
功能 : 显示目标文件的内容
常用选项
-b 对非空输出行编号
-n 对输出的所有行编号
-s 不输出多行空行
例:
我们先创建一个txt文件
这时候Hello.txt还是空的
我们先 nano Hello.txt写点东西:
写好后我们可以看到退出时^x,其实解释ctrl+X,我们退出然后按Y确认保存,并按ENTER退出
写好后文件内容是在Hello.txt里面的,我们每次需要查看的时候,难道都要nano进入看吗?
这时候我们的cat就有用了,我们直接执行
cat Hello.txt
就可以看到文件里的东西,这就是cat指令的作用
需要注意的是cat 对查看的文件有要求
他只能查看普通文件,即开头为-的
这里面mydir就不行
我们再来试一试别的:
cat -n会将展现的结果标注上行号
这时候,如果我们nano把Hello.txt里的内容改成这样:
我们再次cat  -n Hello.txt会怎么样呢?
我们可以得到::
cat -n会把空开的行也标上行号
面对这种过多空行的情况,我们的cat也给出了解决方法
cat -s                                    (-s 不输出多行空行)
cat -b                                    (-b 对非空输出行编号)
我们还可以结合一下
现在我们来试一试 cat -b
这个就是我们的 cat指令了, cat指令我们一般称之为 正序打印,与之对应的是 tac也就是 逆序打印
例:
其余操作类似,这里不过多赘述.
补充一个,如果cat后什么都不跟会输出什么?
cat后面如果什么都不输,它就会出现呢我们输入什么,它输出什么。也就是默认从我们的标准输入读取,也就是键盘
好这里我们也讲完了
值得注意的是:cat的作用确实就是读文件,但是我们需要注意,cat知识和读短文件,如:我们前面写的短文件和我们写的简单的代码。ca不是不能读长文件,但是长文件读取,很容易造成刷屏。

重定向

输出重定向

echo指令

首先我们再次强调一下,

Linux下一切皆文件,键盘,显示器也是被当作文件看待的----printf/cout------我们向显示器进行打印=向显示器文件进行输入,同理,scanf/cin-----键盘读取数据=从键盘为你按中读取数据。

这里我们来看这个指令:

echo "hello world"

这里其实就是

echo "hello world" ->向显示器文件写入

所以我们可以推导出这个写法

echo "Hello world">test.txt

echo本来是把内容输出到显示器文件中,现在输出到test.txt(因为没有所以新建了一个)中,这个操作就叫作,输出重定向。

由此,我们其实也能推断出,一个新的方法去创建一个新文件:

> 文件名

那么既然这样,我们现在这样再写一下:

我们来猜猜test.txt中现在有什么?

揭晓答案:

我们原本的内容没了,被覆盖成新的内容

不信再试试:

由此我们可以的出这个结论:

输出重定向每次输出都是依次全新的写入    每次写入都是从头开始

那如果我们想再原有的内容后接着写改怎么办呢?

追加重定向

我们可以这样写:把原来的">"号改成">>"号

例:

追加重定向,本质也是写入,只不过是一种新增的方式。

但是,我们发现这里的追加重定向出现了换行,这个是”echo"自带的,如果我们不要换行,我们可以用:

当然如果要换行,我们也可以这样写:

因此,我们可以这样追加:

输入重定向

本来应该从键盘文件中读取,现在从其他地方读取

我们知道我们如果直接用cat,它会从键盘文件读取数据,出现我们输入什么它输出什么

而如果我们用输出重定向'<'

它就会从后面的文件读取。

输入重定向:本来应该默认从键盘文件来,<:更改成从指定文件中读取数据。

more指令

上面我们说过了,如果文件太长cat会导致刷屏,这时,我们就可以引入我们的more命令,

我这里有一个文件里面有10000个hello world

如果我们用cat,必定会刷屏。

这时,如果我们用more呢?

more会把屏幕打满,然后,如果我们要看后面的内容,按回车就行。如果我们要退出,也很简单,输入‘Q’,即可。

less指令

事实上,more我们用的也不多,我们一般用的多的还是less

在more中我们发现文件不能上翻,less和more一样是把屏幕打满,但是less不仅指出文件的回车键下翻阅,也指出方向键的上下翻。

less还支持关键字的搜索,比如,我们要看:hello 1145

我们可以输入:/1145

然后回车

它就会跳转到1145有关的,也就是 hello 1145

然后我们可以通过输入的值决定翻页,来找到我们需要的值,输入n往后翻页,输入N往前翻页。

head指令和tail指令

我们前面的指令都是全部浏览,如果我们只想看开头和结尾,握们就可以用到上面的两个命令。

如果我们只想看开头5个,握们可以这样写

n=number(n可以省略)

后面加上数字,就是访问的行数。

同样,这样对tail也生效

但是如果,握们想看【5000,5020】行该怎么写呢?

我联盟可以先把5020以前都取出来

我们可以把这些数字重定向到一个临时文件中

然后我们从后往前取21个就行

这样就轻松完成了目标,但是这样写还是太过复杂了。

管道

我们可以这样写:

这样,直接就能取出来我们需要的范围了。这里‘|’我们称之为”管道

实际上就是通过管道,把左边明星的结果通过管道输入到右边。

根据Linux中万物皆文件的概念,我们可以说管道也是一个文件,左边的命令把结果写入管道,管道把内容传给右边。

管道不只能导一个命令,

例如:

我们可以把这个堪称流水线,最后生成相应的产物

时间相关的指令

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日0:00->现在所累积的时间
时间戳的特点:线性递增、唯一性
date +%s //就是把我们的时间,以时间戳的形式来表示
时间戳 -> 时间
date +%Y:%m:%d -d @xxxxx

cal

这个现在基本不用了,但是可以拿来装

用法如下:

就是生成对应年份的日历

直接cal:

就会现实当前的日期

如果我们输入

cal -3

他就会显示本月,以及其附近的总共三个月。(只有-3,没有别的)

find命令(基本的)(非常重要)

功能:在目录中查找文件

Linux下find命令的功能十分强大,提供给我们很多查找条件与选项

用法:find + (路径...) + (匹配条件) + (动作)

grep

功能:在文件中搜索字符串并打印

用法:grep + (选项)+ 目标字符串 + 文件...

常用选项:

  • -i:忽略大小写区分
  • -n:在前面输出行号
  • -v:反向选择,即输出所有不包含目标字符串的内容

zip与unzip

功能:将目录或文件压缩成zip格式

用法:zip + 压缩文件名.zip + 目录/文件

常用选项:

  • -r:递归处理,将指定目录下的所有文件和子目录一并处理
  • -d:从压缩文件内删除指定的文件
  • -D:压缩文件内不建立目录名称

tar指令(重要):打包/解包,不打开它,直接看内容

tar [-cxtzjvf]  文件与目录  .... 参数
-c  :建立一个压缩文件的参数指令 (create  的意思 )
-x  :解开一个压缩文件的参数指令!
-t  :查看  tarfile  里面的文件!
-z  :是否同时具有  gzip  的属性?亦即是否需要用  gzip  压缩?
-j  :是否同时具有  bzip2  的属性?亦即是否需要用  bzip2  压缩?
-v  :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f  :使用档名,请留意,在  f  之后要立即接档名喔!不要再加参数!
-C : 解压到指定目录

bc

功能:进行浮点运算

用法:bc + (选项) + (参数)

常用选项:

  • -i:强制进入交互式模式
  • -l:定义使用的标准数学库

参数:指定包含计算任务的文件

uname

功能:获取电脑和操作系统的相关信息

用法:uname + (选项)

常用选项:

-a:显示全部的信息,包括内核名称、主机名、操作系统版本、处理器类型和硬件架构等
-m:显示处理器类型
-n:显示主机名
-r :显示内核版本号
-s:显示操作系统名称
-v:显示操作系统的版本
--help:显示帮助

关机

语法 shutdown [ 选项 ] ** 常见选项: **
-h : 将系统的服务停掉后,立即关机。
-r : 在将系统的服务停掉之后就重新启动
-t sec -t 后面加秒数,亦即『过几秒后关机』的意思

拓展命令

安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、exit、last...
文件处理指令:file、dd、diff、ln...
系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab...
网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、mail、finger...
系统安全权限相关命令:passwd、su、sudo、umask、chgrp、chmod、chown、who...
其他命令:tar、gunzip、unarj、mtools、unendcode...

二、常用热键


tab:补全命令或路径
ctrl+a:光标回到行首
ctrl+e:光标回到行尾
ctrl+c:终止终端正在进行的所有任务并开启新的命令行
ctrl+r:搜索命令行使用过的历史命令记录
ctrl+l:清空屏幕所有的内容
ctrl+k:剪切(删除)光标处到行尾的所有字符
ctrl+k:剪切(删除)光标处到行尾的所有字符
ctrl+y:粘贴 ctrl+k、ctrl+u、ctrl+w删除的字符
ctrl+d:退出当前shell命令行,如果是切换过来的用户,则执行这个命令回退到原用户
ctrl+z:暂停在终端运行的任务,使用"fg"命令可以使暂停恢复

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

前端挑战:Tkinter布局与设计【三种布局】

前端挑战:Tkinter布局与设计【三种布局】 文章目录 前端挑战:Tkinter布局与设计【三种布局】前言Frame 窗口组件代码效果Tkinter的布局grid 网格布局效果展示:代码讲解pack 布局基本使用左右布局place 布局代码预览前言 作为一个前端开发,习惯性的用HTML去解决客户端的问题…

文学式开发工具 Jupyter Notebook

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。为什么说Jupyter Notebook是文学式开发工具&#xff1f;因为Jupyter Notebook将代码、说明文本、数学方程式、数据可视化图表内容全部组合到一起并显示在一个共享的文档中&#xff0c;可以实现一边写代码一边记录的效果&am…

地理信息科学在交通规划中的应用:GIS绘制智慧出行新蓝图

在当代城市化迅猛发展的背景下&#xff0c;交通规划面临着前所未有的挑战与机遇。作为地理信息与遥感领域的研究者&#xff0c;我深感地理信息科学&#xff08;GIS&#xff09;在解决这些问题时扮演着无可替代的角色。本文将深入探讨GIS如何在交通网络分析和优化中发挥核心作用…

Qt:13.多元素控件(QLinstWidget-用于显示项目列表的窗口部件、QTableWidget- 用于显示二维数据表)

目录 一、QLinstWidget-用于显示项目列表的窗口部件&#xff1a; 1.1QLinstWidget介绍&#xff1a; 1.2属性介绍&#xff1a; 1.3常用方法介绍&#xff1a; 1.4信号介绍&#xff1a; 1.5实例演示&#xff1a; 二、QTableWidget- 用于显示二维数据表&#xff1a; 2.1QTabl…

零信任安全新纪元:零信任沙箱的源代码保护策略

在数字世界的战场上&#xff0c;安全防护是每一家企业的生命线。今天&#xff0c;我们要介绍的是一款革命性的安全工具——SDC沙箱&#xff0c;它以零信任的理念为核心&#xff0c;为您的源代码和敏感数据筑起一道坚不可摧的防线。 什么是零信任沙箱&#xff1f; 零信任&…

【开发工具】webStrom2024版-永久使用

1、解压文件 2、安装步骤 先执行unistall-current-user.vbs&#xff0c;确保当前环境变量下没有历史使用记录。再执行install-current-user.vbs。运行的时候&#xff0c;会有第一个弹窗&#xff0c;点击确定&#xff0c;稍微等待一会&#xff0c;会出现 Done 的弹窗&#xff0…

uView、ColorUI与Vant框架的深入分析与案例实践

摘要&#xff1a; 随着移动开发技术的不断发展&#xff0c;框架的选择对于项目的成功至关重要。本文将对uView、ColorUI和Vant这三个主流移动端框架进行深入分析&#xff0c;探讨它们的优缺点&#xff0c;并通过实际案例展示如何根据项目需求选择合适的框架。 一、引言 在移动…

超声波清洗机哪家清洁力最强?家用超声波眼镜清洗机推荐

在如今快节奏的生活中&#xff0c;清洁工作愈发显得繁琐而耗时。家用超声波清洗机凭借其高效的一体化清洗金银首饰功能和智能化操作&#xff0c;为人们生活带来了极大的便利。面对众多款品牌的家用超声波机型&#xff0c;大家不禁会问&#xff1a;哪家超声波清洗机清洁力最强&a…

什么是渲染:两种渲染类型、工作原理

如果您是网页设计师或数字艺术家&#xff0c;您可能熟悉渲染过程的概念。这是数字艺术中的重要步骤&#xff0c;帮助您将图形模型转换为最终结果。在本文中&#xff0c;您将了解数字艺术中的渲染是什么、它的工作原理以及它的类型。 一、什么是渲染? 渲染是使用计算机软件对数…

微信小程序毕业设计-汽车维修项目管理系统项目开发实战(附源码+论文)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;微信小程序毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计…

后端之路——登录校验前言(Cookie\ Session\ JWT令牌)

前言&#xff1a;Servlet 【登录校验】这个功能技术的基础是【会话技术】&#xff0c;那么在讲【会话技术】的时候必然要谈到【Cookie】和【Session】这两个东西&#xff0c;那么在这之前必须要先讲一下一个很重要但是很多人都会忽略的一个知识点&#xff1a;【Servlet】 什么是…

Suricata引擎二次开发之命中规则定位

二开背景 suricata是一款高性能的开源网络入侵检测防御引擎&#xff0c;旨在检测、预防和应对网络中的恶意活动和攻击。suricata引擎使用多线程技术&#xff0c;能够快速、准确地分析网络流量并识别潜在的安全威胁&#xff0c;是众多IDS和IPS厂商的底层规则检测模块。 前段时间…

css实现每个小盒子占32%,超出就换行

代码 <div class"visitors"><visitor class"item" v-for"(user,index) in userArr" :key"user.id" :user"user" :index"index"></visitor></div><style lang"scss" scoped&…

openWrt(4) - uci

uci show 1) uci show - 查看所有配置文件列表 2)查看特定配置文件的详细信息&#xff1a; uci show network 我们以 network 为例 3&#xff09;查看特定配置项的详细信息&#xff1a; uci show network.wan 添加一个新的配置条目&#xff1a;uci add network interface …

STM32杂交版(HAL库、音乐盒、闹钟、点阵屏、温湿度)

一、设计描述 本设计精心构建了一个以STM32MP157A高性能单片机为核心控制单元的综合性嵌入式系统。该系统巧妙融合了蜂鸣器、数码管显示器、点阵屏、温湿度传感器、LED指示灯以及按键等多种外设模块&#xff0c;形成了一个功能丰富、操作便捷的杂交版智能设备。通过串口…

Android APT实战

Android开发中,注解平时我们用的比较多,也许我们会比较好奇,注解的背后是如何工作的,这篇文章帮大家一步步创建一个简单的注解处理器。 简介 APT(Annotation Processing Tool)即注解处理器,在编译的时候可以处理注解然后搞一些事情,也可以在编译时生成一些文件之类的。…

Linux 命令探秘:揭秘那些有趣的小命令

目录 1.发现隐藏在终端的惊喜小命令 2.小火车 1.安装EPEL 2.小火车出发准备 3.输入命令 3.linux_logo 1.安装linux_logo 2.输入命令 3.linux_logo介绍 4.牛讲话 1.安装命令 2.输入命令 5. figlet 1.安装命令 2.输入命令 “如果您在解决类似问题时也遇到了困…

stm32学习笔记---I2C通信协议(理论部分)

目录 串口通信协议和I2C通信协议的联系 同步和异步的区别 I2C通信 硬件电路 指定地址写的流程 当前地址读的流程 指定地址读的流程 声明&#xff1a;本专栏是本人跟着B站江科大的视频的学习过程中记录下来的笔记&#xff0c;我之所以记录下来是为了方便自己日后复习。如…

软航文档控件VUE示例运行及控件替换方法记录

目录 示例运行 步骤一、npm install 步骤二、npm run dev 软航文档控件替换 附 vue小白记录一下软航文档控件VUE示例的运行方法以及示例中控件的替换过程。 示例运行 在已经安装好VUE环境的电脑上&#xff0c;VUE环境部署可以参考另一篇&#xff1a;配置VUE环境过程中 …

数据结构复习计划之复杂度分析(时间、空间)

第二节&#xff1a;算法 时间复杂度和空间复杂度 算法(Algorithm)&#xff1a;是对特定问题求解方法(步骤)的一种描述&#xff0c;是指令的有限序列&#xff0c;其中每一条指令表示一个或多个操作。 算法可以有三种表示形式&#xff1a; 伪代码 自然语言 流程图 算法的五…