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

Linux第四节课(指令与权限)

1、date指令(时间)

程序运行到自己的每一个关键时刻,都要自己打日志!

日志包括时间、日志等级、日志具体信息、其他信息等,然后按照行为单位写入文件中,这个文件被称为日志文件!

在日志文件中筛选信息时,时间也是一个重要的指标!

date中时间表示:

  • Y --- 年
  • m --- 月
  • d --- 日
  • H --- 时
  • M --- 分
  • S --- 秒

其中不同时间之间可以自己定制符号表示(时间要区分大小写!);

表示时间戳(1970年1月1日到现在的秒数)

date +%s

可以将时间戳转化为对应的时间

date -d @[时间戳]

例如: 

date -d @1721193275

还可以将对应的时间戳按照我们指定的格式转化为时间

date +%Y-%m-%d_%H:%M%S -d@1721193275

默认显示的时间跟北京时间具有8个小时的时差

date +%Y-%m-%d_%H:%M%S -d@0

2、cal日历指令

直接cal指令可以查看当月的日历

cal

cla  + [年份]    --------   查看当年的日历

cal 2024

cal + [月份] ------ 查看当月及上下两月的日历

cal -3

3、find指令

  • find指令可以在指定的路径下进行文件的搜索(在磁盘中进行查找);
  • find在查找文件时在自己用户名下的文件不会出现权限越界,但是查找其他目录时可能出现Permisson denied,此时需要提升权限或者切换为root账号;

示例用法:

1、在家目录下查找test.c文件

find ~ -name test.c

2、在指定目录查找ls命名

find /usr/bin/ -name ls

3、在不全的目录下查找ls命令

find /usr/ -name ls

会在目录下挨个搜索

which与find的区别

  • which是在指定的路径下,查找搜索指令文件;
  • find是知道大概路径就可以,不仅仅只查找指令文件;

whereis + 指令

在系统特定的路径下寻找,既可以找到可执行程序,又可以找到手册,安装包、压缩包等之类的

whereis string.h

4、grep指令

grep是一个行文本过滤工具,以每行为单位,在文本中如果这一行包含了指定的'关键字',那么打印该行内容,不包括的直接丢弃。

grep '9999' log.txt

grep - v打印不包含关键字的内容(以行为单位)

grep -v 'world' log.txt

grep -n对匹配到的行带上编号

grep -n 'world' log.txt

关键字为空则全部都匹配上

gerp - i 则按照忽略大小写匹配

grep -i 'bit' log.txt

实例应用:

grep -n 'int main()' /home/xiaosu/108/108-code-blackboard/test.c

grep直接查找可能会出现结果是个目录,无法进行递归查找,加上r即可

grep -Rn 'int main()' /home/xiaosu

Xshell通过ssh登陆中,其中

  • ssh是客户端
  • sshd是服务器

5、打包和压缩

为什么需要打包和压缩?

  • 能被打包压缩的文件一定是一个整体,有多个文件变为一个文件,不容易造成文件的缺失。
  • 打包压缩使得文件的体积更小 - (不打包的话)下载时间变长,存储占据空间更大
  • 当前Linux中常见的打包压缩工具有zip、unzip和tar
  1. zip的使用

格式如下:

将当前目录下的d1打包成di.zip 

zip d1.zip d1

在当前文件夹在解压d1.zip文件

unzip di.zip

但是!如果d1是一个目录,默认打包只会压缩d1这一个空的目录。

使用zip - r可以递归式的打包

zip -r d1.zip d1

如果当前目录下有d1和log.txt,这两个文件我们都需要打包和压缩

zip -r d1.zip d1 log.txt

如果我们需要解压到指定路径,通过

unzip [压缩文件名] -d [路径]   例如:

unzip di.zip -d test

 将其解压到名为test的目录下。

在Xshell输入

Su

然后再输入密码,可以切换为root账号

su + 用户名

su + 用户名可以切换为普通账号/或者Ctrl + d 退回

6、tar命令

常见的tar命令:

tar czf code.tgz d1 log.txt

将d1和log.txt打包压缩成code.tgz文件

  • -c:建立一个压缩文件;
  • -z:是否具有gzip属性,亦是否需要使用gzip进行压缩?
  • -f:使用档名;
tar tzf code.tgz d1 log.txt
  • -t:查看压缩的文件夹都有什么内容(不进行压缩和解压)
tar xzf code.tgz
  • -x:解压一个压缩文件

总结:最常用的tar压缩和解压的命令:

tar czf [xxx.tgz[被压速的文件] --- 打包压缩
tar tzf [xxx.tgz[被压速的文件] --- 浏览文件
tar xzf [xxx.tgz[被压速的文件] --- 解压文件

tgz中,t表示tar(打包后缀);.gz(表示压缩后缀)

如果我们需要解压到指定的目录

tar xzf code.tgz -C ..

解压到上级(..)路径 

  • -C:解压到指定的目录

7、bc指令

功能:Linux下的计算器(可以方便的进行浮点运算)

用法:

echo '12+21+5+67+88' | bc

Windows在命令行下输入calc可以调出计算机。

8、uname指令

x86_64 = x64

x64 = 32

uname - a

 可以获得电脑和操作系统的相关信息(全部)

 信息依次为:

  • 内核名称(Linux)
  • 主机号  (VM-24-3-centos)
  • 内核版本号
  • 内核版本
  • 硬件名
  • 处理器类型
  • 硬件平台类型
  • 操作系统名称

9、free指令(查内存)

free -k
free -m
free -g

分别按照kb,mb,gb的方式查看内存

10、df(查看磁盘)

df -h

常用df -h查看磁盘所用大小及其相关信息。

11、lscpu(查询CPU相关的信息)

12、历史热键搜索

ctrl + r

可以查询我们历史搜索过的指令

ctrl + d

表示退出

13、history指令

history可以查看历史命令

history

查看最后十条历史命令

history | head -10

Linux默认记录最新的1000条指令!(可以修改)

Linux操作系统(服务器),永远不关机!

13、shotdown关机指令

14、shell指令运行原理

在Xshell的运行界面中

其中:

  • xiaosu --- 用户名
  • VM - 24 - 3 - centos ---  主机名
  • ~ --- 当前目录
  • $ --- 命令行提示符

这一整行的命令我们称之为Bash命令行!

输入指令的过程,本质上就是输入字符串!

指令的本质!就是编译好的程序和脚本(在一定的系统的特定路径下存放)

为什么需要有命令行解释器?!

我们所有的指令,最后都要在OS(操作系统)内部运行,但是OS使用的难度比较高,用户不能直接和OS打交道!

用户将指令发给命令行解释器(例如Bash命令行),然后命令行解释器将信息发送给操作系统,操作系统处理信息后再把信息经过命令行解释器发给用户!

命令行解释器的作用(shell):

  • 将使用者的命令翻译给核心(kernel)处理;
  • 同时,将核心的处理结果翻译给用户。

命令行解释器存在的意义(shell):

  • 进行命令行解释
  • 保护OS,对于用户的非法请求,直接拦截!

命令行解释器:

  • 在Linux系统中可以叫命令行,bash,sh,shell
  • 在Windows系统中称为图形化界面!

shell与sh和bash的关系:

  • shell相当于媒婆,sh和bash相当于李婆和王婆
  • sh和bash是shell的一种!

相关文章:

Linux第四节课(指令与权限)

1、date指令(时间) 程序运行到自己的每一个关键时刻,都要自己打日志! 日志包括时间、日志等级、日志具体信息、其他信息等,然后按照行为单位写入文件中,这个文件被称为日志文件! 在日志文件中筛选信息时&#xff0c…...

扫雷-C语言

一、前言: 众所周知,扫雷是一款大众类的益智小游戏,它的游戏目标是在最短的时间内根据点击格子出现的数字找出所有非雷格子,同时避免踩雷,踩到一个雷即全盘皆输。 今天,我们的目的就是通过C语言来实现一个简…...

RockyLinux 9 PXE Server bios+uefi 自动化部署 RockLinux 8 9

pxe server 前言 PXE(Preboot eXecution Environment,预启动执行环境)是一种网络启动协议,允许计算机通过网络启动而不是使用本地硬盘。PXE服务器是实现这一功能的服务器,它提供了启动镜像和引导加载程序,…...

接口测试基础

一、认识接口测试 接口测试 接口:系统之间数据交互的通道。 硬件接口 软件接口 接口测试:基于不同的输入参数,校验接口响应数据与预期数据是否一致。 为什么要学接口测试? 提前介入测试、尽早发现问题 中级测试工程师必备技能 接口测试学…...

为什么 from . import * 不会导入子模块

为什么 from . import * 不会导入子模块 在 Python 中,from . import * 并不会自动导入子模块。这是因为 import * 的行为是由模块的 __all__ 变量决定的。如果没有定义 __all__,它只会导入当前模块中定义的顶层变量和函数,而不会递归地导入…...

LangGPT结构化提示词编写实践

langGPT提示词 # Role: 浮点数比较助手 ## Profile - author: LangGPT - version: 1.0 - language: 中文 - description: 一个专门帮助用户进行浮点数比较的助手,确保LLM能够准确识别和对比浮点数。## Skills 1. 理解浮点数的结构和数值意义。 2. 精…...

React: class 和 style

一、class 1、在react中使用className属性来绑定类名 <div className"header flex-middle-middle">添加2个类名 </div>2、动态添加类名 <div className{item ${nameactive ? active : }}>动态添加active类名 </div>二、style 1、react中…...

【数据结构】包装类、初识泛型

&#x1f387;&#x1f389;&#x1f389;&#x1f389;点进来你就是我的人了 博主主页&#xff1a;&#x1f648;&#x1f648;&#x1f648;戳一戳&#xff0c;欢迎大佬指点&#xff01; 人生格言: 当你的才华撑不起你的野心的时候,你就应该静下心来学习! 欢迎志同道合的朋友…...

TCP客户端connect断线重连

文章目录 TCP客户端connect断线重连1、为什么要断线重连2、实现代码 TCP客户端connect断线重连 1、为什么要断线重连 客户端会面临服务器崩溃的情况&#xff0c;我们可以试着写一个客户端重连的代码&#xff0c;模拟并理解一些客户端行为&#xff0c;比如游戏客户端等. 考虑到…...

细说MCU用DMA改变DAC输出信号频率和改善输出波形质量的方法

目录 一、参考硬件 二、修改定时器参数改变输出波形频率 三、改善波形质量 四、代码修改 五、查看结果 一、参考硬件 本项目的软件硬件工程参考作者的其他文章&#xff1a;细说MCU用DMA实现DAC输出的方法-CSDN博客 https://wenchm.blog.csdn.net/article/details/14065…...

Java高级面试题

文章目录 Java高级特性Java 8 中的新特性有哪些&#xff1f;Lambda 表达式的用途是什么&#xff1f;Stream API 的工作原理是什么&#xff1f;Optional 类的作用是什么&#xff1f;什么是函数式接口&#xff1f;Java 9 之后的新特性有哪些&#xff1f; 并发编程Java中的线程池是…...

USART串口理论知识总结

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 USART串口理论知识总结 1、通讯的串行和并行1.串口采用发送数据代码并用printf重代码 1、通讯的串行和并行 1.串口采用发送数据代码并用printf重代码 #include <stdint.h…...

基于 HTML+ECharts 实现智慧景区数据可视化大屏(含源码)

构建智慧景区数据可视化大屏&#xff1a;基于 HTML 和 ECharts 的实现 随着旅游业的蓬勃发展&#xff0c;智慧景区的概念逐渐深入人心。通过数据可视化&#xff0c;景区管理者可以实时监控游客流量、设施使用情况以及环境状况&#xff0c;从而提升游客体验和管理效率。本文将详…...

vxe-table——实现切换页码时排序状态的回显问题(ant-design+elementUi中table排序不同时回显的bug)——js技能提升

之前写的后台管理系统&#xff0c;都是用的antdelement&#xff0c;table组件中的【排序】问题是有一定的缺陷的。 想要实现的效果&#xff1a; antv——table组件一次只支持一个参数的排序 如下图&#xff1a; 就算是可以自行将排序字段拼接到列表接口的入参中&#xff0c…...

SQL

SQL全称 Structured Query Language&#xff0c;结构化查询语言。操作关系型数据库的编程语言&#xff0c;定义了一套操作关系型数据库统一标准 。 SQL通用语法 SQL语句可以单行或多行书写&#xff0c;以分号结尾。SQL语句可以使用空格/缩进来增强语句的可读性。MySQL数据库的…...

maven archetype

1.简介 maven脚手架是为了创建一个项目模板&#xff0c;以后新建项目都能够复用该模板 maven中模板引擎使用的是velocity,在文件中可以使用它的语法获取变量等操作 2.实现 单模块脚手架实现 pom.xml <?xml version"1.0" encoding"UTF-8"?> &…...

浏览器打开抽奖系统html

<!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>在线抽奖 随机选取 自动挑选</title> <script src"https://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script> <style> body {…...

微信小程序-使用Component方法代替Page方法构造页面

一.使用Component方法的前提条件 在小程序js文件里使用Component方法代替Page方法需要在json文件里面定义usingComponents属性 {"usingComponents": {} }二.注意事项 1.在page页面里使用的钩子函数和事件监听方法都需要写在methods对象里面 methods:{update(){thi…...

Spark SQL----DISTRIBUTE BY子句

Spark SQL----DISTRIBUTE BY子句 一、描述二、语法三、参数四、例子 一、描述 DISTRIBUTE BY子句用于根据输入表达式对数据进行重新分区。与CLUSTER BY子句不同&#xff0c;这不会对每个分区内的数据进行排序。 二、语法 DISTRIBUTE BY { expression [ , ... ] }三、参数 e…...

HTML5-canvas1

1、canvas&#xff1a;创建画布 <canvas id"canvas"></canvas>2、画一条直线 var canvasdocument.getElementById(cancas&#xff09;; canvas.width800; canvas.height800; var contextcanvas.getContext(2d); //获得2d绘图上下文环境 //画一条直线 c…...

后进先出(LIFO)详解

LIFO 是 Last In, First Out 的缩写&#xff0c;中文译为后进先出。这是一种数据结构的工作原则&#xff0c;类似于一摞盘子或一叠书本&#xff1a; 最后放进去的元素最先出来 -想象往筒状容器里放盘子&#xff1a; &#xff08;1&#xff09;你放进的最后一个盘子&#xff08…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

css实现圆环展示百分比,根据值动态展示所占比例

代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

【Linux】C语言执行shell指令

在C语言中执行Shell指令 在C语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

Java如何权衡是使用无序的数组还是有序的数组

在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域&#xff0c;高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表&#xff0c;以及基于它们实现的 Reactor 模式&#xff0c;为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习

禁止商业或二改转载&#xff0c;仅供自学使用&#xff0c;侵权必究&#xff0c;如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...

计算机基础知识解析:从应用到架构的全面拆解

目录 前言 1、 计算机的应用领域&#xff1a;无处不在的数字助手 2、 计算机的进化史&#xff1a;从算盘到量子计算 3、计算机的分类&#xff1a;不止 “台式机和笔记本” 4、计算机的组件&#xff1a;硬件与软件的协同 4.1 硬件&#xff1a;五大核心部件 4.2 软件&#…...

SpringAI实战:ChatModel智能对话全解

一、引言&#xff1a;Spring AI 与 Chat Model 的核心价值 &#x1f680; 在 Java 生态中集成大模型能力&#xff0c;Spring AI 提供了高效的解决方案 &#x1f916;。其中 Chat Model 作为核心交互组件&#xff0c;通过标准化接口简化了与大语言模型&#xff08;LLM&#xff0…...

恶补电源:1.电桥

一、元器件的选择 搜索并选择电桥&#xff0c;再multisim中选择FWB&#xff0c;就有各种型号的电桥: 电桥是用来干嘛的呢&#xff1f; 它是一个由四个二极管搭成的“桥梁”形状的电路&#xff0c;用来把交流电&#xff08;AC&#xff09;变成直流电&#xff08;DC&#xff09;。…...