Linux常用的基础命令

news2024/11/24 15:12:47

一、通配符

1、定义:

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

" * ":代表任意长度的字符,不能显示隐藏文件

" ? ":代表任意一个字符

2、作用:

去匹配文件的名字。

例如:

匹配以p开头的文件           ---------------------------      ls  p*

匹配以conf结尾的文件      ---------------------------      ls  *conf

匹配包含conf的文件          ---------------------------      ls  *conf*

通配符只能匹配文件的名字

正则表达式可以匹配文章中的内容

二、命令

1、alias----------别名

定义:通过别名机制简单化常用的、比较长的命令

格式:alias 自定义命名='原始命令'

 图片当中"myvim"是自定义命名,而"vim /etc/sysconfig/network-scripts/ifcfg-ens33"为原始命令。

取消别名:unalias myvim。

注意:

        使用alias创建的别名只是临时性的,关机或重启之后就不会生效了。

2、du----------查看磁盘使用量

du  默认递归显示

        du是文件所占磁盘空间的大小

格式:du  [选项]  [文件或目录]

选项说明
-a统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录
-s以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果
-h只统计所占空间总的(Summary)大小,而不是统计每个子目录,文件的大小

[root@localhost ~]#du -sh /var/log
4.6M    /var/log
使用命令du -sh 显示/var/log的文件所占空间的大小

-a 和-s不能同时使用

[root@localhost ~]#du -as
du: 不能既显示总用量,同时又显示每个项目
Try 'du --help' for more information.

ll和du的区别:

ll看到的是文件的真实大小

du看到的是文件占自盘的多少块(一块的默认值为4k;如果一个文件不足4k按4k算)

(du看到的文件大小一定是4的倍数)

延伸:如果只想看到前两层的文件夹(前两层:不包含本层  本级的下两层)

du -d 2/etc    =     du --max-depth=2 /etc

3、mkdir----------建立文件夹

mkdir  [选项] 目录位置及名称

mkdir -p  代表一次性创建嵌套的多层目录(递归显示)

[root@localhost opt]#mkdir aa bb cc
[root@localhost opt]#ls
aa  bb  cc  rh
代表一次性建立三个文件夹aa、bb、cc
 
[root@localhost opt]#mkdir dd
[root@localhost opt]#ls
dd  rh
单个创建文件夹dd
 
[root@localhost opt]#mkdir -p aa/bb/cc
代表倒序建立aa/bb/cc文件夹
[root@localhost opt]#ls
aa  rh
查看opt文件夹下(aa为蓝色,代表文件夹)
[root@localhost opt]#ls -R
.:
aa  rh
 
./aa:
bb
 
./aa/bb:
cc
 
./aa/bb/cc:
 
./rh:
倒序查看opt下的文件

4、touch----------建空文件

1.新建空文件     touch  命令   跟着的文件名不存在

2.刷新文件时间  touch  命令  跟着的文件名已存在

touch  文件(如果文件不存在则新建一个大小为0的空文件)

5、ln----------硬链接与软连接

1.硬链接

当用户访问aa时,通过inode号在硬盘中找到aa硬盘中的位置,然后加载到内存中使用,给inode号1234做一个硬连接到B文件夹存为bb,此时aa和bb都可以使用inode号为1234的文件。

文件夹不能做硬连接;硬连接的本质是文件有多少种叫法,再深层次理解为有多少种找到文件的方法;做一个硬连接 inode号不会增加 

2.软连接

硬连接语法  ln      源文件  目的位置

软连接语法  ln -s  源文件  目的位置

注意:

        源文件要使用绝对路径。

        删除软连接文件夹的时候,一定不能加    “ / ”

如下图:

6、cp----------复制

将需要复制的文件或目录(源)重建一份,并保存为新的文件或目录。

格式:cp  源文件或文件夹  目标位置

注意:cp命令执行后,相同设备上的inode号不会相同,但不同设备上可能会一样

  • 复制文件夹一定要加 -r 

  • -a和-p均代表保留属性   但是-a的保留权限更大

7、mv----------移动或改名

格式:mv 源文件 目标位置

源文件和目标文件路径位置一样,是改名

如果源文件和目标文件路径位置不一样,是移动也可以移动并改名

8、rm、shred----------删除

1.rm

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

选项说明
-f强制
-i交互
-r递归

2.shred

格式:shred [OPTION]... FILE...

安全的删除数据

选项说明
-z最后一次覆盖添加0,以隐藏覆盖操作
-v能够显示操作进度
-u覆盖后截断并删除文件
-n#指定覆盖文件内容的次数(默认是3次)

9、which、、find、locate----------查找

1.which

查找命令/文件存放目录

搜索范围由环境变量PATH决定(echo $ PATH)

格式:

which  命令/程序名   

which  -a  命令/程序名

查找外部命令: 

which is  查找得更精准

where is 会在固定的5个文件夹中找

2.locate

优点和缺点

优点:快

缺点:1.不够精确,模糊查找;

2.找是系统的数据库文件,不具备实时性;

3.不是去磁盘上真的给你找,而是去数据库找;

  • updatedb 不太建议用,因为可能会死机

对于老旧文件查找还是比较好的

3.find

采用递归方式,根据目标的名称、类型、大小等不同属性进行精细查找

优点:1.精确查找;2.选项多,查找的功能多

缺点:慢

查找类型关键字说明
按名称查找-name根据目标文件的名称进行查找,使用通配符   *  ?
按文件大小-size

根据目标文件的大小进行查找,

一般使用“ + ”、“ - ”号设置超过或小于指定的大小作为查找条件

常用的容量单位包括kB(k要小写)、MB、GB

按文件属性主查找-user根据文件是否属于目标用户进行查找
按文件类型查找-type

根据文件的类型进行查找

文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等

各表达式之间使用逻辑运算符:

“ -a ”表示 而且(and)

“ -o ”表示 或者(or)

“ not ”非   或者!

如:

find /boot -size + 1024k -a -name “vmlinuz*”

find /boot -size + 1024k -o -name “vmlinuz*”

find时间命令延伸 

找到一个30天以上 以log结尾的普通文件

find / -name "*log" -type f -mtime +30

找到一个30天以上 以log结尾的普通文件并删除

find / -name "*log" -type f -mtime +30 -delete

exec 连接符 连接find命令和下一个命令

{}代表find 找到的内容

\; 固定格式 代表结束

处理动作:

-ls  显示详细信息 

-delete 删除

-ok  询问是否要操作

-exec 不询问直接操作

10、empty----------空文件

延伸:硬盘有一个T,无法再建文件,inode号用完了,解决办法删除空文件(find /opt/ -empty )

 find  /opt/  -empty

11、| ----------管道符

在Linux文件详细信息中,第一个字符为p代表是管道文件

可以将前一个命令的结果 当做最后一个命令的对象执行

如:

ls | wc -l

管道符可以添加多个;将第一个命令的执行结果当做参数传给后一个命令去执行。

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

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

相关文章

『Linux升级路』基础开发工具——gdb篇

🔥博客主页:小王又困了 📚系列专栏:Linux 🌟人之为学,不日近则日退 ❤️感谢大家点赞👍收藏⭐评论✍️ 目录 一、背景知识介绍 二、gdb指令介绍 一、背景知识介绍 在软件开发中&#xff0c…

用Go语言实现HTTP API的安全验证

HTTP API的安全验证,通常我们会使用诸如OAuth、API密钥、JWT(JSON Web Tokens)等方法。这里,我将向您展示如何使用JWT在Go语言中实现HTTP API的安全验证。 1. JWT简介 JWT是一种开放标准(RFC 7519)&#…

软件项目安全保证措施

一、 身份鉴别 二、 访问控制 三、 通信完整性、保密性 四、 抗抵赖 五、 数据完整性 六、 数据保密性 七、 应用安全支撑系统设计 软件开发全流程文档支撑下载:软件项目开发全套文档下载-CSDN博客

VScode 工作区配置 和 用户配置

一、工作区配置 通常不同的项目都有不同的配置,我一般都是使用eslint和prettier一起用,所以经常会有这几个文件: 这里简单介绍一下这几个文件的作用吧。 1.vscode文件夹下 一般有两个文件,extensions.json和settings.json。 e…

基于Java SSM框架实现人事员工考勤签到请假管理系统项目【项目源码+论文说明】

基于java的SSM框架实现人事员工考勤签到请假管理系统演示 摘要 在高速发展的时代,众多的软件被开发出来,给用户带来了很大的选择余地,而且人们越来越追求更个性的需求。在这种时代背景下,人们对人事管理系统越来越重视&#xff0…

Java Web Day06_JQuery基础

课程安排 jQuery是什么 框架(framework)是一个框子——指其约束性,也是一个架子——指其支撑性。是一个基本概念上的结构,用于去解决或者处理复杂的问题。 jQuery是目前使用最广泛的javascript函数库,极大地简化了ja…

100GPTS计划-AI学术AcademicRefiner

地址 https://chat.openai.com/g/g-LcMl7q6rk-academic-refiner https://poe.com/AcademicRefiner 测试 减少相似性 增加独特性 修改http://t.csdnimg.cn/jyHwo这篇文章微调 专注于人工智能、科技、金融和医学领域的学术论文改写,秉承严格的专业和学术标准。 …

华为OD机试 - 发广播 - 并查集(Java 2023 B卷 200分)

目录 专栏导读一、题目描述二、输入描述三、输出描述1、输入2、输出3、说明 四、并查集Java 实现并查集 五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA&…

机器学习算法(11)——集成技术(Boosting——梯度提升)

一、说明 在在这篇文章中,我们学习了另一种称为梯度增强的集成技术。这是我在机器学习算法集成技术文章系列中与bagging一起介绍的一种增强技术。我还讨论了随机森林和 AdaBoost 算法。但在这里我们讨论的是梯度提升,在我们深入研究梯度提升之前&#xf…

【算法设计与分析】——动态规划算法

🎃个人专栏: 🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客 🐳Java基础:Java基础_IT闫的博客-CSDN博客 🐋c语言:c语言_IT闫的博客-CSDN博客 🐟MySQL&#xff1a…

OpenAI公布ChatGPT安全框架

12月19日,OpenAI在官网公布了“准备框架”(Preparedness Framework)测试版。该文档详细介绍了OpenAI是如何保证ChatGPT等产品的安全防护措施、开发和部署流程。 OpenAI表示,随着大模型的功能迭代不断完善,其能力已经开…

Diss一下ApiPost国产软件

如图所示,我用ApiPost和PostMan调用同一个接口同样的参数。 后端返回的数字是20231204183521830,在ApiPost中却变成了20231204183521832。不能理解为什么数字会2 。 而PostMan这边返回的值是正确的。 看来ApiPost确实是遥遥领先了

30. MVC设计模式

JavaEE 开发流程 ↓MVC的概念 MVC是Model-View-Controller的简称,即模型-视图-控制器。 MVC是一种设计模式,它把应用程序分成三个核心模块:模型、视图、控制器,它们各自处理自己的任务。 模型(model) 模型是应用程序的主体部分…

本地使用 docker 运行OpenSearch + Dashboard + IK 分词插件

准备基础镜像 注意一定要拉取和当前 IK 分词插件版本一致的 OpenSearch 镜像: https://github.com/aparo/opensearch-analysis-ik/releases 写这篇文章的时候 IK 最新版本 2.11.0, 而 dockerhub 上 OpenSearch 最新版是 2.11.1 如果版本不匹配的话是不能用的, 小版本号对不上…

Python---TCP 客户端程序开发

1. 开发 TCP 客户端程序开发步骤回顾 创建客户端套接字对象和服务端套接字建立连接发送数据接收数据关闭客户端套接字 2. socket 类的介绍 导入 socket 模块 import socket 创建客户端 socket 对象 socket.socket(AddressFamily, Type) 参数说明: AddressFamily 表示IP地…

SpringBoot 3.2.0实战

SpringBoot 3.2.0实战 1. 关键知识点2. 后端开发(SpringBoot 3.2.0)2.1 接口实现的三大步2.2 参数校验2.3 登录认证2.4 获取用户信息2.5 更新用户基本信息2.6 更新用户头像2.7 更新用户密码 3. 前端开发(Vue3Element-Plus)3.1 前置知识3.2 常用指令3.2.1 v-for3.2.2…

Java 并发编程 —— 透过源码剖析 ForkJoinPool

目录 一. 前言 二. 工作窃取的实现原理 2.1. WorkQueue(工作队列) 2.2. 工作窃取流程 三. ForkJoinPool 源码解析 3.1. ForkJoinPool 的字段 3.1.1. 常量 3.1.2. 成员变量 3.1.3. ctl(5个部分组成) 3.2. 构造函数 3.3.…

Fabric:使用GoLand+Fabric-SDK-Go操作Fabric网络

遇到bug, 未完待续!!! 写在最前 前序博客已经介绍了使用命令的方式在Fabric上创建通道以及部署执行链码的方法,但这个过程太繁琐,尤其是当Fabric网络中peer节点和组织Org过多时,需要频繁的更改环境变量。 Hyperledger Fabric官方提供了Fabri…

[论文分享]TimeDRL:多元时间序列的解纠缠表示学习

论文题目:TimeDRL: Disentangled Representation Learning for Multivariate Time-Series 论文地址:https://arxiv.org/abs/2312.04142 代码地址:暂无 关键要点:多元时间序列,自监督表征学习,分类和预测 摘…

<JavaEE> 网络编程 -- 网络编程和 Socket 套接字

目录 一、网络编程的概念 1)什么是网络编程? 2)网络编程中的基本概念 1> 收发端 2> 请求和响应 3> 客户端和服务端 二、Socket套接字 1)什么是“套接字”? 2)Socket套接字的概念 3&…