当前位置: 首页 > news >正文

Linux命令篇(一):文件管理部分

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快!

文章目录

  • 1、cat命令
    • 常用参数
    • 举例说明
    • 命令使用总结
  • 2、chgrp命令
    • 常用参数
    • 举例说明
  • 3、chown命令
    • 常用参数
    • 举例说明
  • 4、chmod命令
    • 常用参数
    • 举例说明
    • 关于文件权限的说明
  • 5、cmp命令
    • 举例说明
  • 6、diff命令
    • 常用参数
    • 举例说明
  • 7、file命令
    • 举例说明
  • 8、find命令
    • 常用参数
    • 举例说明
  • 9、cut命令
    • 常用参数
    • 举例说明
  • 10、ln命令
    • 常用参数
    • 举例说明
  • 11、less命令
    • 常用参数
    • 举例说明
  • 12、mv命令
    • 常用参数
    • 举例说明
  • 13、rm命令
    • 常用参数
    • 举例说明
  • 14、cp命令
    • 常用参数
    • 举例说明
  • 15、tee命令
    • 常用参数
    • 举例说明
  • 16、awk命令
    • 举例说明
  • 总结说明

1、cat命令

cat命令主要用于查看和连接文件,需要所有者的使用权限,基本语法格式如下:

cat [选项] 文件

常用参数

  • -n:会在输出的每一行前面增加行号
  • -b:也是显示行号,只不过是只对非空行显示行号
  • -s:多个空行压缩为一个空行,输出内容只显示一个空行
  • -E:在输出的每行末尾处增加“$”的标识符

举例说明

  1. 直接查看文件内容
   cat testfile
  1. 将标准输入(0)重定向到testfile文件,达到覆盖的效果
   cat > testfile
  1. 将标准输入(0)追加到testfile文件
   cat >> testfile
  1. 配合管道命令使用,cat命令的输出内容作为另一个命令的输入
   cat testfile | command 
  1. 配合tail命令,查看testfile文件的最后10行
   cat testfile | tail -n 10 
  1. 清空testfile.txt文件内容
   cat /dev/null ./testfile.txt

命令使用总结

cat testfile 会将指定文件的内容输出到终端上
cat命令可以实现创建文件的作用, cat > testfile如果testfile文件不存在会自动创建文件并保存即可
在日常使用中,cat命令与管道[|]配合使用的场景比较多,例如cat testfile | ls -l 等
cat命令也可以同时查看多个文件,例如cat testfile1 tesefile2


2、chgrp命令

chgrp命令主要作用是改变文件或目录所属的群组属性,与chown命令类似,区别在于chgrp命令可以是普通所有者权限可执行,chgrp命令只能修改文件或目录的所属群组,而chown命令必须要用root权限执行,且既可以改变文件或目录的群组也可修改文件或目录的群组属性,基本语法格式如下:

   chgrp [所属群组] [文件或目录]

常用参数

  • -R:将指定目录下的所有文件及子目录一并处理(即实现递归处理)

举例说明

  1. 改变testfile.txt文件的群组为tcms
   chgrp tcms testfile.txt
  1. 改变/home/java/tool目录所属群组为tcms
   chgrp tcms /home/java/tool/
  1. 根据指定的文件testfile.txt,修改testfile2.txt的群组属性,即将testfile2.txt文件的root群组修改为tcms群组
   chgrp --reference=testfile2.txt testfile.txt

3、chown命令

chown命令是将文件的所有者改为指定的用户或组,需要注意的是chown命令需要用超级用户root权限去执行。常规命令格式如下:

   chown [参数选项] [用户]:[群组] [文件或目录]

常用参数

  • -R : 处理指定目录以及其子目录下的所有文件

举例说明

  1. 修改/home/java/main/test.java文件的所有者设置为tcms
   chown tcms /home/java/main/test.java
  1. 将/home/java/main/目录下的所有文件所有者设置为tcms,组设置为gtcms
   chown -R tcms:gtcms /home/java/main/

4、chmod命令

chmod命令主要是修改文件或目前所属拥有者权限或所属群组的权限。

常用参数

  • -R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)
  • u:文件的拥有者(OWNER)
  • g:文件所属的群组(group)
  • o:其他的用户(other users)
  • a:表示所有用户(即包含以上ugo)
  • +:表示对文件增加某个权限
  • -:表示对文件取消某个权限
  • r:表示读取权限
  • w:表示写入权限
  • x:表示可执行权限

举例说明

  1. 给testfile.txt文件赋予最高权限
   chmod +rwx testfile.txtchmod 777 testfile.txtchomd ugo+rwx testfile.txtchmod a+rwx testfile.txt
  1. 给/home/java/test目录赋予所有人只读权限
   chmod +r /home/java/test/chmod 4 /home/java/test/chmod a+r /home/java/test/
  1. 对test.java文件拥有者增加可写权限
   chmod u+w test.java

关于文件权限的说明

linux对文件的权限按照文件所有者(Owner)、用户组(Group)、其它用户(Other Users)区分,可见下图所示:
linux文件权限解析
同时,对各自所拥有的权限划分了相应的权重分数:
r – 4
w – 2
x – 1
chmod命令每三个是一组,分表代表文件所有者(User)的读、写、执行,用户组(Group)的读、写、执行以及其它用户(Other)的读、写、执行

所有者权限/权重用户组权限/权重其他用户权限/权重文件的权限文件权重分数
rwx / 7rwx / 7rwx / 7-rwxrwxrwx777
rwx / 7r-x / 5r-x / 5-rwxr-xr-x755
rwx / 7r-x / 5r-- / 4-rwxr-xr--754

5、cmp命令

cmp命令主要是比较两个文件是否有差异,返回的信息只提示有无差异,如果没有差异不显示任何信息,如果有差异显示差异的字符或列的编号

举例说明

  1. 比较两个文件test1.txt、test2.txt
   cmp test1.txt test2.txt
 如果文件相同,则不显示消息。如果文件不同,则显示第一个不同的位置。differ: char 4, line 1

6、diff命令

diff命令主要是对文件以行的形式做对比,从而比较两个文件的差异

常用参数

  • -b:不检查空格字符的不同
  • -B:不检查空白行
  • -c :显示全部内文,并标出不同之处
  • -i:不检查大小写的不同
  • -y:以并列的方式显示文件的异同之处
  • -W:在使用-y参数时,指定栏宽

举例说明

  1. 比较两个日志的差异
   diff test1.log test2.log
  1. 比价两个日志的差异,按并排的格式输出差异信息
   diff test1.log test2.log -y -W 60

7、file命令

file命令用于辨别文件的类型

举例说明

  1. 查看test.log文件的类型
   file test.log

test.log: UTF-8 Unicode text


8、find命令

find命令用于在指定目录下查找文件和目录,它可以使用不同的选项来过滤和限制查找的结果,命令格式如下:

   find [路径] [查询条件]

常用参数

  1. -name:按文件名查找,支持使用通配符 *
  2. -type:按文件类型查找,可以是 f(普通文件)、d(目录)
  3. -mtime:按修改时间查找,支持使用 + 或 - 表示在指定天数前或后,days 是一个整数表示天数。例如:-mtime 0 表示查找今天修改过的文件,-mtime -7 表示查找一周以前修改过的文件
  4. -amin n:查找在 n 分钟内被访问过的文件,+n:查找比 n 天前更早的文件或目录,-n:查找在 n 天内更改过属性的文件或目录

举例说明

  1. 查找当前目录下以“.log”结尾的文件
   find . -type f -name "*.log"
  1. 查找 /home/log 目录下在 4 天前修改过的文件
   find  /home/log/ -type f -mtime +4
  1. 在当前目录下查询名为test.sh的文件并删除
   find . -name "test.sh" -exec rm {} \;

以上例子中,-exec 选项允许你执行一个命令,{} 将会被匹配到的文件名替代,; 表示命令结束。


9、cut命令

cut命令主要用于截取字符串来用

常用参数

  • -b :以字节为单位进行分割
  • -c :以字符为单位进行分割
  • -d :自定义分隔符
  • -f :与-d一起使用,指定显示哪个区域

举例说明

通常配合管道|使用

   who | cut -b 3

10、ln命令

ln命令主要是为某一个文件在另外一个位置建立一个同步的链接,链接分为硬链接和软连接,命令格式如下:

   ln [参数][源文件或目录][目标文件或目录]

常用参数

  • -s:软链接(符号链接)

举例说明

给文件创建软链接,为log2024.log文件创建软链接link2024.log,如果log2024.log丢失,link2024.log将失效:

   ln -s log2024.log link2024.log

11、less命令

less命令是浏览文件的命令,支持上翻下翻和搜索功能,基本语法格式如下:

   less [参数选项] [文件]

常用参数

  • -i:忽略搜索时的大小写
  • -N:显示每行的行号
  • b:向上翻一页
  • [pageup]:向上翻动一页
  • 空格键:滚动一页
  • [pagedown]: 向下翻动一页
  • d:向后翻半页
  • /字符串:向下搜索"字符串"的功能
  • ?字符串:向上搜索"字符串"的功能
  • Q:退出less 命令

举例说明

  1. 查看文件testfile.log内容
   less testfile.log
  1. 可以了浏览多个文件
   less testfile1.log testfile2.log

说明:
输入n:切换到testfile2.log
输入p:切回到testfile1.log


12、mv命令

mv命令用来给文件或目录移动地址,或者给文件目录重命名,基本语法格式:

   mv [参数选项] [旧文件或目录] [新文件或目录]

常用参数

  • -b: 当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份
  • -r:处理指定目录以及其子目录下的所有文件

举例说明

  1. 将test文件重命名为file
   mv test file
   mv test.txt /home/sk/test/   将文件移动到某目录下

13、rm命令

rm命令主要用于删除某个文件或目录

常用参数

  • -r:将目录及以下之档案亦逐一删除
  • -f:即使原档案属性设为唯读,亦直接删除,无需逐一确认

举例说明

  1. 删除一个文件test.txt
   rm test.txt
  1. 删除一个目录,必须要用-r参数
   rm -r /home/sk/test/
  1. 删除一个目录下的所有文件及目录
   rm -r * 

14、cp命令

cp命令是一个常规且用的较广的一个命令,主要就是对文件或目录进行复制,基本语法格式:

   cp [参数] [文件或目录] [文件或目录]

常用参数

  • -r 或 --recursive:用于复制目录及其所有的子目录和文件,如果要复制目录,需要使用该选项

举例说明

  1. 将文件 file.txt 复制到目录 /path/to/destination/ 中
cp file.txt /path/to/destination/
  1. 将当前目录 test/ 下的所有文件复制到新目录 newtest 下
cp –r test/ newtest

15、tee命令

tee命令用于读取标准输入的数据,并将其内容输出成文件,基本语法格式:

tee [参数] [文件]

常用参数

  • -a或–append  附加到既有文件的后面,而非覆盖它

举例说明

通常配合管道使用较多

cat rizhi.log | tee -a file.log   # 读取日志文件的内容后写入到file文件中

16、awk命令

awk命令通过提供编程语言的功能,如变量、数学运算、字符串处理等,使得对文本文件的分析和操作变得非常灵活和高效

举例说明

  1. 打印整行
awk '{print}' file
  1. 打印行数
awk '{print NR, $0}' file

总结说明

以上总结的命令,主要是针对Linux文件管理部分日常常用的一些命令,并列举了每个命令高频使用的参数和应用场景,如有其他疑问请大家评论留言指出,欢迎大家指正。最后,希望这篇博文能给大家提供些许帮助,感谢大家的支持!

相关文章:

Linux命令篇(一):文件管理部分

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 文章目录 1、cat命令常用参…...

IP协议1.0

基本概念: • 主机: 配有IP地址, 但是不进⾏路由控制的设备; • 路由器: 即配有IP地址, ⼜能进⾏路由控制; • 节点: 主机和路由器的统称; IP协议的报头 • 4位版本号(version): 指定IP协议的版本, 对于IPv4来说, 就是4. • 4位头部⻓度(header length): IP头部的⻓…...

源码编译安装LNMP

LNMP包含: linux、Nginx、Mysql、php LNMP的工作原理 : 由客户端发送页面请求给Nginx,Nginx会根据location匹配用户访问请求的URL路径判断是静态还是动态,静态的一般是以 .html .htm .css .shtml结尾,动态的一般是以 .…...

安装Chrome扩展程序来 一键禁用页面上的所有动画和过渡。有那些扩展程序推荐一下

要安装Chrome扩展程序来一键禁用页面上的所有动画和过渡,以下是一些推荐的扩展程序: Toggle CSS Animations and Transitions 功能:此扩展程序允许用户轻松地在网页上切换CSS动画和过渡的开启与关闭状态。使用方法:安装后&#x…...

读人工智能时代与人类未来笔记19_读后总结与感想兼导读

1. 基本信息 人工智能时代与人类未来 (美)亨利基辛格,(美)埃里克施密特,(美)丹尼尔胡滕洛赫尔 著 中信出版社,2023年6月出版 1.1. 读薄率 书籍总字数145千字,笔记总字数39934字。 读薄率39934145000≈27.5% 1.2. 读厚方向 千脑智能 脑机穿越 未来呼啸而来 …...

个人影响力

华人出了个黄仁勋,世界级影响力,还是近代华人历史首次出现具有如此影响力的人。凭借的逻辑是什呢?在人工智能领域有巨大影响力。...

OBS实现多路并发推流

OBS实现多路并发推流 解决方案速览相关依赖下载安装多路推流 解决方案速览 利用OBS进行本地直播画面的构建。 使用Multiple RTMP outputs plugin进行多路并发推流。 相关依赖下载安装 OBS软件 # OBS官网 https://obsproject.com/zh-cnMultiple RTMP outputs plugin # 插件官网…...

JDK环境配置、安装

DK环境配置(备注:分32位与64位JDK,32位电脑只能按照32位JDK,64位电脑兼容32、64位JDK) 一、检查自己电脑是否安装过JDK 1.在电脑屏幕左下角,输入命令提示符CMD,打开命令提示符应用 2.在打开界…...

莱富康压缩机的选型软件介绍

下载地址 https://download.csdn.net/download/jintaihu/16295771 安装步骤 这里可以选制冷系统的参数,最后在压缩机列表内选择推荐的型号。...

Pr 2024下载安装,Adobe Premiere专业视频编辑软件安装包获取!

Premiere Pro,简称PR,无论是想要剪辑家庭录像,还是制作专业的影视作品,Premiere Pro都能为您提供强大的支持。 Premiere Pro以其卓越的编辑功能和强大的性能,助力用户在视频创作的道路上不断突破自我。 它具备丰富的视…...

MySQL事务与MVCC

文章目录 事务和事务的隔离级别1.为什么需要事务2.事务特性1_原子性(atomicity)2_一致性(consistency)3_持久性(durability)4_隔离性(isolation) 3.事务并发引发的问题1_脏读2_不可重…...

【数据结构】链式二叉树详解

个人主页~ 链式二叉树基本内容~ 链式二叉树详解 1、通过前序遍历的数组来构建二叉树2、二叉树的销毁3、二叉树节点个数4、二叉树叶子节点个数5、二叉树第k层节点个数6、二叉树查找7、前序遍历8、中序遍历9、后序遍历10、层序遍历与检查二叉树是否为完全二叉树Queue.hQueue.c层序…...

PHP面向对象编程总结

PHP面向对象编程总结 学习PHP时,面向对象编程(OOP)往往是一个重要的里程碑。PHP的OOP功能提供了一种更加模块化、可扩展和易于维护的代码结构。在本文中,我们将深入探讨PHP面向对象编程的各个方面,包括类与对象、访问控…...

linux中的“->“符号

问: "->“符号在Linux中是什么意思。 例如:当我在一个特定的文件夹中执行ls -l时,我得到了以下结果。 lrwxrwxrwx 1 root root 11 May 16 13:30 nexus3 -> /nexus-data lrwxrwxrwx 1 root root 29 Feb 27 12:23 ojdbc.jar -&g…...

MySql 数据类型选择与优化

选择优化的数据类型 更小的通常更好 一般情况下尽量使用可以正确存储数据的最小类型。更小的数据类型通常更快,因为它们占用更少的磁盘,内存和CPU缓存,并且处理时需要的CPU周期也更少。但也要确保没有低估需要存储值的范围。 简单就好 简单的…...

HTML静态网页成品作业(HTML+CSS)——家乡常德介绍网页(1个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有1个页面。 二、作品演示 三、代…...

【ARMv7-A】——CP15 协处理器

文章目录 CP15 协处理器指令格式MCR 示例MRC 示例寄存器C0 identification registersC1 system control registersC2 memory protection and control registersC3 memory protection and control registersC4 Not usedC5 Memory system fault registers...

学习笔记:(2)荔枝派Nano开机显示log(全志F1C200S)

学习笔记:TF卡启动荔枝派Nano(全志F1C200S) 1.u-boot配置2.需要配置LCD的显示设备树1.u-boot配置 ARM architecture Enable graphical uboot console on HDMI, LCD or VGAx:480,y:272,depth:...

Qt——升级系列(Level Two):Hello Qt 程序实现、项目文件解析、

Hello Qt 程序实现 使用“按钮”实现 纯代码方式实现: // Widget构造函数的实现 Widget::Widget(QWidget *parent): QWidget(parent) // 使用父类构造函数初始化QWidget,传入父窗口指针, ui(new Ui::Widget) // 创建Ui::Widget类的实例,并…...

VUE阻止浏览器记住密码若依CLOUD(INPUT框密码替换圆点)

网上找的要不就是缺少方法要不就是不好用,故发一个完整的 粘贴可用版本 <el-form-item prop"password"><el-input v-model"loginForm.pwdCover" type"text" name"pwd" id"pwd" placeholder"密码" autoco…...

GPT-4o:人工智能新纪元的启航者

引言 随着人工智能技术的不断进步&#xff0c;我们见证了从简单的自动化工具到复杂的决策支持系统的演变。在这一演变过程中&#xff0c;OpenAI的GPT系列无疑占据了领导地位。最近&#xff0c;GPT-4o的推出再次引发了关于AI能力的广泛讨论。本文将对GPT-4o进行详细评价&#x…...

CSRF跨站请求伪造漏洞

CSRF跨站请求伪造漏洞 1.CSRF漏洞概述2.防御CSRF攻击3.CSRF防御绕过CSRF令牌未绑定到用户会话自定义标头令牌绕过绕过Referer检查关键词绕过 4.利用示例使用HTML标签进行GET表单 GET 请求表单POST请求通过 iframe 发送表单 POST 请求Ajax POST 请求 5.CSRF BP 验证方法6.CSRF测…...

【Linux】System V 消息队列(不重要)

一、消息队列的原理 一个进程给另一个进程发送类型数据块的方式每一个数据快都被认为是有一个类型的&#xff0c;接收者进程接收的数据快可以有不同的类型值 二、消息队列的接口 和共享内存的接口很像&#xff1a; 消息队列的创建 创建消息队列我们需要用msgget函数&#x…...

label标签

01、label标签 概述 label标签页属于&#xff1a;form元素的成员之一&#xff0c;它有啥意义呢&#xff1f;它主要用来修饰文本和form元素的指向和体验问题。我们只需要把文本和form元素使用label标签包裹&#xff0c;就可以产生一个奇妙的化学反应。就是&#xff1a;我们点击…...

vruntime

vruntime vruntime 变量存放进程的虚拟运行时间,虚拟时间是以 ns 为单位的,which is the actual runtime (the amount of time spent running) normalized (or weighted) by the number of runnable processesvruntime 和定时器节拍不再相关。优先级相同的所有进程的虚拟运行时…...

!力扣 108. 将有序数组转换为二叉搜索树

给你一个整数数组 nums &#xff0c;其中元素已经按升序排列&#xff0c;请你将其转换为一棵 平衡二叉搜索树。 示例 1&#xff1a; 输入&#xff1a;nums [-10,-3,0,5,9] 输出&#xff1a;[0,-3,9,-10,null,5] 解释&#xff1a;[0,-10,5,null,-3,null,9] 也将被视为正确答案…...

13、matlab使用switch case语句实现两个数字的加减乘除运算以及数据的输入输出(可以设置计算次数)

1、不同数据的键盘输入 函数&#xff1a;input() 代码&#xff1a; a input(请输入一个数字: );%输入数字 c input(请输入一个运算符号: ,s);%输入字符 b input(请输入一个数字: );%输入数字 请输入一个数字: 1 请输入一个运算符号: 请输入一个数字: 2 2、 格式化输出 …...

数学建模 —— 聚类分析(3)

目录 一、聚类分析概述 1.1 常用聚类要素的数据处理 1.1.1 总和标准化 1.1.2 标准差标准化 1.1.3 极大值标准化 1.1.4 极差的标准化 1.2 分类 1.2.1 快速聚类法&#xff08;K-均值聚类&#xff09; 1.2.2 系统聚类法&#xff08;分层聚类法&#xff09; 二、分类统计…...

java —— 匿名内部类与 Lambda 表达式

一、匿名内部类 匿名内部类是一种没有名称的类&#xff0c;多用于只使用一次的情况&#xff0c;本质上就是其所继承的父类或接口的一个子类。 &#xff08;一&#xff09;继承普通类的情况 public class Test{public void method(){System.out.println("通用方法"…...

对红黑树、跳表、B+树的一些理解

文章目录 红黑树应用场景 跳表使用场景 B树使用场景 毫无疑问数据结构是复杂的&#xff0c;让人头大的&#xff0c;大学时唯一挂科的就是数据结构&#xff0c;上学时不用心&#xff0c;不晓得自己的职业生涯要一直被数据结构支配。 或多或少&#xff0c;面试抱佛脚时&#xff0…...