Linux下的系统编程——基础操作(一)

news2025/1/11 21:38:51

前言:

linux系统编程是基于Linux系统进行程序开发的一个过程,主要涉及到的是linux系统中的函数使用如下图所示:

最外层的是咱们的应用程序,这部分程序大多调用的是咱们标准库,或者说是C库,这部分库函数能满足大部分的应用程序的开发,但是这部分库函数访问硬件的时候可能不是那么方便

因为单纯C语言单一进程的壁垒和单纯C语言在操作硬件上的壁垒这两点,所以我们需要实现并发,需要到内核层面上去访问硬件,使硬件访问的效率更高一点。

下面让我们一起认识一些Linux下的一些系统编程的基础操作吧

                                                                Unix家谱 

目录

一、类Unix系统目录结构

1.Linux系统:

2.Linux系统目录:

3.Linux系统文件类型

二、文件属性

1.软链接:快捷方式

​编辑

 2.硬链接

三、用户与用户组:

1.创建用户

2.修改文件所属用户:

3.删除用户:

4.创建用户组:

5.修改文件所属用户组:

6.删除组:

7.使用chown 一次修改所有者和所属组:

 四、查找与检索

1.find命令:找文件

2.grep命令

五、安装卸载软件

    1. 联网

    2. 更新软件资源列表到本地。  

    3. 安装

    4. 卸载 

    5. 使用软件包(.deb) 安装:  

  六、压缩与解压

1.tar压缩:

2.tar解压:

3.rar压缩:

4.rar解压:

5.zip压缩:

zip解压:


一、类Unix系统目录结构


ubuntu没有盘符这个概念﹐只有一个根目录/﹐所有文件都在它下面

1.Linux系统:

         “所见皆文件”

2.Linux系统目录:

    bin:存放二进制可执行文件

    boot:存放开机启动程序

    dev:存放设备文件: 字符设备、块设备

    home:存放普通用户

    etc:用户信息和系统配置文件 passwd、group

    lib:库文件:libc.so.6

    root:管理员宿主目录(家目录)

    usr:用户资源管理目录

3.Linux系统文件类型

 7/8 种

    普通文件:-        目录文件:d        字符设备文件:c        块设备文件:b

    软连接:l           管道文件:p          套接字:s                   未知文件。

二、文件属性

1.软链接:快捷方式

    为保证软连接可以任意搬移, 创建时务必对源文件使用绝对路径

注意:软连接的权限不代表文件权限

 2.硬链接

操作系统给每一个文件赋予唯一的 inode,当有相同inode的文件存在时,彼此同步。

删除时,只将硬链接计数减一。减为0时,inode 被释放

 它们三个有相同的 inode

注意:对一个文件改变,三个文件会同步改变,但删除不会互相影响       

三、用户与用户组:

1.创建用户

 sudo adduser 新用户名        --- useradd

2.修改文件所属用户:

    sudo chown 新用户名 待修改文件。

3.删除用户:

    sudo deluser 用户名

4.创建用户组:

    sudo addgroup 新组名

5.修改文件所属用户组:

    sudo chgrp 新用户组名 待修改文件。

   

6.删除组:

    sudo delgroup 用户组名

 注意:当删除后会显示1000

7.使用chown 一次修改所有者和所属组:

    sudo chown 所有者:所属组  待操作文件。

 四、查找与检索

1.find命令:找文件

    -type 按文件类型搜索  d/p/s/c/b/l/  f:文件

    -name 按文件名搜索

    -maxdepth 指定搜索深度。应作为第一个参数出现。


    -size 按文件大小搜索. 单位:k、M、G

    -atime、mtime、ctime 以天为单位             amin、mmin、cmin 以分钟为单位。

     按修改时间查找

    -exec:将find搜索的结果集执行某一指定命令。

            find /usr/ -name '*tmp*' -exec ls -ld {} \;

    -ok: 以交互式的方式 将find搜索的结果集执行某一指定命令

         
    -xargs:将find搜索的结果集执行某一指定命令。  当结果集数量过大时,可以分片映射。

            find /usr/ -name '*tmp*' | xargs ls -ld 

    -print0:
            find /usr/ -name '*tmp*' -print0 | xargs  -0 ls -ld  

2.grep命令

找文件内容

    grep -r 'copy' ./ -n

        -n参数::显示行号

    ps aux | grep 'kernel'  -- 检索进程结果集。

五、安装卸载软件

    1. 联网

    2. 更新软件资源列表到本地。  

                sudo apt-get update

    3. 安装

                sudo apt-get install 软件名

    4. 卸载 

                sudo apt-get remove 软件名

    5. 使用软件包(.deb) 安装:  

                sudo dpkg -i 安装包名

当我们使用tree命令时发现命令tree并不能执行

 现在我们进行tree的安装

安装完成后我们再次使用tree命令

     

  六、压缩与解压

1.tar压缩:

    1. tar -zcvf 要生成的压缩包名    压缩材料。

        使用 gzip方式压缩。

   · 

     使用 bzip2方式压缩。

 

2.tar解压:

    将 压缩命令中的 c --> x

   使用 gzip方式解压缩。

   使用 bzip2方式解压缩。

 

3.rar压缩:

    rar a -r  压缩包名(带.rar后缀) 压缩材料。

        

 

4.rar解压:

    unrar x 压缩包名(带.rar后缀)

 

5.zip压缩:

    zip -r 压缩包名(带.zip后缀) 压缩材料。

zip解压:

    unzip 压缩包名(带.zip后缀) 

 

 

    
 

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

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

相关文章

PDF中的表格怎么转换为Excel?这两个工具一定得收藏!

PDF是一种常见的文件格式,它可以保持文件的原始样式和内容,但是也有一些缺点,比如不易编辑和处理数据。如果你想要将PDF中的表格或数据导出到Excel中,以便进行分析、计算或制作图表,那么你可能需要一个专业的PDF转Exce…

Window异常提示:“为了对电脑进行保护,已经阻止此应用”

目录 1.Window异常提示图片: 2.家庭版额外需要执行的解决方式: 3.本地组策略编辑器(后续家庭版和专业版一致) 4.禁用后重新启动电脑就可以正常运行程序了 1.Window异常提示图片: 2.家庭版额外需要执行的解决方式: 代码&#xff…

超纯水中硼离子去除,特种除硼树脂CH-99

超纯水是指水中杂质含量极低的一种水质,其中矢量硼是一种常见的杂质。矢量硼的存在会影响超纯水的质量,因此需要采取一定的方法去除。 常用的去除矢量硼的方法有离子交换法、反渗透法和电化学法等。 电化学法: 是一种利用电化学反应对水中…

Java JDBC学习教程

Java JDBC JDBC 独立于数据库JDBC 不独立于SQLJDBC 不适用于非关系数据库流行的关系数据库JDBC 教程范围JDBC 核心概念JDBC 示例加载JDBC驱动程序打开数据库连接创建语句更新数据库查询数据库关闭数据库连接 Java JDBC API(Java Database Connectivity&#xff09…

无涯教程-PHP - preg_grep()函数

preg_grep() - 语法 array preg_grep ( string $pattern, array $input [, int $flags] ); 返回由与给定模式匹配的输入数组元素组成的数组。 如果将flag设置为PREG_GREP_INVERT,则此函数返回输入数组中与给定模式不匹配的元素。 preg_grep() - 返回值 返回使用…

8路光栅尺磁栅尺编码器或16路高速DI脉冲信号转Modbus TCP网络模块 YL99-RJ45

特点: ● 光栅尺磁栅尺解码转换成标准Modbus TCP协议 ● 高速光栅尺磁栅尺4倍频计数,频率可达5MHz ● 模块可以输出5V的电源给光栅尺或传感器供电 ● 支持8个光栅尺同时计数,可识别正反转 ● 可以设置作为16路独立DI高速计数器 ● 可网…

vue 简单实验 v-bind 变量与html属性绑定

1.代码 <script src"https://unpkg.com/vuenext" rel"external nofollow" ></script> <div id"bind-attribute"><span v-bind:title"message">鼠标悬停几秒钟查看此处动态绑定的提示信息&#xff01;</sp…

“产业应用创新奖2023”启动征集

当前&#xff0c;人工智能已经成为新一轮科技革命和产业变革的重要驱动力量&#xff0c;基于强算法、大算力和大数据的大模型成为主流方向。文心大模型和飞桨一直致力于发挥算法模型技术优势&#xff0c;助力AI 大生产加速升级。 文心飞桨赋能千行百业 产业创新不断涌现 数字医…

你做的可视化大屏老被老板嫌弃丑?那是你没掌握这7个动态效果!

数据可视化大屏成为了最近的爆火需求&#xff0c;自从老李我在朋友圈发了一条关于可视化大屏的朋友圈&#xff0c;客户、亲戚、朋友、同学都过来问我这种可视化大屏是怎么做出来的&#xff0c;要花多少钱&#xff1f; 老李也很实诚&#xff0c;直接跟他们说&#xff0c;免费&a…

概率论与数理统计:第七章:参数估计 第八章:假设检验

文章目录 Ch7. 参数估计7.1 点估计1.矩估计2.最大似然估计(1)离散型(2)连续型 7.2 评价估计量优良性的标准(1)无偏性 (无偏估计)(2)有效性(3)一致性 7.3 区间估计1.置信区间、置信度2.求μ的置信区间 Ch8. 假设检验1.拒绝域α、接受域1-α、H₀原假设、H₁备择假设2.双边检验、…

初识 JVM 01

JVM JRE JDK的关系 JVM 的内存机构 程序计数器 java指令的执行流程&#xff1a; 1 右侧的java源代码编译为左侧的java字节码&#xff08;右侧第一个方块对应左侧第一个方块&#xff09; 2 字节码 经过解释器 变为机器码 3 机器码就可以被cpu来执行 程序计数器的作用就…

Linux学习之samba服务

yum install -y samba安装samba。 安装完成如下&#xff1a; /etc/samba/smb.conf是samba配置文件&#xff0c;内容如下&#xff1a; # See smb.conf.example for a more detailed config file or # read the smb.conf manpage. # Run testparm to verify the config is cor…

亿发智能定制系统规范食品饮料行业质量管理,ERP解决方案助力业务增长

随着食品生产业态的不断复杂化和食品风险的逐渐凸显&#xff0c;食品饮料生产商面临着更大的挑战和机遇,需要与时俱进&#xff0c;借助数字化手段建立完整的质量管理体系&#xff0c;有效降低食品事故的风险。同时&#xff0c;面对数字化时代&#xff0c;食品饮料生产商需要一套…

正则表达式一小时学完

闯关式学习Regex 正则表达式&#xff0c;我感觉挺不错的&#xff0c;记录一下。 遇到不会的题&#xff0c;可以评论交流。 真的很不错 链接 Regex Learn - Step by step, from zero to advanced.

ui设计师年终总结(合集)

ui设计师年终总结篇一 xx年很快就会过去了&#xff0c;掐指一算&#xff0c;来到同程已经整整一年了&#xff0c;在这里我对我一年以来的工作情况进行简要的总结&#xff0c;算是对公司也是对个人这段时间的工作的一个交代&#xff0c;详细内容请看下文ui设计师年终个人总结。…

快速上手Linux核心命令:文件内容相关命令

前言 上一篇中已经预告&#xff0c;我们这篇主要说一说Linux中文件内容查看处理相关的命令。一共16个命令&#xff0c;其中 标注的为重点命令&#xff0c;工作中用的也比较多&#xff0c;需要熟练掌握 cat 合并文件或查看文件内容 1、简介 cat 是concatenate 单词的缩写&a…

仿mudou高性能高并发服务器

"这个结局是我的期待&#xff0c;我会一直为你祝福。" 项目实现目标: 仿muduo库One Thread One Loop式主从Reacto模型实现高并发服务器。通过实现高并发服务器组件&#xff0c;简洁快速完成搭建一个高性能服务器。并且&#xff0c;通过组件内提供的不同应⽤层协议⽀…

LeetCode108. 将有序数组转换为二叉搜索树

108. 将有序数组转换为二叉搜索树 一、题目 给你一个整数数组 nums &#xff0c;其中元素已经按 升序 排列&#xff0c;请你将其转换为一棵 高度平衡 二叉搜索树。 高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。 示例 1&#x…

报错sql_mode=only_full_group_by

首发博客地址 https://blog.zysicyj.top/ 报错内容 ### The error may exist in file[D:\code\cppCode20221025\leader-system\target\classes\mapper\system\TJsonDataMapper.xml] ### The error may involve defaultParameterMap ### The error occurred while…