linux系统编程总结(一)

Linux系统编程之文件编程(一) Linux系统编程之文件编程(一)包括内容:打开/新建文件、读/写文件、关闭文件等。 阅读详情

1.命令解析器

shell – unix操作系统
bash – Linux操作系统
本质: 根据命令的名字, 调用对应的可执行程序

2. Linux 快捷键

2.1 命令和路径补齐:

tab

2.2 主键盘快捷键:

  1. 历史命令切换:

历史命令:history
向上遍历:ctrl+p或者方向键↑
向下遍历:ctrl+n或者方向键↓

  1. 光标移动:

向左:ctrl+b或者方向键→
向右:ctrl+f或者方向键←
移动到头部:ctrl+a
移动到尾部:ctrl+e

  1. 删除字符:

注意:在linux中光标覆盖的字符指的就是光标后面的字符
删除光标后边的字符:ctrl+d
删除光标前边的字符:ctrl+h 或者 删除键backspace
删除光标前的所有内容:ctrl+u

3. Linux 系统目录结构

  1. 根目录:
  2. /bin:
  3. /dev:
  4. /etc:
  5. /home:
  6. /lib:
  7. /media:
  8. /mnt:
  9. /root:
  10. /usr:

详情见:Linux 系统目录结构

4. 用户目录

  1. 绝对路径:从根目录开始写 如 /home/ningcaichen
  2. 相对路径: 相对于当前的工作目录而言
    .    表示 当前目录
    ..  表示 当前的上一级目录
    -    表示 在两个临近的目录直接切换 cd -
  3. ningcaichen@ubuntu:~$
    ningcaichen:当前登录用户
    @:at,在
    ubuntu:主机名
    ~:s用户的家目录(宿主目录)
    $ :当前用户为普通用户
    #:超级用户(root)

5. 文件和目录操作

5.1 查看目录

1). tree  (必须安装该软件)
2). ls -la

ls -l

5.2 在目录a和目录b之间徘徊:

cd a
cd b

三种回家方式:
cd /home/ningcaichen
cd ~
cd

查看当前在哪个目录:
pwd

5.3 创建目录

mkdir dirName
mkdir dir/dir1/dir2 -p

5.4 删除

删除空目录:rmdir dirName(用的不是很多)
删除整个目录:rm dir -r(r表示递归的删除),如果想看递归的过程用 rm -ri dir

5.5 创建文件

touch 文件名

如果文件不存在就创建文件,如果文件存在就修改文件的时间

5.6 删除文件

rm 文件名 (加参数 -i 可以看到提示过程)

5.7 复制

复制文件:cp hello.c temp
将hello.c文件拷贝为temp文件,如果temp文件不存在,则创建temp文件;如果temp文件存在,则会覆盖temp文件。

复制目录:cp dir newDir -r
将dir整个目录拷贝到 newDir。如果newDir不存在,则创建newDir目录;如果newDir存在,则将dir复制到newDir中。如下图:
在这里插入图片描述

5.8 查看文件中内容(5种方式):

cat

cat file.txt -> 将文件内容一次性输出到终端。 如果文件太长,无法再终端全部显示。

more

more + 文件名 文件内容分页显示到终端,但是只能一直向下浏览,不能回退 空格:显示下一页 ctrl+c 或 q:退出

less

less + 文件名
文件内容分页显示到终端,可以自由上下浏览
回车:显示下一行
空格:显示下一页
ctrl+p 或 ↑:滚动到上一行
ctrl+n 或 ↓:滚动到下一行
q:退出浏览

head

从文件头部开始查看前 x 行的内容
head -5 hello.c --> 查看hello.c文件前五行的内容
如果没有指定行数,默认显示前10行内容

tail

从文件尾部开始查看后 x 行的内容
tail -5 hello.c --> 查看hello.c文件后五行的内容
如果没有指定行数,默认显示后10行内容

5.10. 创建快捷方式(软链接):

ln -s hello.c hello.soft
给hello.c文件创建软链接接,访问hello.soft就是访问hello.c
在这里插入图片描述
这里hello.c最好用绝对路径

同理,给目录创建软链接:ln -s ~/Desktop desktop.soft

5.12 硬链接

ln hello.c hello.hard在这里插入图片描述

注意:
1.硬链接,以文件副本的形式存在。但不占用实际空间。
2. 不允许给目录创建硬链接。
3. 硬链接只有在同一个文件系统中才能创建。
4. 删除其中一个硬链接文件并不影响其他有相同 inode 号的文件。

不论是硬链接或软链接都不会将原本的档案复制一份,只会占用非常少量的磁碟空间

6. 文件和目录的属性

6.1 wc:查看文本文件信息

wc hello.c
输出文本文件的行数,单词数,字节数,文件名
在这里插入图片描述

参数
-c: 只显示字节数
-l: 只显示行数
-w:只显示字数

6.2 od:查看二进制文件信息

-t 指定数据的显示格式 参数

  1. c --> ASCII字符
  2. d --> 有符号十进制数
  3. f --> 浮点数
  4. o --> 八进制数
  5. u --> 无符号十进制数
  6. x --> 十六进制数

6.4 du:查看某个目录的大小

du --> disk use
一般用 du -h

在这里插入图片描述

6.5 df: 查看磁盘的使用情况

df --> disk free
一般用 df -h

在这里插入图片描述

7. 文件权限, 用户, 用户组

7.1 文字设定法

chmod [who] [+|-|=] [mode]

who:

  1. 文件所有者: u
  2. 文件所属组: g
  3. 其他人: o
  4. 所有的人: a

+: 添加权限:
-: 减少权限
=: 覆盖原来的权限

mode:
r: 读
w: 写
x: 执行

添加权限示例:
在这里插入图片描述
覆盖权限示例:
在这里插入图片描述

7.2 数字设定法

-: 没有权限
r: 4
w: 2
x: 1

765 的含义:
7 – rwx – 文件所有者
6 – rw – 文件所属组
5 – rx – 其他人

7.3 改变文件或目录的所有者或所属组:

chown
chgrp

7.4 改变文件或目录所属的组:

  1. 按文件属性查找:
    1). 文件名:find + 查找的目录 + -name + "文件的名字"
    2). 文件大小:find + 查找目录 + -size + +10k
    3). 文件类型: find + 查找目录 + -type + d/f/b/c/s/p/l
  2. 按文件内容查找:
    grep -r "查找的内容" + 查找的路径

8. 文件的查找和检索

9. 软件的安装和卸载

10. U盘的挂载和卸载

[Linux系统编程]_文件编程(一) 阅读详情

相关推荐

Linux系统编程-课程大纲

Linux系统编程、课程大纲

xiaod_szu的专栏 345

linux系统编程(全)

给定一个文件的路径名,open()返回一个文件描述符,一个小的非负整数,用于后续的系统调用(read(2), write(2), Iseek(2), fcntl(2),等等)。成功调用返回的文件描述符将是进程当前未打开的编号最低的文件描述符。失败:返回 -1程序是静态的概念,gcc xxx.c -o pro磁盘中生成的文件,叫做程序。进程是程序的一次运行活动,通俗点的意思就是程序跑起来了,系统中就多了一个进程。每一个进程都有一个非负整数表示的唯一ID,叫做pid,类似身份证pid = 0;

qq_47944751的博客 1万+

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

因为单纯C语言单一进程的壁垒和单纯C语言在操作硬件上的壁垒这两点,所以我们需要实现并发,需要到内核层面上去访问硬件,使硬件访问的效率更高一点。 下面让我们一起认识一些Linux下的一些系统编程的基础操作吧

嵌入式技术开发 2712

Linux操作系统——基础详解

UNIX 是一个交互式系统,用于同时处理多进程和多用户同时在线。为什么要说 UNIX,那是因为 Linux 是由 UNIX 发展而来的,UNIX 是由程序员设计,它的主要服务对象也是程序员。Linux 继承了 UNIX 的设计目标。从智能手机到汽车,超级计算机和家用电器,从家用台式机到企业服务器,Linux 操作系统无处不在。...

欢迎来到我的知识星球!!! 1万+

三菱FX5U通信之CCLINK操作步骤

11. 连接 CC‐Link 用的端子排,连接 Ver.1.10 对应 CC‐Link 专用电缆。备注:1、以上对应的寄存器都是一一对应的,主站的点数可以比从站多,但是都需要一一对应起来。3.直接安装孔,用于直接安装的螺钉孔(2‐φ4.5,安装螺钉为 M4 螺钉)2.点阵 LED(显示模块中设置的站号和测试模式的内容)5.次段扩展连接器(连接扩展模块的扩展电缆的连接器)4.动作状态(显示 LED 显示模块的动作状态)10 电源连接器,用于连接电源电缆的连接器。1.扩展电缆(扩展时连接用的电缆)

ZXL622722的博客 6932

信道估计之MMSE算法

信道估计之MMSE算法前言MMSE估计的原理总结 前言        前篇分析了LS信道估计算法,也说明了由于没有考虑SNR的影响,所以LS算法不适合在低信噪比的情况下使用。本篇来学习信道估计的另外一种常用的算法–MMSE。        为什么说LS没有考虑噪声大小的情况呢,因为LS算法使用的是实际观测量与估计观测量的误差,这并不能精确的代表估计量的真值与估计值的误

大白的博客 2万+

Linux操作系统(详解及配置操作)

​ linux是一个开源、免费的操作系统,其稳定性、安全性、处理多并发已经得到业界的认可,目前很多企业级的项目都会部署到Linux/unix系统上。常见的操作系统有windows、macOS、IOS、Andriod、linux等。​ 1991年,李纳斯·托瓦兹Linus Torvalds,一个芬兰赫尔辛基大学的学生,出于个人爱好而编写的,当时他觉得教学用的迷你版UNIX操作系统Minix太难用了,于是决定自己开发一个操作系统。第一个版本于1991年9月发布,当时仅有10000行代码。

Qifen123321的博客 4万+

2024高教社杯数学建模国赛B题丨国一原创论文解析及源码超详细分享!

继续分享一篇2024国赛B题的国奖论文,包含可运行源代码jupyter,国赛B题通常比较聚焦实际复杂系统的多目标优化决策,主要偏重算法实现与概率建模解决开放性的管理问题。而且高度开放,无标准答案,学科交叉复杂,如资源调度、交通优化、海洋探测等。比较建议有一定统计学基础的同学参加。

ihui永不放弃 6739

Linux操作系统简介

文章目录 Linux发行版简介 学习Linux的必备硬件知识 关键硬件器件——CPU 关键硬件器件——存储 关键硬件器件——内存 其他一些查看硬件信息的命令 Linux开机过程(以Ubuntu16.04为例) 阶段1:BIOS 阶段2:boot Loader 阶段3:kernel 阶段4:systemd 阶段5:应用软件 Linux常用命令 基本命令 文件管理 文本操作 磁盘管理 系统管理 网络通信 压缩解压 查询硬件信息的命令 多命令协作 git操作命令 Refere

m0_67401382的博客 2万+

S32K144 ADC硬件触发+DMA传输实战:从寄存器配置到数据采集全流程

本文详细解析了S32K144微控制器中ADC硬件触发与DMA传输的协同工作机制,提供了从寄存器配置到数据采集的全流程实战指南。通过PDB定时触发ADC转换,并利用DMA实现数据自动搬运,构建了高效、实时的汽车级数据采集系统,有效释放CPU资源,满足汽车电子应用的严苛要求。

weixin_29194693的博客 475

点云从入门到精通技术详解100篇-基于 CBCT 与口内扫描数据的牙齿点云配准

口扫生成的三维牙模型只包含牙冠结构,容易受到唾液、食物残留等杂质的干扰。像精度,但其扫描成本较高,在公立医院的普及率较低。此外,口扫探入式的体。完整、精确的牙齿信息,有助于医生更好地进行数字化辅助诊疗,提高手术的预。可以表示上颌骨、下颌骨、牙冠以及牙根的位置和形状,但其扫描分辨率较低,精配准前实现粗略的预配准来确定点云间的初始位置,为精配准提供良好的配准。该算法通过计算点对间的距离确定源点云中的某一点在目标点云中的对应。算两点之间的欧氏距离,运算量较大,而且由于算法只考虑点集间的距离而忽略。

getusushu的博客 1641

【Linux Server】一、Linux系统编程入门

【Linux Server】视频:牛客网《C++高薪求职项目-Linux高并发服务器开发》;【Linux Server】书籍:《Linux高性能服务器编程》。

江湖人称菠萝包 2903

将Keil中的变量数组导出

首先,写好导出数据的函数。

小柚子的博客 1952

linux系统编程_Linux系统下进程编程(一)

-----在开始介绍进程之前,我们先来看下面这张照片,这是我们在Windows系统下经常会遇到的情况,有时候遇到这种情况,真想砸电脑(太不给力了,特别是在打游戏起劲的时候,你说来了这样一个大招,这谁顶得住):哈哈哈,开玩笑的,一般这种情况都是电脑配置稍微低了一点,然后打开了太多应用,才导致的,打游戏那必须高配置啊!!!好了,我们开始进入今天的主题分享。一、主角main()函数:1、说到m...

weixin_39744230的博客 97

Node-RED教程(二):Node-RED的面板的操作

Node-RED系列(二):Node-RED的面板的操作 要使用Node-RED去搭建一个物联网平台,链接设备,设备通信,就必须要先熟悉Node-RED的这种面板,对于一个新的项目,在动手做之前一点想对这个的技术的文档有足够的了解做起来才能游刃有余。本期我给大家介绍一下Node-RED的各种面板,熟悉这些面板后,在后续的搭建Iot服务中,会举重若轻,同时该系列的文档,难度会逐步加深,知道了本章解释的名称后对后续文章的理解有很大帮助。 面板1:默认节点选项列表 安装Node-RED后默认的节点分为这5大类

知无涯 1万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Linux 系统编程技巧(一)

Linux 系统编程就是为 Linux 操作系统开发系统程序。Linux 是世界上最流行的开源操作系统,可以运行在从大型服务器到小型物联网设备的各种设备上。了解如何为 Linux 编写系统程序将使您能够扩展操作系统并将其与其他程序和系统连接起来。我们将从学习如何使我们的程序易于脚本化和易于与其他程序交互开始。当我们为 Linux 编写系统程序时,我们应该始终努力使它们小巧并且只做一件事,并且做得很好。这是 Linux 中的一个关键概念:创建可以以简单方式相互交换数据的小程序。

龙哥盟 1453

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Linux系统编程回顾(一)

进入Linux世界 Linux系统编程前言一、Linux系统编程1 Linux基础知识1.1 Linux用户1.2 Linux权限1.3 Linux路径2 Linux文件IO操作2.1 open操作2.2 create操作2.3 write操作2.4 read操作3 字符设备控制3.1 main函数传参3.2 led灯控制3.3 蜂鸣器控制二、使用步骤1.引入库2.读入数据总结 前言 裸机的误区:。 一、Linux系统编程   linux的核心思想:linux中一切皆文件。 1 Linux基础知识  

百叶书的博客 439

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Linux系统编程(一)

文章目录3.23-Linux文件编程creat open read write函数3.24-lseek fopen fwrite fread fseek getc getchar函数3.25-fputc putchar fprintf sprintf fscanf sscanf函数3.26-Linux进程控制fork vfork函数 3.23-Linux文件编程creat open read write函数 文件编程 进程线程编程 tcp/udp 操作系统五大功能 Linux文件:文件本身包

wq4869wq的博客 274

[Linux系统编程]文件IO(一)

距离上一次利用高并发技术实现360度行车记录仪功能已经过去半年了。开始写一系列关于系统编程和网络编程内容进行总结。

weixin_44972997的博客 1万+

Linux系统编程笔记一文件编程

Linux系统编程笔记一文件编程文件编程常用apiopen()write()二级目录二级目录三级目录 文件编程常用api open() 在man 2手册中查看open函数的使用法则 #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> int open(const char *pathname, int flags); int

weixin_44475311的博客 203

Linux操作系统分析实验一:多线程与内核模块编程

一个程序调用fork函数,系统就为一个新的进程准备了前述三个段,首先,系统让新的进程与旧的进程使用同一个代码段,因为它们的程序还是相同的,对于数据段和堆栈段,系统则复制一份给新的进程,这样,父进程的所有数据都可以留给子进程,但是,子进程一旦开始运行,虽然它继承了父进程的一切数据,但实际上数据却已经分开,相互之间不再有影响了,也就是说,它们之间不再共享任何数据了。父进程和子进程的区别在于fork()函数的返回值不同,父进程中fork()函数返回子进程的进程ID,而子进程中fork()函数返回0。

m0_64146991的博客 923

Linux 系统编程实用手册(一)

Linux 操作系统及其嵌入式和服务器应用程序是当今分散和网络化宇宙中关键软件基础设施的关键组成部分。对熟练的 Linux 开发人员的行业需求不断增加。本书旨在为您提供两方面的内容:扎实的理论基础和实用的、与行业相关的信息——通过代码进行说明——涵盖 Linux 系统编程领域。本书深入探讨了 Linux 系统编程的艺术和科学,包括系统架构、虚拟内存、进程内存和管理、信号、定时器、多线程、调度和文件 I/O。这本书试图超越使用 API X 来实现 Y 的方法;

龙哥盟 2075

Linux 系统的 C++ 编程指南(一)

亲爱的读者,您好!您已经置身于朋友之中。欢迎您踏上高级技能、意外惊喜、巧妙知识和新颖编程工具的旅程。假设您是一位经验丰富的软件工程师,知道如何编写高质量的代码,并对一些构建和操作系统有所了解。您也遇到过几种计算机架构,并修复了一个或两个错误。那么以下情况如何:您是一位刚开始学习如何成为一名软件工程师的学生。您希望有一天成为一名优秀的专业人士。您希望成为别人在软件行为不可预测时寻求的专家。或者您只是出于最初的好奇心拿起这本书,还不知道能期待什么。那就太完美了!

龙哥盟 1356

Linux系统编程一

终端: 一系列输入输出设备的总称。 重定向: 命令+> +重定向的文件名 判断系统软件是否安装的正规方法 sudo aptitude show +软件名 如:sudo aptitude show exuberant-ctags LINUX系统目录: bin: 存放二进制可执行文件。 boot: 存放开机启动程序 dev: 存放设备文件 home: 存放普通用户目录 etc: 用户信息和系统配置文件passwd、group lib: 库文件 root: 管理员宿主目录(家目录) us

个人站点:https://www.heimajinpai.cn/ 192

Linux操作系统实验系列之实验一 LINUX下C编程

一、实验目的 了解LINUX下C编程环境 二、实验内容: 编写一段程序,当此程序运行时,在屏幕上显示”hello world!”。 三、实验环境 Linux操作系统 四、实验过程与运行结果 源代码: #include<stdio.h> int main() {printf(“hello!\n”); } 结果图: ...

weixin_43372169的博客 1309
上一篇: VGG 详解+ mobilenet
宁采晨
博客等级 码龄10年 25粉丝 11原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值