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

这篇具有很好参考价值的文章主要介绍了Linux下的系统编程——基础操作(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言:

linux系统编程是基于Linux系统进行程序开发的一个过程,主要涉及到的是linux系统中的函数使用如下图所示:Linux下的系统编程——基础操作(一),linux,运维,服务器,编辑器,开发语言

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

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

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

Linux下的系统编程——基础操作(一),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系统目录:

Linux下的系统编程——基础操作(一),linux,运维,服务器,编辑器,开发语言

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

    boot:存放开机启动程序

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

    home:存放普通用户

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

    lib:库文件:libc.so.6

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

    usr:用户资源管理目录

3.Linux系统文件类型

 7/8 种

Linux下的系统编程——基础操作(一),linux,运维,服务器,编辑器,开发语言

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

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

二、文件属性

1.软链接:快捷方式

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

Linux下的系统编程——基础操作(一),linux,运维,服务器,编辑器,开发语言

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

 2.硬链接

Linux下的系统编程——基础操作(一),linux,运维,服务器,编辑器,开发语言

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

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

Linux下的系统编程——基础操作(一),linux,运维,服务器,编辑器,开发语言

 它们三个有相同的 inode

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

三、用户与用户组:

1.创建用户

 sudo adduser 新用户名        --- useradd

Linux下的系统编程——基础操作(一),linux,运维,服务器,编辑器,开发语言

Linux下的系统编程——基础操作(一),linux,运维,服务器,编辑器,开发语言

2.修改文件所属用户:

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

Linux下的系统编程——基础操作(一),linux,运维,服务器,编辑器,开发语言

3.删除用户:

    sudo deluser 用户名

Linux下的系统编程——基础操作(一),linux,运维,服务器,编辑器,开发语言

4.创建用户组:

    sudo addgroup 新组名

Linux下的系统编程——基础操作(一),linux,运维,服务器,编辑器,开发语言

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

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

   Linux下的系统编程——基础操作(一),linux,运维,服务器,编辑器,开发语言

6.删除组:

    sudo delgroup 用户组名

Linux下的系统编程——基础操作(一),linux,运维,服务器,编辑器,开发语言

 注意:当删除后会显示1000

Linux下的系统编程——基础操作(一),linux,运维,服务器,编辑器,开发语言

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

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

Linux下的系统编程——基础操作(一),linux,运维,服务器,编辑器,开发语言

 四、查找与检索

1.find命令:找文件

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

Linux下的系统编程——基础操作(一),linux,运维,服务器,编辑器,开发语言

    -name 按文件名搜索

Linux下的系统编程——基础操作(一),linux,运维,服务器,编辑器,开发语言

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

Linux下的系统编程——基础操作(一),linux,运维,服务器,编辑器,开发语言
    -size 按文件大小搜索. 单位:k、M、G

Linux下的系统编程——基础操作(一),linux,运维,服务器,编辑器,开发语言

    -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参数::显示行号

Linux下的系统编程——基础操作(一),linux,运维,服务器,编辑器,开发语言

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

Linux下的系统编程——基础操作(一),linux,运维,服务器,编辑器,开发语言

五、安装卸载软件

Linux下的系统编程——基础操作(一),linux,运维,服务器,编辑器,开发语言

    1. 联网

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

                sudo apt-get update

    3. 安装

                sudo apt-get install 软件名

    4. 卸载 

                sudo apt-get remove 软件名

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

                sudo dpkg -i 安装包名

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

Linux下的系统编程——基础操作(一),linux,运维,服务器,编辑器,开发语言

 现在我们进行tree的安装

Linux下的系统编程——基础操作(一),linux,运维,服务器,编辑器,开发语言

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

Linux下的系统编程——基础操作(一),linux,运维,服务器,编辑器,开发语言     

  六、压缩与解压

1.tar压缩:

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

        使用 gzip方式压缩。

Linux下的系统编程——基础操作(一),linux,运维,服务器,编辑器,开发语言   · 

     使用 bzip2方式压缩。Linux下的系统编程——基础操作(一),linux,运维,服务器,编辑器,开发语言

 

2.tar解压:

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

   使用 gzip方式解压缩。

Linux下的系统编程——基础操作(一),linux,运维,服务器,编辑器,开发语言

   使用 bzip2方式解压缩。Linux下的系统编程——基础操作(一),linux,运维,服务器,编辑器,开发语言

 

3.rar压缩:

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

        Linux下的系统编程——基础操作(一),linux,运维,服务器,编辑器,开发语言

 

4.rar解压:

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

 Linux下的系统编程——基础操作(一),linux,运维,服务器,编辑器,开发语言

5.zip压缩:

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

Linux下的系统编程——基础操作(一),linux,运维,服务器,编辑器,开发语言

zip解压:

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

Linux下的系统编程——基础操作(一),linux,运维,服务器,编辑器,开发语言

 

 

    
 文章来源地址https://www.toymoban.com/news/detail-666286.html

到了这里,关于Linux下的系统编程——基础操作(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 基于linux下的高并发服务器开发(第一章)- Linux系统IO函数

    基于linux下的高并发服务器开发(第一章)- Linux系统IO函数

     (1)man 2 open 打开一个已经存在的文件 int open(const char *pathname, int flags); 参数:             pathname:要打开文件路径             - flags:对文件的操作权限设置还有其他的设置             O_RDONLY,O_WRONLY,O_RDWR 这三个设置是互斥的 返回值:             返回一个新的文件描述

    2024年02月16日
    浏览(11)
  • 掌握终端基础技巧:Linux下的文件和目录复制操作

    掌握终端基础技巧:Linux下的文件和目录复制操作

    在Linux系统中,命令行终端是一个大而高效的工具,让使用者可以通过简单的命令完成各种任务。其中,文件和目录的复制操作是日常使用频率较高的一项操作。本文将介绍Linux下的文件和目录复制基础技巧,帮助您更好地掌握命令行终端的使用。 一、复制文件: 1.cp命令:

    2024年02月08日
    浏览(7)
  • Linux操作系统下的权限设置

    Linux操作系统下的权限设置

    Linux操作系统是一个多用户的操作系统,可以同时存在多个用户去访问我们的设备;在同一台Linux设备下,当我们不希望我们的文件被其它用户访问时,我们可以为其设置相应的权限~ 在开始介绍今天的内容之前,我们先一起来思考一个问题:  作为用户的我们,在访问操作系

    2024年02月04日
    浏览(9)
  • Linux高性能服务器编程 学习笔记 第五章 Linux网络编程基础API

    Linux高性能服务器编程 学习笔记 第五章 Linux网络编程基础API

    我们将从以下3方面讨论Linux网络API: 1.socket地址API。socket最开始的含义是一个IP地址和端口对(ip,port),它唯一表示了使用TCP通信的一端,本书称其为socket地址。 2.socket基础API。socket的主要API都定义在sys/socket.h头文件中,包括创建socket、命名socket、监听socket、接受连接、发

    2024年02月07日
    浏览(22)
  • 【Linux系统编程】Linux下的编译器——gcc/g++的使用 及 动态库和静态库的认识

    【Linux系统编程】Linux下的编译器——gcc/g++的使用 及 动态库和静态库的认识

    这篇文章我们继续学习Linux中的开发工具,今天要学的是: Linux下的编译器——gcc/g++ 我们先来简单了解一下它们的概念: gcc (GNU Compiler Collection) 和 g++ 是 Linux 系统上最常用的编译器。它们是 GNU 组织开发的一套开源编译器工具集。 gcc: gcc 是 GNU 编译器集合中的 C 语言编译器。

    2024年02月16日
    浏览(10)
  • 华为云云耀云服务器L实例评测 | Linux系统宝塔运维部署H5游戏

    华为云云耀云服务器L实例评测 | Linux系统宝塔运维部署H5游戏

    本章节内容,我们主要介绍华为云耀服务器L实例,从云服务的优势讲起,然后讲解华为云耀服务器L实例资源面板如何操作,如何使用宝塔运维服务,如何使用运维工具可视化安装nginx,最后部署一个自研的H5的小游戏(6岁的小朋友玩的很开心😁)。 前端的同学如果想把自己

    2024年02月07日
    浏览(14)
  • 【运维】手把手教你在Linux/Windows系统使用Nginx部署多个前端项目【详细操作】

    【运维】手把手教你在Linux/Windows系统使用Nginx部署多个前端项目【详细操作】

            需求:项目上线需要将前端的前台和后台部署在服务器上提供用户进行使用,部署在不同的服务器直接在服务器安装nginx即可。但是在内网安装还是有点麻烦,因为需要联网,如果是内网可以参考Linux安装Nginx并部署前端项目【内/外网-保姆级教程】_MXin5的博客-CSDN博

    2024年02月08日
    浏览(12)
  • 千峰云计算linux教程650集,linux系统运维从入门到精通教程(Linux安装极速入门,零基础必备)

    千峰云计算linux教程650集,linux系统运维从入门到精通教程(Linux安装极速入门,零基础必备)

    第一天 1. 完成VMware下载,centos7下载,完成配置,获得模拟服务器一台。 2. 使用root登录。 服务器 (可以当初普通计算机,与普通的计算机内部结构相差不大) VMware是安装虚拟机的软件 (通过一些软件在一台主机或服务器系统中模拟出来的一台电脑,实际上就是一个比较大

    2024年01月17日
    浏览(9)
  • 【Linux操作系统】举例解释Linux系统编程中文件io常用的函数

    【Linux操作系统】举例解释Linux系统编程中文件io常用的函数

    在Linux系统编程中,文件IO操作是非常常见和重要的操作之一。通过文件IO操作,我们可以打开、读取、写入和关闭文件,对文件进行定位、复制、删除和重命名等操作。本篇博客将介绍一些常用的文件IO操作函数。 1.1 原型、参数及返回值说明 1.1.1 原型: open()函数是Linux系统

    2024年02月12日
    浏览(12)
  • Linux操作系统配置代理服务器

    Linux操作系统配置代理服务器

    PS:本文只是针对Linux操作系统对于代理服务器的配置操作,不涉及广告        代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息。形象的说:它是网络信息的中转站。在一般情况下,我们使用网络浏览器直接去连接其他Internet站点取得网络信息时,须

    2024年02月13日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包