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行下面

热门文章

暂无图片
编程学习 ·

那些年让我们目瞪口呆的bug

程序员一生与bug奋战,可谓是杀敌无数,见怪不怪了!在某知识社交平台中,一个“有哪些让程序员目瞪口呆的bug”的话题引来了6700多万的阅读,可见程序员们对一个话题的敏感度有多高。 1、麻省理工“只能发500英里的邮件” …
暂无图片
编程学习 ·

redis的下载与安装

下载redis wget http://download.redis.io/releases/redis-5.0.0.tar.gz解压redis tar -zxvf redis-5.0.0.tar.gz编译 make安装 make install快链方便进入redis ln -s redis-5.0.0 redis
暂无图片
编程学习 ·

《大话数据结构》第三章学习笔记--线性表(一)

线性表的定义 线性表:零个或多个数据元素的有限序列。 线性表元素的个数n定义为线性表的长度。n为0时,为空表。 在比较复杂的线性表中,一个数据元素可以由若干个数据项组成。 线性表的存储结构 顺序存储结构 可以用C语言中的一维数组来…
暂无图片
编程学习 ·

对象的扩展

文章目录对象的扩展属性的简洁表示法属性名表达式方法的name属性属性的可枚举性和遍历可枚举性属性的遍历super关键字对象的扩展运算符解构赋值扩展运算符AggregateError错误对象对象的扩展 属性的简洁表示法 const foo bar; const baz {foo}; baz // {foo: "bar"…
暂无图片
编程学习 ·

让程序员最头疼的5种编程语言

世界上的编程语言,按照其应用领域,可以粗略地分成三类。 有的语言是多面手,在很多不同的领域都能派上用场。大家学过的编程语言很多都属于这一类,比如说 C,Java, Python。 有的语言专注于某一特定的领域&…
暂无图片
编程学习 ·

写论文注意事项

参考链接 给研究生修改了一篇论文后,该985博导几近崩溃…… 重点分析 摘要与结论几乎重合 这一条是我见过研究生论文中最常出现的事情,很多情况下,他们论文中摘要部分与结论部分重复率超过70%。对于摘要而言,首先要用一小句话引…
暂无图片
编程学习 ·

安卓 串口开发

上图: 上码: 在APP grable添加 // 串口 需要配合在项目build.gradle中的repositories添加 maven {url "https://jitpack.io" }implementation com.github.licheedev.Android-SerialPort-API:serialport:1.0.1implementation com.jakewhart…
暂无图片
编程学习 ·

2021-2027年中国铪市场调研与发展趋势分析报告

2021-2027年中国铪市场调研与发展趋势分析报告 本报告研究中国市场铪的生产、消费及进出口情况,重点关注在中国市场扮演重要角色的全球及本土铪生产商,呈现这些厂商在中国市场的铪销量、收入、价格、毛利率、市场份额等关键指标。此外,针对…
暂无图片
编程学习 ·

Aggressive cows题目翻译

描述&#xff1a; Farmer John has built a new long barn, with N (2 < N < 100,000) stalls.&#xff08;John农民已经新建了一个长畜棚带有N&#xff08;2<N<100000&#xff09;个牛棚&#xff09; The stalls are located along a straight line at positions…
暂无图片
编程学习 ·

剖析组建PMO的6个大坑︱PMO深度实践

随着事业环境因素的不断纷繁演进&#xff0c;项目时代正在悄悄来临。设立项目经理转岗、要求PMP等项目管理证书已是基操&#xff0c;越来越多的组织开始组建PMO团队&#xff0c;大有曾经公司纷纷建造中台的气质&#xff08;当然两者的本质并不相同&#xff0c;只是说明这个趋势…
暂无图片
编程学习 ·

Flowable入门系列文章118 - 进程实例 07

1、获取流程实例的变量 GET运行时/进程实例/ {processInstanceId} /变量/ {变量名} 表1.获取流程实例的变量 - URL参数 参数需要值描述processInstanceId是串将流程实例的id添加到变量中。变量名是串要获取的变量的名称。 表2.获取流程实例的变量 - 响应代码 响应码描述200指…
暂无图片
编程学习 ·

微信每天自动给女[男]朋友发早安和土味情话

微信通知&#xff0c;每天给女朋友发早安、情话、诗句、天气信息等~ 前言 之前逛GitHub的时候发现了一个自动签到的小工具&#xff0c;b站、掘金等都可以&#xff0c;我看了下源码发现也是很简洁&#xff0c;也尝试用了一下&#xff0c;配置也都很简单&#xff0c;主要是他有一…
暂无图片
编程学习 ·

C语言二分查找详解

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

项目经理,你有什么优势吗?

大侠被一个问题问住了&#xff1a;你和别人比&#xff0c;你的优势是什么呢? 大侠听到这个问题后&#xff0c;脱口而出道&#xff1a;“项目管理能力和经验啊。” 听者抬头看了一下大侠&#xff0c;显然听者对大侠的这个回答不是很满意&#xff0c;但也没有继续追问。 大侠回家…
暂无图片
编程学习 ·

nginx的负载均衡和故障转移

#注&#xff1a;proxy_temp_path和proxy_cache_path指定的路径必须在同一分区 proxy_temp_path /data0/proxy_temp_dir; #设置Web缓存区名称为cache_one&#xff0c;内存缓存空间大小为200MB&#xff0c;1天没有被访问的内容自动清除&#xff0c;硬盘缓存空间大小为30GB。 pro…
暂无图片
编程学习 ·

业务逻辑漏洞

身份认证安全 绕过身份认证的几种方法 暴力破解 测试方法∶在没有验证码限制或者一次验证码可以多次使用的地方&#xff0c;可以分为以下几种情况︰ (1)爆破用户名。当输入的用户名不存在时&#xff0c;会显示请输入正确用户名&#xff0c;或者用户名不存在 (2)已知用户名。…