Linuxl下C编程系列--基础知识及基本命令

console的基本配置 【代码】console的基本配置。 阅读详情

Linux下C开发
编辑器:VI
编译器:选择GNU C/C++编译器gcc
调试器:应用广泛的gdb
函数库:glibc
系统头文件:glibc_header

若想开发图形界面,还需选上GNOME(c)/KDE(c++)软件开发
IDE:(大多数人还是直接使用gcc)
Kylix:号称Linux下的Dephi
Kdevelop
RHIDE:类似Turbo C++  (很少人使用)

要构架一个完整的C开发环境,Glibc是必不可少的,它是linux下C的主要函数库
Glibc2含几个附加包:LinuxThreads,locale和crypt
Glibc是提供系统调用和基本函数的C库,比如open,malloc,printf等,所有动态链接的程序都要用到它

缺少了系统头文件(glibc_header)的话,很多用到系统功能的C程序将无法编译

由于gcc包需依赖binutils和cpp包,另外make包也是常用的,所以一共需要8个包来完成安装:
cpp.rpm
binutils.rpm
glibc.rpm
glibc-kernheaders.rpm
glibc-common
glibc-devel.rpm
gcc.rpm
make.rpm

基本命令

查看glibc的版本:
ls /lib/libc-*
查看gcc版本好
gcc --version

控制启动模式/etc/inittab
关机shutdown -h now
重启shutdown -r now
停止系统 init 0  halt poweroff shutdown
重启系统 init 6 reboot
文字界面启动 init 3
图形界面启动 init 5
单用户模式 init 1


用户的默认主目录 /home/username
useradd username 创建新用户
passwd username 添加密码

光驱的装载
mount -t iso9660(可省略) /dev/cdrom /mnt/cdrom
卸载(养成习惯)
umount /mnt/cdrom
软驱的使用
mount -t fstype /dev/fd0 /mnt/floppy
fdisk -l [/dev/had] 硬盘分区状况
df -h 硬盘分区的使用情况
du -sh 目录占用空间
uname -a所用linux版本号
mkdir 创建目录
rm -r -f 递归删除目录,并且不提示
rmdir 删除空目录
pwd 查看当前目录
cd 切换目录
ls 查看文件 -a(所有,包括隐藏文件) -l(详细) -r(递归显示) -d(不递归)
more less 文件名 查看文件内容
cat 显示文件内容
mv (src)(dst)
cp -f(直接覆盖) -I(提示) -R(递归)  (src)(dst)
man 命令  查看命令的手册页
info 命令 查看命令的帮助
命令 -help

当系统非正常关机,可能无法进入系统,这是可以执行fsck修复磁盘

如:fsck -p -t ext2 /dev/hda2

文件

文件类型
普通文件(-): 文本文件和二进制文件
目录文件(d):目录也是文件
特殊文件:块设备文件(b),字符设备文件(c)。软链接(快捷方式)和硬链接(文件拷贝),和管道文件

find 路径,不指明路径表示从根目录开始查找 -name -size -tpye
locate 查找
grep [选项] 查找模式  文件名   //匹配查找
-n 显示匹配行号
-I 忽略大小写
-r 递归查找

文件目录的权限
rwx  (读,写,执行)
chmod改变文件访问权限
chmod  (ugoa)(+-=)(rwx) filename  (u拥有者,g组,o其他用户,a所有用户)
-rw-r--r--
第一个表示文件类型(-表示普通文件)
文件接下来9个,表示文件拥有者,拥有者所在在组,其他用户的权限。各三位表示

diff找出两个文本文件的差异
cmp比较任意两个文件

网络、打包、压缩、进程、管道等命令

ifconfig:相当于windows下的ipconfig
ping:
netstat > a.txt 把网络状况重定向到文件a.txt

rpm -qi a.rpm  查询a.rpm是否已安装
rpm -ivh a.rpm 安装a.rpm

tar 用于打包和压缩
tar -cvf a.tar /home 打包home目录下为a.tar
tar -xvf 解包
tar -tvf 查看包内容
tar -czvf a.tar.gz  /home 打包并压缩home目录下为a.tar.gz
tar -xzvf a.tar.gz  解开

查看当前进程ps
删除进程 kill PID号

ctrl+c 强制退出
find /etc -name passwd (加上一个&,则它会在后台运行)

time find /etc -name passwd 用了多少时间

ls -l /etc | more分页(空格/回车下一页,|是管道) 

TP4056锂电池充电电路设计原理与工程实践 锂离子电池充电管理是嵌入式电源系统的核心基础技术,其本质是通过恒流恒压(CC/CV)控制策略,匹配电池电化学特性以实现安全、高效、长寿命充放电。TP4056作为典型线性充电IC,以精简外围实现预充、恒流、恒压及自动截止全周期管理,但受限于线性拓扑的热耗散特性,必须协同散热设计、电阻精度选型与PCB布局进行系统级优化。该方案广泛应用于STM32智能小车、便携传感器节点等3.7V单节锂电供电场景,兼顾成本、可靠性与工程可实施性,是入门嵌入式硬件电源设计的关键实践范例。 阅读详情

相关推荐

基于FPGA的DDS信号发生器

之前的博客讲到了DDS的基本原理,现在用Verilog代码实现DDS,能够产生四种波形,方波,三角波,正弦波,锯齿波,用按键来控制频率和选择波形。其中按键消抖模块来自小梅哥的FPGA自学笔记设计与验证这本书。 module DDS_Module( Clk, Rst_n, EN, Fword, Key1, Pword, DA_Clk, DA_Data ); input Clk...

qq_43534451的博客 9950

Linux命令 ls -l s输出内容含义详解

1. ls 只显示文件名或者文件目录 2.ls -l(这个参数是字母L的小写,不是数字1) 用来查看详细的文件资料 在某个目录下键入ls -l可能会显示如下信息: 文件属性(占10个字符空间) 文件数 拥有者 所属的group 文件大小 建档日期 文件名   d...

weixin_30622107的博客 4506

基于Jira与Confluence的企业知识库AI助手构建实战

检索增强生成(RAG)技术通过结合信息检索与大型语言模型,有效解决了AI在专业领域知识不足的问题。其核心原理是将外部知识库(如企业文档)进行向量化存储,在用户提问时进行语义检索,并将相关上下文注入提示词中,从而生成精准、有据可依的回答。这一技术架构在工程实践中价值显著,它无需重新训练模型即可让AI掌握特定领域的专业知识,大幅提升了回答的准确性与实用性。典型的应用场景包括智能客服、企业内部知识问答以及代码辅助等。本文以开源项目`dev-kostiuk/jira-confluence-ai-context`为例

weixin_42520448的博客 368

linux命令详解

每天一个linux命令目录   开始详细系统的学习linux常用命令,坚持每天一个命令,所以这个系列为每天一个linux命令。学习的主要参考资料为:   1.《鸟哥的linux私房菜》   2.http://codingstandards.iteye.com/blog/786653   3.linux命令五分钟系列    4.其他互联网资料,google,baidu等搜索

谷风山音的专栏 1823

FCKeditor 2.6.4 php版本任意文件上传——漏洞复现

一、漏洞描述 FCKeditor是目前最优秀的可见即可得网页编辑器之一,它采用JavaScript编写。具备功能强大、配置容易、跨浏览器、支持多种编程语言、开源等特点。它非常流行,互联网上很容易找到相关技术文档,国内许多Web项目和大型网站均采用了FCKeditor。 Fckeditor 低于 2.6.4 php 版本任意文件上传漏洞,当您的PHP环境配置为 GPC = Off 时可绕过currentfolder参数过滤上传脚本木马控制网站服务器 二、漏洞原理 漏洞版本:<=2.6.4 三、环境搭建

W小哥 1万+

重回童年的经典系列☀️|【炸弹人小游戏】制作过程+解析 | 收藏起来跟曾经的小伙伴一起梦回童年!

Unity,小游戏开发。 本篇文章对童年经典小游戏——炸弹超人进行制作和解析。不知道有没有勾起你童年的回忆呢!快来和我一起制作这个童年经典的小游戏吧! 敬请品尝!

努力前行,总会成为自己心中的那道光 13万+

Linux最全命令详解

Linux基本命令一、文件基本操作命令1. ls命令2. pwd命令3. mkdir命令4. cd命令5. touch命令6. cp命令7. mv命令8. rmdir命令9. rm命令10. cat命令11 . more和 less命令12. head命令13. tail命令二、用户、组管理命令1. groupadd命令2. useradd命令3. userdel命令4. group...

QLH的博客 1360

交换机端口模式详解:Access、Hybrid、Trunk

交换机是网络中至关重要的组件之一,用于连接各种设备并启用数据的高效流动。为了更好地管理和控制网络流量,交换机提供了不同的端口模式,其中包括Access、Hybrid和Trunk。本文将深入探讨这三种端口模式,详细解释它们的配置、特性和应用场景,以帮助网络管理员更好地理解和优化网络架构。

网络技术联盟站 4016

Linux常用命令汇总及示例

一、认识Linux系统及基础命令 1 构成 2 重要的二级目录 3 基础命令 二、文件管理命令:Linux中没有后缀之分 1 增:mkdir touch 2 删、清空 3 改:vim 3.1 命令模式:刚刚打开时进入命令模式 3.2 插入模式:在命令模式中按i,进入插入模式 3.3 最后行模式:在命令模式下,按shift+:,进入最后行模式 4 查:more、cat、less、hea...

fuyun6363的博客 2万+

FPGA打砖块游戏设计(有上板照片)VHDL

这是一款经典打砖块游戏,我们的努力让它更精致更好玩,我们将它取名为打砖块游戏(Flyball),以下是该系统的一些基本功能: 画面简约而经典,色彩绚丽而活泼,动画流畅 玩家顺序挑战3个不同难度的级别,趣味十足 计分功能,卡通字母数字 4条生命值,由生命条显示 游戏结束画面,缓缓浮起与缤纷刷色的特效 四键操作,可复位,可暂停,高灵敏 96块砖拼出可爱的“囧”字,方便更改 碰挡板非镜面反射 初始启动,随机的发射速度。

QQ_778132974的博客 1662

Unity插件NodeCanvas之行为树的详细教程

NodeCanvas 是一个用于 Unity 的可视化脚本工具,主要用于游戏开发中的行为树、状态机和流程图的设计。它通过节点编辑器的方式,让开发者可以更直观地创建和管理游戏逻辑,减少了传统编码的复杂性。今天我们就来详细介绍一下NodeCanvas插件。

TxNet 1962

Linuxl下C编程系列--Shell(续)

shell的输入与输出主要包括:echo命令read命令cat命令管道tee命令标准输入、输出和标准错误重定向echo [-e] [-n]  stringstring : 字符串,可以含 shell 变量、转义符等,  一般用双引号括起来-e :  让 echo 解释 string 中的转义符-n :  禁止 echo 输出后输出 NEWLINE(换行)cat [-n][-b][-t][-

Nicholas黎的专栏 2183

【24E】SWT6652 wifi驱动加载失败问题分析及解决方案

修改驱动配置Kconfig。是由于内存分配失败导致。

wgl307293845的博客 219

Linuxl下C编程系列--Shell

shell脚本(.sh):类似windows下的批处理bat.文件比批处理强大,已经是一强大的编程语言了。echo "please enter your name:";read fname;echo ${fname}   //{}可以省略默认数据类型为 字符类型env 查看环境变量echo $HOME  查看当前用户目录echo $PATH./执行;也可以修改vi /etc/pro

Nicholas黎的专栏 1248

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Linuxl下C编程系列--C语言(容易疏忽的问题)l

编译预处理三种预处理命令1.宏定义2.包含文件 #include3.条件编译定义 #define S(a,b) a*b引用 S(a+c,b+c)展开 a+c*b+c条件编译#define DEBUG  //调试版本,在发布版本中把这句删除,那么程序中调试部分不会起作用情况一:#if常量表达式 程序段1#else 程序段2#endif情况二:#ifef 标识符       //是

Nicholas黎的专栏 1450

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

linux下的c语言控制灯闪烁,Linuxl下C编程系列--C语言(容易疏忽的问题)l

编译预处理三种预处理命令1.宏定义2.包含文件 #include3.条件编译定义 #define S(a,b) a*b引用 S(a+c,b+c)展开 a+c*b+c条件编译#define DEBUG //调试版本,在发布版本中把这句删除,那么程序中调试部分不会起作用情况一:#if常量表达式程序段1#else程序段2#endif情况二:#ifef 标识符 //是否已经定义程序段1#...

weixin_36051064的博客 214

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

C 语言快速入门,21 个小项目足矣!「不走弯路就是捷径」

C 语言作为大学理工科专业的必修,是很多同学走进编程世界的第一课。那么怎样才能更好的入门 C 语言呢? 下面整理了 21 个 C 语言练手项目,从基础语法开始,逐步深入,通过一个个练手项目,让你轻松驰骋在 C 语言的快车道。不走弯路就是捷径! 1.《C语言入门教程》:引入大量的 C 语言程序案例,把算法和语法结合起来,通过引导大家由浅入深地编写 C 程序,让大家掌握 C 语言。将从中学会 C 语...

实验楼--动手做实验,轻松学IT! 476

Androi--Linux下的常用命令行

Androi--Linux下的常用命令行 安卓下面有个软件叫终端模拟器,其实就是Linux下的命令行,使用这些命令能有效处理问题。 基本知识 “/”,这个英文字母斜杠指的是根目录,类似Windows的C:\,但是Linux下只有一个根目录,所有的文件系统、设备都会挂载在这个目录或者它的子目录之下。“~”,这个符号指的是当前用户的家目录,比如root用户的家目录是“/root”

Navan 882

【linuxl】inux随记--共享内存

其他文件 sem.h sem.c跟system-V 信号量中的文件一样。成功:共享内存首地址。

olllp的博客 274

linux常用保存命令全集,Linux常用命令大全 (自动保存的)

Linux常用命令大全 (自动保存的) (130页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!49.9 积分arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda ...

weixin_35112750的博客 1375

Vim 常用命令

vim vim 编辑器常用命令,命令均在normal模式下可用,非编辑模式。 插入 i 在光标前插入 I 当前光标首行 a 在光标后插入 A 当前光标最后行尾 O 当前光标上一行插入新的 o 在光标处换行插入 缩进 :>> / :> 右缩进 :<< / :< :m,n> m到n行缩进 :m>(n-m + 1) :m>n / :m,m+...

EZ 260

Linux学习(一)常用命令(文件操作、目录、ip、开关机等)

ls –la: 参数解释: -a显示所有文件(包括隐藏文件,隐藏文件一般以.开头) -l 显示详细信息 cd / 切换到根目录 cd … 回到上级目录 pwd 查看当前路径位置 touch 文件名 创建新文件 mkdir dirname 创建目录 mkdir –p dirname/dirname/dirname 创建多级目录 cp file1 /usr/local 将file1 复制到 /us...

自律 227

linux常用命令详解

top:查看系统运行情况,可观察系统总cpu、内存以及各个进程cpu、内存使用情况。-c:次数 -i:每次间隔时间。-a (all) # 显示所有选项,默认不显示LISTEN相关。-l # 仅列出有在 Listen (监听) 的服务状态。防火墙关闭 service iptables stop。-n # 拒绝显示别名,能显示数字的全部转化成数字。查看所有tcp相关端口:netstat -tnp。-t (tcp) # 仅显示tcp相关选项。-u (udp) # 仅显示udp相关选项。

chenjxj123的博客 314

Linux c程序中获取shelll脚本输出

Table of Contents 1. 前言 2. 使用临时文件 3. 使用匿名管道 4. 使用popen 5. 小结 1. 前言 Unix界有一句名言:“一行shell脚本胜过万行C程序”,虽然这句话有些夸张,但不可否认的是,借助脚本确实能够极大的简化一些编程工作。比 如实现一个ping程序来测试网络的连通性,实现ping函数需要写上200~300行代码...

linux 编程 88

Linux 常用命令全拼

为什么80%的码农都做不了架构师?>>> ...

weixin_34257076的博客 98

linux下C语言实现睡眠理法师问题

这里修改了来自http://blog.youkuaiyun.com/khwkhwkhw/article/details/49798695#cpp代码,增加了些特性#include #include #include #include #include #include #include //http://blog.youkuaiyun.com/khwkhwkhw/article/details/49798695 #d

好记性不如烂笔头 3320
上一篇: 数据库复习及Oracle学习
下一篇: Linuxl下C编程系列--Shell
Image_Graphics
博客等级 码龄20年 18粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值