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…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...
树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...
简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...
MySQL中【正则表达式】用法
MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现(两者等价),用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例: 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
如何理解 IP 数据报中的 TTL?
目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...
C#学习第29天:表达式树(Expression Trees)
目录 什么是表达式树? 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持: 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...
群晖NAS如何在虚拟机创建飞牛NAS
套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...
django blank 与 null的区别
1.blank blank控制表单验证时是否允许字段为空 2.null null控制数据库层面是否为空 但是,要注意以下几点: Django的表单验证与null无关:null参数控制的是数据库层面字段是否可以为NULL,而blank参数控制的是Django表单验证时字…...
在树莓派上添加音频输入设备的几种方法
在树莓派上添加音频输入设备可以通过以下步骤完成,具体方法取决于设备类型(如USB麦克风、3.5mm接口麦克风或HDMI音频输入)。以下是详细指南: 1. 连接音频输入设备 USB麦克风/声卡:直接插入树莓派的USB接口。3.5mm麦克…...
