探索Linux:深入理解各种指令与用法

文章目录

  • cp指令
  • mv指令
  • cat指令
  • more指令
  • less指令
  • head指令
  • tail指令
  • 与时间相关的指令
    • date指令
  • cal指令
  • find指令
  • grep指令
  • zip/unzip指令
  • 总结

在这里插入图片描述

上一个Linux文章我们介绍了大部分指令,这节我们将继续介绍Linux的指令和用法。

cp指令

功能:复制文件或者目录
语法:cp [选项] 源文件或目录 目标文件或目录

举例说明:

在这里插入图片描述

注意:当我们需要拷贝一个目录时且目录下有目录或者文件时,我们需要加上一个选项就是-r,这个我们已经不陌生了,就是递归拷贝。

举例:

这里new目录下有两个文件,这里就应该用递归拷贝
在这里插入图片描述
这里我们已经将new拷贝到了new1中
在这里插入图片描述
且new中的文件全都拷贝进去了
在这里插入图片描述

mv指令

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

这里test目录下原本有的hello,用mv指令之后被移到了new当中
在这里插入图片描述
mv的功能:

  1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的
    目录中。
  2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它
    将所给的源文件或目录重命名为给定的目标文件名。
  3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至
    目标目录中。

这里展示一个重命名功能:
在这里插入图片描述

cat指令

功能:查看目标文件的内容
语法:cat [选项][文件]
选项:

  1. -n:输出每行的编号
  2. -s:不输出多行空行,也就是将多个空行合并
  3. -b:对非空行进行编号

这里我们来一一演示一下:

不加选项
在这里插入图片描述

-b选项

在这里插入图片描述

-n选项
在这里插入图片描述

-s选项
在这里插入图片描述

注意:每个选项之间都可以一起使用

more指令

语法:more [文件]

我们刚刚讲到cat指令只适合小文本内容的查看,cat不具备向上翻和向下滑的功能,所以当我们有一个很大的文件需要查看数时,用cat就会出现刷屏的效果,所以这里我们介绍一个更好用的指令,就是more。

大家可以用这段代码伪造一个大文件自己用more查看一下,Enter键就是下滑

seq 1 10000 > numbers.txt

more也有弊端,more虽然避免了大文件刷屏的情况,但是当我们下滑的时候,在有些情况下我们也需要往上翻看,但是more没有往上翻看的功能,所以接下来我们就引入了less,less既可以往上看也可以往下看,注意当我们用more查看文件的时候,我们可以按q退出

less指令

语法:less [文件名]

less指令时最常用的指令之一,比more和cat都好用,常用于查看大文件,如果代码量小只有十多行的话,我们可以用cat进行查看,但是代码有500行或者更多的话我们更推荐用less或者more,但是more的弊端就是只能往下滑。

当我们在用less的时候,我们要查看某个数据的时候,可以用/[查找的数据]

echo

这里再补充一个echo,echo可以将一个字符串写入指定文件中。
介绍了echo文件就不得不提输出重定向了,首先铺垫一下,在Linux系统中,一切皆是文件,如果我们的echo后面不加任何文件的话就是向显示器文件当中写入一段字符串。
在这里插入图片描述
但是如果我们指定写入的文件之后,就会写入到指定文件的当中,下面我们举个例子。
在这里插入图片描述

这里我们写入成功了,注意:这里的>是输出重定向,这里的输出重定向后面的文件如果存在会直接写入,如果文件不存在,就会直接创造一个文件,再写入。这里我们就获得了一个新的创建文件的方法就是>文件名

这里我们还需要证实一个事情就是echo+输出重定向是追加拷贝还是直接覆盖,还是重新开始一个全新的拷贝?
在这里插入图片描述

注意:上面几条语句足以证明echo+输出重定向是一个全新的拷贝。如果我们想保留原来文件中的内容的话该怎么办呢?
下面再介绍一个新的操作:追加重定向(>>
追加重定向可以保留原来的内容直接在后面换行进行追加字符串
在这里插入图片描述

接着,我们再来介绍一个输入重定向(<),原本应该是默认在键盘文件中读入数据,但是加上<(输入重定向)之后就变成在文件中读取数据了。

我们每次用echo进行输出数据都要进行换行,如果不想进行换行的话,可以直接用printf进行输入数据。

head指令

语法:head [参数]… [文件]…
功能:head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行

选项:-n<行数> 显示的行数

示例:
在这里插入图片描述
加上选项可控制行数

在这里插入图片描述

tail指令

语法: tail[必要参数][选择参数][文件]
功能:用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。

选项:

  1. -f 循环读取
  2. -n<行数> 显示行数

示例:
在这里插入图片描述
加上选项:
在这里插入图片描述
这里讲了head和tail就产生了一个问题,如果我们想查看中间某一段的值应该如何操作,这里就引入了一个新的操作:管道(|),这里我先展示代码:
比如我要取第三十到第四十项

head -n40 numbers.txt |tail -n10

在这里插入图片描述
管道,很形象的一个词,就是把前一个式子的结果传给后一个式子,意思就是后一个式子的执行源就是上一个式子的执行结果,很简单把!!

看我上面的式子,意思就是我先取出文件中的前四十行,取出来了之后,我用这前四十行作为后面式子的执行源,后面的式子就是取这四十行的后十行,最后输出结果,所以就取到了三十到四十的数字了。

与时间相关的指令

date指令

date 指定格式显示时间: date +%Y:%m:%d
date 用法:date [OPTION]… [+FORMAT]
选项:

  1. %H : 小时(00…23)
  2. %M : 分钟(00…59)
  3. %S : 秒(00…61)
  4. %X : 相当于 %H:%M:%S
  5. %d : 日 (01…31)
  6. %m : 月份 (01…12)
  7. %Y : 完整年份 (0000…9999)
  8. %F : 相当于 %Y-%m-%d

date的用法我就简单的说明一下就可以了
获取年月日
在这里插入图片描述

获取十秒分
在这里插入图片描述
但是这种时间不便于我们比较,所以在计算机中还有一种时间,就是时间戳,时间戳不懂的可以上网查一查,简单来讲时间戳就是从1970年1月1日午夜开始,每一秒都在变,时间戳就是从那时开始到现在一共经历的秒数。

获取时间戳
在这里插入图片描述

cal指令

语法:cal [参数][月份][年份]
功能:用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份

选项:

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

这个指令不需要太掌握,因为基本上用不到。

示例:
在这里插入图片描述
剩下的选项可以自己去试一试

find指令

Linux下find命令在目录结构中搜索文件,并执行指定的操作。
Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限。在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)。

语法:find pathname -options
功能:用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)

find的选项有很多,这里我们介绍一个常用的选项
选项:-name 按照文件名查找文件。

grep指令

语法: grep [选项] 搜寻字符串 文件
功能:在文件中搜索字符串,将找到的行打印出来

常用选项:

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

示例:
这里我们有一个new.txt里面的内容在下面:
在这里插入图片描述
下面展示一下搜索效果
在这里插入图片描述

zip/unzip指令

如果输入zip或者unzip没有任何提示的话说明Linux机器上没有,可以用下面的代码进行下载。

sudo yum install zip

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

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

这里我们示范一下打包文件:
在这里插入图片描述
这里我们就打包好了一个文件
在这里插入图片描述

这里我们将其移到new1下进行解压缩就可以查看文件啦。

总结

在本文中,我们探索了Linux系统中一些常用的命令以及它们的用法和功能。通过学习这些命令,我们可以更有效地管理文件和目录、执行系统操作、进行网络通信以及监控系统状态等。总的来说,熟练掌握这些命令对于任何使用Linux系统的人来说都是至关重要的。

虽然我们只是触及了Linux命令的表面,但我们希望本文能够为你提供一个良好的起点,帮助你进一步深入学习和探索Linux系统。记住,实践是掌握Linux命令的最佳方法。不断练习并尝试新的命令和技巧,你将逐渐成为一个熟练的Linux用户。

无论是作为系统管理员、开发人员还是普通用户,熟悉Linux命令都将成为你工作和日常生活中的强大工具。希望本文能够帮助你更好地利用Linux系统,提高工作效率并解决实际问题。

感谢您的阅读!

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

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

相关文章

免费知识付费内的小程序,一键生成小程序,K12在线教育市场的主要参与者有哪些?

国内互联网在线教育目前还处于产业探索期&#xff0c;K12在线教育市场的主要参与者有哪些?互联网在线教育市场目前参与进来的主要有教育出版商、软件公司、课外辅导机构、以及互联网公司。 1、教育出版商 目前教育出版商的优势是有数字资源、懂教育、具备体制内的渠道优势。此…

【C++ Primer Plus】第3章 基本数据类型

面向对象编程(OOP)的本质是设计并扩展自己的数据类型。设计自己的数据类型就是让类型与数据匹配。 C内置数据类型分为基本类型和复合类型。基本类型包括整数、浮点数&#xff0c;以及多种变体&#xff1b;复合类型包括数组、字符串、指针和结构。 变量一种标识存储的数据的方法…

001 websocket(评论功能demo)(消息推送)

文章目录 ReviewController.javaWebSocketConfig.javaWebSocketProcess.javaServletInitializer.javaWebsocketApplication.javareadmeindex.htmlapplication.yamlpom.xml ReviewController.java package com.example.controller;import com.example.websocket.WebSocketProces…

量子波函数白话解释

关键词&#xff1a;Quantum Wave Function 文章目录 一、说明二、什么是波函数&#xff1f;三 量子波的可视化四、量子波的概率解释 一、说明 在量子力学中&#xff0c;粒子是我们只有在测量它们时才能看到的东西。其中运动模式由满足薛定谔方程的波函数描述。波函数并非量子…

【重学C语言】十三、字符串

【重学C语言】十三、字符串 字符串存储字符串输入手写字符串部分操作函数字符串操作函数字符串长度字符串复制字符串连接字符串比较字符串搜索字符串分割字符串大小写转换字符串内存分配字符串替换字符串格式化其他内存操作函数字符串存储 在C语言中,字符串通常是以字符数组(…

基于JSP动漫论坛的设计与实现(四)

目录 功能模块测试 6.1 测试概述及所用方案 6.1.1软件测试概述 6.1.3 测试的步骤 6.1.4 测试的主要内容 6.1.5 测试方案 6.1.6测试设计 6.2 前端功能测试 6.2.1 登录功能测试 6.2.2 注册功能测试 6.2.3 发帖功能测试 6.2.4 回复帖子测试 6.3 后台功能测试 6…

为什么我们做C++项目的时候,需要写头文件

在C项目中&#xff0c;头文件&#xff08;通常具有.h或.hpp扩展名&#xff09;的使用是组织代码、提高可重用性和维护性的关键部分。以下是为什么我们在C项目中需要写头文件的一些主要原因&#xff1a; 声明与定义分离&#xff1a; 头文件通常包含类、函数、变量等的声明&…

vulnhub靶场之FunBox-5

一.环境搭建 1.靶场描述 Lets separate the script-kids from script-teenies.Hint: The first impression is not always the right one!If you need hints, call me on twitter: 0815R2d2 Have fun...This works better with VirtualBox rather than VMwareThis works bett…

导电材料——分类、性能与性质

本篇为西安交通大学本科课程《电气材料基础》的笔记。 导电材料指的是能在电场下传导电流的材料。导体价电子所在能带为半满带&#xff0c;且相邻能级间隔小&#xff0c;外电场下电子很容易从低能级跃迁到高能级上&#xff0c;大量的电子很容易获得能量进行共有化运动&#xf…

NPDP|传统行业产品经理如何跨越鸿沟,从用户角度审视产品

随着科技的飞速发展和互联网的普及&#xff0c;产品经理的角色已经从单纯的产品规划者逐渐转变为全方位的用户体验设计者。对于传统行业的产品经理来说&#xff0c;这是一个挑战与机遇并存的时代。他们不仅要面对激烈的市场竞争&#xff0c;还要学会如何跨越与新兴科技行业之间…

Scala编程入门:从零开始的完整教程

目录 引言环境准备创建第一个Scala项目基本语法高阶概念进阶资源结语 引言 Scala是一种强大的、静态类型的、多范式编程语言&#xff0c;它结合了面向对象和函数式编程的特点。本教程将指导您如何从零开始学习Scala&#xff0c;并搭建一个简单的开发环境。让我们开始探索Scala…

【好困】磁场里的瞌睡虫:地磁暴真的会让我们感到疲倦吗?

【好困】磁场里的瞌睡虫&#xff1a;地磁暴真的会让我们感到疲倦吗&#xff1f; 写在最前面地磁暴真的会让我们感到疲倦吗&#xff1f;一探究竟地磁暴是什么&#xff1f;地磁暴如何影响人体&#xff1f;结论 &#x1f308;你好呀&#xff01;我是 是Yu欸 &#x1f30c; 2024每…

安阳知识付费系统,课程涨价造成学员流失怎么办?

很多校长正在琢磨春季班涨价的事情。今年物价上涨&#xff0c;校区运营成本增加&#xff0c;他的压力很大。但是他又担心涨价后&#xff0c;家长接受不了&#xff0c;导致生源流失怎么办? 一、学校自身有合理的利润空间;二、价格符合当地行业情况和经济水平&#xff0c;意思不…

nextTick的作用与原理

在 Vue 中&#xff0c;nextTick允许我们延迟执行一段代码&#xff0c;直到 Vue完成其当前的 DOM 更新周期。这使得我们可以在 DOM 更新后安全地访问和修改 DOM 元素。 一、Vue 的异步更新策略 Vue 采用了一种称为异步更新策略的机制。这意味着当数据发生变化时&#xff0c;Vue…

对话易参创始人黄怡然:股权能不能赋能企业增长?| 极新企服直播实录

“ 致所有爱画饼的老板 ” 整理 | 云舒 编辑 | 小白 出品&#xff5c;极新 2022年以前&#xff0c;股权激励作为企业实现增长、吸引人才、保留人才并大幅度激发人才价值的重要手段&#xff0c;几乎成为每一个企业的标配。但是&#xff0c;现在这个时代&#xff0c;股权激励几…

简易的Web登录功能(Servlet,mybatis,MySQL)

效果 介绍 javaEE项目&#xff0c;见123 JDK8&#xff0c;JavaEE8 项目结构(下面没写的文件就是空的&#xff0c;或者系统自动生成的) mysql中的表 步骤 创建Web页面引入mybatis,MySQL依赖写后端程序() 1 创建Web页面 index.html <!DOCTYPE html> <html l…

深度学习:基于人工神经网络ANN的降雨预测

前言 系列专栏:【深度学习&#xff1a;算法项目实战】✨︎ 本专栏涉及创建深度学习模型、处理非结构化数据以及指导复杂的模型&#xff0c;如卷积神经网络(CNN)、递归神经网络 (RNN)&#xff0c;包括长短期记忆 (LSTM) 、门控循环单元 (GRU)、自动编码器 (AE)、受限玻尔兹曼机(…

Java面试题:Synchronized和Lock的对比

Synchronized和Lock对比 语法层面 Synchronized是关键字,源码在jvm中,用c语言实现 使用时,退出同步代码块时会自动释放 Lock是接口,源码由jdk提供,用java语言实现 使用时,需要手动调用unlock方法进行释放 功能层面 都属于悲观锁,具备基本的互斥,同步,锁重入功能 但Lock…

数组随机排序

如何将一个数组随机排序&#xff1f; 这个题目很有意思&#xff0c;我在直播的时候看的&#xff0c;大家讨论如何将一个数组进行随机排序。然后我想到的是sortMath.random() 也就是下面这样: function shuffle(array) {return array.sort(() > Math.random() - 0.5) }利用…

Golang reflect.MakeFunc() 的用法及示例

Golang 作为一门强类型语言&#xff0c;在某些场景下&#xff0c;我们需要动态地创建函数或者修改函数&#xff0c;这个时候就可以使用反射的方法去实现。在反射中&#xff0c;我们可以使用 reflect.MakeFunc() 方法来创建一个新的函数&#xff0c;本文我将介绍使用反射及其 Ma…