linux学习总结

shell

1.在文本环境下,shell作为命令解释器,建立了用户和操作系统之间的接口。当用户键入一个命令时,shell将对该命令进行解释,并调用相应的程序。2.Linux下有多个shell,最常用的3个shell: bash   tcsh   zsh3.shell 脚本:shell除了具有解释键盘命令并将其发送到操作系统的功能外,shell命令可以安排在一个文件中供以后执行,这些文件在linux系统称为shell脚本。

4.进程间的通信

4.1 管道和过滤器管道:将一个程序的输出作为另一个程序的输入。过滤器:作为管道的一种特殊的形式,对输入数据流进行处理得到输出数据流。过滤器可以对程序的输出进行修改,过滤器的输出可以作为另一个程序的输入。

5.主分区、扩展分区、逻辑分区

5.1 一个磁盘至多可以有4个主分区,每个主分区还可以划分多个逻辑分区,把被划分的主分区称为扩展分区。
5.2 典型的分区是将磁盘划分为3个主分区和1个扩展分区,3个主分区的大小即你所希望的最终分区的大小,1个扩展分区占用剩余的磁盘空间。

6.磁盘分区

向导分区:直接将硬盘划分为两个分区:交换分区,此分区的 大小是512MB或2GB等和/(根)分区,此分区占用硬盘的剩余空间。
分区建议:必须有一个/根分区,建议再设置一个交换分区。可以创建额外的分区/挂载点组合,对任何没有创建专门的分区/挂载点的标准目录,会自动成为根目录/的子目录,并位于根/分区下。
swap:当linux没有足够的内存保存它正在处理的所有信息时,linux就会将程序和数据临时存放在交换分区上。
/boot:此分区存放内核和系统启动时所需的其他数据。建议将/boot分区的大小设置为100MB
/var:存放大量的系统日志、软件包信息、记账数据,最好将其作为一个独立的分区。
/home: 将用户的主目录存放在单独的磁盘或分区中

7.基本实用工具

ls: 列出文件名   ls  文件名
cat:显示文本文件内容  cat 文件名     
rm:删除文件(确保要删除的文件是自己想要删除的文件)
(推荐此写法)比较安全的文件删除方式:rm -i 文件名
less/more: 分屏显示文本文件    less/more   文件名(当要浏览的文件内容超过一屏时)
man:  显示系统手册   man  5  passwd   查看第5页
info: 显示实用工具的相关信息     如:info  coreutils
选项 --help: 显示帮助信息
hostname: 显示系统名

8.文件操作

cp:复制文件    cp  源文件   目标文件
当目标文件已经存在时,cp指令可能会覆盖文件,推荐写法:  cp -i 源文件  目标文件mv:重命名文件名   mv  原有的文件名   新的文件名lpr:打印文件            lpr 文件名grep:查找字符串     grep   '要查找的字符串'   目标文件名head:  显示文件的头部      head  -1  目标文件名tail:  显示文件的尾部      tail  -3 目标文件名   sort: 按顺序显示文件内容  sort  文件名uniq:删除文件中重复的行, 对那些连续的重复行只显示一行,但原内容没有变化diff: 比较两个文件,显示两个文件的不同之处   diff  -u  文件1  文件2file: 在不通过打开文件情况下,测试文件内容 

9.管道| 实现进程间的通信

管道将一个进程的标准输出重定向为另一个进程的标准输入。
进程显示的内容一般都要发送到标准输出,如果没有重定向,
此输出就会显示在屏幕上。 ls  |  wc  -w  显示某个文件目录下的文件个数

10. 4个有用的实用工具

echo:  显示文本,可以复制其后跟的任何内容,并显示在屏幕上。
echo   hello world
echo   this is a sentence
echo   star:  *   注:显示目录下的所有文件列表

11. date: 显示日期和时间

date
date  +"%A  %B  %d"

12.unix2dos:

将linux文件转为windows格式
unix2dos  文件名

13.压缩和归档文件

1.bzip2:压缩文件bzip2 -v 文件名
2.bunzip2解压文件bunzip2  文件名
3. bzcat  xxxxx.bz2  专门显示以.bz2为扩展名的压缩文件#####1.tar打包归档文件tar可以将多个文件或多个目录归档成一个tar文件
将src.txt   src_rename.txt文件进行归档,成为一个文件all.tar
用法:tar  -cvf  all.tar  src.txt  src_rename.txt
查看归档文件信息: ls  -l  all.tar
以表格的形式显示归档文件中的2个文件: tar  -tvf  all.tar
解压归档文件:tar  -xvf  all.tar

14.定位命令

1.定位实用工具which  whereis----------
只能报告在磁盘上搜索到的命令,不能搜索shell中的内置命令信息。例如:which  tar(显示实用工具的完整路径来定位该实用工具)    例如:whereis  tar(搜索与实用工具相关的文件)
2.判断一个命令是否是内置命令type   命令名
3.apropos:搜索关键字例如: apropos  who    等价于  man  -k  whowhatis  who: 仅搜索与关键字完全匹配的信息

15.获取用户信息和系统信息

who:列出系统上的用户   who    who  -u
finger:  列出系统上的用户   finger      finger  cdl
w: 列出系统上的用户    w

16.linux文件系统

1.以句点.开头的文件名叫做隐藏文件名: ls  -a可以显示所有文件
2.当前目录/工作目录:在某个目录下进行操作的目录,pwd可以显示当前的工作目录路径,工作目录随时变化
3.主目录: pwd   可以显示/home/cdl,主目录不会变化。4.路径名4.1 绝对路径名:均以/开头,/是根目录的文件名,从根目录开始,经过所有中间目录到达一个文件,通过这个路径,就能建立这个文件的绝对路径。如/home/cdl/linux_tutorials/src4.2 路径名中的代字符~shell将代字符后跟/,放置在路径名的开始,表示主目录的路径名。代字符可以快速引用以任何用户的主目录开头的路径。4.3 相对路径名:从工作目录到文件的路径名,该路径名是相对于工作目录的。不以/或者~开始的路径名都是相对路径名。5.目录命令5.1 mkdir:创建目录mkdir  文件目录1mkdir  -p  文件目录1  文件目录2  在文件目录1下创建文件目录25.2 目录项 . 和 ...代表工作目录的路径名,..代表工作目录的父目录路径名ls  ..   			cp  src.txt  ..
6.目录操作6.1 rmdir:删除空的目录 rmdir ~/linux_tutorials/srcrm  -r  文件名  递归的删除目录下的所有文件(谨慎使用)6.2 使用路径名touch  hicd ~/linux_tutorials/cp  hi  ~/linux_tutorials/src/hi_new   将hi文件复制到src目录下,并重命名为hi_new	6.3  mv/cp:移动和复制文件mv:可以移动文件和重命名文件的名字mv  ~/linux_tutorials/src/hi_new  ~/linux_tutorials/6.4 访问权限访问文件的用户有3种类型:文件所有者owner、文件所有者所在组的成员用户group、其他用户otherls  -l:显示访问权限,如: ls  -l  src.txt-rwxrw-r-x+  3  cdl  dana    2048  Aug 12  14:19  src.txt(各项解释如下)- :文件类型(-代表普通文件,d代表目录文件,l表示链接文件)rwxrw-r-x: 这9个字符为文件的(文件所有者、组成员用户、其他用户)访问权限(r代表可读,w代表可写,x:代表可执行,如果出现-则代表文件所有者在那个位置没有相对应的权限)3:指向该文件的链接数量cdl: 文件所有者的名字dana: 对文件具有组访问权限的组的名称2048:文件的大小Aug 12  14:19 :文件创建或最后一次修改时间src.txt: 文件名称chmod: 改变访问权限给所有的用户都增加读写权限 : chmod a+rw  src.txt给其他用户都删除读写权限 : chmod o-rw  src.txtps: a代表所有用户,u代表文件所有者,g代表组用户,o代表其他用户owner = rwx = 4+2+1 = 7  group = rwx = 4+2+1 = 7  others= --- = 0+0+0 = 0改变访问权限   chmod  777  src.txt对shell脚本文件赋予可执行权限的前提是要有读权限目录的访问权限查看src目录的访问权限:  ls  -ld    ~/llinux_tutorials/src6.5 链接链接表示执行文件的指针,当使用vim、touch、cp或其他方式创建文件时,对应目录下便会产生一个指向该文件的指针。此指针将文件名和磁盘的某个位置建立关联,文件指针指向存放此文件的磁盘位置。linux中的硬链接与软链接在linux系统中有种文件是链接文件,可以为解决文件的共享使用。链接的方式可以分为两种,一种是硬链接(Hard Link),另一种是软链接或者也称为符号链接(Symbolic Link)。硬链接: 硬链接是指通过索引节点来进行链接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都会给它分配一个编号,这个编号被称为索引节点编号号(Inode Index)或者Inode,它是文件或者目录在一个文件系统中的唯一标识,文件的实际数据放置在数据区域(data block),它存储着文件重要参数信息,也就是元数据 (metadata),比如创建时间、修改时间、文件大小、属主、归属的用户组、读写权限、数据所在block号等 。在Linux系统中,多个文件名指向同一索引节点(Inode)是正常且允许的。一般这种链接就称为硬链接。硬链接的作用之一是允许一个文件拥有多个有效路径名,这样用户就可以建立硬链接到重要的文件,以防止“误删”源数据(很多硬件,如netapp存储中的快照功能就应用了这个原理,增加一个快照就多了一个硬链接》。不过硬链接只能在同一文件系统中的文件之间进行链接,不能对目录进行创建。之所以文件建立了硬链接就会防止数据误删,是因为文件系统的原理是,只要文件的索引节点还有一个以上的链接(仅删除了该文件的指向),只删除其中一个链接并不影响索引节点本身和其他的链接(数据的实体并未删除),只有当最后一个链接被删除后,此时如果有新数据要存储到磁盘上,被删除的文件的数据块及目录的链接才会被释放,空间被新数据暂用覆盖。软链接: 软链接(也叫符号链接),类似于windows系统中的快捷方式,与硬链接不同,软链接就是一个普通文件,只是数据块内容有点特殊,文件用户数据块中存放的内容是另一文件的路径名的指向,通过这个方式可以快速定位到软连接所指向的源文件实体。软链接可对文件或目录创建。软链接作用:便于文件的管理,比如把一个复杂路径下的文件链接到一个简单路径下方便用户访问。节省空间解决空间不足问题,某个文件文件系统空间已经用完了,但是现在必须在该文件系统下创建一个新的目录并存储大量的文件,那么可以把另一个剩余空间较多的文件系统中的目录链接到该文件系统中。删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接就变成了死链接。软连接和硬链接的特点:软链接:1.软链接是存放另一个文件的路径的形式存在。2.软链接可以 跨文件系统 ,硬链接不可以。3.软链接可以对一个不存在的文件名进行链接,硬链接必须要有源文件。4.软链接可以对目录进行链接。硬链接:1. 硬链接,以文件副本的形式存在。但不占用实际空间。2. 不允许给目录创建硬链接。3. 硬链接只有在同一个文件系统中才能创建。4. 删除其中一个硬链接文件并不影响其他有相同 inode 号的文件。创建硬链接ln:cd  linux_tutorials/srctouch  fileAln   fileA  fileA_hard_link       在默认不带参数情况下,ln命令创建的是硬链接。ls  -l创建软链接:ln  -s  fileA  fileA_soft_link   创建软链接用s参数 符号ls  -l硬链接有着相同 inode 号仅文件名不同的文件,用ls  -li命令查看8835 -rw-rw-r-- 2 cdl cdl     0 10月 31 16:41 fileA8835 -rw-rw-r-- 2 cdl cdl     0 10月 31 16:41 fileA_hard_link8836 lrwxrwxrwx 1 cdl cdl     5 10月 31 16:47 fileA_soft_link -> fileA上面源文件和硬链接文件inode号相同 (第一列就是inode号),指向同一个索引节点。软链接是一个链接文件,文件模式那块前面有个l字母,表示是个链接文件。硬链接不能指向目录,但是软链接可以cd ~/linux_tutorials/ln  src  fileA      不允许将硬链接指向目录srcln  -s  src fileA  允许将软链接指向目录src删除源文件后,两种情况对比echo  'this is a file'  >  fileA     向文件中写入数据cat  fileA    查看文件内容cat fileA_soft_link  fileA_hard_link    查看软链接和硬链接文件内容一致rm  -f  fileA  删除源文件ls   -li8831 -rw-rw-r-- 1 cdl cdl    22 10月 29 15:49 src_rename.txt8830 -rw-rw-r-- 1 cdl cdl 10240 10月 30 14:54 src.txt8829 -rw-rw-r-- 1 cdl cdl 20480 10月 30 14:56 all.tar8833 -rwxrwxr-x 1 cdl cdl     0 10月 30 16:19 hi8836 lrwxrwxrwx 1 cdl cdl     5 10月 31 16:47 fileA_soft_link -> fileA8835 -rw-rw-r-- 1 cdl cdl    15 10月 31 16:55 fileA_hard_link硬链接文件存在 内容和源文件内容一样,虽然删除源文件,但仍然有硬链接指向源文件inode节点,所以不会被释放删除,这里只是删除fileA到inode节点的链接。cat fileA_soft_link   软链接文件已经不存在了,目录还会显示这个文件,就是软链接文件已经失效。删除软链接rm -f fileA_soft_link   直接删除这个软链接文件即可

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

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

相关文章

hive3升级

文章目录 一、hive2升级到hive3步骤1.备份hive2元数据库2.导入到hive3对应的hive元数据表3.更新hive_metastore数据表信息3.1需要新增的表3.2需要更新字段的表3.3需要更改数据的表 4.hive3上集群需要的操作4.1更改元数据对应的库名4.2重启HiveMetaStore对应服务 二、hive3新特性…

Elasticsearch:什么是生成式人工智能?

生成式人工智能定义 给学生的解释(基本): 生成式人工智能是一种可以创造新的原创内容的技术,例如艺术、音乐、软件代码和写作。 当用户输入提示时,人工智能会根据从互联网上现有示例中学到的知识生成响应,…

记录vite下使用require报错和解决办法

前情提要 我们现在项目用的是vite4react18开发的项目、但是最近公司有个睿智的人让我把webpack中的bpmn组件迁移过来、结果就出现问题啦:因为webpack是commonjs规范、但是vite不是、好像是es吧、可想而知各种报错 废话不多说啦 直接上代码: 注释是之前c…

【Spring】手动实现Spring底层机制-问题的引出

🎄欢迎来到边境矢梦的csdn博文🎄 🎄本文主要梳理手动实现Spring底层机制-问题的引出 🎄 🌈我是边境矢梦,一个正在为秋招和算法竞赛做准备的学生🌈 🎆喜欢的朋友可以关注一下&#x1…

工厂设计模式

github:GitHub - QiuliangLee/pattern: 设计模式 概念 根据产品是具体产品还是具体工厂可分为简单工厂模式和工厂方法模式,根据工厂的抽象程度可分为工厂方法模式和抽象工厂模式。 简单工厂模式、工厂方法模式和抽象工厂模式有何区别? - 知…

一点整理

(1) 美国在2010年以后开始流行数字化转型的。 在2010年以前, 2006年社交网络FB “YOU”:在2004-2006 Web2.0热之前,企业是无法直接触达到每个消费者的2006年Amazon电子商务:这个是我瞎凑的,但因…

运算放大器学习笔记

目录 一、基本定理二、基本定义三、负反馈电路四、同向放大电路五、反向放大电路六、差分放大电路 一、基本定理 【电路示意图】 开环放大公式 VOAvo(V-V-) 开环放大倍数(增益)非常大,105 或 106 输入阻抗超级大(可以理解为电…

Spring Boot自动装配原理

简介 Spring Boot是一个开源的Java框架,旨在简化Spring应用程序的搭建和开发。它通过自动装配的机制,大大减少了繁琐的配置工作,提高了开发效率。本文将深入探讨Spring Boot的自动装配原理。 自动装配的概述 在传统的Spring框架中&#xf…

八股文学习一(存储)

一. 存储 行式存储的原理与特点 对于 OLAP 场景,大多都是对一整行记录进行增删改查操作的,那么行式存储采用以行的行式在磁盘上存储数据就是一个不错的选择。 当查询基于需求字段查询和返回结果时,由于这些字段都埋藏在各行数据中&#xf…

AcWing 5147. 数量 + 5148. 字符串匹配 - 思维+字符串处理

5147. 数量 这个题是之前某场周赛第三题的中间一个步骤 这里我选择使用递归,因为数据范围是1e9,所以当传入的数字位数超过9为时,即可终止递归。这里只需要传入一个参数dep来表示当前数字有多少位就可以。 但是在这之前,我并没有传…

【Node】Mac多版本Node切换

1、查看当前电脑是否安装node node -v或者查看当前电脑通过brew安装的node路径 ls /usr/local/Cellar/node*2、查看可安装的node brew search node3、安装其他版本node 下载需要安装的node版本 brew install node144、brew切换node版本 假设之前的版本是18,需…

Uniapp学习之从零开始写一个简单的小程序demo(新建页面,通过导航切换页面,发送请求)

先把官网文档摆在这,后面会用到的 [uniapp官网文档]: https://uniapp.dcloud.net.cn/vernacular.html# 一、开发工具准备 1-1 安装HBuilder 按照官方推荐,先装一个HBuilder 下载地址: https://www.dcloud.io/hbuilderx.html1-2 安装微信开…

chrome插件:一个基于webpack + react的chrome 插件项目模板

项目结构 $ tree -L 1 . ├── README.md ├── node_modules # npm依赖 ├── package.json # 详细依赖 ├── pnpm-lock.yaml ├── public # 里边包含dist,安装的时候安装这个目录即可 ├── src …

postgre 12.11单实例安装文档

一 下载 访问https://www.postgresql.org/download/,点击左侧的‘source进行下载,一般选择bz2的安装包。 二 安装 这里安装12.11版本的postgre,数据目录路径为/data/server/pgdata,端口为5432. 2.1 安装依赖包 #安装 yum in…

linux后台开发面试题

网络 网络的字节序网络知识 tcp三次握手 各种细节 timewait状态tcp 与 udp 区别 概念 适用范围TCP四次挥手讲一下过程,最后一次ack如果客户端没收到怎么办,为什么挥手不能只有三次,为什么time_wait。对于socket编程,accept方法是…

C++信息学奥赛1171:大整数的因子

该程序是一个寻找能够整除输入数字的最小正整数的程序。下面是代码的逻辑解析&#xff1a; #include <iostream> #include <string> #include <cstring>using namespace std;int main() {string n; // 定义一个字符串变量nint fale 0; // 用于标记是否能…

Flask-SQLAlchemy 快速上手

原文地址: 在底部查看原文(阅读体验更好) 视频地址: BV1Hh4y1j7jM Flask-SQLAlchemy 是 flask 的一个拓展插件,专门添加对 SQLAlchemy 的支持(ORM,关系对象模型)。使用它可以在 flask 中使用对象直接与 SQLAlchemy 进行交互,大大简化了 SQLAlchemy 与 flask 结合使用的过…

HJ3 随机数

描述 明明生成了NN个1到500之间的随机整数。请你删去其中重复的数字&#xff0c;即相同的数字只保留一个&#xff0c;把其余相同的数去掉&#xff0c;然后再把这些数从小到大排序&#xff0c;按照排好的顺序输出。数据范围&#xff1a; 1≤n≤1000 &#xff0c;输入的数字大小…

企业形象片宣传片策划要从哪里展开

企业形象片宣传片是一种有效的营销工具&#xff0c;能够向潜在客户传达企业的核心价值观、品牌形象和产品服务。对于企业来说&#xff0c;一个成功的宣传片可以增加品牌知名度&#xff0c;提高销售额&#xff0c;并建立与客户的良好关系。然而&#xff0c;要想策划一部成功的企…

换行符转换

将\t\n、\n、多个\n\n\n...转换为\n\n。 import pandas as pd import re # 创建一个示例DataFrame data {msgText: [这是示例文本1&#xff0c;包含\t\n换行符,这是示例文本2&#xff0c;包含\n\n多个\n换行符,这是示例文本3&#xff0c;没有换行符]} df pd.DataFrame(data)…