Linux系统编程

news2024/11/24 18:34:59

Linux系统中所见皆文件

bin:所存放二进制可执行文件
boot:存放开机启动程序
dev:存放设备文件
home:存放用户
etc:用户信息和系统配置文件
lib:库文件
root:管理员宿主目录(家目录)
usr:用户资源管理目录

Linux系统文件类型:
普通文件:-
目录文件:d
字符设备文件:c
块设备文件:b
软连接:l
管道文件:p
套接字:s
未知文件。

软连接:
ln -s 文件1 文件2
为保证软连接可以任意搬移,创建时务必对源文件使用绝对路径。

硬链接:
ln file flie.hard
操作系统给每一个文件赋予唯一的innode,当有相同的innode文件存在时,彼此同步。
删除时,只将硬链接计数减一,innode被释放。

硬链接和软链接的区别:
软连接就是相当于一个快捷方式,打开的还是源文件
硬链接就相当于共享文件,就两个文件同吃同住。

find命令:
-type 按文件类型搜索 d/p/s/b/l/f 文件
-name 按文件名搜索
-maxdepth 指定搜索深度
-size 按文件大小搜索。单位:K,M,G
eg:find /home/itcast -size +20M -size -50M:它的意思是查找在20M到50M大小之间的文件
-atim,mtime,ctime:这个atime参数是开发者最近访问时间,mtime参数是开发者最近改动内容时间,ctime参数是开发者修改文件属性时间。都是find可用的查询参数。
-exec:将find搜索的结果集执行某一指定命令
eg:find /usr/ -name “tmp” -exec ls -l {} ; :这个命令的意思是查询/usr这个路径下文件名称为tmp的文件,把查询的结果放在后面大括号中,再加个转义字符表示本意,然后-exec执行大括号中的结果集。
-ok:以交互式的方式,将find搜索的结果集执行某一指定命令
eg:find ./ -name “tmp” -ok rm { } ; :这个命令表示我找到tmp文件,然后是否要进行删除它的操作,会提示开发者是否要进行删除。
-xargs:同-exec一样,也是把find搜索的结果集执行某一命令,区别在于当搜索完的结果集太大时,-exec会一股脑的处理,而-xargs会切片进行映射,处理效率会更高。
在这里插入图片描述
但是,xargs默认是以空格形式加以区分,若文件名是用空格隔开的,则会分成两个文件。
想要解决上述说的以空格区分的问题,则可以用参数 -print0
eg:find ./ -maxdepth 1 - type f -print0 | xargs -print0 ls -l;
它是把搜索完的结果集的分隔符以null形式打印,然后xargs也以null分隔符形式执行。

grep命令:找文件的内容
grep -r ‘要查找的内容’ ./ -n :这个命令是在当前目录下查找相关内容,并输出查到的内容的行数

**status 文件:**是查看文件状态和情况的

使用chown 一次修改所有者和所属组
sudo chown 所有者:所属组 待操作文件。

压缩命令:
tar zcvf 压缩完成的文件名字 要压缩的文件。
eg:tar zcvf jj.tar.gz j.c k.c
注意:这个z是gzip格式压缩的意思,c是创建压缩文件的意思,v是显示压缩流程的意思,f是文件的意思。这个是使用gzip格式压缩
eg:tar jcvf jj.tar.gz j.c k.c
注意,这个是使用bzip2格式压缩。

解压:
将zcvf中的c---->x
eg:tar zxvf jj.tar.gz 使用gzip格式解压缩。
tar jxvf jj.tar.gz 使用bzip2格式解压缩。
rar压缩:
rar a -r 压缩包名(带.rar后缀)压缩材料
eg:rar a -r testrar.rar stdio.h test2.mp3
rar解压:
unrar x 压缩包名(带.rar后缀)

zip压缩
zip -r 压缩包名(带.zip后缀)压缩材料。
eg:zip -r testzip.zip dir stdio.h test2.mp3
zip解压:
unzip 压缩包名(带.zip后缀)
eg:unzip testzip.zip

GCC编译4步骤
1.预处理
2.编译
3.汇编
4.链接

在这里插入图片描述
编译参数:
-I:指定头文件所在目录位置
-c:只做预处理,编译,汇编。得到二进制文件
-g:编译时添加调试语句。主要支持gdb调试
-Wall:显示所有警告信息。
-D:向程序中“动态”注册宏定义。

动态库(共享库):就是一个库文件,在程序编译的时候会链接它,然后进行程序的编译,多个程序都公用这一个库,不给程序增添空间负担,但是运行速度慢。

静态库:也是一个库文件,但他相当于程序里面的一个东西,多个程序编译的时候,会把他拉进自己的程序文件中,每个编译程序都会拉一遍,会给程序增添空间负担,但是运行速度快。

两者区别:动态库是以时间换空间,静态库刚好相反。

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

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

相关文章

Linux计划任务管理,网络管理

一,计划任务管理: 任务管理很宽泛,这里是指的计划任务管理,在指定的时间执行。 at命令 : 由atd守护进程来执行,atd进程会定期检查系统上的 /var/spool/at 目录,获取at命令写入的任务。 &#x…

Linux CentOS系统安装mysql8.0.31(tar方式)

Linux系统安装mysql8.0.31(TAR方式) 文章目录Linux系统安装mysql8.0.31(TAR方式)安装包的下载安装Mysql8.0.31注册成系统服务并自启动问题总结启动异常一简单使用安装包的下载 选择的是 MySQL Community Server 进行下载 官网下…

第4季1:将AR0130摄像头更换为OV9712摄像头

以下内容源于朱有鹏嵌入式课程的学习与整理,如有侵权请告知删除。 一、SoC对Sensor的支持情况 在海思SDK的Hi3518E V200R001C01SPC030\00.hardware\chip\document_cn目录下,我们重点关注这两个文档:《Hi3518EV200经济型HD IP Camera SoC产品…

wordpress插件-wordpress蜘蛛记录插件

wordpress蜘蛛插件,我们为什么要wordpress装蜘蛛插件,一个合格的SEO人员必须懂得分析网站的蜘蛛情况,wordpress蜘蛛插件可以让我们分析出各大搜索引擎蜘蛛的访问间隔频率,以及最受蜘蛛喜爱的页面,让你精确地分析搜索引…

Unity DOTS学习 前置知识(二)

ECS 架构和一些专用术语 Entity-Component-System 实体组件系统(ECS )架构遵循组合优于继承的原则面向数据设计弱耦合常被应用在游戏开发上 本质:组合的是数据数组而非对象数组 ECS示例图: Entity 虽然叫做实体,但是并非对象或容器&…

[网络工程师]-应用层协议-FTP

文件传输协议(File Transfer Protocol,FTP)简称为“文件协议”,用于在Internet上控制文件的双向传输。客户上传文件时,通过服务器20端口建立的连接是建立在TCP之上的数据连接,通过服务器21号端口建立的连接…

01 - 进阶操作系统(BIOS)

---- 整理自狄泰软件唐佐林老师课程 1. BIOS - Base input & Output system BIOS是上电后第一个运行的程序 BIOS首先检测硬件状态,检测通过后立即进行硬件初始化工作 BIOS会在内存中建立中断向量表(提供硬件访问的方法) BIOS最后将控制…

优思学院|韦伯的组织理论在今天还有意义吗?

韦伯(Max Weber)是提出官僚组织理论的一个德国杰出社会学家,他认为“官僚组织方式”(Bureaucracy)是理想的企业组织形态。 “官僚组织方式”是一种组织管理的方式,特征是组织内各人的职位(Posi…

卡莱特在创业板上市:IPO首日跌破发行价,周锦志为实际控制人

12月1日,卡莱特云科技股份有限公司(下称“卡莱特”,SZ:301391)在深圳证券交易所创业板上市。本次上市,卡莱特共计发行1700万股,发行价为96.00元/股,募资总额约为16.32亿元,募资净额约…

国产自研、安全、高可用——袋鼠云大数据基础平台EasyMR筑基企业数字化转型

对于科技领域,只有自己掌握核心关键技术,实现自主可控,才能摆脱越来越频繁的“卡脖子事件”,保证企业和国家信息安全。 俗话说“基础不牢,地动山摇“。大数据基础平台什么?是打地基的,是重中之…

多功能无线测量仪的设计与制作

目录 第一章 绪论 1 1.1设计目的及意义 1 1.2课题的概述 1 1.3设计的主要内容介绍 1 第二章 多功能无线测量工作原理的介绍 2 2.1 AT89C51单片机介绍 2 2.2 多功能无线测量工作原理的介绍 5 2.2.1超声波的应用领域 5 2.2.2 超声波距离传感器简介 6 2.2.3超声波测距的原理 7 2.2…

我为何从测试转测试开发,并坚持了10年?

入行测试开发,马上就要10年了。创业公司待过,大公司也待过,工作这一路走来,一些心得,转变,职场体会,早就想写出来分享一下。这个历程包含了技术的提升,工程师的素养和对这个行业的点…

基于springboot信用分析管理系统设计与实现。

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下,你想解决的问…

【MySQL事务_2_事务提交与回滚】

在MySQL中,事务提交与回滚 对t_act进行提交和回滚操作 (1).提交操作(非事务成功) update t_act set balance400 where actno1; update t_act set balance200 where actno2;(2).提交操作(非事务失败) update t_act set balance400 where actno1; update t_act set…

虹科案例|太赫兹技术如何看透文物下的秘密?

文物是人类在社会活动中遗留下来的具有历史、艺术、科学价值的遗物和遗迹,具有重要价值。文物是帮助现代人探寻历史、还原历史真相的最有力依据,同时也是历史时间工艺水平的记录。历史是一个国家文化体系的重要组成部分,而文物又是一个国家悠…

attention加权机制

attention 1.在模型举例在机器翻译的任务当中,翻译得到的每个y的时候,更加关注于某个x,当翻译am的时候,就应该更关注输入当中的 是,让机器也具备这种关注的能力。 2.怎么关注?当翻译y1的时候,y1…

论文笔记 A Comprehensive Survey on Graph Neural Networks(GNN综述)

前言 近年来,深度学习促进了很多机器学习任务的发展,这些任务很多都表示在规则的欧几里得空间中表示。但是图作为具有复杂关系和对象之间相互依赖,其数据是从非欧几里得域生成的,最近也有很多关于图数据深度学习方法的研究。 在…

工业4.0 管理壳学习笔记(6)-数字铭牌

每一台机器都有一个铭牌,铭牌中表明了机器的名称,型号,出厂日期,产品编号,制造日期等信息。。在数字化世界中,机器铭牌不仅要求人类可读,而且需要机器可读。人们开始对数字化产品铭牌的格式和内…

【视觉高级篇】22 # 如何用仿射变换来移动和旋转3D物体?

说明 【跟月影学可视化】学习笔记。 三维仿射变换:平移 对于平移变换来说,如果向量 P(x0​x_0​x0​​, y0y_0y0​​, z0​z_0​z0​​) 沿着向量 Q(x1x_1x1​​, y1​y_1​y1​​, z1​z_1​z1​​) 平移,只需要让 P 加上 Q,就…

BI系统用户访问数据分析

商业智能(Business Intelligence,简称:BI),又称商业智慧或商务智能,指用现代数据仓库技术、线上分析处理技术、数据挖掘和数据展现技术进行数据分析以实现商业价值。 ——百度百科 文章目录前言一、痛点梳理…