首页 > 系统相关 >《Unix/Linux系统编程》学习笔记1

《Unix/Linux系统编程》学习笔记1

时间:2022-09-04 22:13:34浏览次数:69  
标签:文件 编程 模式 Unix Linux dirname man

《Unix/Linux系统编程》学习笔记1

第一章 引言

1、本书目标

  • 强化学生的编程背景知识:编程语言->编程开发
  • 动态数据结构应用:C结构、指针、链表、链树
  • 进程概念和进程管理
  • 并发编程:线程的应用
  • 定时器和定时功能
  • 信号、信号处理和进程间通信
  • 文件系统TCP\IP和网络编程

2、Linux常用命令

  • ls:ls dirname:列出CWD或目录的内容。
  • cd dirname:更改目录。
  • pwd:打印CWD的绝对路径名。
  • cat filename:显示文件内容。
  • cp src dest:复制文件。
  • mv src dest:移动或重命名文件。
  • mkdir dirname:创建目录。
  • rmdir dirname:移除(空)目录。
  • rm filename:移除或删除文件。
  • find:搜索文件。
  • zip file.zip filenames:将文件压缩为.zip文件。
  • unzip file.zip:解压.zip文件。

3、Linux文件

(1)文件类型

image

(2)分类

目录文件与非目录文件

非目录文件包含:

  • 常规文件:常规文件也称为“ORDINARY”(普通)文件。这些文件要么包含普通文本,要么包含可执行的二进制代码。
  • 特殊文件:特殊文件是/dev目录中的条目。它们表示I/O设备。

4、Linux常用命令

  • Ctrl+c:强行终止当前程序
  • Ctrl+d:键盘输入结束或退出终端
  • Ctrl+s:暂停当前程序,暂停后按下任意键恢复运行
  • Ctrl+z:将当前程序放到后台运行

5、运行截图

man手册页

man是一个程序,可读取手册页,方法如下

  • man ls:显示man1中ls命令的手册页。
  • man 2 open:显示man2中open函数的手册页。
  • man strtok:显示man3中strtok函数的手册页等。
  • man 3 dirname:显示man3(而非man1)中dirname函数
    ![image](/i/l/?n=22&i=blog/2166633/21. 02209/2166633-20220904212813572-1957282967.png)

第2章 编程背景

1、Linux中的vim文本编辑器

vim分为三种操作模式:

  • 普通模式:按a键或者i键进入插入模式。

  • 插入模式:可以按ESC键回到普通模式。感受

  • 命令行模式:在命令行模式中可以输入会被解释成并执行的文本。

命令行模式下保存文档:从普通模式输入:进入命令行模式,输入w回车,保存文档。

命令行模式下退出vim:从普通模式输入:进入命令行模式,输入wq回车,保存并退出编辑。

除vim外Linux中还有gedit与emacs

2、代码编译器与程序编写

  1. 创建源文件
  2. 用gcc把源文件转换成二进制可执行文件

gcc是一个程序,它可以将C源文件转换为汇编语言文件(.c 文件 -> .s 文件),把汇编代码转换成目标代码(.s 文件 -> .o 文件),链接 (所有 .o 文件 -> a.out 文件)。

3、实操

编写一个简单的输出程序:make 程序

image

感受

通过这两章的学习,我感觉收获到的最大的部分就是较为熟练地使用了vim文本编辑器,并且尝试了不同类型的代码,对从代码到汇编语言再到机器语言的编译过程有了一定的认识,但相关知识尚有不足,还需要进行后续的学习。

标签:文件,编程,模式,Unix,Linux,dirname,man
From: https://www.cnblogs.com/wafmr-123/p/16656187.html

相关文章

  • linux的下载
           ......
  • linux驱动移植-usb键盘接口驱动
    在前面的章节我们已经介绍了usb鼠标驱动的编写,并对usb摄像头驱动源码进行了分析。由于usb键盘驱动和usb鼠标驱动代码非常相似,所以这一节就粗略介绍一下usb键盘驱动的编写。......
  • 如何学习一门新的编程
    工作之后要学习Verilog,从来没有接触过这门语言,于是发起了一个提问:如何学习一门新的编程语言?收到的答案有几种:跟着B站学习,看官方文档,直接用,做几个感兴趣的小项目,还有个姐妹......
  • Linux vim编辑器
    vim编辑器:setnu设置行号底行输入模式:wq储存后离开i进入输入模式Esc退出编辑模式,回到一般模......
  • Unix/Linux系统编程学习笔记-1
    笔记第一章引言一、概述:在第一章引言里,简单介绍了Unix的历史,包括贝尔实验室开发的Unix早期版本、AT&TSystemV以及Unix的其他版本,如BSD、HPUX、IBMAIX和Sun/Solari......
  • 《Unix/Linux系统编程》第一、二章读书笔记
    自学教材1、2章学习笔记一、任务要求学教材第1,2章,提交学习笔记(10分)知识点归纳以及自己最有收获的内容(3分)问题与解决思路(2分)实践内容与截图,代码链接(3分)知识的结构......
  • 《Unix/Linux系统编程》第1,2章学习笔记 20201209戴骏
    一.知识点归纳第一章引言1.本书目标编程背景知识详细介绍了程序开发步骤,包括汇报器、编译器、链接器等。动态数据结构的应用字符串标记化、搜索树节点、插入和......
  • Linux中 .gzip .tar .zip的区别
    目录.gzip.tar.zip引用gzip:一般是用于单文件的压缩。zip/tar:一般是用于整个目录/多文件的压缩.gzip不能保存原文件,不能压缩文件夹输入gzip1.txt后,原文件1.txt变为1.......
  • Linux基础——tmux&vim基础操作
    tmux&vimtmux分屏tmux可以开很多session,每个session可以开很多window,每个windo可以开很多panetmux功能:(1)分屏。(2)允许断开Terminal连接后,继续运行进程。......
  • docker序列之 linux namespace机制
    linuxnamespace机制linuxnamespace机制提供一种资源隔离和虚拟化特性,PID,IPC,Network等系统资源不再是全局性的,而是属于某个特定的namespace。每个namespace下的资源对......