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
- 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指令(时间) 程序运行到自己的每一个关键时刻,都要自己打日志! 日志包括时间、日志等级、日志具体信息、其他信息等,然后按照行为单位写入文件中,这个文件被称为日志文件! 在日志文件中筛选信息时,…...
扫雷-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中…...
【数据结构】包装类、初识泛型
🎇🎉🎉🎉点进来你就是我的人了 博主主页:🙈🙈🙈戳一戳,欢迎大佬指点! 人生格言: 当你的才华撑不起你的野心的时候,你就应该静下心来学习! 欢迎志同道合的朋友…...
TCP客户端connect断线重连
文章目录 TCP客户端connect断线重连1、为什么要断线重连2、实现代码 TCP客户端connect断线重连 1、为什么要断线重连 客户端会面临服务器崩溃的情况,我们可以试着写一个客户端重连的代码,模拟并理解一些客户端行为,比如游戏客户端等. 考虑到…...
细说MCU用DMA改变DAC输出信号频率和改善输出波形质量的方法
目录 一、参考硬件 二、修改定时器参数改变输出波形频率 三、改善波形质量 四、代码修改 五、查看结果 一、参考硬件 本项目的软件硬件工程参考作者的其他文章:细说MCU用DMA实现DAC输出的方法-CSDN博客 https://wenchm.blog.csdn.net/article/details/14065…...
Java高级面试题
文章目录 Java高级特性Java 8 中的新特性有哪些?Lambda 表达式的用途是什么?Stream API 的工作原理是什么?Optional 类的作用是什么?什么是函数式接口?Java 9 之后的新特性有哪些? 并发编程Java中的线程池是…...
USART串口理论知识总结
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 USART串口理论知识总结 1、通讯的串行和并行1.串口采用发送数据代码并用printf重代码 1、通讯的串行和并行 1.串口采用发送数据代码并用printf重代码 #include <stdint.h…...
基于 HTML+ECharts 实现智慧景区数据可视化大屏(含源码)
构建智慧景区数据可视化大屏:基于 HTML 和 ECharts 的实现 随着旅游业的蓬勃发展,智慧景区的概念逐渐深入人心。通过数据可视化,景区管理者可以实时监控游客流量、设施使用情况以及环境状况,从而提升游客体验和管理效率。本文将详…...
vxe-table——实现切换页码时排序状态的回显问题(ant-design+elementUi中table排序不同时回显的bug)——js技能提升
之前写的后台管理系统,都是用的antdelement,table组件中的【排序】问题是有一定的缺陷的。 想要实现的效果: antv——table组件一次只支持一个参数的排序 如下图: 就算是可以自行将排序字段拼接到列表接口的入参中,…...
SQL
SQL全称 Structured Query Language,结构化查询语言。操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准 。 SQL通用语法 SQL语句可以单行或多行书写,以分号结尾。SQL语句可以使用空格/缩进来增强语句的可读性。MySQL数据库的…...
maven archetype
1.简介 maven脚手架是为了创建一个项目模板,以后新建项目都能够复用该模板 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子句不同,这不会对每个分区内的数据进行排序。 二、语法 DISTRIBUTE BY { expression [ , ... ] }三、参数 e…...
HTML5-canvas1
1、canvas:创建画布 <canvas id"canvas"></canvas>2、画一条直线 var canvasdocument.getElementById(cancas); canvas.width800; canvas.height800; var contextcanvas.getContext(2d); //获得2d绘图上下文环境 //画一条直线 c…...
观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...
关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...
剑指offer20_链表中环的入口节点
链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...
关于 WASM:1. WASM 基础原理
一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...
GitFlow 工作模式(详解)
今天再学项目的过程中遇到使用gitflow模式管理代码,因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存,无论是github还是gittee,都是一种基于git去保存代码的形式,这样保存代码…...
云原生安全实战:API网关Kong的鉴权与限流详解
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关(API Gateway) API网关是微服务架构中的核心组件,负责统一管理所有API的流量入口。它像一座…...
Golang——9、反射和文件操作
反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...
CVPR2025重磅突破:AnomalyAny框架实现单样本生成逼真异常数据,破解视觉检测瓶颈!
本文介绍了一种名为AnomalyAny的创新框架,该方法利用Stable Diffusion的强大生成能力,仅需单个正常样本和文本描述,即可生成逼真且多样化的异常样本,有效解决了视觉异常检测中异常样本稀缺的难题,为工业质检、医疗影像…...
