【C语言】必备Linux命令和C语言基础

news2024/11/15 19:33:56

🌟博主主页:我是一只海绵派大星

📚专栏分类:嵌入式笔记

❤️感谢大家点赞👍收藏⭐评论✍️

目录

一、文件和目录相关命令

Linux 的文件系统结构

文件系统层次结构标准FHS 

pwd命令 

ls 列目录内容

文件的权限 

 cd 改变目录

查看文件内容 

cp 复制 

mv 移动 

创建和删除文件 

创建和删除目录 

二、vi编辑器的使用 

vi编辑器的使用

vi模式切换命令 

​编辑 vi拷贝与粘贴命令

vi保存和退出命令 

​编辑vi光标命令 

vi的查找命令 

vi替换命令 

vi复制和剪切命令 

三、程序的编译和调试 

gcc编译器


一、文件和目录相关命令

Linux 的文件系统结构

文件系统层次结构标准FHS 

  • / bin    :bin是二进制(binary)英文缩写。
  • / boot  :存放的都是系统启动时要用到的程序。
  • / dev    :包含了所有Linux系统中使用的外部设备。
  • / etc     :存放了系统管理时要用到的各种配置文件和子目录。
  • / lib      :存放系统动态连接共享库的。
  • / home:普通用户的主目录
  • / root   :根用户(超级用户)的主目录    

  ......

pwd命令 

pwd命令用于显示用户在文件系统中的当前位置,该命令没有任何选项和参数,命令执行结果显示为绝对路径名。

linux@ubuntu:~$ pwd

/home/linux

ls 列目录内容

ls是一个在 Unix 和 Linux 系统中用于列出目录内容的命令。当你在终端中输入 ls 并按回车键时,它会显示当前目录中的所有文件和文件夹。

 ls [options] [files_or_dirs]

Example:    

  • ls -a    

 ls -a是一个在 Unix 和 Linux 系统中用于列出目录中所有文件和文件夹的命令,包括隐藏文件(以.开头的文件)。当你在终端中输入 ls -a并按回车键时,它会显示当前目录中的所有文件和文件夹,包括隐藏文件。

  • ls -l    

ls -l   是一个在 Unix 和 Linux 系统中用于以长格式列出目录中的文件和文件夹的命令。长格式包括文件权限、所有者、大小等详细信息。

  • ls -R

ls -R 是一个在 Unix 和 Linux 系统中用于递归地列出目录中的文件和文件夹的命令。这意味着它将列出当前目录及其所有子目录中的文件和文件夹。

文件的权限 

权限:   用户(创建者  同组用户  其它用户)

权限类型   应用于目录      应用于任何其他类型的文件
读(r)授予读取目录或子目录内容的权限授予查看文件的权限
写(w)授予创建、修改或删除文件或子目录的权限授予写入权限,允许修改文件
执行(x)授予进入目录的权限允许用户运行程序
-无权限无权限

 cd 改变目录

查看文件内容 

Cat

  • -s 多个空行合并成一个空行显示        
  • -b 加行号显示
  • nl 加行号

head

-n 文件名(前n行,默认10)

tail

-n 文件名(后n行,默认10) 

cp 复制 

  • cp [options] file destination

mv 移动 

在 Linux 系统中,mv 命令是一个用于移动或重命名文件和目录的命令行实用程序。 

创建和删除文件 

touch – 创建或更新时间戳

rm – 删除文件

Usage: rm [options] <file>...

Example:

  • rm -i file

在 Linux 系统中用于删除文件的命令行实用程序。在这个命令中,-i 选项表示“交互式”,它会在删除文件之前提示用户确认。

  • rm -r directory 

在 Linux 系统中用于删除目录及其内容的命令行实用程序。在这个命令中,-r 选项表示“递归”,它会删除指定目录及其所有子目录和文件

创建和删除目录 

  • mkdir  -p

在 Linux 系统中用于创建目录的命令行实用程序。在这个命令中,-p 选项表示“父目录”,它会在创建目录时自动创建所需的父目录。

  • rm -r

在 Linux 系统中用于删除目录及其内容的命令行实用程序。在这个命令中,-r 选项表示“递归”,它会删除指定目录及其所有子目录和文件。

二、vi编辑器的使用 

vi编辑器的使用

vi有以下三种模式

  • 命令行模式

用户在用vi编辑文件时,最初进入的为该模式。可以进行复制、粘贴等操作。

  • 插入模式

进行文件编辑,按ESC键可以回到命令行模式。

  • 底行模式

光标位于屏幕的底行。可以进行文件的保存、退出、查找、替换、列出行号等 

vi模式切换命令 

 vi拷贝与粘贴命令

 

vi保存和退出命令 

vi光标命令 

vi的查找命令 

vi替换命令 

利用:s 命令可以实现字符串的替换。

  • :s/str1/str2/
  • :s/str1/str2/g
  • :.,$ s/str1/str2/g   g全部替换(默认换第1个)
  • :1,$ s/str1/str2/g
  • :%s/str1/str2/g 

vi复制和剪切命令 

  • y0-将光标至行首的字符拷入剪贴板
  • y$-将光标至行尾的字符拷入剪贴板
  • d0-将光标至行首的字符剪切入剪贴板
  • d$-将光标至行尾的字符剪切入剪贴板
  • range y-块复制
  • range d-块剪切 

三、程序的编译和调试 

gcc编译器

gcc(GNU Compiler)是GNU推出的多平台编译器,可将C、C++源程序编译连接成可执行文件,支持以下后缀:

  • .c                 c语言源代码
  • .h        程序所包含的头文件     
  • .i        已经预处理过的C源代码文件
  • .s        汇编语言源代码文件
  • .o        编译后的目标文件

🎁结语: 

本次精彩内容已圆满结束!希望各位读者在阅读过程中能够收获满满。在此,特别感谢各位读者的支持与三连赞。如果文章中存在任何问题或不足之处,欢迎在评论区留言,大星必定会认真对待并加以改进,以便为大家呈现更优质的文章。你们的支持与鼓励,将是博主不断前进的最大动力。再次感谢大家的陪伴与支持!

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

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

相关文章

libsndfile读取wav文件基本属性

本文的目的是提供一种方法读取wav文件的基本属性&#xff1a;音频帧数&#xff0c;格式、通道数和采样率信息。 代码如下所示&#xff1a; #include <iostream> #include <QDebug> #include "sndfile.h"using namespace std;int main() {// 初始化 ALS…

亚马逊云科技中国峰会:与你开启前沿技术的探索之旅

亚马逊云科技中国峰会&#xff1a;与你开启云计算与前沿技术的探索之旅 Hello,我是科技博主Maynor&#xff0c;非常高兴地向你们推荐亚马逊云科技中国峰会&#xff0c;这是一场将于 5 月 29 日至 30 日在上海世博中心举办的科技盛会&#xff0c;如果你对云计算、行业发展新趋势…

【Python从入门到进阶】54、使用Python轻松操作SQLite数据库

一、引言 1、什么是SQLite SQLite的起源可以追溯到2000年&#xff0c;由D. Richard Hipp&#xff08;理查德希普&#xff09;所创建。作为一个独立的开发者&#xff0c;Hipp在寻找一个能够在嵌入式系统中使用的轻量级数据库时&#xff0c;发现现有的解决方案要么过于庞大&…

【35分钟掌握金融风控策略29】贷中模型调额调价策略

目录 贷中客户风险管理和客户运营体系 用信审批策略 用信审批策略决策流与策略类型 贷中预警策略 对存量客户进行风险评级 基于客户的风险评级为客户匹配相应的风险缓释措施和建议 调额策略 基于定额策略的调额策略 基于客户在贷中的风险表现的调额策略 调价策略 存…

视频监控系统中,可变码率和固定码率对录像文件存储大小的影响,如何配置比较好?

目录 一、问题描述 二、视频监控的录像文件计算 &#xff08;一&#xff09;计算方法 &#xff08;二&#xff09;计算工具 三、原因分析 &#xff08;一&#xff09;检查配置 1、IPCa配置 2、IPCb配置 3、录像文件存储大小的理论值 &#xff08;二&#xff09;实际情…

Darknet+ros+realsenseD435i+yolo(ubuntu20.04)

一、下载Darknet_ros mkidr -p yolo_ws/src cd yolo_ws/src git clone --recursive https://github.com/leggedrobotics/darknet_ros.git #因为这样克隆的darknet文件夹是空的&#xff0c;将darknet_ros中的darknet的文件替换成如下 cd darknet_ros git clone https://github.…

英飞凌SiC模块为小米电动车提供动力

至2027年之际&#xff0c;SiC功率模块与裸片产品将荣耀登场&#xff0c;助力小米电动汽车新品SU7璀璨问世。英飞凌&#xff0c;这家业界翘楚&#xff0c;将倾其所能&#xff0c;为小米SU7 Max提供两颗HybridPACK Drive G2 CoolSiC 1200 V模块&#xff0c;如同给电动汽车的心脏注…

[链表专题]力扣141, 142

1. 力扣141 : 环形链表 题 : 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统内部使用整数 pos 来表示链表尾…

pytest教程-47-钩子函数-pytest_sessionfinish

领取资料&#xff0c;咨询答疑&#xff0c;请➕wei: June__Go 上一小节我们学习了pytest_sessionstart钩子函数的使用方法&#xff0c;本小节我们讲解一下pytest_sessionfinish钩子函数的使用方法。 pytest_sessionfinish 钩子函数在 Pytest 测试会话结束时调用&#xff0c;…

254 基于matlab的钢筋混凝土非线性分析

基于matlab的钢筋混凝土非线性分析&#xff0c;根据梁本构关系&#xff0c;然后进行非线性分析&#xff0c;绘制弯矩-曲率曲线。可设置梁的截面尺寸、混凝土本构&#xff0c;钢筋截面面积等相关参数&#xff0c;程序已调通&#xff0c;可直接运行。 254 钢筋混凝土非线性分析 弯…

那些年我与c++的叫板(一)--string类自实现

引子&#xff1a;我们学习了c中的string类&#xff0c;那我们能不能像以前数据结构一样自己实现string类呢&#xff1f;以下是cplusplus下的string类&#xff0c;我们参考参考&#xff01; 废话不多说&#xff0c;直接代码实现&#xff1a;&#xff08;注意函数之间的复用&…

公司邮箱是什么?公司邮箱和个人邮箱有什么不同?

公司邮箱是企业用来收发邮件的专业版电子邮箱&#xff0c;不同于个人邮箱的简单功能和有限的存储空间&#xff0c;公司邮箱的功能更加丰富&#xff0c;能够满足企业的日常办公和协作需求。本文将为您详细讲解公司邮箱和个人邮箱的区别&#xff0c;以供您选择更适合自己的邮箱类…

数学建模——农村公交与异构无人机协同配送优化

目录 1.题目 2.问题1 1. 问题建模 输入数据 ​编辑 2. 算法选择 3.数据导入 3.模型构建 1. 距离计算 2. 优化模型 具体步骤 进一步优化 1. 重新定义问题 2. 变量定义 3. 优化目标 具体步骤 再进一步优化 具体实现步骤 1. 计算距离矩阵 2. 变量定义 3. 约束…

【C++】:string类的基本使用

目录 引言一&#xff0c;string类对象的常见构造二&#xff0c;string类对象的容量操作三&#xff0c;string类对象的访问及遍历操作四&#xff0c;string类对象的修改操作五&#xff0c;string类非成员函数六&#xff0c;整形与字符串的转换 引言 string 就是我们常说的"…

UIKit之图片浏览器

功能需求 实现一个图片浏览器&#xff0c;点击左右按钮可以切换背景图&#xff0c;且更新背景图对应的索引页和图片描述内容。 分析&#xff1a; 实现一个UIView的子类即可&#xff0c;该子类包含多个按钮。 实现步骤&#xff1a; 使用OC语言&#xff0c;故创建cocoa Touch类…

【JavaScript】WeakMap 和 WeakSet

Map Map 用于存储键值对。 添加属性&#xff1a; 使用 Map 的 set() 方法可以向 Map 对象中添加键值对。例如&#xff1a; const map new Map(); map.set(key1, value1); map.set(key2, value2);通过二维数组快速创建 map 键值对。 let arr [[1, 2],[2, 3],[3, 4]]let map …

window10下安装ubuntu系统以及docker使用

window10下安装ubuntu系统以及docker使用 1. 启用适用于Linux的Windwos子系统2.下载Linux内核更新包3.将 WSL 2 设置为默认版本4.安装Ubuntu<br />直接去Microsoft store里面直接搜索Ubuntu进行安装。5.可能出现的问题1.win10启动ubuntu报错 参考的对象类型不支持尝试的操…

2024中国应急(消防)品牌巡展西安站成功召开!惊喜不断

消防品牌巡展西安站 5月10日&#xff0c;由中国安全产业协会指导&#xff0c;中国安全产业协会应急创新分会、应急救援产业网联合主办&#xff0c;陕西消防协会协办的“一切为了安全”2024年中国应急(消防)品牌巡展-西安站成功举办。该巡展旨在展示中国应急&#xff08;消防&am…

ABC352编程笔记

ABC352 编程笔记 题意&#xff1a;输入&#xff0c;四个数 a , b , c , d a,b,c,d a,b,c,d&#xff0c;若 d d d 在 c , d c,d c,d 之间&#xff0c;则输出 Yes&#xff0c;否则输出 No。 正解&#xff1a;直接判断。 #include <bits/stdc.h> //#define int long lo…

大数据比赛-环境搭建(二)

一、ubuntu安装google 1、下载google的Linux安装版 链接&#xff1a;https://pan.baidu.com/s/1w4Hsa1wbJDfC95fX2vU_1A 提取码&#xff1a;xms6 或者&#xff1a;Google Chrome 64bit Linux版_chrome浏览器,chrome插件,谷歌浏览器下载,谈笑有鸿儒 (chromedownloads.net) …