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

开发常用的 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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【hello Linux】进程程序替换

目录 1. 程序替换的原因 2. 程序替换原理 3. 替换函数 4. 函数解释 5. 命名理解 6.简陋版shell的制作 补充: Linux🌷 1. 程序替换的原因 进程自创建后只能执行该进程对应的程序代码,那么我们若想让该进程执行另一个“全新的程序”这 便要用…

“分割一切”大模型SAM、超轻量PP-MobileSeg、工业质检工具、全景分割方案,PaddleSeg全新版本等你来体验!

图像分割是计算机视觉的一项基础技术,其目标是将图像中的像素按内容分成不同的类别。它在许多领域有重要应用,比如自动驾驶、工业质检、医疗图像分析、遥感图像解译等。 导读 PaddleSeg 是飞桨高性能图像分割开发套件,在图像分割领域做了大…

IC-14W网络IC卡读写器_银河麒麟桌面操作系统V10适配测试报告

银河麒麟操作系统产品NeoCertify 认证测试报告 系统版本:银河麒麟桌面操作系统V10 厂商名称: 广州荣士电子有限公司 认证产品:IC-14W网络IC卡读写器 测试日期: 2022-11-04 …

基于html+css的图片展示11

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

【unity实战】随机地下城生成1——随机生成地下城初稿(含源码)

先看看实现的最终效果 #用到的素材 https://download.csdn.net/download/qq_36303853/87712757 导入素材 导入房间图片素材,配置图片信息信息 点击sprite Editor,开始切割图片 随机创建基本房间 已一个白底图片模拟房间预设体 思路:建立一个空的 GameObject 用来做…

平凡的Python为什么能一跃成为世界排名第一的语言

本文首发自「慕课网」,想了解更多IT干货内容,程序员圈内热闻,欢迎关注"慕课网"! 作者:大周|慕课网讲师 一、前言 本文将结合个人经历为各位同学客观的分析是否有学习Python的必要、Python适合谁学、为什么…

牛客竞赛字符串专题 NC237664 Typewriter(SAM + 树上倍增 + 二分 + 线段树优化dp)

本题主要考察了如何用 SAM 求原串每个前缀对应的能与非后缀匹配的最长后缀,以及如何求 SAM 每个节点 right 集合的 min / max。很有价值的一道串串题。 题意: 你有一台打字机,你需要用它打出一段只由小写字母构成的文本S。 设某个时刻&#…

Linux基础—DHCP原理与配置

Linux基础—DHCP原理与配置 一、DHCP工作原理1.了解DHCP服务使用DHCP的优势DHCP的分配方式 2.DHCP的IP地白动获取工作原理: 二、配置DHCP服务器三、DHCP场景应用实验 一、DHCP工作原理 1.了解DHCP服务 DHCP(Dynamic HostConfiguration Protocol,动态主机配置协议) …

第四章 面向对象(OOP)

目录 一、编程思想 1.1. 面向对象 1.2. 面向过程 1.3.举例说明(把大象装进冰箱) 1.4.二者的联系与区别 1.5.面向对象的三个阶段 1.6.什么是类,什么是实例,二者的联系 二、面向对象三大特征 2.1 封装 2.2 继承 2.3 多态…

【C++11】智能指针

目录 一、异常层层嵌套执行流乱跳容易导致内存泄漏 二、使用智能指针解决上述问题 1、RAII 2、像指针一样 3、智能指针RAII运算符重载 三、C98的auto_ptr 四、C11的unique_ptr和shared_ptr 1、unique_ptr唯一指针 2、shared_ptr共享指针 2.1shared_ptr是否线程安全 …

不得不说的创建型模式-工厂方法模式

工厂方法模式是创建型模式之一,它定义了一个用于创建对象的接口,但将具体创建的过程延迟到子类中进行。换句话说,它提供了一种通过调用工厂方法来实例化对象的方法,而不是通过直接使用 new 关键字来实例化对象。 下面是一个使用 C…

浅理解JavaScript数组去重的方法(划重点),当面试官问如何实现数组去重时,你可以这样做...

文章目录 📋前言🎯什么是数组去重,运用场景是什么?🎯常用的数组去重方法🧩使用 Set 对象🧩使用 Object(对象、基于Hash哈希表) 或 Map🧩使用 filter 方法与 i…

Smartbi电子表格软件架构与差异化特色

Smartbi电子表格软件选择与Excel结合,原因在于Excel一直被模仿,从未被超越。虽然市场上的报表软件很多,但存在太多的不完美。国外的产品功能复杂、难于学习(控件方式),做不了中国式复杂格式的报表&#xff…

Python双向循环链表的操作

目录 一、双向循环链表 双向循环链表图 二、双向循环链表的操作 1、判断链表是否为空 2,链表长度 3,遍历整个链表 4,在链表头部添加元素 5、链表尾部添加元素 6,在指定位置插入元素 7,修改指定位置的元素 8&a…

VS Code 插件开发概览

VS Code 插件开发概览 前言 VS Code作为开发者的代码开发利器,越来越受开发者的喜爱。像我身边的前端,每天80%的开发工作都是在VS Code上完成的。随着人们对它的使用,不再满足简单的优雅,舒服写代码这一基本需求。有些人利用它进…

阿里ARouter 路由框架解析

一、简介 众所周知,在日常开发中,随着项目业务越来越复杂,项目中的代码量也越来越多,如果维护、扩展、解耦等成了一个非常头疼问题,随之孕育而生的诸如插件化、组件化、模块化等热门技术。 而其中组件化中一项的难点&…

深入理解Linux多线程

致前行的人: 昨日渐多,明日愈少,今日还在,不要为成功而努力,要为做一个有价值的人而努力。人生道路上充满了坎坷,谁也不可能一帆风顺。只有在最困难的时刻,才能体会到无助的含义。 目录 1.理解…

SpringBoot集成MyBatis-yml自动化配置原理详解

SpringBoot集成MyBatis-yml自动化配置原理详解 简介:spring boot整合mybatis开发web系统目前来说是市面上主流的框架,每个Java程序和springboot mybatis相处的时间可谓是比和自己女朋友相处的时间都多,但是springboot mybatis并没有得到你的真…

适用于 Windows 的 5 个最好的 PDF 转换器应用程序

由于稳定性、高分辨率、高安全性、易于传输等特点,PDF已经成为我们日常工作中最常用的格式。我们在享受PDF带来便利的同时,也发现PDF带来了一些不便,其中最大的问题就是PDF内容的编辑难度。同时,并不是所有的文件都是PDF格式的&am…

代码优化- 前端优化

常量折叠 基本思想:在编译期间计算表达式的值(编译时静态计算) 例如:a 3 5 > a 8,if (true && false) ... > if (false) 好处是:语法树的节点数量减少了,意味着编译器要维护…