开发常用的 Linux 命令2(文件的查看、搜索和权限)

news2025/1/18 12:03:41

开发常用的 Linux 命令2(文件的查看、搜索和权限)
在这里插入图片描述
作为开发者,Linux是我们必须掌握的操作系统之一。因此,在编写代码和部署应用程序时,熟练使用Linux命令非常重要。这些常用命令不得不会,掌握这些命令,工作上会事半功倍,大大提高工作效率。
在这里插入图片描述

二、查看文件内容

cat命令

用于查看文本文件的内容,后接要查看的文件名,通常可用管道与more和less一起使用

cat [选项] [文件]

其中,选项可以是以下任何组合:

选项执行
-n对每一行进行编号
-b对非空行进行编号
-s压缩空白行
-v显示非打印字符
-E在行末添加美元符号

基本用法:

命令执行
cat file1从第一个字节开始正向查看文件的内容
tac file1从最后一行开始反向查看一个文件的内容
cat -n file1标示文件的行数,并输出
more file1查看一个长文件的内容
head -n 2 file1查看一个文件的前两行
tail -n 2 file1查看一个文件的最后两行
tail -n +1000 file1从1000行开始显示,显示1000行以后的

这里的file1是一个文件名

示例:

1.显示filename.txt的1000行到3000行

cat filename.txt | head -n 3000 | tail -n +1000 

2.执行filename.txt,从第3000行开始,显示1000(即显示3000~3999行)

cat filename.txt | tail -n +3000 | head -n 1000 

3.将文件file1.txt和file2.txt连接起来,并显示行号

cat -n file1.txt file2.txt

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OXFpjZCV-1681886028556)(image-20230419124415189.png)]

三、文件搜索

find命令

用来查找系统文件的,用于在指定目录下查找文件或目录。它通过输入路径和条件来搜索符合要求的文件或目录,并将结果输出到终端

具体用法如下:

find [path] [expression]

其中,path 指定了要搜索的路径,可以是绝对路径或相对路径。如果未指定路径,则默认为当前工作目录。

expression 则是搜索的条件表达式,用于限定搜索范围。例如,可以按文件名、类型、大小、权限等条件进行搜索。

常用示例:

1.从 ‘/’ 开始进入根文件系统搜索文件和目录

find / -name file1 

2.搜索属于用户 ‘user1’ 的文件和目录

find / -user user1 

3.搜索在过去100天内未被使用过的执行文件

find /usr/bin -type f -atime +100 

4.搜索在100天内被创建或者修改过的文件

find /usr/bin -type f -mtime -100

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hG1RZ5Cv-1681886028557)(image-20230419125534851.png)]

5.显示一个二进制文件、源码或man的位置

whereis halt 

6.显示一个二进制文件或可执行文件的完整路径

which halt 

7.删除大于50M的文件:

find /var/mail/ -size +50M -exec rm {} \;

8.查找Downloads/文件夹下的所有目录:

find Downloads/ -type d

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yZslLsrn-1681886028558)(image-20230419125733825.png)]

9.查找Desktop/路径下大小大于100M的文件:

find Desktop/ -size +100M

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T1gqVByJ-1681886028559)(image-20230419125919853.png)]

10.查找/path/to/folder路径下以".txt"结尾的文件

find /path/to/folder -name "*.txt"

四.文件的权限

chmod命令

文件的权限可以使用chmod命令进行修改,使用 “+” 设置权限,使用 “-” 用于取消

chmod [who] [+/-/=] [permission] file

其中,who表示要修改的用户或用户组,可以是以下之一:

  • u:代表文件所有者。
  • g:代表文件所属用户组。
  • o:代表其他用户。
  • a:代表所有用户,即u、g和o的组合。

"+“表示添加权限,”-“表示删除权限,”="表示设置权限。

permission可以是以下之一:

  • r:读权限。

  • w:写权限。

  • x:执行权限。

  • X:只有当文件是目录或者已经有可执行的权限时,才添加执行权限。

file表示要修改权限的文件名或目录名。

示例:

1.使用ls -lh 显示权限

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jyqTM4I1-1681886028560)(image-20230419142335169.png)]

2.将文件file.txt的所有者的读写权限设置为可读可写:

chmod u+rw file.txt

3.将文件file.txt的所有者和所属用户组的读写权限设置为可读可写:

chmod ug+rw file.txt

4.将文件file.txt的所有用户的读权限设置为可读:

chmod a+r file.txt

5.设置directory1 目录的所有人(u)、群组(g)以及其他人(o)以读(r,4 )、写(w,2)和执行(x,1)的权限

chmod ugo+rwx directory1 

6.删除群组(g)与其他人(o)对directory1 目录的读写执行权限

chmod go-rwx directory1 

chown命令

chown命令用于更改文件或目录的所有者和/或所属组。它允许管理员将文件或目录的所有权转移给其他用户或组。,使用 “+” 设置权限,使用 “-” 用于取消,具体用法如下:

chown [选项] [所有者][:组] 文件名/目录名

其中,选项是可选的,可以是以下之一:

  • -c:只在更改执行后产生输出。
  • -f:强制进行更改,不显示错误信息。
  • -R:递归处理子目录及其内容。
  • -v:显示每次更改的详细信息。

所有者可以是用户名或用户ID,组可以是组名或组ID。如果省略组,则会将文件的所属组更改为新所有者的主要组。

示例:

1.改变一个文件的所有人属性

chown user1 file1 

2.改变一个目录的所有人属性并同时改变改目录下所有文件的属性

chown -R user1 directory1 

3.改变一个文件的所有人和群组属性

chown user1:group1 file1 

4.将文件file.txt的所有者更改为tom,所属组更改为users:

chown tom:users file.txt

5.将目录dir及其所有子目录和文件的所有者和所属组都更改为tom和users,则可以使用-R选项:

chown -R tom:users dir/

chgrp命令

chgrp命令用于改变文件所属用户组

chgrp [选项] [新的所属组名] 文件或目录

其中,[选项]表示可选参数,常见的有:

  • -R:递归地更改一个目录及其所有子目录和文件的所属组。
  • --reference=参考文件或目录:将指定文件或目录的所属组作为参考,并将需要更改的文件或目录的所属组设置为该参考文件或目录的所属组。

[新的所属组名]表示要将文件或目录更改为的新的所属组。

文件或目录表示要进行更改的文件或目录名称。

1.改变文件的群组

chgrp group1 file1 

2.将文件file.txt的所属组更改为group1

chgrp group1 file.txt

3.将目录/data及其子目录和文件的所属组都更改为group2

chgrp -R group2 /data

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

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

相关文章

【MySQL】增删改查基本操作

目录 上篇在这里喔~ 增删改查1 1.条件查询WHERE 1.查询语文成绩大于60的同学 2.查询语文成绩等于NULL的同学 3.查询语文成绩在60-90之间的同学 4.查询英语成绩等于30,77,90的所有同学 5.查询小锦鲤的语文成绩是否为空 6.查询姓孙的同学的所有信息 …

shiro漏洞复现及其攻击流量分析

前言 最近面试时经常被问到&#xff0c;每次说的都不太完美&#xff0c;现在再来复现一边。 shiro介绍 Apache Shiro是一个开源安全框架&#xff0c;提供身份验证、授权、密码学和会话管理。 CVE-2016-4437 利用vulhub搭建的靶场。 在Apache Shiro < 1.2.4版本中存在反…

Servlet 之超详解【2023年最新版】

编译软件&#xff1a;IntelliJ IDEA 2019.2.4 x64 操作系统&#xff1a;win10 x64 位 家庭版 服务器软件&#xff1a;apache-tomcat-8.5.27 目录 一. 什么是Servlet&#xff1f;二. 如何编写第一个servlet程序&#xff1f;三. Servlet的生命周期四. Servlet的技术体系五. web项…

Flutter Animation 动画

前言 &#xff1a; 在Flutter 中&#xff0c;做动画离不开这么一个类&#xff0c;那就是 Animation 这个类如往常一样&#xff0c;也是一个抽象类。 abstract class Animation<T> extends Listenable implements ValueListenable<T> 整个animation.dart 文件只有…

Windows和IDEA安装Scala

一、Windows安装Scala 前提&#xff1a;Windows已经安装好JDK1.8 第一步&#xff0c;下载对应的 Scala 安装文件 scala-2.12.11.zip (尚硅谷资料里有。直接获取&#xff09; 第二步&#xff0c;解压scala-2.12.11.zip 注意自己解压的目录&#xff0c;我这里解压到D盘java文…

3、ThingsBoard使用jar包单机部署

1、概述 前面一节我讲了如何初始化数据库表结构以及默认的数据。这一节我将讲解如何使用jar包部署。 2、部署 2.1、修改thingsboard.yml配置 上一节我已经讲解了thingsboard.yml中的基础配置,基础的组件配置如何redis、kafka、Cassandra、pg等大家都知道,关键的地方是在于…

Zimbra 远程代码执行漏洞(CVE-2019-9670)漏洞分析

Zimbra 远程代码执行漏洞(CVE-2019-9670)漏洞分析 漏洞简介 Zimbra是著名的开源系统&#xff0c;提供了一套开源协同办公套件包括WebMail&#xff0c;日历&#xff0c;通信录&#xff0c;Web文档管理和创作。一体化地提供了邮件收发、文件共享、协同办公、即时聊天等一系列解决…

主 存储器

主存储器 概述 实际上在主存储器运作时&#xff0c;根据MAR中的地址访问某个存储单元时&#xff0c;还需经过地址译码、驱动等电路才能找到所需的访问单元。读出时需经过读出放大器&#xff0c;才能将被选中单元的存储字送到MDR。写入时&#xff0c;MDR中的数据也必须经过写入…

课程简介:.Net Core从零学习搭建权限管理系统

课程简介目录 &#x1f680;前言一、课程背景二、课程目的三、系统功能四、系统技术架构五、课程特点六、课程适合人员七、课程规划的章节八、最后 &#x1f680;前言 本文是《.Net Core从零学习搭建权限管理系统》教程专栏的导航站&#xff08;点击链接&#xff0c;跳转到专栏…

【运动规划算法】路径规划中常用的插值方法

文章目录 简介一、线性插值二、三次样条插值三、B样条插值四、贝塞尔曲线插值总结 简介 常见用于处理路径平滑的插值算法主要包括线性插值、三次样条插值、B样条插值和贝塞尔曲线插值等&#xff0c;下面分别介绍它们的优缺点和使用场景。 一、线性插值 线性插值是最简单的插值…

【主流Chat模型的申请入口和方法】

主流Chat模型的申请入口和方法 一、申请New Bing二、申请内测文心一言三、申请内测Claude四、谷歌家的Bard五、Adobe Firefly六、GitHub Copilot chat七、通义千问八、360智脑 一、申请New Bing 注册一个 outlook 邮箱&#xff0c;很简单&#xff0c;2分钟就可搞定&#xff5e…

操作系统(2.7)--进程

目录 一、进程的引入 1.进程的两个基本属性 2.程序并发执行所需付出的时空开销 3.线程---作为调度和分派的基本单位 二、线程(轻型进程)与进程(重型进程)的比较 1&#xff09;调度的基本单位 2&#xff09;并发性 3&#xff09;拥有资源 4&#xff09;独立性 5&#…

离线数仓的数仓分层

数据仓库分层的作用 数据结构化更清晰&#xff1a; 对于不同层级的数据&#xff0c;他们作用域不相同&#xff0c;每一个数据分层都有它的作用域&#xff0c;这样我们在使用表的时候能更方便地定位和理解。 数据血缘追踪&#xff1a; 提供给外界使用的是一张业务表&#xf…

Material Design:为你的 Android 应用提供精美的 UI 体验

Material Design&#xff1a;为你的 Android 应用提供精美的 UI 体验 介绍 Material Design 概念&#xff1a;介绍 Material Design 是 Google 推出的一种设计语言&#xff0c;用于创建现代、美观、直观且一致的用户界面。解释 Material Design 的基本原则&#xff0c;包括材料…

9、MachO简介

一、MachO文件 MachO其实是Mach Object文件格式的缩写,是Mac以及iOS上可执行文件的格式,类似于windows上的PE格式(Portable Executable), linux上的elf格式(Executable and Linking Format) 二、MachO文件结构 Mach-O为Mach Object文件格式的缩写,它是一种用于可执行文件、目…

fileclude(文件包含漏洞及php://input、php://filter的使用)

先介绍一些知识 1、文件包含漏洞 和SQL注入等攻击方式一样&#xff0c;文件包含漏洞也是一种注入型漏洞&#xff0c;其本质就是输入一段用户能够控制的脚本或者代码&#xff0c;并让服务端执行。 什么叫包含呢&#xff1f;以PHP为例&#xff0c;我们常常把可重复使用的函数写…

Pytorch实现FCN图像语义分割网络

针对图像的语义分割网络&#xff0c;本节将介绍PyTorch中已经预训练好网络的使用方式&#xff0c;然后使用VOC2012数据集训练一个FCN语义分割网络。 一、使用预训练好的语义分割网络 PyTorch提供了已预训练好的图像语义分割网络&#xff0c;已经预训练好的可供使用的网络模型…

Java 对象的创建过程面试总结

Java对象创建的过程 Java对象创建的过程主要分为五个步骤&#xff0c;下面我将详细介绍这五个步骤。 Step1:类加载检查 虚拟机遇到一条new指令时&#xff0c;首先会去检查这个指令的参数是否能在class文件中的常量池中定位到这个类的符号引用&#xff0c;并且会检查这个符号…

unplugin-vue-components 源码原理分析

unplugin-vue-components 是一款按需自动导入Vue组件的库。支持 Vue2 和 Vue3&#xff0c;同时支持组件和指令。使用此插件库后&#xff0c;不再需要手动导入组件&#xff0c;插件会自动识别按需导入组件以及对应样式&#xff0c;我们只需要像全局组件那样使用即可。 当然上面…

深入谈谈内存压缩那些事!

1. 技术背景 说到压缩这个词&#xff0c;我们并不陌生&#xff0c;应该都能想到是降低占用空间&#xff0c;使同样的空间可以存放更多的东西&#xff0c;类似于我们平时常用的文件压缩,内存压缩同样也是为了节省内存。 尽管当前android手机6GB&#xff0c;8GB甚至12GB的机器都…