《Linux系统编程篇》认识在linux上的文件 ——基础篇

news2024/11/15 11:08:28

前言

Linux系统编程的文件操作如同掌握了一把魔法钥匙,打开了无尽可能性的大门。在这个世界中,你需要了解文件描述符、文件权限、文件路径等基础知识,就像探险家需要了解地图和指南针一样。而了解这些基础知识,就像学会了魔法咒语一样,让你能够在Linux系统中游刃有余地驾驭文件操作的魔力。

每一次努力都是一种投资,哪怕结果未必如愿,但你所获得的成长和经验都是无价的。坚持下去,你会看到那些投资最终会为你带来丰厚的回报。 ——家驹(Strange_Head)

文章目录

  • 前言
  • 在编程路上初始阶,Linux文件操作先了解
    • 1. 基础知识
      • 1.1 操作系统基础
    • 2、文件的权限(ls -l)
    • 3、更改文件权限`chmod` 命令
      • 使用数字表示权限
      • 使用符号表示权限
      • 示例
        • 通常使用方式
  • 结束

在编程路上初始阶,Linux文件操作先了解

1. 基础知识

开始Linux系统编程中的文件操作之前,初学者需要掌握一些基础知识

1.1 操作系统基础

文件系统概念:理解文件系统的结构和工作原理,例如文件目录路径等。

Linux基本命令
熟悉一些基本的Linux命令,如ls(列出目录内容)、cd(更改目录)、pwd(显示当前工作目录)、cat(显示文件内容)、touch(创建空文件)、mkdir(创建目录)、rm(删除文件/目录)等。

到了这里可以到自己的linux系统命令行去敲一敲啦!!~

新快捷键学习✨在linux虚拟机当中使用《CTRL+ALT+T》(直接启动一个新终端)————家驹(Strange_Head)

在这里插入图片描述
当然这里只是简单的带着大家示范的敲一下,有些命令还带有一些选项,(如果有必要的话)比如说我上面提到的命令读者可以到百度查一下。这里过于基础。我们的最终目的带着大家学会linux系统编程以及对应的知识点,如果展开讲的话是讲不完的。

随着学习linux时间越久,这些命令将会刻到大脑里,所以不必担心记不住,知道怎么使用即可。随着慢慢深入,知道的会越来越多。

2、文件的权限(ls -l)

在终端输入这个命令

ls -l

这个就是ls命令的详细选项了,加了额外的选项-l
在这里插入图片描述
在Linux中,使用ls -l命令可以列出文件的详细信息,包括文件的权限。每个文件的权限信息显示在列表的第一列。权限信息由10个字符组成,如下所示:

  • 第一个字符表示文件类型:- 表示普通文件,d 表示目录,l 表示符号链接等。

  • 接下来的九个字符表示文件的权限,分为三组,每组三个字符,分别代表文件所有者的权限文件所属组的权限其他用户的权限。这三组权限分别是读(r)、写(w)和执行(x)权限

例如,如果一个文件的权限信息为-rwxr-xr--,那么它的含义是:

  • - rwx r-x r–

  • 文件类型为普通文件

  • 文件所有者具有读、写和执行权限

  • 文件所属组具有读和执行权限

  • 其他用户具有读权限

除了前面的权限的解读呢,后面这些又是什么呢。

有这样条信息。方便观察
-rwxr-xr-- 1 user1 group1 4096 Jul 13 14:25 file.txt

  • 1:表示链接到该文件的硬链接数。对于普通文件,通常为1。

  • user1:表示文件所有者的用户名。

  • group1:表示文件所属组的组名。

  • 4096:表示文件大小(以字节为单位)。

  • Jul 13 14:25:表示文件的最后修改时间。

如果一个文件不是你可以操作的那么通常操作他会报错(no permission)

拓展一下:

在Linux系统中,硬链接(Hard Link)和符号链接(SymbolicLink,也称为软链接)是两种不同类型的链接方式,用于创建文件之间的关联。它们之间有一些重要的区别:

  1. 硬链接

    • 硬链接是指多个文件目录项指向相同的索引节点(inode),这意味着硬链接实际上是同一个文件的不同名称。

    • 硬链接只能在同一个文件系统内创建,因为它们都指向相同的inode。

    • 删除原始文件并不会影响硬链接文件,因为它们实际上都指向相同的数据块。

    • 硬链接无法指向目录。

    • 对硬链接的更改会影响所有指向同一inode的文件,因为它们实际上是同一个文件。

  2. 符号链接

    • 符号链接是一个特殊的文件,它包含指向另一个文件的路径。

    • 符号链接可以跨越文件系统边界,因为它们只是指向另一个路径。

    • 如果原始文件被删除或移动,符号链接将失效,因为它只是指向文件的路径而非文件本身。

    • 符号链接可以指向目录。

    • 对符号链接的更改不会影响原始文件,因为它们只是指向文件的路径。

对于文件操作,我们知道这个文件的所有者是谁,他的权限是什么,什么人可以操作他就可以了。

3、更改文件权限chmod 命令

知道了怎么看文件的权限之后,我们来修改文件的权限。

chmod [选项] 模式 文件名

其中:

  • 选项:可选参数,用于指定 chmod 命令的特定选项。

  • 模式:用来指定权限的方式,可以采用数字表示或符号表示。

  • 文件名:需要更改权限的文件或目录名称。

使用数字表示权限

在数字表示中,每种权限用一个数字表示,如下:

  • 读权限:4

  • 写权限:2

  • 执行权限:1

然后,将所有权限相加得到想要设置的权限值。例如,读取和写入权限为6,读取、写入和执行权限为7。

使用符号表示权限

在符号表示中,可以使用符号来表示权限的改变,如下:

  • +:添加权限

  • -:移除权限

  • =:设置权限

符号表示权限的语法如下:

  • u:表示文件所有者(user)

  • g:表示文件所属组(group)

  • o:表示其他用户(others)

  • a:表示所有用户(all)

例如,chmod u+r file.txt 表示为文件所有者添加读权限。

示例

  • 为所有用户添加读取和写入权限:chmod a+rw file.txt

  • 移除文件所有者的执行权限:chmod u-x file.txt

  • 为文件所有者和所属组添加执行权限:chmod ug+x file.txt

在使用 chmod 命令时,需要以超级用户(root)或文件所有者的身份来更改文件的权限。

通常使用方式

chmod 755 demo2.c直接指定所属文件的权限,第一个7就是自己的权限,后面是组和其他用户的权限。
在这里插入图片描述

结束

这节我们知道了如何使用ls -l查看文件的权限等信息(什么类型,所有者,所属组,文件大小,创建时间/修改时间),和chomd修改文件的权限之后,我们就可以正式进入编写代码环节了。还是那句话,一时间记不住没关系,后续随着使用次数的变多会慢慢成为一种肌肉记忆,刻到大脑里面。

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

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

相关文章

视频播放器的问题

<template><div class"app-container"><el-form :model"queryParam" ref"queryForm" :inline"true"><el-form-item label"题目ID&#xff1a;"><el-input v-model"queryParam.id" cle…

python:绘制一元三次函数的曲线

编写 test_x3_3x.py 如下 # -*- coding: utf-8 -*- """ 绘制函数 y x^33x4 在 -3<x<3 的曲线 """ import numpy as np from matplotlib import pyplot as plt# 用于正常显示中文标题&#xff0c;负号 plt.rcParams[font.sans-serif] […

免费的AI抠图工具 毫秒级抠图 离线可用 -鲜艺AI抠图

鲜艺AI抠图是一款免费的AI抠图工具&#xff0c;不登录、不联网&#xff0c;内嵌 AI 模型&#xff0c;快至毫秒级抠图&#xff0c;支持批量抠图&#xff0c;支持点击按钮选择图片、拖入图片、粘贴图片、粘贴图片链接、从网页拖入图片&#xff0c;支持Windows和macos&#xff0c;…

Linux:Linux网络总结(附下载链接)

文章目录 下载链接网络问题综合问题访问一个网页的全过程&#xff1f;WebSocket HTTPHTTP基本概念GET与POSTHTTP特性HTTP缓存技术HTTP的演变HTTP1.1 优化 HTTPSHTTP与HTTPS有哪些区别&#xff1f;HTTPS解决了HTTP的哪些问题&#xff1f;HTTPS如何解决的&#xff1f;HTTPS是如何…

【触想智能】安卓工控一体机在自助终端设备上的应用分析

随着科技的发展和人们对自动化系统的需求不断增强&#xff0c;自助终端设备已经成为日常生活非常常见的设备之一&#xff0c;例如自助售货机、自助点餐机、自助银行服务等。这些设备在使用中都需要一个可靠的、稳定的操作系统来支持其各项功能的实现。 因此&#xff0c;安卓工控…

Postman接口模拟请求工具使用技巧

Postman是一款非常强大的接口模拟请求工具&#xff0c;可以帮助开发者快速测试、调试API接口。下面集合实际使用过程中的经验&#xff0c;分享大家一些基础使用技巧&#xff1a; 1. 安装与启动&#xff1a;首先在官网&#xff08;Download Postman | Get Started for Free&…

Qt下使用OpenCV的鼠标回调函数进行圆形/矩形/多边形的绘制

文章目录 前言一、设置imshow显示窗口二、绘制圆形三、绘制矩形四、绘制多边形五、示例完整代码总结 前言 本文主要讲述了在Qt下使用OpenCV的鼠标回调在OpenCV的namedWindow和imshow函数显示出来的界面上进行一些图形的绘制&#xff0c;并最终将绘制好的图形显示在QLabel上。示…

html(抽奖设计)

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>抽奖</title><style type"text/css">* {margin: 0;padding: 0;}.container {width: 800px;height: 800px;border: 1px dashed red;position: absolut…

【学习笔记】无人机(UAV)在3GPP系统中的增强支持(四)-无人机系统(UAS)命令与控制(C2)通信用例

引言 本文是3GPP TR 22.829 V17.1.0技术报告&#xff0c;专注于无人机&#xff08;UAV&#xff09;在3GPP系统中的增强支持。文章提出了多个无人机应用场景&#xff0c;分析了相应的能力要求&#xff0c;并建议了新的服务级别要求和关键性能指标&#xff08;KPIs&#xff09;。…

鸿蒙系统在服装RFID管理中的应用:打造智能零售新时代

​随着物联网技术的迅速发展&#xff0c;服装零售行业正面临着新的变革与挑战。鸿蒙系统作为新一代智能操作系统&#xff0c;结合RFID技术&#xff0c;为服装行业提供了高效、智能的管理解决方案。常达智能物联&#xff0c;作为RFID技术的领先企业&#xff0c;致力于将鸿蒙系统…

【学习笔记】无人机(UAV)在3GPP系统中的增强支持(五)-同时支持无人机和eMBB用户数据传输的用例

引言 本文是3GPP TR 22.829 V17.1.0技术报告&#xff0c;专注于无人机&#xff08;UAV&#xff09;在3GPP系统中的增强支持。文章提出了多个无人机应用场景&#xff0c;分析了相应的能力要求&#xff0c;并建议了新的服务级别要求和关键性能指标&#xff08;KPIs&#xff09;。…

1、BOREDHACKERBLOG:社交网络

靶机&#xff1a;https://www.vulnhub.com/entry/boredhackerblog-social-network,454/ 参考&#xff1a;Vulnhub靶机&#xff1a;BOREDHACKERBLOG: SOCIAL NETWORK_boredhackerblog系列-CSDN博客 需要使用virtualbox。 先去官网下载了最新版的vietualbox&#xff0c;以及把这…

pytorch-LSTM

目录 1. RNN存在的问题2. LSTM的由来3. LSTM门3.1 遗忘门3.2 输入门3.3 输出门 4. LSTM是如何减轻梯度弥散问题 1. RNN存在的问题 如下图&#xff1a;RNN能满足预测下一个单词&#xff0c;但是对于获取更多的上下文信息就做不到了。 2. LSTM的由来 RNN能做到短时记忆即shor…

jenkins系列-04-jenkins参数化构建

使用maven build之前&#xff0c;先checkout 指定分支或标签&#xff1a; 拖拽调整顺序&#xff1a;shell执行在前&#xff0c;构建在后&#xff1a; gitee新建标签tag:

【持续集成_06课_Jenkins高级pipeline应用】

一、创建项目选择pipeline的风格 它主要是以脚本&#xff08;它自己的语言&#xff09;的方式进行运行&#xff0c;一般由运维去做的事情&#xff0c;作为测试而言。了解即可。 --- 体现形式全部通过脚本去实现&#xff1a;执行之前&#xff08;拉取代码&#xff09;执行&…

《Cross-Image Pixel Contrasting for Semantic Segmentation》论文解读

期刊&#xff1a;TPAMI 年份&#xff1a;2024 摘要 研究图像语义分割问题。目前的方法主要集中在通过专门设计的上下文聚合模块(如空洞卷积、神经注意力)或结构感知的优化目标(如iou样损失)挖掘"局部"上下文&#xff0c;即单个图像中像素之间的依赖关系。然而&…

【图解大数据技术】流式计算:Spark Streaming、Flink

【图解大数据技术】流式计算&#xff1a;Spark Streaming、Flink 批处理 VS 流式计算Spark StreamingFlinkFlink简介Flink入门案例Streaming Dataflow Flink架构Flink任务调度与执行task slot 和 task EventTime、Windows、WatermarksEventTimeWindowsWatermarks 批处理 VS 流式…

Lottery 分布式抽奖(个人向记录总结)

1.搭建&#xff08;DDDRPC&#xff09;架构 DDD——微服务架构&#xff08;微服务是对系统拆分的方式&#xff09; &#xff08;Domain-Driven Design 领域驱动设计&#xff09; DDD与MVC同属微服务架构 是由Eric Evans最先提出&#xff0c;目的是对软件所涉及到的领域进行建…

jenkins系列-05-jenkins构建golang程序

下载go1.20.2.linux-arm64.tar.gz 并存放到jenkins home目录&#xff1a; 写一个golang demo程序&#xff1a;静态文件服务器&#xff1a;https://gitee.com/jelex/jenkins_golang package mainimport ("encoding/base64""flag""fmt""lo…

搜索引擎中的相关性模型

一、什么是相关性模型&#xff1f; 相关性模型主要关注的是query和doc的相关性。例如给定query&#xff0c;和1000个doc&#xff0c;找到哪个doc是好query最相关的。 二、为什么需要相关性模型&#xff1f; 熟悉es的应该都熟悉BM25相关性算法。它是一个很简单的相关性算法。我…