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

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操作系统与操作)_第1张图片

主要包括:系统资源、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操作系统与操作)_第2张图片

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

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

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

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

5.网络协议栈:

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

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

shell

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

起源于命令行的年代

Linux C语言高级学习第一天(Linux操作系统与操作)_第3张图片

(简答题)

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

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.csdn.net/nan_lei/article/details/80975470

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

你可能感兴趣的:(Linux)