【【Linux系统下常用指令学习 之 二 】】

news2024/9/22 11:29:02

Linux系统下常用指令学习 之 二

文件查询和搜索

文件的查询和搜索也是最常用的操作,在嵌入式 Linux 开发中常常需要在 Linux 源码文件中查询某个文件是否存在,或者搜索哪些文件都调用了某个函数等等。

1、命令 find
find 命令用于在目录结构中查找文件,其命令格式如下:
find [路径] [参数] [关键字]
路径是要查找的目录路径,如果不写的话表示在当前目录下查找,关键字是文件名的一
部分,主要参数如下:
-name 按照文件名称查找,查找与 filename 匹配的文件,可使用通配符。
-depth 从指定目录下的最深层的子目录开始查找。
-gid<群组识别码> 查找符合指定的群组识别码的文件或目录。
-group<群组名称> 查找符合指定的群组名称的文件或目录。
-size<文件大小> 查找符合指定文件大小的文件。
-type<文件类型> 查找符合指定文件类型的文件。
-user<拥有者名称>查找符合指定的拥有者名称的文件或目录。
在这里插入图片描述

我们使用的命令 find / etc / -name vim*
意思是我们现在查找 在 etc文件夹下的 带有 vim开头的 文件

2 . 命令 grep
find 命令 用于 在目录中搜索文件 , 我们有时候需要在文件中搜索一串关键字 , grep 就是完成这个功能的,grep 命令用于查找包含指定关键字的文件,如果发现某个文件的内容包含所指定的关键字,grep 命令就会把包含指定关键字的这一行标记出来
grep [参数] 关键字 文件列表
grep 一次只能查找一个关键字 :

-b 在显示符合关键字的那一列前,标记处该列第 1 个字符的位编号。
-c 计算符合关键字的列数。
-d<进行动作> 当指定要查找的是目录而非文件时,必须使用此参数!否则 grep 指令将
回报信息并停止搜索。
-i 忽略字符大小写。
-v 反转查找,只显示不匹配的行。
-r 在指定目录中递归查找。
例如: 我们在此处使用 grep -ir “ubuntu” /usr
我们分类之后 可以观察到

文件类型
在这里插入图片描述

比如 test1 的第一个字符是“d”,test1.tar.bz2 文件第一个字符是“-”。这些字符表示的
文件类型如下:

  • 普通文件,一些应用程序创建的,比如文档、图片、音乐等等。
    d 目录文件。
    c 字符设备文件,Linux 驱动里面的字符设备驱动,比如串口设备,音频设备等。
    b 块设备文件,存储设备驱动,比如硬盘,U 盘等。
    l 符号连接文件,相当于 Windwos 下的快捷方式。
    s 套接字文件。
    p 管道文件,主要指 FIFO 文件。

权限管理 :
Ubuntu 是一个多用户系统,我们可以给不同的使用者创建不同的用户账号,每个用户使
用各自的账号登陆,使用用户账号的目的一是方便系统管理员管理,控制不同用户对系统的
访问权限,另一方面是为用户提供安全性保护。
装系统的时候创建的用户其权限比后面创建的用户大一点,但是没有 root 用户权限大,
Ubuntu 下用户类型分为以下 3 类:
● 初次创建的用户,此用户可以完成比普通用户更多的功能。
● root 用户,系统管理员,系统中的玉皇大帝,拥有至高无上的权利。
● 普通用户,安装完操作系统以后被创建的用户。
在这里插入图片描述

。Ubuntu 下我们会常跟用户权限打交道,权限就是用户对于系
统资源的使用限制情况,root 用户拥有最大的权限,可以为所欲为,装系统的时候创建的用
户拥有 root 用户的部分权限,其它普通用户的权限最低。对于我们做嵌入式开发的人一般不
关注用户的权限问题,因为嵌入式基本是单用户,做嵌入式开发重点关注的是文件的权限问
题。
对于一个文件通常有三种权限:读®、写(w)和执行(x),
在这里插入图片描述

我们 举个 例子
-rw-rw-r-- 1 zuozhongkai zuozhongkai 0 12 月 25 20:44 test.c
这句话 来自于 正点原子 借用一下
我们会发现 其中 -rw-rw-r-- 标示着 文件权限与 用户 用户组之间的关系
第一位的“-” 小短横 - 表示文件类型 剩下的9位 以3位 为1组
即 我们可以分割 - rw- rw- r–
分别表示文件拥有者的权限,文件拥有者所在用
户组的权限 以及其它用户权限
后面 还有两个 数据 例如 这里的 zuozhongkai zuozhongkai
表示着 代表文件拥有者(用
户) 和 该用户所在的用户组
第一个小短横 “-” 表示 文件类型是 普通文件
接下来是 我们 看出文件的拥有者是 zuozhongkai,其对文件 tesst.c 的权限是“rw-”,也就是对该文件拥有读和写两种权限。
下面的是用户 zuozhongkai 所在的用户组也叫做 zuozhongkai,其组内用户对于文件 test.c 的权限是“rw-”,也是拥有读和写这两种权限。
最后一个 r-- 表示 其它用户对于文件 test.c 的权限是“r–”,也就是只读权限。
对于文件,可读权限表示可以打开查看文件内容,可写权限表示可以对文件进行修改,可执行权限就是可以运行此文件(如果是软件的话)。对于文件夹,拥有可读权限才可以使用命令 ls 查看文件夹中的内容,拥有可执行权限才能进入到文件夹内部。如果某个用户对某个文件不具有相应的权限的话就不能进行相应的操作,比如根目录“/”下的文件只有 root 用户才有权限进行修改,如果以普通用户去修改的话就会提示没有权限。

文件的权限有三种 : 读(r) 写(w) 执行(x)
我们也可以使用二进制数表示,三种权限就可以使用 3 位二进制数来表示,一种权限对应一个二进制位,如果该位为 1 就表示具备此权限,如果该位为 0 就表示没不具备此权限,如下表所示:
在这里插入图片描述
在这里插入图片描述

另外我们也开始使用 a、u、g 和 o 表示文件的归属关系,用=、+和-表示文件权限的变化,如下表所示:
在这里插入图片描述

对于文件 test.c,我们想要修改其归属用户(zuozhongkai)对其拥有可执行权限,那么就可以使用:u+x。如果希望设置归属用户及其所在的用户组都对其拥有可执行权限就可以使用:gu+x。
u 是归属用户 + 添加某权限 x 可执行权限 u+x
g归属组 u 归属用户 + 添加某种属性 x 可执行权限 gu+x

我们可以使用另外的 权限管理命令
chmod chown
在这里插入图片描述

我们可以通过数字的方法 修改权限
在这里插入图片描述

我们可以通过递归修改整个文件夹中文件的权限
在这里插入图片描述

我们使用的指令是 chmod -R 777 test11
-R 表示递归 处理 test11 下所有文件夹的 权限

文件归属者修改命令 chown
命令 chown 用来修改某个文件或者目录的归属者用户或者用户组,命令格式如下:
chown [参数] [用户名.<组名>] [文件名/目录]
其中[用户名.<组名>]表示要将文件或者目录改为哪一个用户或者用户组,用户名和组名
用“.”隔开,其中用户名和组名中的任何一个都可以省略,命令主要参数如下:
-c 效果同-v 类似,但仅回显更改的部分。
-f 不显示错误信息。
-h 只对符号连接的文件做修改,不改动其它任何相关的文件。
-R 递归处理,将指定的目录下的所有文件和子目录一起处理。
-v 显示处理过程。

chown
在这里插入图片描述

Linux 磁盘管理
Linux 的磁盘管理体系和 Windows 有很大的区别,在 Windows 下经常会遇到“分区”这个概念,在 Linux 中一般不叫“分区”而叫“挂载点”。 “挂载点”就是将一个硬盘的一部分做成文件夹的形式,这个文件夹的名字就是“挂载点”,不管在哪个发行版的 Linux 中,用户是绝对看到不到 C 盘、D 盘这样的概念的,只能看到以文件夹形式存在的“挂载点”.
在这里插入图片描述

有四个磁盘设备文件,其中 sd 表示是 SATA硬盘或者其它外部设备,最后面的数字表示该硬盘上的第 n 个分区,比如/dev/sda1 就表示磁盘 sda 上的第一个分区。图 2.8.2中都是以/dev/sda 开头的,说明当前只有一个硬盘。如果再插上 U 盘、SD 卡啥的就可能会出现/dev/sdb,/dev/sdc等等。

磁盘管理命令
1.磁盘分区命令 fdisk
如果要对某个磁盘进行分区,可以使用命令 fdisk,命令格如下:fdisk [参数]主要参数如下:-b<分区大小> 指定每个分区的大小。-l 列出指定设备的分区表。-s<分区编号> 将指定的分区大小输出到标准的输出上,单位为块。-u 搭配“-l”参数,会用分区数目取代柱面数目,来表示每个分区的起始地址。
p 显示现有的分区
n 建立新分区
t 更改分区类型
d 删除现有的分区
a 更改分区启动标志
w 对分区的更改写入到硬盘或者存储器中。
q 不保存退出。
由于我的 U 盘里面还有一些重要的文件,所以现在不能进行分区,所以就不演示 fdisk 的
分区操作了,后面我们讲解裸机例程的时候需要将可执行的 bin 文件烧写到 SD 卡中,烧写到
SD 卡之前需要对 SD 卡进行分区,到时候再详细讲解如何使用 fdisk 命令对磁盘进行分区。
2、格式化命令 mkfs
使用命令 fdisk 创建好一个分区以后,我们需要对其格式化,也就是在这个分区上创建一
个文件系统,Linux 下的格式化命令为 mkfs,命令格式如下:
mkfs [参数] [-t 文件系统类型] [分区名称]
主要参数如下:
fs 指定建立文件系统时的参数
-V 显示版本信息和简要的使用方法。
-v 显示版本信息和详细的使用方法。
比如我们要格式化 U 盘的分区/dev/sdb1 为 FAT 格式,那么就可以使用如下命令:
mkfs –t vfat /dev/sdb1
3、挂载分区命令 mount
我们创建好分区并且格式化以后肯定是要使用硬盘或者 U 盘的,那么如何访问磁盘呢?
比如我的 U 盘就一个分区,为/dev/sdb1,如果直接打开文件/dev/sdb1 会发现根本就不是我们
要的结果。我们需要将/dev/sdb1 这个分区挂载到一个文件夹中,然后通过这个文件访问 U 盘,
磁盘挂载命令为 mount,命令格式如下:
mount [参数] -t [类型] [设备名称] [目的文件夹]
命令主要参数有:
-V 显示程序版本。
-h 显示辅助信息。
-v 显示执行过程详细信息。
-o ro 只读模式挂载。
-o rw 读写模式挂载。
-s-r 等于-o ro。
-w 等于-o rw。
挂载点是一个文件夹,因此在挂载之前先要创建一个文件夹,一般我们把挂载点放到
“/mnt”目录下,在“/mnt”下创建一个 tmp 文件夹,然后将 U 盘的/dev/sdb1 分区挂载到
/mnt/tmp 文件夹里面,
4、卸载命令 umount
当我们不在需要访问已经挂载的 U 盘,可以通过 umount 将其从卸载点卸除,命令格式如
下:
umount [参数] -t [文件系统类型] [设备名称]
-a 卸载/etc/mtab 中的所有文件系统。
-h 显示帮助。
-n 卸载时不要将信息存入到/etc/mtab 文件中
-r 如果无法成功卸载,则尝试以只读的方式重新挂载。
-t <文件系统类型> 仅卸载选项中指定的文件系统。
-v 显示执行过程。

/ 上述磁盘分区 并未认真学习 仅仅是复制粘贴

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

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

相关文章

基于IDEA+Tomcat+Mysql开发的企业资产管理

基于Tomcat的企业资产管理信息系统 项目介绍&#x1f481;&#x1f3fb; 企业资产管理系统”项目是一个管理和维护企业资源的平台&#xff0c;能够提供系统管理、内容管理、用户管理、组织架构维护、流程管理、模块管理、角色管理、调度管理和个人设置等功能。 本项目所述的全…

Centos上安装Docker和DockerCompose

安装Docker Docker可以运行在MAC&#xff0c;Windows&#xff0c;CtenOS,UBUNTU等操作系统上。目前主流的版本有Docker CE和Docker EE&#xff0c;CE是免费的开源Docker版本&#xff0c;适用于开发人员和小型团队&#xff0c;EE是适用于企业的容器化解决方案。它基于Docker CE…

【开发实践】使用AES算法加密 .sql文件

一、需求分析 笔者在开发遇到一个小需求&#xff0c;导出数据的sql文件&#xff0c;由于安全监管的需要&#xff0c;对sql文件进行加密处理。实现将sql文件进行加密&#xff0c;最终呈现如下效果&#xff1a; 二、加密文件 1、加密模块 /*** AES加密算法** param sourceFileP…

运动戴什么耳机好?运动无线耳机哪个品牌比较好?运动耳机推荐

​如果你是一名户外运动爱好者&#xff0c;那么一款高品质的运动耳机是必不可少的。它们具备好音质、高稳固性舒适度、防尘防水等多项防护功能&#xff0c;让你在恶劣的天气条件下也能保持音乐的陪伴。面对市面上越来越多的运动耳机&#xff0c;到底哪款更值得入手&#xff1f;…

Co-DETR:DETRs与协同混分配训练论文学习笔记

论文地址&#xff1a;https://arxiv.org/pdf/2211.12860.pdf 代码地址&#xff1a; GitHub - Sense-X/Co-DETR: [ICCV 2023] DETRs with Collaborative Hybrid Assignments Training 摘要 作者提出了一种新的协同混合任务训练方案&#xff0c;即Co-DETR&#xff0c;以从多种标…

自建私有化证书颁发机构(Certificate Authority,CA)实战之 《0x01 Nginx 配置 https单向认证》

自建私有化证书颁发机构&#xff08;Certificate Authority&#xff0c;CA&#xff09;实战之 《0x01 Nginx 配置 https单向认证》 上一篇文章我们介绍了如何自建私有化证书颁发机构&#xff08;Certificate Authority&#xff0c;CA&#xff09;&#xff0c;本篇文章我们将介…

Python 使用XlsxWriter操作Excel

在数据处理和报告生成的领域中&#xff0c;Excel 文件一直是广泛使用的标准格式。为了让 Python 开发者能够轻松创建和修改 Excel 文件&#xff0c;XlsxWriter 库应运而生。XlsxWriter 是一个功能强大的 Python 模块&#xff0c;专门用于生成 Microsoft Excel 2007及以上版本&a…

ECRS生产工时分析软件:工业效率提升的隐形引擎

降本增效往往是企业开工规划的第一步。那到底降什么本&#xff0c;增什么效呢&#xff0c;对于很多企业来说&#xff0c;都是从采购成本入手&#xff0c;结果采购成本是降下来了&#xff0c;但是整体品质却下降了。实际上&#xff0c;要降本增效&#xff0c;优化现场管理才是企…

【LeetCode刷题笔记】DFSBFS(二)

994. 腐烂的橘子(树/图的BFS问题) 解题思路: 多源BFS ,首选找到 所有的腐烂的橘子 ,放入队列中,然后进行 BFS 广搜,广搜的 层数 - 1 就是所需要花费的分钟数。 在最开始先扫描一遍二维数组,将所有的 腐烂的橘子 加入 队列 ,同时统计新鲜橘子的数量 <

Java架构师发展方向和历程

目录 1 导论2 架构师的三观培养3 架构师的遇到的困难4 架构师职责5 架构师之路6 架构师的发展方向7 应用领域架构师8 业务架构师9 系统架构师和企业架构师10 技术路线和演进规划11 一线大厂的技术生态拓张案例12 如何推进项目落地想学习架构师构建流程请跳转:Java架构师系统架…

Spark-06:共享变量

目录 1.广播变量&#xff08;broadcast variables&#xff09; 2.累加器&#xff08;accumulators&#xff09; 在分布式计算中&#xff0c;当在集群的多个节点上并行运行函数时&#xff0c;默认情况下&#xff0c;每个任务都会获得函数中使用到的变量的一个副本。如果变量很…

深信服防火墙路由模式开局部署-手把手教学(小白篇)

PS&#xff1a;深信服的设备只有400能够通过console连接&#xff0c;一般用户是无法连接的&#xff0c;所以大家不要妄想着从Console连接设备了&#xff0c;开局就通过MANAGE进入Web就可以 接通电源后&#xff0c;开机拿一根网线&#xff0c;一端连接防火墙的MANAGE口&#xf…

中国毫米波雷达产业分析2——毫米波雷达产业链分析

一、产业链构成 毫米波雷达产业链分为三部分&#xff1a;上游主要包括射频前端组件&#xff08;MMIC&#xff09;、数字信号处理器&#xff08;DSP/FPGA&#xff09;、高频PCB板、微控制器&#xff08;MCU&#xff09;、天线及控制电路等硬件供应商&#xff1b;中游主体是毫米波…

Electron+VUE3开发简版的编辑器【文件预览】

简版编辑器的功能主要是: 打开对话框,选择文件后台读取文件文件前端展示文件内容。主要技术栈是VUE3、Electron和Nodejs,VUE3做页面交互,Electron提供一个可执行Nodejs的环境以及支撑整个应用的环境,nodeJS负责读取文件内容。 环境配置、安装依赖这些步骤就不再叙述了。 …

【Flink】状态管理

目录 1、状态概述 1.1 无状态算子 1.2 有状态算子 2、状态分类 ​编辑 2.1 算子状态 2.1.1 列表状态&#xff08;ListState&#xff09; 2.1.2 联合列表状态&#xff08;UnionListState&#xff09; 2.1.3 广播状态&#xff08;BroadcastState&#xff09; 2.2 按键分…

案例012:Java+SSM+uniapp基于微信小程序的科创微应用平台设计与实现

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;SSM JDK版本&#xff1a;JDK1.8 数据库&#xff1a;mysql 5.7 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.5.4 小程序框架&#xff1a;uniapp 小程序开发软件&#xff1a;HBuilder X 小程序…

ElementUI table+dialog实现一个简单的可编辑的表格

table组件如何实现可编辑呢&#xff1f; 我的需求是把table组件那样的表格&#xff0c;实现它点击可以弹出一个框&#xff0c;然后在这个框里面输入你的东西&#xff0c;然后将他回显回去&#xff0c;当然&#xff0c;输入的有可能是时间啥的。 为什么要弹出弹层不在框上直接…

文件名称管理文件:抓关键字归类文件,让文件管理变得简单明了

在当今数字时代&#xff0c;每天都要处理大量的文件&#xff0c;无论是文本、图片、视频还是其他类型的文件。如何有效地管理这些文件&#xff0c;能够迅速找到所需的信息&#xff0c;已经成为了一个重要的问题。文件名称是文件内容的第一反映&#xff0c;也是识别和检索文件的…

在arm 64 环境下使用halcon算法

背景&#xff1a; halcon&#xff0c;机器视觉领域神一样得存在&#xff0c;在windows上&#xff0c;应用得特别多&#xff0c; 但是arm环境下使用得很少。那如何在arm下使用halcon呢。按照官方说明&#xff0c;arm下只提供了运行时环境&#xff0c;并且需要使用价值一万多人民…

element中el-switch的v-model自定义值

一、问题 element中的el-switch的值默认都是true或false&#xff0c;但是有些时候后端接口该字段可能是0或者1&#xff0c;如果说再转换一次值&#xff0c;那就有点太费力了。如下所示&#xff1a; <template><el-switchinactive-text"否"active-text&quo…