Linux学习笔记。。。

【学习笔记】Linux Linux 阅读详情
2.Linux下C的开发环境
C的开发环境
编辑器:VI,VIM   Vim:tab切换gt   :wq  :q! 保存
编译器:GNU C/C++编译器gcc
调试器:gdb
函数库:glibc
系统头文件:glibc_header
gcc 是GNU推出的多平台编译器,能将C,C++语言源程序编译,连接成可执行文件。
.i为后缀的文件,是已经预处理的C源代码文件
.O  是编译后的目标文件
.s是汇编语言源代码文件


vim dd删除一行   D:删除光标位置到结尾的东西  dw删除一个词
查询命令:/lxt lxt为查找的字符串
替换字符:命令模式下,替换光标所在的字符,先按r,在按要替换的字符
拷贝一行:帮光标移动到该行,按yy ,然后把光标定位到要黏贴的行,在按p键
拷贝多行 nyy  n代表行数


gcc -o hello hello.c
-o  要求编译器给出的输出的可执行文件名为Hello
-c 不产生可执行文件,只要求编译器输出目标代码
-g 要求编译器在编译的过程提供我们以后对程序进行调试的信息。
执行./hello 看到程序输出结果


集成开发坏境IDE:
Kylix:号称Linux 下的dephi
Kdevelop
RHIDE:类似与Turbo C++


Glibc 是必不可少,是Linux下C的主要函数库。
Glibc2 含有几个附加包: LinuxThreads线程,local本地化 ,crypt加密。
Glibc是提供系统调用和基本函数的C库,比如open,malloc ,printf等。所有的动态连接的程序都要用到它。
通过rpm包来安装各种环境包。
gcc包需要依赖binutils和cpp包,make包也是在编译中常用的,一共需要八个包来完成安装。
查看glibc的版本
 ls  /lib/libc-*
查看gcc编译器的版本号  gcc  --version
使用gdb进行调试




对于一个C程序,安装完成后可以分成三个组成部分:
1.可执行文件 2.包含文件 3.库文件
 可执行文件就是最终运行的命令,包含文件是该C程序include的一些定义文件,
库文件则是该C程序库自定义的库。
比如RPM安装的MYSQL数据库
可执行文件放在:/usr/bin下
包含文件:/usr/include/mysql
库文件:/usr/lib/mysql


3.Linux基础


shutdown -h now 关机 (推荐)
shutdown -r now 重启 (推荐)
reboot 快速重启 (跳过sync过程)
init 0 关机  init 6重启
halt系统停机


Linux系统结构:
硬件-->Kernel--->Shell-->外层应用程序


Linux目录结构:
/ 根目录包括:/bin包括系统工具  ,/usr ,/etc,/tmp ,/lib  ,/var  /home 保存用户主目录,/opt
/usr 包括bin ,local,src 
/etc rc.d,rc.d包括:rc3.d, rc5.d, init.d 
/var 包括:named ,httpd, ftp
ftp下包括:bin ,etc ,pub


存放命令的目录:/bin  /sbin   ,/usr/bin应用程序的可执行文件 , /usr/sbin/, /usr/local/bin
/boot 内核以及其他系统所需文件
/opt 安装大的应用程序  /tmp 临时文件    /lost+found系统恢复过程中的恢复文件    /root 超级用户的主目录
/dev -device设备目录  
b---block块设备     c-character字符设备   
Linux的硬件设备对应文件
光驱设备/dev/cdrom
软驱/dev/fd0


/etc配置文件所在目录


启动引导程序/etc/lilo.conf   /etc/grub.conf 多系统引导时,可设置默认启动的系统等等。
控制启动模式 /etc/inittab图形/文本登陆  3文本模式,5为图形模式
文件系统配置 /etc/fstab
/etc/profile 增加环境变量等(修改PATH等) 如配置JAVA/J2EE开发环境
/etc/ftp*  ftp的配置文件
/etc/httpd  web服务器的配置文件
/etc/ssh*  ssh的配置文件


对文件/etc/inittab修改如下:
停止系统:init 0 halt  poweroff  shutdown 
文字界面启动init 3
图形界面启动init 5
单用户模式init 1  init single


/home用户主目录
useradd username 创建新用户
passwd  username 添加密码
/etc/passwd:系统能识别的用户清单,注:纯文本显示加密了的口令,普通用户可读
/etc/shadow:超级用户才能读,用于保护加密口令的安全,即隐藏口令




/lib根目录下的目录
/lib系统所用的库  如C 程序库
/lib/modules/2.4.20-8/kernel/drivers 驱动模块
/usr/lib/应用程序使用的库 如MySql的API


/mnt目录
光驱的装载:  mount -t iso9660 /dev/cdrom/mnt/cdrom
              mount -t 文件类型 设备文件  挂装目录
卸载        unmount   /mnt/cdrom
软驱的使用:  mount -t fstype /dev/fd0 /mnt/floppy 


/usr 用户目录
/usr/doc  /usr/share/doc帮助文档
man命令 查看命令的手册页
info 命令 查看命令的帮助
命令 --help 
/usr/src/linux-2.4.20-8/  Linux 源代码




了解所用硬盘信息
mount所挂装分区
fdisk -l [/dev/had]硬盘分区情况
df -h 硬盘分区的使用情况
du -sh目录占用空间
uname -a 所使用Linux的版本号.




Linux常用命令
mkdir 创建目录
rm -r -f为提示选项,加为不提示 递归删除目录 ,并且不提示
rmdir 删除空目录
pwd 查看当前目录
cd 切换目录
ls(list)-->dir
格式:ls [参数][路径或文件名]
参数:-a -l显示文件的详细信息  -R递归显示所有目录和文件   -d不递归
more/less 文件:查看文件内容
cat 显示所指文件的内容
mv (move)
cp (copy) -f 直接覆盖  -I 提示是否覆盖    —R递归的拷贝




Linux文件类型
特殊文件 设备文件(b,c) 和管道文件(p)
连接文件(l), 目录文件(d)  普通文件(--)
ls -l 查看文件的类型
文件类型对应颜色配置文件:/etc/DIR-COLORS


检查文件系统
fsck 修复磁盘 ,当系统非正常关机,无法进入系统,可以执行fsck修复磁盘。
fsck -p -t ext2 /dev/hda2


改变文件的访问权限
符号标记法 chmod (ugoa)(+-)(rwx)  filename /filelist
     例子:chmod g+w o-x /usr/local/*
数字标记法:4(100)读 , 2(010)写,1(001)执行,0(000)无权限 
例子:chmod 755 /usr/local/*


标准文件
标准输入文件:键盘,所有的打开文件,包括标准文件,以0标志。
标准错误文件:监视器,文件描述符2赋给标准错误文件
标准输出文件:监视器称为标准输出文件,用1来描述


tar打包工具
.tar.gz 表示打包了并且进行压缩.tar.gz
rmp包:RedHat 公司提供的软件包封装格式.rpm
dpkg包:Debian 提供的软件包封装格式.deb


rpm -ivh rpm包 安装rpm包
rpm -Uvh rpm包  升级rpm包
rpm -e rpm包  删除rpm包
rpm -qi 包名称   列出信息  查包信息
rpm -qf 'which 命令'  显示命令所在包
rpm -ql 包名称    列出包中的文件列表


tar cvf home.tar /home  创建tar包,查看详细信息 ,f包的名
tar czvf home.tar.gz  /home   打包进行压缩   
bzip2 filename -->filename.bz2
bunzip filename.bz2
gzip和gunzip
zip和unzip
rar 


cd /进入根目录
cd  ..返回上层目录


创建一个用户就会在home目录下创建一个文件夹




Shell脚本基础


Shell 可以读取一个文件并执行其中的命令。这个文件被称为脚本文件
执行Shell 脚本:要创建一个shell脚本,你要使用任何编辑器编写
为了使用bash shell 来执行脚本magic ,其命令是: bash magic 或 ./magic


echo命令:用与在屏幕上显示消息 
 echo " This is an example of the echo command".
#符号:用于在shell脚本中可以包含注解入口
创建变量:语法:<variable name>=<value> Linux中所有的变量都被当做字符串
引用变量:$符号用于引用一个变量的内容,variable1=${variable2}
读入值给变量:使用read命令,读取用户的输入 ,$ read fanme 从键盘中输入一个值给变量
局部变量:当引用shell时,只有创建它的shell能够知道变量的存在
全局变量:称为子shell,shell中创建的变量局部于创建它的shell,除非使用export命令特别指出是全局的。
环境变量:通过改变这些变量的值,用户能够定制此坏境。如:HOME,PATH,PS1,PS2,LOGNAME,SHLVL,SHELL
echo $HOME 输出当前用户的主目录
PATH:搜索可执行程序的目录
PS1:为提示变量
PS1="HELLO>" 回车 提示符变了
PS2:是为第二个提示符设置值的环境变量。
LOGNAME变量:包含用户注册的名字。
SHLVL变量:该变量包含你当前工作的Shell
SHELL变量:环境变量存储了用户的缺省的shell
env命令:查看现有的环境变量。


命令替换:echo "The date is `date`"
expr命令:用于求值算术表达式  expr 4 + 5 将9显示屏幕上,4前后都有空格。
算术展开:$(())


条件执行:test和[]命令
求值表达式,并返回true(1)或false(0)
串测试test 文件的状态测试都可以用test
exit命令:用户终止shell脚本的执行并返回到$提示符下。
数值测试:-eq:等于则为真  -ne 不等于为真
 -gt:大于为真: -ge:大于等于为真
-lt:小于为真


字符串测试: =:等于为真 ,!=:不等于为真


文件测试:-e 文件名:如果文件存在则为真  
          -r        如果文件存在并且可读为真
           。。。
    -a并且, -o或者,!非


终止后台进程:kill 278
查看一个命令所花的时间:
time find /etc -name "passwd" 2> /dev/null


管道的介绍
垂直跳(|)是管道字符
它指示shell:'|'前面的命令的输出作为'|'之后命令的输入发送
例如:ls -l |more  分页显示
chmod a+x First.sh为所有的用户为文件First.sh添加执行权限


ps查看当前运行的进程


     
Linux学习笔记 这里写目录标题一、概述二、安装虚拟机&购买云服务器三、目录结构四、常用命令系统信息关机 (系统的关机、重启以及登出 )文件和目录文件搜索命令查看进程详细信息五、网络配置六、软件安装七、Vim编辑器八、Java环境搭建 一、概述 Linux 内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大 学上学时出于个人爱好而编写的。 Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个多用户、多任务、支持多线程和多 CPU 的操作系统。 Linux 能运行主要的 U 阅读详情

相关推荐

Linux操作系统原理与应用(陈莉君)——学习笔记

《Linux操作系统原理与应用》作者陈莉君是翻译《深入理解Linux内核》的作者。 虽然我不觉得《深入理解Linux内核》翻译得很好,但是从作者这种为推广Linux内 核而努力的精神还是挺佩服的,因此,这里无私分享出学习《Linux操作系统原理与应用》 的学习笔记。 书中给出了许多代码实例,很适合结合边学习边实践。 该教材还提供实践学习网站:Linux内核之旅 网站中有许多关于Li

xiahouzuoxin 1万+

Linux Glibc(学习笔记五)待续。。。。

内存及字符串 1. calloc(配置内存空间) 相关函数 malloc,free,realloc,brk 表头文件 #include 定义函数 void *calloc(size_t nmemb,size_tsize); 函数说明 calloc()用来配置nmemb个相邻的内存单位,每一单位的大小为size,并返回指向第一个元素的指针。这和使用下列的方式效果相同: mall

wklnewlife的专栏 1036

Linux 学习笔记-汇总篇

Linux 学习笔记-汇总篇

MaFei5200的博客 1455

linux学习笔记(更新中。。。)

快捷键操作: (1)Ctrl+L 或输入命令 clear 表示清屏 (2) Ctrl+C,终止命令 1 ls   查看文件与目录   ls       显示当前文件夹下的未隐藏的文件   ls -a    相当于 ls -all 表示显示所有文件(包括隐藏文件)   ls -A   列出全部文件(连同隐藏文件,但不包括.和..这两个目录)   ls -f   直接列出

瓦尔登湖 637

RT Preempt linux学习笔记

实时操作系统要求在一个触发信号到来之后能够在一个确定的时间点之前进行响应处理。它与普通的非实时操作系统区别在于:普通操作系统的响应延时受系统负载影响较大,轻负载时可能会满足响应的要求,但是在负载变大的时候响应会变慢,并且这个响应时间是不确定的。因此一个足够快的系统不代表是一个实时操作系统,实时系统必须要求在负载变化的情况下依然能够满足确定的响应时间,如果无法在确定的时候下完成响应,那么会导致系统错误。

Justwe的博客 2463

正交试验minitab

1.创建正交试验 2.根据自己的实验选择水平数和因子数,并选定一个正交表 3.得到正交表 4.填写实验结果 5.进行正交分析 点击结果,点击分析 6.得到分析结果 7.方差分析 选择响应变量与因子,点击确定 得到方差分析的结果 ...

a999999123的博客 1万+

linux 学习笔记(持续添加中。。。)

文件属性: suid, sgid scmd:

stream_sz的专栏 414

clang-tidy 使用指南

clang-tidy 需要一个编译数据库来了解如何编译你的代码。编译数据库通常是一个名为 compile_commands.json 的文件。在这个示例中,clang-tidy 会对 test.cpp 文件进行分析,并报告任何潜在的问题。例如,它可能会警告 test 函数中的未使用变量 x。clang-tidy 是一个用于 C++ 代码的静态分析工具,可以帮助你发现代码中的潜在问题和改进点。这将在 build 目录中生成一个 compile_commands.json 文件。

weixin_42244181的博客 2359

用了这么久 Linux ,才知道这些概念。。。

Linux 和 UNIX 中的文件系统是一个以 / 为根的树状式文件结构,/ 是 Linux 和 UNIX 中的根目录,同样它也是文件系统的起点。所有的文件和目录都位于 / 路径下,包括我们经常听到的 /usr、/etc、/bin、/home 等。在早期的 UNIX 系统中,各个厂家都定义了自己文件系统的命名构成,比较混乱,而且难以区分。 为了避免在 Linux 系统上也出现这种命名混乱的问题,在 1994 年推出了 FSSTND(FileSystem Standard) 的 Linux 文件系统层次结构标

程序员cxuan的个人主页 2万+

2023东华大学OJ机试题22-70

东华大学计算机考研复试机试22 约瑟夫环223、整除的尾数24、回文质数25、汽水瓶26、阶乘最后的非0位27、算菜价28、 水果价格29、求奇数的乘积30、求最晚和最早日期31、素数32、计算e33 数字之和34 繁殖问题35 奇妙的数字36 整除的尾数37 黑色星期五38 树39 约瑟夫环40 最大与最小41 环42 求数列项43 最高频率44 三艘船45 回文数46 特殊四位数47 最大值48 数列149 修理牛棚50 按要求输出序列51 部落人乘法52 序列53 双重回文数54 等差数列55 人见人

m0_49263811的博客 2598

实战游戏项目管理1-规划篇

1、前言 做研发管理10多年,进游戏行业8年,经验下来项目管理就是一门技术,结合不同行业不同项目加以不同管理方法,但原理基本一样,这里总结下游戏项目的管理一些实操方法 一般游戏确定立项前都需要做,项目预研产出一个游戏Demo,通过公司的立项评审,这个过程的项目管理相对简单一般由制作人或其他项目经理兼任,只有控制好总体时间与成本就好,这里按立项后开始讲。 2、游戏项目规划 ...

pengdali的专栏 2万+

Linux学习笔记(6)

通过实验结合百度内容,o有t位后,下属目录任何人都可以进行创建,但只能创建人(root除外)删除,只能删除自己创建的文件,不可以删除其他人创建的文件,起到了一种保护作用。-perm -222 -减号 意思为和,222为 -w- -w- -w- 除了w位外其他权限不限制,但ugo中每个都必须要有一个-w-当所有组中有一个s位,在该目录下创建的任何目录/文件都将继承该目录所属组,同时目录下的目录属性的所有者位也有一个s位置。在一堆文字或字符中,执行需要的命令,例如在一堆显示的字符中执行date命令。

kumaocc的博客 1919

PyTorch实战(12)——图神经网络(Graph Neural Network,GNN)

在本节中,我们首先简要概述了图神经网络 (Graph Neural Network, GNN) 的核心概念与应用,GNN 通过构建计算图分层聚合节点特征,解决了传统神经网络处理图数据时的四大局限:信息深度不足、节点顺序敏感、动态扩展困难和特征稀疏性问题。了解了不同类型的图学习任务(包括节点级、边级和图级三大类)。接着我们研究了几种流行的 GNN 模型,包括:GCN (通过权重共享实现图卷积)、GAT (引入注意力机制区分邻居重要性)和 GraphSAGE (采用随机采样应对大规模图)。

盼小辉丶的博客 3626

linux学习笔记

最全学习笔记,部分内容看图片

tzlaa的博客 958

手机直连低轨卫星通信:架构、关键技术和未来展望

【摘 要】借助低轨卫星星座全时全域覆盖优势,手机直连卫星通信预期成为6G重要特征之一。首先介绍了手机直连卫星的测试验证、标准化与商业项目发展现状。其次,介绍了基于透明转发、部分可再生处理、完全可再生处理、集成接入和回传的四种手机直连低轨卫星网络架构及组网方式。通过分析手机直连低轨卫星网络场景下高移动性与大传输时延等带来的接入与传输问题,提出对地面移动通信体制进行适应性改进的关键技术方案。最后,探讨了未来手机直连低轨卫星发展发向和潜在思路。通过上述阐述与分析,提供未来发展手机直连低轨卫星通信的可行路径。【关

fzq0625的博客 1707

爆肝5万字❤️Open3D 点云数据处理基础(Python版)

本文为Open3D 点云数据处理基础教程(Python版),小白也能轻松上手!还等什么呢,学起来!

孙悟空 13万+

Linux学习笔记(2)

rz/szLinux和Windows压缩包互传。

Octopus2077的博客 1911

Modelsim:LPDDR5仿真(含美光仿真模型官方sv&vcs代码)

虽然,三星在设计跟量产上,早于其他家存储产商,但是镁光后来居上了,是业界首家支持全速 LPDDR5 的供应商,并且开发者在做开发的时候,也是用美光颗粒比较多,所以这里就先以美光的仿真模型为主进行仿真。 本工程为美光官方工程,支持Modelsim、VCS、ncverilog三种仿真器仿真。模型破解过,为完整system-verilog代码。

千歌叹尽执夏的博客 1281

学习笔记:Linux入门到进阶

这篇是学习笔记:记录Linux学习过程中的要点疑点和难点。笔记简介:这篇笔记写于2022/09/15。

qq_45743853的博客 6631

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Linux学习笔记(强悍总结值得一看)

Linux学习笔记(强悍总结值得一看) 去发现同类优质开源项目:https://gitcode.com/ 此仓库提供了《Linux学习笔记》资源文件的下载,这是一份非常经典的学习资料,内容全面,条理清晰,适合Linux学习者和爱好者阅读使用。 资源文件中包含了LINUX常用操作命令和命令行编辑快捷键,详细介绍了如下: 终端快捷键 Ctrl + a/Home:切换到命令行开始 Ctrl + e/...

gitblog_06702的博客 806

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Linux下的bomb。。。

      前几天在网上搜索资料,无意间发现一个比较有趣的帖子,题目叫做在Linux如何使CPU使用率达到100%。乍一看觉得发这个帖子的人很无聊,所以我就抱着好奇心去看了看,不敢说受益匪浅,但也了解到了一些自己以前不知道的东西。      可能大家的第一反应和我差不多,都是弄一个一直运行的程序,也就是死循环,然后就妄想可以累死CPU了,但是通过看帖子下面人的留言和自己的试验(Linux下),发现光写一个死循环是远远不够的,因为现在的计算机都是多核运作,一个死循环程序可能只会跑死一个核,在Linux下编写的

Mr.Right 1409

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

外包整整干了一年,废了。。。

先说一下自己的个人情况,大专生,18年通过校招进入湖南某软件公司,干了接近3年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了三年的功能测试,已经让我变得不思进取,谈了2年的女朋友也因为我的心态和工资和我分手了。于是,我决定要改变现状,放眼于今年的金九银十!

一个不太黑的测试人~ 4586

Linux学习笔记1

Linux学习笔记,韩顺平老师版本~

2301_79070677的博客 1659
上一篇: 怎样用USB安装windows 8
下一篇: C 编程总结
xiaoding133
博客等级 码龄19年 415粉丝 159原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值