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文件管理部分日常常用的一些命令,并列举了每个命令高频使用的参数和应用场景,如有其他疑问请大家评论留言指出,欢迎大家指正。最后,希望这篇博文能给大家提供些许帮助,感谢大家的支持!

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

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

相关文章

童趣盎然,米香四溢 —— 蒙自源六一儿童节特别献礼

充满欢声笑语的六一儿童节马上就要来了,在这个充满童真和喜悦的时刻,蒙自源米线品牌以一颗童心,为所有大朋友和小朋友准备了一份特别的礼物。 从5月25日开始,蒙自源诚挚邀请您和孩子们一同前往蒙自源旗下各大门店,品尝…

【MySQL数据库】MySQL 高可用搭建方案——MHA实战

MHA(Master High Availability) MHA实战 MHA(Master High Availability) 一、MHA简介二、MHA搭建准备要求:mha集群搭建,4台服务器,1主2从,1台mha2.1实验思路2.2实验准备 三、搭建MyS…

HTML5常用标签表格

04-08、表格标签table 概述 表格:是一种行和列组合而成的单元格。一般应用于后台网页设计管理数据使用。 表格的架构部分: tabletable head 表格头 theadtable body - 表格体 tbodytable foot -表格的页脚 tfoot 表格的基本组成部分: t…

opencv-python(三)

马赛克 face img[162:428,297:527] # 人脸坐标区域face face[::10,::10] # 每10个中取出一个像素,马赛克face np.repeat(face, 10, axis0) # 行方向重复10次face np.repeat(face, 10, axis1) # 列方向重复10次img[162:428,297:527] face[:266,:230] # 填充&a…

计算机科学与技术和软件工程专业有什么区别?应该怎么选?

计算机科学与技术和软件工程都是就业前景较好的计算机类专业,二者密切相关但侧重点不同,同学们应该如何选择呢? 一、学习内容 1.学科定位 ● 计算机科学与技术 侧重于计算机科学的理论研究和基础技术,包括算法、数据结构、人工…

lnmp平台部署web应用,安装Discuz社区平台详细文章——更新中

Nginx网站service 详细相关介绍-特点-http状态码-配置文件、将nginx添加永久环境变量 访问网站404是什么?_nginx 稳定版-CSDN博客文章浏览阅读1.2k次,点赞33次,收藏24次。开源Web服务器软件。_nginx 稳定版https://blog.csdn.net/2301_771619…

数据结构--数组(详细分析)

目录 🍉引言 🍉数组 🍈数组的特性 🍈数组的优缺点 🍍优点: 🍍缺点: 🍈数组的声明与初始化 🍈数组的常见操作 🍍 插入操作 🍍…

Touch Camera PRO 2024 Easy Mobile Desktop Camera Controller(触控相机专业版)

一个真正易于使用的移动+台式摄像机控制器,具有视角切换功能! Touch Camera PRO 是一款非常易于使用的移动+桌面相机控制器,具有透视切换功能!它在 Home Designer、Runtime Level Editor 和 Floor Map Designer 等其他插件中使用! 在桌面和移动设备上工作! 一个干…

WIireShark使用教程

文章目录 目录 文章目录 一.入门抓包示例 一.入门抓包示例 先介绍一下如何使用wireshark抓取相应网卡的流量,让读者可以先上手操作感受一下抓包的具体过程。 1.打开wireshark的主界面如下 2.选择需要抓包的网卡,鼠标左键双击,即可抓取该网…

Mysql常见问题总结

1、MySQL初始化报错 mysqld --initialize --usermysql --console 2024-06-02T15:52:22.645557Z 0 [System] [MY-013169] [Server] D:\installSoft\mysql-8.0.21-winx64\bin\mysqld.exe (mysqld 8.0.21) initializing of server in progress as process 8980 2024-06-02T15:52:2…

量子加速超级计算简介

本文转载自:量子加速超级计算简介(2024年 3月 13日) By Mark Wolf https://developer.nvidia.cn/zh-cn/blog/an-introduction-to-quantum-accelerated-supercomputing/ 文章目录 一、概述二、量子计算机的构建块:QPU 和量子位三、量子计算硬件和算法四、…

【IC验证】一文速通多通道数据整型器(MCDF)

目录 01 README 02 MCDF设计结构 2.1 功能描述 2.2 设计结构 2.3 接口与时序 2.3.1 系统信号接口 2.3.2 通道从端接口 2.3.3 整形器接口 2.3.4 控制寄存器接口 2.3.4.1 接口时序图 2.3.4.2 各数据位信息 03 验证框图 3.1 reg_pkg 3.1.1 reg_trans 3.1.2 reg_driv…

【一刷《剑指Offer》】面试题 27:二叉搜索树与双向链表

牛客对应题目链接:二叉搜索树与双向链表_牛客题霸_牛客网 (nowcoder.com) 力扣对应题目链接:LCR 155. 将二叉搜索树转化为排序的双向链表 - 力扣(LeetCode) 一、《剑指 Offer》对应内容 二、分析题目 上面力扣上的这道题目和牛客…

AGM DAP-LINK 离线烧录报错信息分析

DAP-LINK 支持离线烧录。 即:先把要烧录的bin 烧录到DAP-LINK 中;然后DAP-LINK 可以脱离PC,上电后通过按键对目标板进行烧录。 CMSIS-DAP模式 跳线JGND断开,状态LED D4快闪,D3常亮(串口状态)。…

接口设计的最佳实践-下篇

大多数程序员,做得最多的事,也不过是写接口这件事而已。 今天继续总结下接口设计需要注意的点。尽量每种都给出具体的场景、案例等,希望大家能有所收获。 1、接口幂等 幂等性:是指一个操作或者一个服务,无论执行多少…

Vue3 - Mac系统用文本编辑写html不显示效果的坑

平时在win系统下,可以直接对文本进行编辑,非常的舒服。 在mac系统中,也有类似的功能,就是文本编辑,没想到居然还有坑。 这是我mac系统中创建的html文件,想着没有几行代码,就没有开编辑器了&am…

C语言 | Leetcode C语言题解之第125题验证回文串

题目&#xff1a; 题解&#xff1a; bool isalumn(char c) {return (c > a && c < z) || (c > A && c < Z) || (c > 0 && c < 9); }bool isPalindrome(char* s) {for (int left 0, right strlen(s) - 1; left < right; left, …

【传知代码】多视图3D目标检测位置嵌入变换(论文复现)

前言&#xff1a;三维目标检测技术正逐渐成为计算机视觉领域的重要研究方向。特别是在自动驾驶、增强现实&#xff08;AR&#xff09;、虚拟现实&#xff08;VR&#xff09;以及机器人导航等应用中&#xff0c;对三维空间内目标的精准检测与定位显得尤为重要。然而&#xff0c;…

SAP_SD模块-销售交货并开票后发现物料没维护价格的完整处理方法(含POD功能)

销售流程完结后&#xff0c;发现物料价格没维护时&#xff0c;如何处理 一、业务背景&#xff1a; 1、问题发现时间&#xff1a;2024年6月2日&#xff1b; 2、问题描述&#xff1a; 2024年5月份的单据业务存在交货成本和开票成本为0的单据&#x…

PyCharm如何更换解析器为Anaconda,如何自己切换python环境

自己使用了Anaconda创建了一个环境&#xff1a; 如何在工具PyCharm中切换自定义的python环境呢&#xff1f; 1. 点击 设置 2. 项目&#xff1a;python - Python解析器 此时会发现&#xff0c;只有一个默认的版本。 3. 点击 添加解析器 - 添加本地解析器 4. 选择 conda 环境…