当前位置: 首页 > 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…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中&#xff0c;拉取视频流只要求udp方式&#xff0c;从2016开始要求新增支持tcp被动和tcp主动两种方式&#xff0c;udp理论上会丢包的&#xff0c;所以实际使用过程可能会出现画面花屏的情况&#xff0c;而tcp肯定不丢包&#xff0c;起码…...

Xshell远程连接Kali(默认 | 私钥)Note版

前言:xshell远程连接&#xff0c;私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力

引言&#xff1a; 在人工智能快速发展的浪潮中&#xff0c;快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型&#xff08;LLM&#xff09;。该模型代表着该领域的重大突破&#xff0c;通过独特方式融合思考与非思考…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

企业如何增强终端安全?

在数字化转型加速的今天&#xff0c;企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机&#xff0c;到工厂里的物联网设备、智能传感器&#xff0c;这些终端构成了企业与外部世界连接的 “神经末梢”。然而&#xff0c;随着远程办公的常态化和设备接入的爆炸式…...

docker 部署发现spring.profiles.active 问题

报错&#xff1a; org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

Java线上CPU飙高问题排查全指南

一、引言 在Java应用的线上运行环境中&#xff0c;CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时&#xff0c;通常会导致应用响应缓慢&#xff0c;甚至服务不可用&#xff0c;严重影响用户体验和业务运行。因此&#xff0c;掌握一套科学有效的CPU飙高问题排查方法&…...

基于PHP的连锁酒店管理系统

有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发&#xff0c;数据库mysql&#xff0c;前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...

Vite中定义@软链接

在webpack中可以直接通过符号表示src路径&#xff0c;但是vite中默认不可以。 如何实现&#xff1a; vite中提供了resolve.alias&#xff1a;通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...