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

Linux基础语法进阶版

Linux基础语法


查看文件内容指令

touch

主要是修改文件时间,多用创建文件

-a #只更改访问时间
-m #只更改修改时间
-c --no-create#不创建任何文件

cat

展示小文件内容

-b #对于非空输出行编号
-n #对于所有行输出编号
-E #在每行结束处显示"$"
-A #展示所有符号,包含空格与,换行'$'(没有编号)

more

展示大文件,可以设置展示对应行数,以分页形似显示文件内容【显示百分比】

-d #显示帮助,不是响铃
-f #统计逻辑行数,非屏幕行数
-l #抑止换页(form feed)后的暂停
-p #不滚屏,清屏并显示文本
-c #不滚屏,显示文本并清理行尾
-NUM #指定每屏显示的行数为NUM
+NUM #从文件第NUM行开始显示
+/String #搜索字符串String的位置开始显示

操作说明

  1. ENTER——向下滚动一行
  2. SPACE——向下滚动一屏
  3. b——返回上一屏
  4. q or CTRL+c——退出more

less

可以进行搜索与行数查看

#1、向前搜索
/[SERACH]
n #向前查找下一个匹配文本
N #向后查找前一个匹配文本
-m #有 百分比
#2、向后搜索[SEARCH]

操作说明

  1. CTRL+F:向前移动一屏
  2. CTRL+B:向后移动一屏
  3. CTRL+D:前移半屏
  4. CTRL+U:后移半屏
  5. j:前移动1行
  6. k:后移动1行

head

每个指定文件头10行显示到SH;

若指定多个文件,会在每段开始给出文件名作为开头

-c [NUM] --byte=[-]K#显示每个文件的前K个字节
eg:head -c 2K .bash.history/head --byte=2K .bash.history
-n [Num]#显示文件前Num行内容
-q #不显示包含指定文件的文件头
-v #总是显示包含指定文件的文件头

在这里插入图片描述

tail

查看文件末尾内容

-f #动态读取内容,有更新会体现,与tailf雷同,后者省电

在这里插入图片描述


cp

复制文件

-p #保持原文件的属性在拷贝过程不变化
-r #递归拷贝子文件
-v #显示拷贝过程

在这里插入图片描述
在这里插入图片描述

cp aaa bbb #等价cp ./aaa ./bbb表示在当前目录将aaa文件复制到bbb,如果没有则创建bbb并拷贝进入目标文件

在这里插入图片描述

在子目录有同名目录情况如下

在这里插入图片描述

cp [选项] 源文件 目标文件

存在相同,首先将源文件的二级文件与目标文件二级文件匹配,如果重名则用同一目录,不同名创建新的分目录


mv

移动、换名文件

mv 原文件地址 目标文件地址
mv 原文件名 目标文件名

重定向与管道

重定向

什么是重定向?

将原本终端输出的数据信息重新定向到某个指定文件

为什么要重定向?

  1. 屏幕输出信息很重要,没办法一直关注时,而且需要保存重要信息时;
  2. 错误日志与正确日志需要区别保存时;
  3. 一些执行命令,我们已经知道他可能出现错误信息,不想要丢掷黑洞/dev/null;
  4. 系统例行命令,定时命令希望存下来;
  5. 后台执行程序不干扰正常输出结果。

在这里插入图片描述

标准输入Standard:0

process处理

标准输出Stdout(StandardOut):1

错误输出Stderr:2

Other files(文件名称):3…

重定向操作


#首先查看日志文件
tail -f /var/log/messages
#ctrl+z将进程挂起
#获取进程号
PID TTY TIME CMD

具体终端SH操作

#以普通用户举例
find /etc 1>right.txt 2>error.txt
cat error.txt

在这里插入图片描述

#错误的丢入黑洞,正确SH显示
find /etc 2>/dev/null

在这里插入图片描述

#避免干扰到正常输出结果
tail -20f /var/log/secure > a.txt &

在这里插入图片描述

输出重定向类型、操作符与用途

类型操作符用途
标准覆盖输出>程序输出正确结果输出到指定的文件中,覆盖文件原有内容
标准追加输出>>错误不会覆盖,尾端追加
错误覆盖输出2>错误结果输出,覆盖原有内容
错误追加输出2>>错误结果输出,尾端追加
标准输入重定向<<将命令中接受输入的途径由默认的键盘更改为指定的文件或命令

如何将错误与正确输出放在同一文件

在输出过程中有3种情况

1、将正确重定向到指定文件夹

2、将错误重定向到指定文件夹

3、将正确与错误从定向到同一文件夹

find /etc/ >right.txt #正确重定向
find /etc/ 2>error.txt #错误重定向
find /etc/ &>all.txt #同一文件Way1
find /etc/ >a 2>&1 #同一文件Way2

管道


什么是管道

管道操作运算符“|”,用来连接两个命令,左侧标准输出右侧接收,右侧标准输出,可以多个连接

注意:左侧输出错误不会传递至右侧命令

在这里插入图片描述

ls |grep -E "*txt" #输出只包含"*txt"的文件

在这里插入图片描述

tee命令操作

作为中间分流,在需要查看输出结果命令的地方设置,复制一份查看

-a #追加文件
-i #无视中断echo $RANDOM |tee -a pw|passwd Demo --stdin #随机生产数|分流复制一份放在pw|作为Demo_passwd
echo $RANDOM |md5um|cut -c 1-6|tee -a pw|passwd Demo --stdin #随机生产数|字符数组|长度6
echo $RANDOM |cksum|cut -c 1-6|tee -a pw|passwd Demo --stdin #随机生产数|数字|长度6

在这里插入图片描述

grep命令操作

在这里插入图片描述

Sort命令操作
-r #倒序
-n #按数字排序
-t #指定分隔符
-k #指定第几列,指定几列几字符(1,1 3.1,3.3)sort -t ":" -k3 -nr /etc/passwd |tee -a pd|head -5	#倒序排列|输出一份到pd|看前5行

在这里插入图片描述

xargs

又称为管道命令,构造参数等,是给命令传递参数的一个过滤器,也是组合多个命令的工具。主要是把其他命令给他的数据传递给他后面的命令作为参数

#主要参数
-d #为输入指定一个定制的分割符
-i #用{}代替传递的数据
-I string #用string来代替传递的数据 -n[数字] 设置传递几行数据
-n #选项限制单个命令行的参数个数
-t #显示执行详情
-p #交互模式
-P n #允许的最大线程数量为n
-s[大小] #设置传递参数的最大字节数(小于131072)
-x #大于-s设置的最大长度结束 xargs命令执行

不支持管道的命令可以用管道技术xargs

which cat|xargs ls -l #ls不支持输入,将左侧命令转换成参数
ls |xargs rm -fv #rm
ls|xargs cp -rvt /tmp/ 或者 ls|xargs -I St cp -rv St /tmp/ #用St代替前面输出
ls|xargs mv -t /tmp 或者 ls|xargs -I St mv {} /tmp

在这里插入图片描述

#给文件加后缀
ls|grep .txt|xargs -i mv {} {}.ios #列出|找到相同名称内容的文件|作为参数给到mv修改名字#给文件减少后缀 引号不可以少
ls|sed 's/.ios//'|xargs -t -i sh -c "mv {}.ios {}"#给数字文件名集体加后缀
ls|grep '\<[0-9]*\>'|xargs -i mv {} {}.ios

在这里插入图片描述

在这里插入图片描述

文本编辑命令

vim是vi发展过来的文本编辑工具,关键字颜色显示

vim安装:yum -y install vim

vim流程图:

在这里插入图片描述

#1、命令模式光标跳转
G #光标跳转到最后一行第一个字符
gg #光标跳转到顶端
Ngg #光标跳转至当前文件内的N行
$ #跳转到当前行的尾端
^|0 #任意一个,到达当前行的首部
e E #光标移动到当前单词的尾部如果是单词末尾,到下一个单词的末尾(大写字母,略过空格)
w W #将光标移动到下一个单词的词首(大写字母,略过空格)
b B #将光标移动到上一个单词的词首(大写字母,略过空格)#2、文件内容较多
ctrl+f #往下翻页(行比较多)
ctrl+b #往上翻页#3、复制与粘贴
yy #复制当前光标所在行
Nyy #复制当前光标及向下N行
p #粘贴至当前光标下一行
P #粘贴至当前光标上一行#4、删除、剪切、撤销
dd #删除当前光标所在行
Ndd #删除当前光标及向下N行
dG #删除当前光标以后的所有行
D #删除当前光标及光标以后的内容
x #删除当前光标标记往后的字符
X #删除当前光标标记往前的字符
dd & p #剪切,先删除dd,后粘贴p#5、替换
r #替换当前光标标记的单个字符
R #进入Replace模式,连续替换,Esc结束

小Tips

查看标准输入输出设备

ls -l /dev/std*

在这里插入图片描述

查看某个指令进程情况

ps -ef|grep [c]

在这里插入图片描述

相关文章:

Linux基础语法进阶版

Linux基础语法 查看文件内容指令 touch 主要是修改文件时间&#xff0c;多用创建文件 -a #只更改访问时间 -m #只更改修改时间 -c --no-create#不创建任何文件cat 展示小文件内容 -b #对于非空输出行编号 -n #对于所有行输出编号 -E #在每行结束处显示"$" -A #展示所…...

近红外染料标记小分子1628790-37-3,Cyanine5.5 alkyne,花青素CY5.5炔基

试剂基团反应特点&#xff1a;Cyanine5.5 alkyne用于点击化学标记的远红外/近红外染料炔烃。氰基5.5是Cy5.5的类似物&#xff0c;一种流行的荧光团&#xff0c;已广泛用于各种应用&#xff0c;包括完整生物体成像。在温和的铜催化化学条件下&#xff0c;该试剂可与叠氮基共轭&a…...

洛谷——P1004 方格取数

【题目描述】 设有 NN 的方格图 (N≤9)&#xff0c;我们将其中的某些方格中填入正整数&#xff0c;而其他的方格中则放入数字 0。如下图所示&#xff08;见样例&#xff09;: A 0 0 0 0 0 0 0 0 0 0 13 0 0 6 0 0 0 0 0 0 7 0 0 0 0 0 0 14 0 0…...

Linux删除软链接

不防大家试试 unlink 命令 首先我们先来创建一个文件 #mkdir test_chk #touch test_chk/test.txt #vim test_chk/test.txt (这一步随便在这个test.txt里写点东东即可) 下面我们来创建test_chk目录 的软链接 #ln-s test_chk test_chk_ln 软链接创建好了&#xff0c;我们来…...

【自然语言处理】【大模型】用于大型Transformer的8-bit矩阵乘法介绍

用于大型Transformer的8-bit矩阵乘法介绍原文地址&#xff1a;A Gentle Introduction to 8-bit Matrix Multiplication for transformers at scale using transformers, accelerate and bitsandbytes 相关博客 【自然语言处理】【大模型】用于大型Transformer的8-bit矩阵乘法介…...

设计模式之工厂模式详解和应用

目录1 工厂模式的历史由来2.简单工厂模式2.1 简单工厂模式定义2.2 简单工厂模式案例2.3 简单工厂模式相关源码2.4 简单工厂模式优缺点3 工厂方法模式3.1 工厂方法模式定义3.2 工厂方法模式案例3.3 工厂方法模式源码3.4 工厂方法模式优缺点4 抽象工厂模式4.1 抽象工厂模式定义4.…...

ArcGIS中的附件功能

从ArcGIS10起,空间数据库增加了"附件"的功能,可灵活管理与要素相关的附加信息,可以是图像、PDF、文本文档或任意其他文件类型。例如,如果用某个要素表示建筑物,则可以使用附件来添加多张从不同角度拍摄的建筑物照片。 启动附件功能 要想使用附件功能,要素类必…...

epoll单台设备支持百万并发连接

一些概念&#xff1a; linux下一切接文件&#xff0c;文件描述符fd&#xff0c;文件I/O(包含socket&#xff0c;文本文件等)&#xff0c;I/O多路复用&#xff0c;reactor模型&#xff0c;水平触发&#xff0c;边沿触发&#xff0c;多线程模型&#xff0c;阻塞和非阻塞&#xf…...

网络字节序

文章目录网络字节序网络字节序 内存中的多字节数据相对于内存地址有大端和小端之分, 磁盘文件中的多字节数据相对于文件中的偏移地址也有大端小端之分, 网络数据流同样有大端小端之分. 网络数据流的地址统一按大端处理 发送主机通常将发送缓冲区中的数据按内存地址从低到高的…...

03- SVC 支持向量机做人脸识别 (项目三)

数据集描述: sklearn的lfw_people函数在线下载55个外国人图片文件夹数据集来精确实现人脸识别并提取人脸特征向量数据集地址: sklearn.datasets.fetch_lfw_people — scikit-learn 1.2.1 documentationPCA降维: pca PCA(n_components0.9) 数据拆分: X_train, X_test, y_tra…...

浅谈指向二维数组元素的指针变量

(1)指向数组元素的指针变量 例1.有一个3X4的二维数组,要求用指向元素的指针变量输出二维数组各元素的值. 编写程序 1 #include <stdio.h>2 int main()3 {4 int a[3][4] { 1,3,5,7,9,11,13,15,17,19,21,23 };5 int *p;6 for (p a[0]; p < a[0] 12; p) …...

左右值引用和移动语义

文章首发公众号&#xff1a;iDoitnow 1. 左右值和左右值引用 什么是左值、右值呢&#xff1f;一种极不严谨的理解为&#xff1a;在赋值的时候&#xff0c;能够被放到等号左边的值为左值&#xff0c;放在右边的值为右值。例如&#xff1a; int sum(int x, int y){return x y;…...

一起学习用Verilog在FPGA上实现CNN----(七)全连接层设计

1 全连接层设计 1.1 Layer 进行线性计算的单元layer&#xff0c;原理图如图所示&#xff1a; 1.2 processingElement Layer中的线性计算单元processingElement&#xff0c;原理图如图所示&#xff1a; processingElement模块展开原理图&#xff0c;如图所示&#xff0c;包含…...

tomcat打debug断点调试

windows debug调试 jdk版本&#xff1a;1.8.0_181 tomcat版本&#xff1a;apache-tomcat-9.0.68.0 idea版本&#xff1a;2020.1 方法一 修改catalina.bat 在%CATALINA_HOME%\bin\catalina.bat中找到 set “JAVA_OPTS%JAVA_OPTS% -Djava.protocol.handler.pkgsorg.apache…...

如果持有互斥锁的线程没有解锁退出了,该如何处理?

文章目录如果持有互斥锁的线程没有解锁退出了&#xff0c;该如何处理&#xff1f;问题引入PTHREAD_MUTEX_ROBUST 和 pthread_mutex_consistent登场了结论&#xff1a;如果持有互斥锁的线程没有解锁退出了&#xff0c;该如何处理&#xff1f; 问题引入 看下面一段代码&#xf…...

信息论绪论

本专栏针包含信息论与编码的核心知识&#xff0c;按知识点组织&#xff0c;可作为教学或学习的参考。markdown版本已归档至【Github仓库&#xff1a;information-theory】&#xff0c;需要的朋友们自取。或者关注公众号【AIShareLab】&#xff0c;回复 信息论 也可获取。 文章目…...

Buffer Status Reporting(BSR)

欢迎关注同名微信公众号“modem协议笔记”。 以一个实网中的异常场景开始&#xff0c;大概流程是有UL data要发送&#xff0c;UE触发BSR->no UL grant->SR->no UL grant->trigger RACH->RACH fail->RLF->RRC reestablishment&#xff1a;简单描述就是UE触…...

代码随想录LeetCode | 单调栈问题

前沿&#xff1a;撰写博客的目的是为了再刷时回顾和进一步完善&#xff0c;其次才是以教为学&#xff0c;所以如果有些博客写的较简陋&#xff0c;是为了保持进度不得已而为之&#xff0c;还请大家多多见谅。 预&#xff1a;看到题目后的思路和实现的代码。 见&#xff1a;参考…...

C++之可调用对象、bind绑定器和function包装器

可调用对象在C中&#xff0c;可以像函数一样调用的有&#xff1a;普通函数、类的静态成员函数、仿函数、lambda函数、类的非静态成员函数、可被转换为函数的类的对象&#xff0c;统称可调用对象或函数对象。可调用对象有类型&#xff0c;可以用指针存储它们的地址&#xff0c;可…...

MongoDB--》文档查询的详细具体操作

目录 统计查询 分页列表查询 排序查询 正则的复杂条件查询 比较查询 包含查询 条件连接查询 统计查询 统计查询使用count()方法&#xff0c;其语法格式如下&#xff1a; db.collection.count(query,options) ParameterTypeDescriptionquerydocument查询选择条件optio…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)

0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述&#xff0c;后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作&#xff0c;其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

【机器视觉】单目测距——运动结构恢复

ps&#xff1a;图是随便找的&#xff0c;为了凑个封面 前言 在前面对光流法进行进一步改进&#xff0c;希望将2D光流推广至3D场景流时&#xff0c;发现2D转3D过程中存在尺度歧义问题&#xff0c;需要补全摄像头拍摄图像中缺失的深度信息&#xff0c;否则解空间不收敛&#xf…...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解&#xff08;7大核心步骤实战技巧&#xff09; 一、爬虫完整工作流程 以下是爬虫开发的完整流程&#xff0c;我将结合具体技术点和实战经验展开说明&#xff1a; 1. 目标分析与前期准备 网站技术分析&#xff1a; 使用浏览器开发者工具&#xff08;F12&…...

Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理

引言 Bitmap&#xff08;位图&#xff09;是Android应用内存占用的“头号杀手”。一张1080P&#xff08;1920x1080&#xff09;的图片以ARGB_8888格式加载时&#xff0c;内存占用高达8MB&#xff08;192010804字节&#xff09;。据统计&#xff0c;超过60%的应用OOM崩溃与Bitm…...

Linux 中如何提取压缩文件 ?

Linux 是一种流行的开源操作系统&#xff0c;它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间&#xff0c;使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的&#xff0c;要在 …...

Docker拉取MySQL后数据库连接失败的解决方案

在使用Docker部署MySQL时&#xff0c;拉取并启动容器后&#xff0c;有时可能会遇到数据库连接失败的问题。这种问题可能由多种原因导致&#xff0c;包括配置错误、网络设置问题、权限问题等。本文将分析可能的原因&#xff0c;并提供解决方案。 一、确认MySQL容器的运行状态 …...

大数据驱动企业决策智能化的路径与实践

&#x1f4dd;个人主页&#x1f339;&#xff1a;慌ZHANG-CSDN博客 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; 一、引言&#xff1a;数据驱动的企业竞争力重构 在这个瞬息万变的商业时代&#xff0c;“快者胜”的竞争逻辑愈发明显。企业如何在复杂环…...

深入理解 React 样式方案

React 的样式方案较多,在应用开发初期,开发者需要根据项目业务具体情况选择对应样式方案。React 样式方案主要有: 1. 内联样式 2. module css 3. css in js 4. tailwind css 这些方案中,均有各自的优势和缺点。 1. 方案优劣势 1. 内联样式: 简单直观,适合动态样式和…...

CVE-2023-25194源码分析与漏洞复现(Kafka JNDI注入)

漏洞概述 漏洞名称&#xff1a;Apache Kafka Connect JNDI注入导致的远程代码执行漏洞 CVE编号&#xff1a;CVE-2023-25194 CVSS评分&#xff1a;8.8 影响版本&#xff1a;Apache Kafka 2.3.0 - 3.3.2 修复版本&#xff1a;≥ 3.4.0 漏洞类型&#xff1a;反序列化导致的远程代…...

篇章一 论坛系统——前置知识

目录 1.软件开发 1.1 软件的生命周期 1.2 面向对象 1.3 CS、BS架构 1.CS架构​编辑 2.BS架构 1.4 软件需求 1.需求分类 2.需求获取 1.5 需求分析 1. 工作内容 1.6 面向对象分析 1.OOA的任务 2.统一建模语言UML 3. 用例模型 3.1 用例图的元素 3.2 建立用例模型 …...