Linux常用指令(二)
目录
一、 删除空目录(rmdir)
二、ln 硬链接与软链接
三、新建空文件或更新文件的时间戳(touch)
四、比较文件内容的差异(diff)
五、显示当前时间或设置系统时间(date)
六、显示日历(cal)
一、 删除空目录(rmdir)
1.命令格式:
---rmdir [选项]... 目录...
2.命令功能: 该命令从一个目录中删除一个或多个子目录项,删除某目录时也必须具有对父目录的写权限。
3.命令参数
参数 | 功能 |
---|---|
-p | 递归删除目录及其子目录,同时删除空的父目录 |
-v /--verbose | 显示详细的执行过程 |
命令案例
实例一:rmdir 不能删除非空目录
命令: rmdir doc
说明: rmdir 目录名 命令不能直接删除非空目录
实例 2:rmdir -p 当子目录被删除后使它也成为空目录的话,则顺便一并删除
命令: rmdir -p logs
二、ln 硬链接与软链接
命令描述:
ln 是 linux 中一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个 同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目 录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的 目录下用 ln 命令链接(link)它就可以,不必重复的占用磁盘空间
1.命令格式:
---ln [参数][源文件或目录][目标文件或目录]
2.命令功能: Linux 文件系统中,有所谓的链接(link),我们可以将其视为文件的别名,而链接又 可分为两种 : 硬链接(hard link)与软链接(symbolic link),硬链接的意思是一个文件可以 有多个名称(真正的别名),而软链接的方式则是产生一个特殊的文件(多了一个文件), 该文件的内容是指向另一个文件的地址(其实就是超链接)。硬链接是存在同一个文件 系统中,而软链接却可以跨越不同的文件系统
使用实例:
实例 1:给文件创建软链接
Cal 是输出日历,> 符号是重定向,就是把 cal 的输出重新给个输出地方,这 里重定向到了文件 2023.log 中,所以可以看到该文件内容是日历,如下截图
查看软连接和文件内容
实例 2:给文件创建硬链接
命令: ln 2023.log hardlink2023.log
实例 3:接上面两实例,链接完毕后,删除和重建链接原文件
说明: 1.源文件被删除后,并没有影响硬链接文件 2.重建源文件后,找到了链接文件系统;重建后,硬链接文件并没有受到源文件影 响,硬链接文件的内容还是保留了删除前源文件的内容,说明硬链接已经失效
实例 4:将文件链接为另一个目录中的相同名字
说明: 在 test 目录中创建了 2023.log 的硬链接,修改 test 目录中的 2023.log 文件,同 时也会同步到源文件
一个文件可以有多个名字,一个目录能不能?
说明
1.目录只能创建软链接
2.目录创建链接必须用绝对路径,相对路径创建会不成功,会提示:符号连接的层 数过多 这样的错误
3.在链接目标目录中修改文件都会在源文件目录中同步变化 。
三、新建空文件或更新文件的时间戳(touch)
1.命令格式:
---touch [选项]... 文件...
2.命令参数:
参数 | 功能 |
---|---|
-a /--time=atime /--time=access /--time=use | 只更改文件的访问时间 |
-c /--no-create | 不创建任何文件 |
-d | 使用指定的日期时间,而非当前时间 |
-f | 解决BSD版本兼容性问题,忽略不处理 |
-m /--time=mtime /--time=modify | 只更改文件的修改时间 |
-r | 以参考文件的日期时间来更新指定文件的日期时间 |
-t | 使用指定的日期时间,而不是当前时间 |
3.命令功能: touch 命令参数可更改文档或目录的日期时间,包括存取时间和更改时间。
4.使用范例:
实例一:创建不存在的文件
命令: touch log2012.log log2013.log
实例二:更新 log.log 的时间和 log2012.log 时间戳相同
命令: touch -r log.log log2012.log
实例三:设定文件的时间戳
命令: touch -t 201214112234.50 log.log
说明: -t time 使用指定的时间值 time 作为指定文件相应时间戳记的新值. 此处的 time 规定为如下形式的十进制数: [[CC]YY]MMDDhhmm[.SS] 这里,CC 为年数中的前两位,即”世纪数”;
YY 为年数的后两位,即某 世纪中的年数.如果不给出 CC 的值,则 touch 将把年数 CCYY 限定在 1969--2068 之内.
MM 为月数,
DD 为天将把年数 CCYY 限定在 1969--2068 之内.MM 为月数,
DD 为天数,hh 为小时数(几点),mm 为分钟数,
SS 为秒数.此处秒的设 定范围是 0--61,这样可以处理闰秒.这些数字组成的时间是环境变量 TZ 指定的 时区中的一个时 间.由于系统的限制,早于 1970 年 1 月 1 日的时间是错误的。
四、比较文件内容的差异(diff)
命令描述:
diff 命令是 linux 上非常重要的工具,用于比较文件的内容,特别是比较两个版本 不同的文件以找到改动的地方。diff 在命令行中打印每一个行的改动。最新版本的 diff 还 支持二进制文件。diff程序的输出被称为补丁 (patch),因为Linux系统中还有一个patch 程序,可以根据 diff 的输出将 a.c 的文件内容更新为 b.c。diff 是 svn、cvs、git 等版本 控制工具不可或缺的一部分。
使用实例:
实例 1:比较两个文件
(1c1)说明:
- 第一个数字1表示在第一个文件中出现了差异的行号。
- 字母c表示这是一个更改(change)操作。
- 第二个数字1表示在第二个文件中出现了差异的行号。
实例 2:并排格式输出
命令: diff log2013.log log2014.log -y -W 50
说明: “|”表示前后 2 个文件内容有不同
“<”表示后面文件比前面文件少了 1 行内容
“>”表示后面文件比前面文件多了 1 行内容
实例 3:上下文输出格式
命令: diff log2013.log log2014.log -c
说明: 这种方式在开头两行作了比较文件的说明,这里有三中特殊字符:
“+” 比较的文件的后者比前着多一行
“-” 比较的文件的后者比前着少一行
“!” 比较的文件两者有差别的行
实例 4:统一格式输出
命令: diff log2014.log log2013.log -u
说明:
--- file1.txt
: 表示下面的行来自file1.txt
文件。+++ file2.txt
: 表示下面的行来自file2.txt
文件。@@ -1 +1 @@
: 表示下面的行是修改之后的行(+
开头)和修改之前的行(-
开头)所在的位置信息。
-1
表示修改之前的行号为1。+1
表示修改之后的行号也为1。-content1
: 表示修改之前的第1行内容为content1
。+content2
: 表示修改之后的第1行内容为content2
。
实例 5:比较文件夹不同
命令: diff test3 test6
五、显示当前时间或设置系统时间(date)
描述:
在 linux 环境中,不管是编程还是其他维护,时间是必不可少的,也经常会用到时间的 运算,熟练运用 date 命令来表示自己想要表示的时间,肯定可以给自己的工作带来诸多方便。
1.命令格式:
---date [参数]... [+格式]
2.命令功能: date 可以用来显示或设定系统的日期与时间
3.使用实例:
实例 1:显示当前时间
命令: date date '+%c' date '+%D' date '+%x' date '+%T' date '+%X'
实例 2:显示日期和设定时间
命令: date --date 08:42:00
实例 3:显示月份和日数
命令: date '+%B %d'
实例 4:显示时间后跳行,再显示目前日期
命令: date '+%T%n%D'
六、显示日历(cal)
描述:
cal 命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历, 通称阳历。“阳历”又名“太阳历”,系以地球绕行太阳一周为一年,为西方各国所通用,故又 名“西历”
使用实例:
实例 1:显示当前月份日历
实例 2:显示指定月份的日历
命令: cal 9 2023
实例 3:显示 2023 年日历
命令: cal -y 2013
实例 4:显示自 1 月 1 日的天数
命令: cal -j
实例 5:星期一显示在第一列
命令: cal -m
相关文章:

Linux常用指令(二)
目录 一、 删除空目录(rmdir) 二、ln 硬链接与软链接 三、新建空文件或更新文件的时间戳(touch) 四、比较文件内容的差异(diff) 五、显示当前时间或设置系统时间(date) 六、显…...

【HUAWEI】单臂路由
目录 🥮写在前面 🥮2.1、拓扑图 🥮2.2、操作思路 🥮2.3、配置操作 🍣2.3.1、LSW4配置 🍣2.3.2、R2配置 🍣2.3.3、测试网络 🦐博客主页:大虾好吃吗的博客 &…...

安全学习_开发相关_Java第三方组件Log4jFastJSON及相关安全问题简介
文章目录 JNDI:(见图) Java-三方组件-Log4J&JNDILog4J:Log4j-组件安全复现使用Log4j Java-三方组件-FastJsonFastJson:Fastjson-组件安全复现对象转Json(带类型)Json转对象Fastjson漏洞复现(大佬文章 JNDI:(见图) …...

零代码编程:用ChatGPT批量自动下载archive.org上的音频书
http://archive.org 是一个神奇的网站,可以下载各种古旧的软件、书籍、音频、视频,还可以搜索各个网站的历史网页。 比如说,一些儿童故事音频就可以在http://archive.org下载到,可以用来做英语听力启蒙用。 举个例子,…...

力扣用队列实现栈
自己写的栈,再让其他函数去调用自己写的栈 typedef int QDataType; typedef struct QueueNode {struct QueueNode* next;//单链表QDataType data;//放数据 }QNode;typedef struct Queue {QNode* phead;//头节点QNode* ptail;//尾节点QDataType size; //统计有多少节…...

一朵华为云,如何做好百模千态?
点击关注 文丨刘雨琦、郝鑫 2005年华为提出网络时代的“All IP”,2011年提出数字化时代的“All Cloud”,2023年提出智能时代的“All Intelligence”。 截至目前,华为的战略升级经历了三个阶段。 步入智能化,需要迎接的困难依然…...

华为云云耀云服务器L实例评测 | 实例使用教学之软件安装:华为云云耀云服务器环境下安装 Docker
华为云云耀云服务器L实例评测 | 实例使用教学之软件安装:华为云云耀云服务器环境下安装 Docker 介绍华为云云耀云服务器 华为云云耀云服务器 (目前已经全新升级为 华为云云耀云服务器L实例) 华为云云耀云服务器是什么华为云云耀云…...

小程序编译器性能优化之路
作者 | 马可 导读 小程序编译器是百度开发者工具中的编译构建模块,用来将小程序代码转换成运行时代码。旧版编译器由于业务发展,存在编译慢、内存占用高的问题,我们对编译器做了一次大规模的重构,采用自研架构,做了多线…...

FFmpeg 命令:从入门到精通 | ffmpeg 命令分类查询
FFmpeg 命令:从入门到精通 | ffmpeg 命令分类查询 FFmpeg 命令:从入门到精通 | ffmpeg 命令分类查询ffmpeg -versionffmpeg -buildconfffmpeg -formatsffmpeg -muxersffmpeg -demuxersffmpeg -codecsffmpeg -decodersffmpeg -encodersffmpeg -bsfsffmpeg…...

Linux学习记录——삼십일 socket编程---TCP套接字
文章目录 TCP套接字简单通信1、服务端1、基本框架2、获取连接 2、客户端3、多进程4、多线程5、线程池6、简单的日志系统7、守护进程8、其它 TCP套接字简单通信 本篇gitee 学习完udp套接字通信后,再来看TCP套接字。 四个文件tcp_server.hpp, tcp_serve…...

【学习笔记】深度学习分布式系统
深度学习分布式系统 前言1. 数据并行:参数服务器2. 流水线并行:GPipe3. 张量并行:Megatron LM4. 切片并行:ZeRO5. 异步分布式:PATHWAYS总结参考链接 前言 最近跟着李沐老师的视频学习了深度学习分布式系统的发展。这里…...

【数据结构】树、二叉树的概念和二叉树的顺序结构及实现
目录 前言:一、树的概念及结构1.树的概念2.树的相关概念3.树的存储4.树在实际中的运用 二、二叉树概念及结构1.概念2.特殊的二叉树(1)满二叉树(2)完全二叉树 3.二叉树的性质4.二叉树的存储(1)顺序存储(2)链式存储 三、…...
rust学习-string
介绍 A UTF-8–encoded, growable string(可增长字符串). 拥有string内容的所有权 A String is made up of three components: a pointer to some bytes, a length, and a capacity. The length is the number of bytes currently stored in the buffer pub fn as_bytes(&…...

No167.精选前端面试题,享受每天的挑战和学习
🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…...

【python】pycharm导入anaconda环境
参考 Pycharm导入anaconda环境的教程图解 - 知乎 (zhihu.com)...

【数据结构】逻辑结构与物理结构
🦄个人主页:修修修也 🎏所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 目录 🌳逻辑结构 1.集合结构 2.线性结构 3.树形结构 4.图形结构或网状结构 🌳物理结构 1.顺序存储结构 2.链式存储结构 结语 根据视点的不同,我…...
HTML5高级部分
目录 一、拖拽API1.1 拖拽元素1.2 监听事件1.3 dataTransfer传递数据 二、媒体API2.1 常用监听事件2.2 常用API 三、画布API3.1 canvas 标签3.2 创建canvas对象3.3 常用API 四、地理API4.1 方法 一、拖拽API 1.1 拖拽元素 页面中设置了draggable"true"的元素可以进…...

浏览器输入 URL 并回车发生了什么
本文节选自我的博客:浏览器输入 URL 并回车发生了什么 💖 作者简介:大家好,我是MilesChen,偏前端的全栈开发者。📝 CSDN主页:爱吃糖的猫🔥📣 我的博客:爱吃糖…...

asp.net core mvc 文件上传,下载,预览
//文件上传用到了IformFile接口 1.1文件上传视图 <form action"/stu/upload" method"post" enctype"multipart/form-data"><input type"file" name"img" /><input type"submit" value"上传&…...
Axios有哪些常用的方法?
Axios是一个常用的JavaScript库,用于进行HTTP请求。它提供了一组简洁而强大的方法来发送各种类型的请求,并处理响应数据。以下是Axios中一些常用的方法及其格式: GET请求: axios.get(url[, config]).then(response > {// 请求…...

利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...
QMC5883L的驱动
简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...
leetcodeSQL解题:3564. 季节性销售分析
leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...
C# SqlSugar:依赖注入与仓储模式实践
C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...