zoukankan      html  css  js  c++  java
  • 第一、二章学习笔记

    Unix/Linux文件系统采用数形组织结构
    5、文件类型
    (1)目录文件:一个目录可能包含其他的目录和(非目录)文件。
    (2)非目录文件
    ①常规文件:包含普通文本或包含可执行的二进制代码。
    ②特殊文件:特殊文件时/dev目录中的条目。
    (3)符号链接文件:属于常规文件,其内容为其他文件的路径名。
    Linux命令 ln -s aVeryLongFileName myLink
    可创建一个符号链接文件“myLink”,指向“aVeryLongFileName”。
    6、Unix/Linux文件系统树的根节点(用“/”符号表示)称为根目录,或简称为根。文件系统树的每个结点都有以下表单的路径名指定:
    /a/b/c/d OR a/b/c/d
    以“/”开头的路径名为绝对路径名,反之则为相对于进程当前工作目录(CWD)的相对路径名。
    pwd可以打印CWD的绝对路径名

    Unix/Linux命令

    • ls:ls dirname:列出CWD或目录的内容
    • cd dirname:更改目录
    • pwd:打印CWD的绝对路径名
    • touch filename:更改文件名时间戳(如果文件不存在,则创建文件)
    • cat filename:显示文件内容
    • cp src dest:复制文件
    • mv src dest:移动或重命名文件。
    • mkdir dirname:创建目录
    • rmdir dirname:移除(空)目录
    • rm filename:移除或删除文件
    • ln oldfile newfile:在文件之间创建链接
    • find:搜索文件
    • grep:搜索文件中包含模式的行
    • ssh:登录到远程主机
    • gzip filename:将文件压缩为.gz文件
    • gunzip file.gz:解压.gz文件
    • tar -zcvf file.tgz .:从当前目录创建压缩tar文件
    • tar -zxvf file.tgz:从.tgz文件中解压文件
    • man:显示在线手册页
    • zip file.zip filenames:讲问价压缩为.zip文件
    • unzip file.zip:解压.zip文件

    Linux手册页

    第二章:编程背景

    第二章主要讲述了系统编程所需的背景信息:介绍了基于GUI的文本编辑器(这个在大二下学java时有所涉及);展示了如何在命令和GUI模式下使用EMACS编辑器来编辑、编译和执行C语言程序;并且向我们阐述了程序开发的步骤;详细阐释了函数调用惯例和运行时堆栈的使用;展示了C语言程序与汇编代码的链接;学会运用GUNmake工具编写makefile;提及了如何使用GDB调试工具调试C语言程序,并防止出现调试过程中出现的常见错误;复习了C语言中的结构和指针。以及数据结构中的二叉树模拟Unix/Linux文件系统树中的操作等。

    **

    Linux中的文本编辑器

    **

    vim

    1. h:将光标左移一个字符
      l:右移一个字符
      j:下移
      k:上移
    2. 用户必须输入i(插入)或a(追加)命令将vim切换到插入模式
    3. 输入“:”进入末行模式,将文本保存为文件或退出vim
      :w:写入(保存)文件
      :q:退出vim
      :wq:保存并退出
      :q!:不保存更改,强制退出

    在 WYSIWYG编辑器中,用户可以输入文本,用箭头键移动光标,和普通的文本输入一样。通常,通过输入一个特殊的meta键,接着输入一个字母键即可创建命令。例如:
    Ctrl+C:中止或退出。
    Ctrl+K:删除行到缓冲区。
    Ctrl+Y:从缓冲区内容中复制或粘贴。
    Ctrl+S:保存已编辑文本等。

    gedit
    gedit是 GNOME桌面环境默认的文本编辑器。它是 Ubuntu及其他使用 GNOMEGUI用户界面的 Linux的默认编辑器,包含用于编辑源代码和结构化文本(如标记语言)的工具。

    emacs
    emacs( GNU Emacs2015)是一款强大的文本编辑器,可在多个不同的平台上运行。最受欢迎的 emacs版本是 GNU Emacs,可在大多数 Linux发行版中使用。以上所有编辑器都支持直接输入和全屏模式下的文本编辑。它们还支持关键词搜索,可用新文本替换字符串。要使用这些编辑器,用户只需要学一些基础知识即可,比如如何启动编辑器,输入文本进行编辑,将编辑后的文本保存为文件,然后退出编辑器。

    程序开发步骤

    **

    问题及收获

    **
    c语言结构体

    c语言结构体类型由struct关键字定义。

    Next:指向下一个节点结构体的指针

    Key:一个整数

    Name:一个由64个字符组成的数组

    此类结构体可定义为:

    Sruct node{

    Struct node *next:

    Int key:

    Char name[64]:

    }

    Struct node可作派生类型来定义该类型的变量。

    注:定义c语言结构体时,该结构体的每个字段都必须具有一个编译器已知的类型,但自引用指针除外。一个结构体的大小可以由sizeof(struct type)确定。

    链表

    Typedef struct node{

    Struct node *next;

    Int value;

    Char name[];

    }NODE;

    链表是一种由一系列节点组成的数据结构,这些节点通过节点的next指针链接在一起,即每一个节点的next指针指向列表中的下一个节点。

    <![if !supportLists]>(3)<![endif]>树和二叉树

    最简单的树是二叉树,其每个节点都有两个指针,分别是左指针和右指针。

    Typedef sruct node{

    Int key;

    Struct node *left;

    Struct node *right;

    }NODE;

    二叉树的遍历算法

    先序遍历:node;node.left;node.right

    中序遍历:node.left;node;node.right

    后序遍历:node.left;node.right.node

    深度优先(DF)

    广度优先(BF)

  • 相关阅读:
    用PHP写一个最简单的解释器Part4(写一个最简单的脚本语言)
    Java 引用传递
    Java 收集的代码 transient
    Java 继承 执行顺序
    Java 静态类 static
    Java 多态 虚方法
    Mongodb 安装
    入手Intel 750
    Intellij IDEA 创建控制台项目,断点调试快捷方式
    IntelliJ IDEA 的 Java 热部署插件 JRebel 安装及使用
  • 原文地址:https://www.cnblogs.com/kevin-hw/p/15267005.html
Copyright © 2011-2022 走看看