2021-06-27

Linux基础操作(有那味了)

一、Linux目录结构

1.1、树形目录结构

在这里插入图片描述

根目录

  • 所有分区、目录、文件等的位置起点
  • 整个树形目录结构中,使用独立的一个"/"表示

1.2、常见的子目录

/root #系统管理员root的宿主目录
/home/xxx #普通用户的宿主目录
/boot #系统内核、启动文件
/dev #设备文件(光驱、硬盘等)
/etc #存放系统程序和大部分应用程序( rpm、yum安装)的配置文件
/bin #存放二进制文件,所有用户可执行的命令。实际是个软链接,链接到/usr/bin
/sbin #存放二进制文件,只有管理员可执行的管理命令。软链接到/usr/sbin
/usr #存放系统用户工具和程序
/var #存放可以变化的文件,包括各种日志文件
/media #可拆卸的媒介挂载点,例如U盘、光驱等
/proc #存放映射系统信息的文件
/mnt #用于临时挂载储存设备的目录
/opt #第三方应用程序安装所存放的目录
/tmp #存放系统的临时文件

二、查看文件内容

2.1、cat命令

**功能:**直接显示出整个文件的内容

格式:

cat [选项] 文件名...
选项说明:
-n #对所有输出的行数编号
-b #对于空白行不编号
-s #将所有的连续的多个空行替换为一个空行

**操作:**简单

在这里插入图片描述

2.2、more命令

**功能:**全屏方式分页显示内容

格式:

more [选项] 文件名...

#################交互操作方法
#按Enter键向下逐行滚动
#按空格键向下翻一屏
#按b键向上翻一屏
#按q键退出
#下翻到最后一页后会自动退出
#结合管道操作使用时(例如: Is -R /etc | more)无法向上翻页

**操作:**十分简单

2.3、less命令

功能:与more命令相同,但是扩展功能更多

格式:

less    [选项] 文件名...
交互操作方法:
#Page Up向上翻页,Page Down向下翻页
#按 "/"键查找内容, "n”下一个内容,"N”上一个内容
#通过 ↑ 和 ↓ 方向键可以实现上下逐行滚动
#其他功能与more命令基本类似
#下翻到最后一页后不会自动退出
#结合管道操作使用时可以向上翻页

2.4、head命令

**功能:**查看文件开头的一部分内容(默认为10行)

格式:

head -n 文件名         #n为行数

**操作:**十分简单

2.5、tail 命令

**功能:**查看文件结尾的少部分内容(默认为10行)

格式:

tail -n 文件名     #n为行数tail -f 文件名      #跟踪文件尾部内容的动态更新;可在调试的时候用,追踪日志文件的更新tail -f /var/log/messages  追踪日志文件的动态

**操作:**十分简单

三、统计文件内容 wc命令

**功能:**统计文件中的单词数量(Word Count)等信息

格式:

wc  [选项]...目标文件...
常用选项:
- l #统计行数
- w #统计单词
- c #统计字节数,字节数包含空格和换行符
注:不带任何选项的wc命令,默认同时使用-Iwc三个选项.

**操作:**十分简单

四、检索和过滤文件内容 grep命令

**功能:**在文件中查找并显示包含指定字符串的行

格式:

grep    [选项]... 查找条件 目标文件
选项说明:
- n #显示匹配行及行号
- i #查找时不区分大小写
- c #只输出匹配到的总行数(不是匹配到的次数)
- e #实现可多个查找条件的匹配,逻辑or(或)关系
- v #显示不包含匹配文本的所有行(反向查询,反向匹配)
- E #支持使用扩展正则表达式,相当于使用egrep命令
- o #精确匹配,即“仅匹配”之意。
-A n #显示匹配后和它后面的n行
-B n #显示匹配后和它前面的n行
-C n #匹配行和它前后的n行

查找条件设置

  • 要查找的字符串以双引号或者单引号括起来
  • “^……”表示以什么开头,“……$”表示以什么结尾
  • “^$”表示空行

操作:

五、压缩命令 gzip ,bzip2命令

格式:

gzip [-9] 文件名 #制作压缩文件,原始文件不再保留
bzip2 [-9] 文件名 #制作压缩文件,原始文件不再保留
#########################################################
gzip  -d  .gz格式的压缩文件 #解开压缩文件,压缩文件不再保留
bzip2  -d  .gz格式的压缩文件 #解开压缩文件,压缩文件不再保留  gunzip  = gzip -dbunzip2 =bzip2 -d
选项说明:
- 9 #指令的值可为1 (压缩速度最快,最低的压缩质量)至9 (最慢的压缩速度,压缩率最高)之间的整数,其默认值为6 (压缩速度和压缩质量较为平衡的值)

- d #用于解压缩已经压缩过的文件,相当于使用gunzip、bunzip2命令

六、归档命令 tar

**功能:**制作和释放归档文档

格式:

tar [jcvf]... 归档文件名 源文件或目录      #使用bzip2进行创建压缩包
tar [jxvf]... 归档文件名 [-C 目标目录]    #使用bzip2进行解压缩(可指定解压缩位置)

tar [zcvf]... 归档文件名 源文件或目录      #使用gzip进行创建压缩包
tar [zxvf]... 归档文件名 [-C 目标目录]    #使用gzip进行解压缩(可指定解压缩位置)tar [tf]... 
选项说明:
- c #创建 .tar格式的包文件;
- x #解开 .tar格式的包文件;
- C(大写)#解压时指定释放的目标文件夹;
- f #表示使用归档文件;
- p #打包时保留文件及目录的权限;
- P(大写)#打包时保留文件及目录的绝对路径;
- t #列表查看包内的文件;
- v #输出详细信息(Verbose );
- j #调用bzip2程序进行压缩或解压;
- z #调用gzip程序进行压缩或解压。

操作:

七、vi文本编辑器

功能:

  • 创建或修改文本文件

  • 维护Linux系统中的各种配置文件

格式:

vi 345.txt          #直接创建

7.1、vi与vim的区别

  • vi:类UNIX操作系统的默认文本编辑器
  • vim: vim是vi文本编辑器(一般简称为vi编辑器) 的增强版本

7.2、vi 编辑器的三种工作模式

  • 命令模式:启动vi编辑器后默认进入命令模式,该模式中主要完成如光标移动、字符串查找,以及删除、复制、粘贴文件内容等相关操作;
  • 输入模式:该模式中主要的操作就是录入文件内容,可以对文本文件正文进行修改、或者添加新的内容。处于输入模式时,vi编辑器的最后一行会出现“–INSERT–”的状态提示信息;
  • 末行模式:该模式中可以设置vi编辑环境、保存文件、退出编辑器,以及对文件内容进行查找、替换等操作。处于末行模式时,vi编辑器的最后一行会出现冒号“:”提示符。

7.3、不同模式切换方法

命令模式=======》输入模式 :a,i,o等键

命令模式=======》末行模式:shift+:键

输入模式=======》命令模式:ESC键

末行模式=======》命令模式:ESC键

7.4、命令模式切换至输入模式

a #在当前光标位置之后插入内容
i #在当前光标位置之前插入内容
o #在光标所在行之下插入一个新行内容
O #在光标所在行之上插入一个新行内容
A #在所在行的行尾插入内容
I #在所在行的行首插入内容

7.5、命令模式下的操作

操作类型操作键功能
翻页操作Page Down键或 Ctrl + F向下翻动一整页内容
Page Up键或Ctrl + B向上翻动一整页内容
行内快速跳转Home键或^键、数字0键跳转到本行的行首
End键或者$键跳转到本行的行尾
行间快速跳转1G或者gg转到文件内容的第一行
G跳转到文件的最后一行
#G跳转到文件的第#行(#用具体的数字替换)
M跳转到当前页的中间位置
显示行号:set nu在编辑器中显示行号
:set nonu取消行号显示
删除x或Delete键删除光标处的单个字符
dd删除当前光标所在行(有剪切功能)
#dd删除从光标处开始的#行内容
d^删除当前光标之前到行首的所有字符
d$删除当前光标处到行尾的所有字符
dw删除当前光标处的整个单词
替换字符R或Shift+r替换当前光标处字符
复制yy复制当前行整行的内容到剪切板
#yy复制从光标处开始的#行内容
粘贴p(大写)粘贴到光标所在行之下
P粘贴到光标所在行之上
查找/ word从当前光标处开始向后进行查找字符串“word”
?word从当前光标处开始向前进行查找字符串“word”
n定位下一个匹配的被查找字符串
N定位上一个匹配的被查找字符串
撤销u按一次取消最近的一次操作,重复u键,恢复多步操作
U用于取消对当前行所做的所有编辑
保存退出:w保存修改的内容
:w 新文件名另存为其他文件
:q退出
q!放弃对文件内容的修改并退出
ZZ或wq、:x保存当前的文件内容并退出vi编辑器
打开新文件:e 其他文件名打开新的文件进行编辑
读入文件内容:r 其他文件名在当前文件中读入其他文件内容
文件内容替换:s /old/new将当前行中查找的第一个字符串“old”替换为:“new”
:s /old/new/g将当前行中查找的所有字符串“old”替换为“new”
:#,# s/old/new/g将行号#,#范围内替换所有的字符串“old”为“new”
:% s/old/new/g将整个文件范围内的所有字符串的“old”换为“new”
:s old/new/c对每个替换动作进行用户确认
复制/剪切/粘贴:5,10 m 15将5-10行的内容剪切到15行下面
:5,10 co 15将5-10行的内容复制到15行下面

热门文章

暂无图片
编程学习 ·

C语言二分查找详解

二分查找是一种知名度很高的查找算法,在对有序数列进行查找时效率远高于传统的顺序查找。 下面这张动图对比了二者的效率差距。 二分查找的基本思想就是通过把目标数和当前数列的中间数进行比较,从而确定目标数是在中间数的左边还是右边,将查…
暂无图片
编程学习 ·

GMX 命令分类列表

建模和计算操作命令: 1.1 . 创建拓扑与坐标文件 gmx editconf - 编辑模拟盒子以及写入子组(subgroups) gmx protonate - 结构质子化 gmx x2top - 根据坐标生成原始拓扑文件 gmx solvate - 体系溶剂化 gmx insert-molecules - 将分子插入已有空位 gmx genconf - 增加…
暂无图片
编程学习 ·

一文高效回顾研究生课程《数值分析》重点

数值分析这门课的本质就是用离散的已知点去估计整体,就是由黑盒子产生的结果去估计这个黑盒子。在数学里这个黑盒子就是一个函数嘛,这门课会介绍许多方法去利用离散点最大化地逼近这个函数,甚至它的导数、积分,甚至微分方程的解。…
暂无图片
编程学习 ·

在职阿里5年,一个28岁女软测工程师的心声

简单的先说一下,坐标杭州,14届本科毕业,算上年前在阿里巴巴的面试,一共有面试了有6家公司(因为不想请假,因此只是每个晚上去其他公司面试,所以面试的公司比较少) ​ 编辑切换为居中…
暂无图片
编程学习 ·

字符串左旋c语言

目录 题目: 解题思路: 第一步: 第二步: 第三步: 总代码: 题目: 实现一个函数,可以左旋字符串中的k个字符。 例如: ABCD左旋一个字符得到BCDA ABCD左旋两个字符…
暂无图片
编程学习 ·

设计模式--观察者模式笔记

模式的定义与特点 观察者(Observer)模式的定义:指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式、模型-视图模式&#xf…
暂无图片
编程学习 ·

睡觉突然身体动不了,什么是睡眠痽痪症

很多朋友可能有这样的体验,睡觉过程中突然意识清醒,身体却动弹不了。这时候感觉非常恐怖,希望旁边有一个人推自己一下。阳光以前也经常会碰到这样的情况,一年有一百多次,那时候很害怕晚上到来,睡觉了就会出…
暂无图片
编程学习 ·

深入理解C++智能指针——浅析MSVC源码

文章目录unique_ptrshared_ptr 与 weak_ptrstd::bad_weak_ptr 异常std::enable_shared_from_thisunique_ptr unique_ptr 是一个只移型别(move-only type,只移型别还有std::mutex等)。 结合一下工厂模式,看看其基本用法&#xff…
暂无图片
编程学习 ·

@TableField(exist = false)

TableField(exist false) //申明此字段不在数据库存在,但代码中需要用到它,通知Mybatis-plus在做写库操作是忽略它。,.
暂无图片
编程学习 ·

Java Web day15

第十二章文件上传和下载 一、如何实现文件上传 要实现Web开发中的文件上传功能,通常需要完成两步操作:一.是在Web页面中添加上传输入项;二是在Servlet中读取上传文件的数据,并保存到本地硬盘中。 需要使用一个Apache组织提供一个…
暂无图片
编程学习 ·

【51nod 2478】【单调栈】【前缀和】小b接水

小b接水题目解题思路Code51nod 2478 小b接水 题目 输入样例 12 0 1 0 2 1 0 1 3 2 1 2 1输出样例 6解题思路 可以发现最后能拦住水的都是向两边递减高度(?) 不管两个高积木之间的的积木是怎样乱七八糟的高度,最后能用来装水的…
暂无图片
编程学习 ·

花了大半天写了一个UVC扩展单元调试工具

基于DIRECTSHOW 实现的,用的是MFC VS2019. 详见:http://www.usbzh.com/article/detail-761.html 获取方法 加QQ群:952873936,然后在群文件\USB调试工具&测试软件\UVCXU-V1.0(UVC扩展单元调试工具-USB中文网官方版).exe USB中文网 USB中文…
暂无图片
编程学习 ·

贪心(一):区间问题、Huffman树

区间问题 例题一:区间选点 给定 N 个闭区间 [ai,bi]请你在数轴上选择尽量少的点,使得每个区间内至少包含一个选出的点。 输出选择的点的最小数量。 位于区间端点上的点也算作区间内。 输入格式 第一行包含整数 N,表示区间数。 接下来 …
暂无图片
编程学习 ·

C语言练习实例——费氏数列

目录 题目 解法 输出结果 题目 Fibonacci为1200年代的欧洲数学家,在他的着作中曾经提到:「若有一只免子每个月生一只小免子,一个月后小免子也开始生产。起初只有一只免子,一个月后就有两只免子,二个月后有三只免子…
暂无图片
编程学习 ·

Android开发(2): Android 资源

个人笔记整理 Android 资源 Android中的资源,一般分为两类: 系统内置资源:Android SDK中所提供的已经定义好的资源,用户可以直接拿来使用。 用户自定义资源:用户自己定义或引入的,只适用于当前应用的资源…
暂无图片
编程学习 ·

零基础如何在短时间内拿到算法offer

​算法工程师是利用算法处理事物的职业 算法(Algorithm)是一系列解决问题的清晰指令,也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。 如果一个算法有缺陷,或不适合于某个问题,执…
暂无图片
编程学习 ·

人工智能:知识图谱实战总结

人工智能python,NLP,知识图谱,机器学习,深度学习人工智能:知识图谱实战前言一、实体建模工具Protegepython,NLP,知识图谱,机器学习,深度学习 人工智能:知识图…
暂无图片
编程学习 ·

【无标题】

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注…