欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux C语言高级学习第一天(Linux操作系统与操作)

程序员文章站 2022-06-06 17:05:51
...

Linux系统&C语言高级

(3+5)天

Linux系统

        操作系统的发展简史(命令行交互-->鼠标交互-->触摸屏交互-->语音交互)

        内核   

            :7个组件

        shell

            shell命令

                通配符

                管道符

                输入输出重定向符

        文件系统

                inode(重点)

 

C语言高级

         函数

         指针

         结构体

         Make工程管理器


Linux系统(3天)

历史:

差分机-->打孔纸带----历史上第一个计算机程序(12月10日,程序员节)

第一台计算机——使用继电器

 

软件层面的发展:AT&T公司贝尔实验室   伯克利分校(二者的合作)为打造能让人偷懒的工程

1970年0月0日0时0分0秒,所有计算机系统的计时0点

为什么C语言叫C语言??

:因为Dennis Ritchis 完成语言后的改版,A语言到B语言,最后才完成了C语言

Linux 发明:Linus Benedict Torvalds (1969年~

1991年4月,自己搞了一套操作系统 Linux 开源免费

GNU:革奴计划

stallman 1983 *软件联盟   铃牛

Linux操作系统结构:

Linux C语言高级学习第一天(Linux操作系统与操作)

主要包括:系统资源、Kernel、shell、文件系统

安装包  和  Apt

※Debian系统首次提出了“软件包”的管理机制---deb软件包

※Redhat系统---rpm软件包

如何来安装一个软件包--apt

可以在线安装软件

工作原理———>镜像服务器(每24小时更新一次,每一个镜像服务器都有一个索引表)

e.g :apt-get install PUBG-->APT访问服务器(先访问索引表-->将软件和软件的依赖全打包)-->下载到本地(软件包和以来文件)

apt-get  可选项  软件包名

               install  安装

               remove 卸载

               autoremove  自动卸载

.....

sl--小火车 cmatrix--弹幕矩阵 xchat--在线聊天室 cowsay--老牛说 xcowsay--图形化老牛说 fortune-zh--唐诗三百首 

Linux内核的七大组件

Linux C语言高级学习第一天(Linux操作系统与操作)

1.系统调用:操作系统给程序员提供的编程接口

2.进程管理器:进程的开辟、调度、消亡、等等……

3.虚拟文件系统:不是文件系统,是管理文件系统的文件系统,不管理文件(第四门课进行详细讲解)

4.内存管理器:有关于内存的管理(指针)(进程)

5.网络协议栈:

6.Arch:匹配底层硬件,把所有的不一样的硬件处理都统一化(在第二期课程:系统移置)

7.驱动管理器:专门管理驱动的管理器(二期学习)

shell

作用:保护内核,提供操作窗口,应用软件只能跟shell进行交互

起源于命令行的年代

Linux C语言高级学习第一天(Linux操作系统与操作)

(简答题)

如何播放一首音乐:音乐文件,音乐播放器,声卡驱动,声卡

1.Bourne Shell

2.C Shell

3.Korn Shell

4.Bourne Again Shell(BASH)

(重点)通配符、管道符、输入输出重定向符

1.通用匹配符号(正则表达式)

*      匹配多个字符

?    匹配一个字符

[]     匹配方括号里的一个字符一个字符一个字符  [1234]

[1-4]匹配方括号方位内的字符

[^]   匹配一个除了方括号里的内容[^24]

2.管道符   |

上一个命令的输出作为下一个命令的输入

fortune-zh | cowsay
ls | wc -w                        //查询这个文件夹下有多少个文件
cat text.c | Wc -l                //查询这个text.c有多少行
last | grep linux                 //在最近登陆中,把Linux的登陆信息筛选出来
cat text.c | grep printf          //显示textt.c中的 printf(grep -v printf  除了带有printf的都输出)
echo $PATH | cut -d ':' -f 5      //以:为分割符,取第五段(5-  表示第五段之后的)

grep : 查找关键字     grep -v  : 舍弃关键字

环境变量:env   查看环境变量(第三天详细讲)

$PATH:当前shell默认搜索位置

cut:切割字符串        -d:指定分隔符        -f:切割之后输出第几片段

3.输入输出重定向符

>            输出重定向(新建模式)相当于覆盖原文件

>>          输出重定向(追加模式)

<            输入重定向

2>          错误重定向  把错误内容定向写入某个文件里

 

PS :less/more : 分屏显示文件内容

        head/tail : 显示文件开头/结尾

        sort : 将文件内容排序后输出

                  -r: 反序

                  -R:随机顺序

        uniq :省略文件中相邻的重复行

                -c:统计重复行的出现次数

                -d:报告出现的重复行

                -u:只会输出未重复的行

        diff:比较两个文件    若两个文件都是文本文件则会输出两个不同的文本,没有差异就不会输出;若两个都是目录,则会输出两个目录内文件的差异

        file:判定文件类型

        echo :显示文本

                -n:输出文字不换行

                -e:开启转义字符(可以使用\t :水平制表符、\v :垂直制表符、\n :换行符)

        date:显示时间/设置系统时间

                -u:UTC:世界协调时-->1900年前世界时间用格里尼治时间,0°经线(本初子午线),为什么会出24个时区,①地球不透明②自转;美国跨四个时区,中国跨五个时区;;1900年之后,用铯原子钟的时间,不受任何因素的影响,北京时间-->铯原子钟时间+8(中国国家授时中心:西安)

结合基础篇第一天学习:https://blog.****.net/nan_lei/article/details/80975470

Linux C语言高级学习第一天(Linux操作系统与操作)

相关标签: Linux C Plux