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

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

📚专栏分类:嵌入式笔记

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

目录

一、文件和目录相关命令

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.hqwc.cn/news/704698.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Anaconda下载安装

看到这篇文章的同学们&#xff0c;说明你们是要下载Anaconda&#xff0c;这篇文章讲的就是下载安装教程。 Anaconda下载网址&#xff1a; Download Now | Anaconda 根据我们需要的系统版本下载&#xff0c;我的电脑是window&#xff0c;所以选择第一个&#xff0c;如下图&am…

WebSocket or SSE?即时通讯的应用策略【送源码】

最近在研究H5推送&#xff0c;发现除了我们常用的WebSocket以外&#xff0c;其实还有一种协议也能实现H5推送&#xff0c;那就是SSE协议。 而且&#xff0c;当前主流的大模型平台&#xff0c;比如ChatGPT、通义千问、文心一言&#xff0c;对话时采用的就是SSE。 什么是SSE协议…

05-10 周五 推理是什么

05-10 周五 推理是什么 时间版本修改人描述2024年5月10日10:13:54V0.1宋全恒新建文档2024年5月13日11:08:42V1.0宋全恒填充了训练和推理的定义&#xff0c;并且对于推理加速的方面进行了详细的介绍 简介 最近要坐推理时的动态量化&#xff0c;因此&#xff0c;需要认真理解一下…

20232906 2023-2024-2 《网络与系统攻防技术》第十次作业

20232906 2023-2024-2 《网络与系统攻防技术》第十次作业 1.实验内容 一、SEED SQL注入攻击与防御实验 我们已经创建了一个Web应用程序&#xff0c;并将其托管在http://www.seedlabsqlinjection.com/&#xff08;仅在SEED Ubuntu中可访问&#xff09;。该Web应用程序是一个简…

基于Pytorch深度学习神经网络MNIST手写数字识别系统源码(带界面和手写画板)

第一步&#xff1a;准备数据 mnist开源数据集 第二步&#xff1a;搭建模型 我们这里搭建了一个LeNet5网络 参考代码如下&#xff1a; import torch from torch import nnclass Reshape(nn.Module):def forward(self, x):return x.view(-1, 1, 28, 28)class LeNet5(nn.Modul…

Lora训练Windows[笔记]

一. 使用kohya_ss的GUI版本&#xff08;https://github.com/bmaltais/kohya_ss.git&#xff09; 这个版本跟stable-diffusion-webui的界面很像&#xff0c;只不过是训练模型专用而已&#xff0c;打开的端口同样是7860。 1.双击setup.bat,选择1安装好xformers,pytorch等和cuda…

Qt多文档程序的一种实现

注&#xff1a;文中所列代码质量不高&#xff0c;但不影响演示我的思路 实现思路说明 实现DemoApplication 相当于MFC中CWinAppEx的派生类&#xff0c;暂时没加什么功能。 DemoApplication.h #pragma once#include <QtWidgets/QApplication>//相当于MFC中CWinAppEx的派生…

详细分析Vue3中的reactive(附Demo)

目录 1. 基本知识2. 用法3. Demo 1. 基本知识 reactive 是一个函数&#xff0c;用于将一个普通的 JavaScript 对象转换为响应式对象 当对象的属性发生变化时&#xff0c;Vue 会自动追踪这些变化&#xff0c;并触发相应的更新 Vue2没有&#xff0c;而Vue3中有&#xff0c;为啥…

Springboot+MybatisPlus如何实现带验证码的登录功能

实现带验证码的登录功能由两部分组成&#xff1a;&#xff1a;1、验证码的获取 2、登录&#xff08;进行用户名、密码和验证码的判断&#xff09; 获取验证码 获取验证码需要使用HuTool中的CaptchaUtil.createLineCaptcha()来定义验证码的长度、宽度、验证码位数以及干扰线…

【2024华为HCIP831 | 高级网络工程师之路】刷题日记(18)

个人名片&#xff1a;&#x1faaa; &#x1f43c;作者简介&#xff1a;一名大三在校生&#xff0c;喜欢AI编程&#x1f38b; &#x1f43b;‍❄️个人主页&#x1f947;&#xff1a;落798. &#x1f43c;个人WeChat&#xff1a;hmmwx53 &#x1f54a;️系列专栏&#xff1a;&a…

uniapp获取当前位置及检测授权状态——支持App、微信小程序

uniapp获取当前位置检测及定位权限——支持App、微信小程序 首先&#xff0c;祝天下母亲&#xff0c;节日快乐~ 文章目录 uniapp获取当前位置检测及定位权限——支持App、微信小程序效果图新增 兼容小程序方法manifest Tips&#xff1a; 上一篇介绍 App端 uniapp获取当前位置及…

C++ requires关键字简介

requires 是 C20 中引入的一个新关键字&#xff0c;用于在函数模板或类模板中声明所需的一组语义要求&#xff0c;它可以用来限制模板参数&#xff0c;类似于 typename 和 class 关键字。 requires关键字常与type_traits头文件下类型检查函数匹配使用&#xff0c;当requires后…