Linux基础语法进阶版

news2024/11/15 18:38:15

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]

在这里插入图片描述

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

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

相关文章

全国重点城市春节商圈客流数据来了,最火爆商圈果然是它 | 数说热点

作为疫情防控政策进一步放开后的首个春节&#xff0c;在“返乡潮”、“出游潮”和各地促销费政策的刺激下&#xff0c;火热强劲且亮点纷呈的线下消费市场随烟火气再次回归。那么2023年春节&#xff0c;线下消费市场呈现出哪些特点&#xff1f;全国各大购物中心在引客流聚人气方…

Java开发学习(五十)----MyBatisPlus快速开发之代码生成器解析

1、代码生成器原理分析 造句: 我们可以往空白内容进行填词造句&#xff0c;比如: 在比如: 观察我们之前写的代码&#xff0c;会发现其中也会有很多重复内容&#xff0c;比如: 那我们就想&#xff0c;如果我想做一个Book模块的开发&#xff0c;是不是只需要将红色部分的内容全部…

uni-app②

文章目录二、微信小程序简介&#xff08;一&#xff09;文档相关开发者工具使用小程序代码构成小程序基本操作三、uniapp 开发规范uniapp 开发环境开发工具下载 HBuilderX工程搭建项目运行浏览器运行四、组件基础组件基础组件列表组件公共属性集合扩展组件自定义组件UNI-ICON五…

MyBatis笔记【JavaEE】

1.MyBatis是什么 持久层框架 【也是一个ORM框架 对象关系映射】 是一个优秀的ORM持久层框架 特点&#xff1a;灵活 支持自定义SQL、存储过程以及高级映射。MyBatis去除了几乎所有的JDBC代码以及设置参数和获取结果集的工作。MyBatis可以通过简单的XML或注解来配置和映射原始类…

分布式缓存服务DCS-企业版性能更强,稳定性更高

背景介绍 近年来&#xff0c;随着各行业业务需求急速增加&#xff0c;数据量和并发访问量呈指数级增长&#xff0c;原来只能依附于关系型数据库的传统“缓存”逐渐难以支撑上层业务&#xff0c;开源Redis也面临着如“容量有限”、 “可靠性有限”、 “数据重复拷贝&#xff0c…

GeniE 实用教程(二)几何与网格

目 录一、前言二、Guiding Geometry2.1 Guide Point2.2 Guide Line2.3 Guide Plane2.4 Polyline三、Structure3.1 结构梁3.2 结构板3.1 结构壳四、Mesh4.1 网格属性4.2 网格划分4.3 查看网格五、参考文献一、前言 SESAM &#xff08;Super Element Structure Analysis Module&a…

操作系统(day08)内存

存储单元 内存的几个基本概念 存储单元 内存地址从0开始&#xff0c;每个地址对应一个存储单元 存储单元大小根据计算机按照什么方式编址 按字节编址 则每个存储单元大小为一字节&#xff0c;即1B&#xff0c;即8个二进制位按字编址 看这个计算的字长是多少位&#xff0c;如…

一到重要时刻就大脑空白?

很多人可能都经历过这样一幕&#xff1a;花了好多精力准备的一场考试、面试、演讲&#xff0c;到了上场的那一刻&#xff0c;之前准备的东西全都忘了&#xff0c;大脑一片空白。为什么会这样呢&#xff1f;我们所学到的东西都要经过三个步骤才能成为记忆&#xff1a;获取&#…

Leetcode 每日一题 1234. 替换子串得到平衡字符串

Halo&#xff0c;这里是Ppeua。平时主要更新C语言&#xff0c;C&#xff0c;数据结构算法......感兴趣就关注我吧&#xff01;你定不会失望。 &#x1f308;个人主页&#xff1a;主页链接 &#x1f308;算法专栏&#xff1a;专栏链接 我会一直往里填充内容哒&#xff01; &…

深入解析golang几种非常主流的依赖注入框架,附实现案例及原理解析

什么是依赖注入&#xff1f; 依赖注入 &#xff0c;英文全名是 dependency injection&#xff0c;简写为 DI。 百科解释&#xff1a; 依赖注入是指程序运行过程中&#xff0c;如果需要调用另一个对象协助时&#xff0c;无须在代码中创建被调用者&#xff0c;而是依赖于外部的注…

【情人节专属】AI一键预测你和Ta的CP值

如何预测你和心仪的Ta有没有夫妻相&#xff1f;基于华为云ModelArts开发的【一键预测你和Ta的CP值】Demo帮你预测CP指数。该模型利用ssim算法综合计算五官特征相似程度&#xff0c;从而得出CP值。//夫妻相的原理在当今心理学、生物学仍有很大争议&#xff0c;夫妻相指数高并不意…

nVisual综合布线可视化管理系统解决方案

​一、综合布线管理系统的必要性 如今企事业单位办公人员变化很快&#xff0c;如果还是采用传统方式通过工程竣工图或者网络拓扑图来进行网络维护工作会非常麻烦&#xff0c;并且对管理人员的要求也会很高&#xff0c;管理人员需要清楚的知道工作区的信息点与配线架点之间的对…

java微信小程序旅游管理系统

本旅游服务软件,主要实现了管理员后端&#xff1a;首页、个人中心、旅游攻略管理、旅游资讯管理、景点信息管理、门票预定管理、用户管理、酒店信息管理、酒店预定管理、推荐路线管理、论坛管理、系统管理,用户前端&#xff1a;首页、景点信息、酒店信息、论坛中心、我的等。总…

剑指 Offer II 020. 回文子字符串的个数 马拉车算法

这里写自定义目录标题马拉车算法剑指 Offer II 020. 回文子字符串的个数马拉车算法 马拉车算法可以以接近线性时间判断计算回文串长度&#xff0c;遍历每一个中心点&#xff0c;再向两遍扩充 填充字符 其中$ ! 作为边界&#xff0c;添加#可以避开对偶数回文串的讨论&#xff…

博客系统--测试用例编写

目录一&#xff0c;整体概览1.1&#xff0c;登录页面测试用例1.2&#xff0c;注册页面测试用例1.3&#xff0c;发布博客功能测试1.4&#xff0c;删除博客功能测试二&#xff0c;具体设计2.1&#xff0c;注册页面测试--等价类法2.2&#xff0c;删除博客功能测试--判定表法一&…

【csdn首发】全网爆火的从零到一落地接口自动化测试

前段时间写了一系列自动化测试相关的文章&#xff0c;当然更多的是方法和解决问题的思路角度去阐述我的一些观点。结合我自己实践自动化测试的一些经验以及个人理解&#xff0c;这篇文章来聊聊新手如何从零到一落地实践接口自动化测试。 为什么要做接口测试 测试理念的演变 早…

热启动预示生态起航的Smart Finance,与深度赋能的SMART通证

2023年初加密市场的回暖&#xff0c;意味着各个赛道都将在新的一年里走向新的叙事。最近&#xff0c;我们看到GameFi赛道也在市场回暖的背景下&#xff0c;逐渐走出阴霾。从融资数据上看&#xff0c;1月获得融资的GameFi项目共12个&#xff0c;融资突破8000万美元&#xff0c;1…

肝一波,这个网站居然可以免费使用ChatGpt功能

一、肝一波&#xff0c;体验真爽 废话不多少&#xff0c;小码哥直接提大家感兴趣的问题&#xff0c;截图分享给大家。 问题一&#xff1a;如何在一年内赚到100万元 答&#xff1a; 一、赚钱的方式 开公司&#xff1a;在一年内开拓新业务模式&#xff0c;寻求投资&#xff…

2023软件测试工程师涨薪攻略,3年如何达到月薪30K?

1.软件测试如何实现涨薪 首先涨薪并不是从8000涨到9000这种涨薪&#xff0c;而是从8000涨到15K加到25K的涨薪。基本上三年之内就可以实现。 如果我们只是普通的有应届毕业生或者是普通本科那我们就只能从小公司开始慢慢往上走。 有些同学想去做测试&#xff0c;是希望能够日…

33、基于51单片机老人防跌倒蜂鸣器报警系统加速度检测

背景技术 老年人出门由于身体不灵活、视力较差&#xff0c;容易发生跌倒&#xff0c;现用的老年人跌倒报警装置是通过无线对讲系统研发的&#xff0c;它外观精美&#xff0c;自动化程度高&#xff0c;有很强的专业性&#xff0c;但是&#xff0c;设计者忽略了一个问题&#xf…