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 直接删除这个软链接文件即可
相关文章:
linux学习总结
shell 1.在文本环境下,shell作为命令解释器,建立了用户和操作系统之间的接口。当用户键入一个命令时,shell将对该命令进行解释,并调用相应的程序。2.Linux下有多个shell,最常用的3个shell: bash tcsh zsh3.shell …...
【API 管理】什么是 API 管理,为什么它很重要?
当今复杂的数字生态系统由许多相互关联的部分组成。API 作为看门人和连接器在其中发挥着关键作用——提供了许多最终用户甚至没有注意到的自动化机会和效率。 企业密切关注 API。它们对于应用程序、数据和各种客户交互的功能至关重要。 这使得 API 管理成为几乎每个部门的组织…...
基于人体呼出气体的电子鼻系统的设计与实现
基于人体呼出气体的电子鼻系统的设计与实现 摘要 电子鼻技术是通过模式识别技术对传感器采集的人体呼出气体进行分类训练的方法。本文研究实现的电子鼻系统包括下面几个部分:首先搭建以Arduino为控制核心的气路采集装置,包括MOS传感器和双阀储气袋构建的传感器阵列和…...
OPC发展历程
目录 1 opc 发展历程 1.1 OPC产生的背景 1.2 经典OPC 1.3 OPC UA 2 OPC DA简介 2.1 OPC Server/Client 2.2 OPC Server 2.3 OPC数据更新 2.4 读取数据方式 3 OPC XML简介 3.1 诞生由来 3.2 功能服务 1 opc 发展历程 OPC是英文“OLE for Process Control”的缩写&am…...
第69步 时间序列建模实战:ARIMA建模(R)
基于WIN10的64位系统演示 一、写在前面 这一期,我们使用R进行SARIMA模型的构建。 同样,这里使用这个数据: 《PLoS One》2015年一篇题目为《Comparison of Two Hybrid Models for Forecasting the Incidence of Hemorrhagic Fever with Re…...
【多线程】CountDownLatch
CountDownLatch 同时等待 N 个任务执行结束. 好像跑步比赛,10个选手进行比赛, 所有选手都通过终点,才能公布成绩。 代码示例: 构造 CountDownLatch 实例, 初始化 10 表示有 10 个任务需要完成.每个任务执行完毕, 都调用 latch.countDown() . 在 Count…...
使用 docker buildx 构建跨平台镜像 (QEMU/buildx/build)
目录 1. 使用 buildx 构建跨平台镜像1.1. 简介1.2. 安装1.3. 构建跨平台镜像1.4. 跨平台镜像构建策略1.4.1. 在内核中使用 QEMU 仿真支持1.4.2. 使用相同的构建器实例在多个本机节点上构建。1.4.3. 使用 Dockerfile 中的多阶段构建, 交叉编译到不同的平台架构中。 1.5. 创建 bu…...
算法|Day49 动态规划17
LeetCode 647- 回文子串 题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 题目描述:给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。 回文字符串 是正着读和倒过来读一样的字符串。 子…...
Linux nohup命令
nohup命令 no hang up 在后台启动命令,终端关闭 程序依然可以执行 1.在后台启动命令 命令 nohup COMMAND2.使用nohup命令在后台启动COMMAND, 并将所有标准输出都重定向到fileA nohup COMMAND > /path/fileA 2>&1 &# COMMAND 需要运行的命令 # &g…...
SQL Server 跨库/服务器查询
这里写目录标题 1 SQL Server 跨库/服务器查询1.1 跨库查询1.2 跨服务器查询1.2.1 创建链接服务器1.2.2 跨库查询 1.3 拓展:SQL Server 中所有权和用户与架构的分离 1 SQL Server 跨库/服务器查询 1.1 跨库查询 在同一服务器下的跨库查询较为简单,示例…...
word转PDF文件变小,图片模糊
word论文29M,文件——另存为——只有1.5M左右,图片压缩严重,图片看不清。 word中很多大图,5M一张的图,所以word很大。 找了很多方法,转换后都在2M左右,勉强可以。 直到找到了这个,…...
被删除并且被回收站清空的文件如何找回
文件的意外删除和回收站清空是许多用户面临的普遍问题。这种情况下,很多人会感到无助和焦虑,担心自己的重要文件永远丢失。然而,幸运的是,依然存在一些有效的方法能够帮助我们找回被删除并且被回收站清空的文件。 ▌被删除文件在…...
每日两题 131分割回文串 784字母大小写全排列(子集模版)
131 131 题目 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。 回文串 是正着读和反着读都一样的字符串。 示例 1: 输入:s “aab” 输出:[[“a”,“a”,“b”]…...
Java面试八股文宝典:初识数据结构-数组的应用扩展之HashMap
前言 除了基本的数组,还有其他高级的数据结构,用于更复杂的数据存储和检索需求。其中,HashMap 是 Java 集合框架中的一部分,用于存储键值对(key-value pairs)。HashMap 允许我们通过键来快速查找和检索值&…...
ES6 特性
一、ES6 1.1 ES6 概念 1.1.1 什么是 ES ES 全称 EcmaScript 是脚本语言的规范JavaScript 是 EcmaScript 的一种实现ES 新特性就是指 JavaScript 的新特性 1.1.2 为什么要使用 ES 语法简单,功能丰富框架开发应用前端开发职位要求 1.1.3 为什么要学习 ES6 ES6 …...
重拾html5
新增的position: sticky; 基于用户的滚动位置来定位,粘性定位的元素是依赖于用户的滚动,在 position:relative 与 position:fixed 定位之间切换。ie15以上的低版本不支持,Safari 需要使用 -webkit- prefix; vertical-align: midd…...
递归学习——记忆化搜索
目录 编辑 一,概念和效果 二,题目 1.斐波那契数 1.题目 2.题目接口 3.解题思路 2.不同的路径 1.题目 2.题目接口 3.解题思路 3.最长增长子序列 1.题目 2.题目接口 3.解题思路 4.猜数字游戏II 1.题目 2.题目接口 3.解题思路 总结&a…...
ChatGPT帮助一名儿童确诊病因,之前17位医生无法确诊
9月13日,Today消息,一位名叫Alex的4岁儿童得了一种浑身疼痛的怪病,每天需要服用Motrin(美林)才能止痛。3年的时间,看了17名医生无法确诊病因。(新闻地址:https://www.today.com/heal…...
Laf 云开发平台及其实现原理
Laf 产品介绍 自我介绍 大家好,我是来自 Laf 团队的王子俊,很高兴今天能在这里给大家分享我们 Laf 云开发平台及其实现原理。本来想说一点什么天气之类的话作为开头,但主持人都说完啦,我就不多说了,还是直接开始今天…...
浅谈STL|STL函数对象篇
一.函数对象概念 概念: 重载函数调用操作符的类,其对象常称为函数对象 函数对象使用重载的()时,行为类似函数调用,也叫仿函数 本质: 函数对象(仿函数)是一个类,不是一个函数 特点 函数对象在使用时,可以像普通函数那…...
51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...
什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...
2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...
(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...
探索Selenium:自动化测试的神奇钥匙
目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...
【SpringBoot自动化部署】
SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一,能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时,需要添加Git仓库地址和凭证,设置构建触发器(如GitHub…...
全面解析数据库:从基础概念到前沿应用
在数字化时代,数据已成为企业和社会发展的核心资产,而数据库作为存储、管理和处理数据的关键工具,在各个领域发挥着举足轻重的作用。从电商平台的商品信息管理,到社交网络的用户数据存储,再到金融行业的交易记录处理&a…...
