Linux系统配置与服务管理基础(二)

目录

一、通配符

1. 简介

2. 作用

3. 符号与效果

4. 示例

二、别名alias

1. 语法选项

2. 示例

3. 补充说明

三、查看磁盘使用量

1. 语法选项

2. ll与du区别 

3. 补充

四、创建目录mkdir

1. 语法选项

2. 示例

四、建立空文件touch

1. 语法选项

2. 附加功能

3. 示例

五、硬链接和软连接ln

1. 硬链接

2. 软链接

3. 区别

4. 示例

 5. 删除源文件情况

六、复制和改名cp

1. 语法选项

2. 示例 

3. 增量备份和差异备份

七、移动和改名mv

1. 语法选项

2. 示例

3. rename

八、删除

1. rm

2. shred

九、查找

1. which

2. whereis

3. locate

4. find

4.1 定义优缺点

4.2 通式

4.3 条件

4.4 处理动作

4.5 示例

十、管道符

1. 解释说明

2. 示例


一、通配符

1. 简介

有些符号不表示原来的意思,它代表一类字符

2. 作用

匹配文件的名字(内容看不到)

3. 符号与效果

符号效果
代表任意一个字符,匹配一个字符 f?.txt
*代表任意长度的字符
{1..10}1到10
{a..z}a、b、c……z
{A..Z}A 、B、 C……Z
[123]值代表任意一个字符,1或2或3
[a-z]单个小写字母
[0-9]单个数字
\代表原来的意思,如:\*就是*
[[:lower:]]“[:lower:]”固定格式,小写字母表示 a-z
[[:upper:]]大写字母表示 A-Z
[^zhou]^代表非,除了,匹配列表中的所有字符以外的字符
[[:digit:]]任意数字,相当于0-9
[[:alpha:]]任意字母

4. 示例

[root@localhost opt]#touch {1..10}.txt         //创建1-10.txt文件
[root@localhost opt]#ls [123].txt              //匹配包含123任意一个数的文件      
1.txt  2.txt  3.txt
[root@localhost opt]#ls
10.txt  1.txt  2.txt  3.txt  4.txt  5.txt  6.txt  7.txt  8.txt  9.txt  rh
[root@localhost opt]#ls [0-9].txt              //代表单个数字,等价[0123456789]
1.txt  2.txt  3.txt  4.txt  5.txt  6.txt  7.txt  8.txt  9.txt
[root@localhost opt]#ls [0-9][0-9].txt         //代表两位数
10.txt
[root@localhost opt]#ls ?.txt                  //?代表一个字符
1.txt  2.txt  3.txt  4.txt  5.txt  6.txt  7.txt  8.txt  9.txt
[root@localhost opt]#ls ??.txt                 //??代表两个字符
10.txt
[root@localhost opt]#ls [^1].txt               //^代表非,除了
2.txt  3.txt  4.txt  5.txt  6.txt  7.txt  8.txt  9.txt

二、别名alias

1. 语法选项

alias           //显示所有别名
alias   自定义的命令=原始命令(包含特殊字符需要加引号)

2. 示例

[root@localhost ~]#alias myens33='/etc/sysconfig/network-scripts/ifcfg-ens33'  //定义别名
[root@localhost ~]#alias               //查看所有别名
[root@localhost ~]#unalias myens33     //删除别名
[root@localhost ~]#\别名               //显示原始命令

3. 补充说明

命令执行顺序:绝对路径--->别名--->内部--->hash--->外部

使用alias建立的别名是临时性的,重启失效;如果想永久修改,需要写入配置文件。

三、查看磁盘使用量

1. 语法选项

[root@localhost ~]#du                  //disk ues查看磁盘使用量
[root@localhost ~]#du -s               //总大小
[root@localhost ~]#du -a               //每个文件大小,as不可以同时使用
[root@localhost ~]#du -h               //显示格式
[root@localhost ~]#du -d 2             //只查看前两层文件夹,不包含自己目录,--max--depth=2
[root@localhost ~]#du --exclude=*.txt  //排除已txt结尾的,--exclude代表不计入统计

2. ll与du区别 

  • ll:看见的是文件的真实大小
  • du:看到的是文件占了磁盘多少块(默认4k一块),一个文件不足4k按4k计算

3. 补充

疑问:磁盘空间不足如何排查哪些文件夹比较大?

首先输入命令du -a,查看每个文件的大小,然后查看大文件是否可以删除,必要时需要做备份。

四、创建目录mkdir

1. 语法选项

mkdir [选项] 目录位置及名称…     
mkdir -p   递归建立
mkdir -v   显示过程 

2. 示例

[root@localhost ky35]#mkdir a b c                    //一次创建3个文件夹目录
[root@localhost ky35]#mkdir -p aa/bb/cc -v           //-p,递归建立,-v显示过程,在aa下创建bb,在bb下创建cc
mkdir: 已创建目录 "aa"
mkdir: 已创建目录 "aa/bb"
mkdir: 已创建目录 "aa/bb/cc"
[root@localhost ky35]#tree
.
├── a
├── aa
│   └── bb
│       └── cc
├── b
└── c6 directories, 0 files
[root@localhost ky35]#mkdir -p  a/{1,2,3}/{4,5,6}   //一次建立多个文件
[root@localhost ky35]#tree
.
├── a
│   ├── 1
│   │   ├── 4
│   │   ├── 5
│   │   └── 6
│   ├── 2
│   │   ├── 4
│   │   ├── 5
│   │   └── 6
│   └── 3
│       ├── 4
│       ├── 5
│       └── 6

四、建立空文件touch

1. 语法选项

touch   新文件…(可为空)

2. 附加功能

① 新建空文件夹(文件名不存在)

② 刷新文件时间(文件名存在)

3. 示例

[root@localhost ky35]#touch 1.txt 2.txt 3.txt      //创建新文件
[root@localhost ky35]#echo " " > 4.txt             //创建4.txt空文件
[root@localhost ky35]#ls
1.txt  2.txt  3.txt  4.txt
[root@localhost ky35]#stat 1.txt                   //查看三个时间戳文件:"1.txt"大小:0         	块:0          IO 块:4096   普通空文件
设备:fd00h/64768d	Inode:67385786    硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:default_t:s0
最近访问:2023-12-20 19:09:18.500368360 +0800  //access time访问时间,atime读取文件内容
最近更改:2023-12-20 19:09:18.500368360 +0800  //modify time修改时间,mtime改变文件内容(数据)
最近改动:2023-12-20 19:09:18.500368360 +0800  //change time 改变时间,ctime原数据发生改变(原数据,文件大小,权限) 

五、硬链接和软连接ln

1. 硬链接

生产环境正常用不到,硬链接即多了一条找到indoe号文件的方法路径,硬盘并没有多一个文件(内存可能会多一个),做了硬链接的两个文件除了名字不一样,其他的都一样。注意文件夹不能做硬链接,但是可能有多种名称,如:a文件夹可能叫做“.”,"../"。

2. 软链接

类似于windows里快捷方式,软连接,符号连接,会指向原来的文件。其占用大小一般是指向路径字节大小。

3. 区别

对比项硬链接软连接
本质本质是同一个文件本质不是同一个文件
inode(身份证号)相同不同
连接数创建新的硬链接,链接数会增加,删除硬链接,链接数减少删除,新建都不会改变
文件夹不支持支持
删除源文件只是链接数减一,但链接文件的访问不受影响无法访问连接文件
文件类型和源文件相同链接文件,和源文件无关
文件大小和源文件相同(指向硬盘上的同一个文件)源文件的路径的长度

4. 示例

[root@localhost ky35]#ln -s ./1.txt 2.txt     //创建软链接,语法:ln -s 源文件绝对路径 目的位置
[root@localhost ky35]#ln ./2.txt 6.txt        //创建硬链接,语法:ln 源文件绝对路径 目的位置
[root@localhost ky35]#ll
总用量 4
-rw-r--r--. 1 root root 0 12月 20 19:09 1.txt
-rw-r--r--. 2 root root 0 12月 20 19:09 2.txt
-rw-r--r--. 1 root root 0 12月 20 19:09 3.txt
-rw-r--r--. 1 root root 2 12月 20 19:09 4.txt
lrwxrwxrwx. 1 root root 7 12月 20 19:29 5.txt -> ./1.txt  //l代表软连接
-rw-r--r--. 2 root root 0 12月 20 19:09 6.txt             //2代表硬链接个数

 5. 删除源文件情况

[root@localhost ky35]#ll
总用量 0
-rw-r--r--. 1 root root 0 12月 20 19:48 1.txt
-rw-r--r--. 2 root root 0 12月 20 19:09 2.txt
lrwxrwxrwx. 1 root root 7 12月 20 19:29 5.txt -> ./1.txt
-rw-r--r--. 2 root root 0 12月 20 19:09 6.txt
[root@localhost ky35]#rm -rf 1.txt 2.txt
[root@localhost ky35]#ll
总用量 0
lrwxrwxrwx. 1 root root 7 12月 20 19:29 5.txt -> ./1.txt   //5.txt变红,/1.txt闪烁
-rw-r--r--. 1 root root 0 12月 20 19:09 6.txt              //硬链接不受影响
[root@localhost ky35]#touch 1.txt 2.txt                    //重新创建文件,软连接可以访问
[root@localhost ky35]#rm -rf ./5.txt                       //删除软连接5.txt

注:删软链接文件的时候一定不能加/,否则会删除源文件内容 

六、复制和改名cp

1. 语法选项

cp 源文件路径 复制到 目标文件夹
选项说明
-f覆盖目标同名文件或目录时不进行提醒,直接强制复制
-i覆盖目标同名文件或目录时提醒用户确认
-p复制时保持源文件的权限、属主及时间标记等属性不变
-r复制目录时必须使用此选项,表示递归复制所有文件及子目录
-a完整保留所有的信息
-v可视化,显示过程
-u相当于增备,差异备份(只对文件夹起作用)

2. 示例 

[root@localhost ky35]#tree
.
└── a└── 1.txt1 directory, 1 file
[root@localhost ky35]#cp ./a ./b -v -r     //复制文件夹a包含文件内容到文件夹b,没有文件夹b新建
"./a" -> "./b"
"./a/1.txt" -> "./b/1.txt"
[root@localhost ky35]#tree
.
├── a
│   └── 1.txt
└── b└── 1.txt

3. 增量备份和差异备份

  • 增量备份:完整备份一次后,后续备份只备份增加的部分
  • 差异备份:需要备份的文件与自己现有对比,备份缺少的部分

七、移动和改名mv

1. 语法选项

mv   源文件路径  目标文件路径(增加新名称代表移动并改名;目标文件更换名称即重命名)
选项说明
-f强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖
-i交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项)
-n如果目标文件已经存在,则不会覆盖移动,而且不询问用户
-v显示文件或目录的移动过程

2. 示例

[root@localhost ky35]#tree
.
├── a
│   └── 1.txt
└── b2 directories, 1 file
[root@localhost ky35]#mv ./a/1.txt ./b/2.txt   //移动文件夹a下的1.txt到文件夹b下并改名2.txt
[root@localhost ky35]#tree
.
├── a
└── b└── 2.txt

3. rename

可以批量改名,但是有局限性,只能该统一标识,如:"txt"全部改成"txt.bak*"

八、删除

1. rm

rm [选项] 要删除的文件或目录

  • -f、强制
  • -i、交互
  • -r 递归(删除目录需要)
rm -rf 文件或目录的路径  // -r代表递归 -f代表强制

2. shred

除了rm可以删除文件,shared也具有删除文件,其原理就是望硬盘块里写0,即删除;格式:shred  [选项]  参数

九、查找

1. which

查找外部命令文件,如ls,mkdir,其搜索范围在:“echo $PATH”

which  命令或者程序名

2. whereis

会在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件

[root@localhost ky35]#whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
//whereis 可以查找命令具体的位置所在

3. locate

Linux locate命令用于查找符合条件的文档,他会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录。

优点:快

缺点:① 找的系统的数据库文件,不具备实时性,数据库需要实际更新

           ② 模糊查找不够精确

           ③ 不是去磁盘上直接找

4. find

4.1 定义优缺点

find命令是一种通过条件匹配在指定目录下查找对应文件或者目录的工具。匹配的条件可以是文件名称、类型、大小、权限属性、时间戳等。还可以配合相关命令对匹配到的文件作出后续处理。

缺点:慢

优点:① 精确查找

           ② 选项多,查找的功能多 

4.2 通式

find 范围(不写即当前目录) 查找条件(名字大小类型) 处理动作

4.3 条件

-name:按名字查找

-size:按大小查找

-user:按用户查找

-type :按类型查找

4.4 处理动作

-ls:显示详情信息

-delete:删除

-ok:询问是否要操作

-exec:不询问直接操作

4.5 示例

找到30天以上普通文件以log结尾删除,移动

find / -mtime +30 -type f -name "*log" -exec mv {} /opt \;    
find / -mtime +30 -type f -name "*log" -delete
find / -mtime +30 -type f -name "*log" -exec rm -rf {} /opt \;

注:-exec只会出现在find命令里 

十、管道符

1. 解释说明

管道命令可以将多条命令按一定指向结合起来,一次性完成复杂的处理任务,管道即“|”。

2. 示例

[root@localhost ky35]#echo "123456789" > 1.txt | cat 1.txt | grep 9
123456789
//此时可以看见数字9高亮

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

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

相关文章

【Kotlin】基础变量、集合和安全操作符

文章目录 数字字面常量显式转换数值类型转换背后 位运算符字符串字符串模板修饰符数组集合(Kotlin自带)通过序列提高效率惰性求值序列的操作方式中间操作末端操作 可null类型安全调用操作符 ?.操作符 ?:非空断言操作符 !! 使用类型检测及自动类型转换安…

第二百一十七回 修改页面导航中遇到的问题

文章目录 1. 问题介绍2. 使用方法3. 代码与分析3.1 示例代码3.2 代码分析4. 内容总结我们在上一章回中介绍了"分享一种更新页面数据的方法"相关的内容,本章回中将介绍修改页面导航中遇到的问题.闲话休提,让我们一起Talk Flutter吧。 1. 问题介绍 我们在页面之间导…

uni-app获取指定时间为周几,日期格式化为 “YYYY-MM-DD“ 的形式

在 uni-app 中,你可以使用 JavaScript 的 Date 对象来获取指定时间是星期几。以下是一个简单的示例代码,演示了如何在 uni-app 中实现这一功能: // 假设有一个指定的日期时间 const specifiedDate new Date(2023-12-25);// 获取这个指定日期…

go学习笔记

指针使用 // Person 定义一个人的结构体 type Person struct {// 姓名Name string// 年龄Age int// 性别Sex string// 身份证号idNumber string }//1、声明一个结构体变量var person Personfmt.Println(person.Name) // ""fmt.Println(person.Age) // 0fmt…

学习——html基础

什么是HTML Hyper Text Markup Language (超文本标记语言) 标记又俗称标签(tag)&#xff0c;一般格式&#xff1a; 如 <h1></h1>标签里还可以有属性(Attribute)&#xff1a; <tagName Atrribute “value" /> 如 <meta charset"utf-8"…

selenium自动化webdriver下载及安装

1、确认浏览器的版本 在浏览器的地址栏&#xff0c;输入chrome://version/&#xff0c;回车后即可查看到对应版本 2、找到对应的chromedriver版本 2.1 114及之前的版本可以通过点击下载chromedriver,根据版本号&#xff08;只看大版本&#xff09;下载对应文件 2.2 116版本通过…

【进阶篇】YOLOv8实现K折交叉验证——解决数据集样本稀少和类别不平衡的难题,让你的模型评估更加稳健

YOLOv8专栏导航&#xff1a;点击此处跳转 K折交叉验证 K折交叉验证&#xff08;K-Fold Cross-Validation&#xff09;是一种常用的机器学习模型评估方法&#xff0c;可以帮助我们评估模型的性能&#xff0c;特别适用于数据集相对较小的情况。 在K折交叉验证中&#xff0c;将原…

redis相关面试题

1、说一说你在项目中的redis的应用场景&#xff1f; 需要频繁查询的数据&#xff0c;分布式锁&#xff0c;spring session 5大value类型&#xff1a;string hash list set zset基本上就是缓存为的是服务无状态&#xff0c;延申思考&#xff0c;看你的项目有哪些数据结构或对象…

springboot 整合 springdataJPA 自定义操作 JPQL和SQL

1.接口StudentJPQLSQLMapper.java package com.jmj.springDataApp.mapper;import com.jmj.springDataApp.pojo.Student; import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; import org.springframework.da…

final的详解

在Java中&#xff0c;final 关键字用于表示不可改变的实体&#xff0c;可以应用于变量、方法、类和指令重排序。它有不同的作用&#xff0c;具体取决于它被应用的上下文。 1.对于变量&#xff1a; 如果一个变量被声明为 final&#xff0c;则该变量的值在一旦被赋予后就不能再被…

Starting the Docker Engine...一直转圈

出现的问题&#xff1a; 原因排查&#xff1a; 看了网上的很多篇文章&#xff0c;每个原因都排查了&#xff0c;没有发现问题。 遇到这样的情况应先看自己是否安装成功 打开运行&#xff0c;在空框中输入powershell并点击确定&#xff1a; docker version 显示版本证明安装…

3. 控制流程

3. 控制流程 ​ 跟任何的程序设计语言一样&#xff0c;Java使用条件语句和循环结构确定控制流程。 3.1 块作用域 ​ 块是指由一对大括号括起来的若干条简单的Java语句&#xff0c;块确定了变量的作用域。一个块可以嵌套在另一个块中。 常见例子&#xff1a; public static v…

微信小程序-选择和分割打开地图选择位置的信息

一、 前言 废话不多说&#xff0c;单刀直入。 本文要实现的功能是微信小程序中打开地图选择位置&#xff0c;以及将返回的位置信息分割。 例如返回的位置信息是&#xff1a;广东省深圳市龙岗区xxxxx小区 分割后变成&#xff1a; {province: "广东省",city: "深…

前端技术基建过程

1. 技术基建: 是研发团队的技术基础设施建设,是一个团队通用的技术能力沉淀. (1). 业务、架构、基建理解: ①. 业务支撑是活在当下②. 技术基建是活在未来(2). 意义: ①. 技术的价值在于解决业务问题,"业务支撑"和"基础建设"都是为了帮助业务解决问题②.…

042.Python异常处理_异常捕获

我 的 个 人 主 页&#xff1a;&#x1f449;&#x1f449; 失心疯的个人主页 &#x1f448;&#x1f448; 入 门 教 程 推 荐 &#xff1a;&#x1f449;&#x1f449; Python零基础入门教程合集 &#x1f448;&#x1f448; 虚 拟 环 境 搭 建 &#xff1a;&#x1f449;&…

SpringBoot前后端分离开发项目部署时,项目打包准备工作

第一步&#xff1a;项目打包之前&#xff0c;拉前后端代码 拉完代码后&#xff0c;再执行下面操作&#xff08;确保项目能正常启动并运行&#xff09; 后端&#xff08;执行如下操作&#xff09; mvn clean install -T 8 -Dmaven.test.skiptrue -Dmaven.compile.forktrue 执行…

JDK17 SpringBoot3 整合常见依赖

JDK版本&#xff1a;17 SpringBoot 整合Mybatis Plus 、Redis等 依赖文件 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance&q…

处理读写分离延迟

由于网络、CPU资源等原因&#xff0c;读写分离的延迟不可避免。所以&#xff0c;在引入读写分离方案的时候&#xff0c;要优先考虑数据延迟对业务是否有影响。下面主要讨论对有影响的情况下&#xff0c;有哪些方式可以尽量减少影响。 延迟处理方案 主从延迟可以很小&#xff…

【python】程序运行添加命令行参数argparse模块用法详解

Python标准库之argparse&#xff0c;详解如何创建一个ArgumentParser对象及使用 一. argparse介绍二. 使用步骤及参数介绍三. 具体使用3.1 设置必需参数3.2 传一个参数3.3 传多个参数3.4 位置参数和可选参数3.5 参数设置默认值3.6 其它用法 一. argparse介绍 很多时候&#xff…

Amazon CodeWhisperer 在 vscode 的应用

文章作者:旧花阴 CodeWhisperer 是一款可以帮助程序员更快、更安全地编写代码的工具&#xff0c;可以在他们的开发环境中实时提供代码建议和推荐。亚马逊云科技发布的这款代码生成工具 CodeWhisperer 最大的优势就是对于个人用户免费。以在 vscode 为例&#xff0c;演示安装过程…