自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

GUI1259802368的博客

本博客的主要作为自己的学习笔记,并不是以教授知识为目的。如果有人能从我的博客中学到东西,我很高兴。有人发现文章中有不对的地方,也欢迎大家纠正。

  • 博客(20)
  • 收藏
  • 关注

原创 Linux程序设计:位置参数

程序需要一种接受和处理命令行选项和参数的能力。访问命令行shell 提供了一个称为位置参数的变量集合,这个集合包含了命令行中所有独立的单词。这些变量按照从0 到9 给予命名。可以以这种方式讲明白:#!/bin/bash# posit-param: script to view command line parametersecho "\$0 = $0\$1 = $1\$2 ...

2017-04-18 21:03:37 1200

原创 Shell for循环

       for 循环也是一种shell 循环构造,。for 循环不同于while 和until 循环,因为在循环中,它提供了一种处理序列的方式。这证明在编程时非常有用。因此在bash 脚本中,for 循环是非常流行的构造。实现一个for 循环,很自然的,要用for 命令。在现代版的bash 中,有两种可用的for 循环格式。for:传统shell 格式原来的for 命令语法是:...

2017-04-18 20:28:33 699

原创 Linux程序设计:case分支

       使用一系列的 if 命令来识别哪一个可能的选项已经被选中。这种类型的构造经常出现在程序中,出现频率如此之多,以至于许多编程语言(包括shell)专门为多选决策提供了一种流程控制机制。caseBash 的多选复合命令称为case。它的语法规则如下所示:case word in       [pattern [| pattern]...) commands ;;]......

2017-04-18 10:51:33 641

原创 空字符与空格字符、NULL、空字符串

在前面的学习中,我们开发了菜单驱动程序,来产生各种各样的系统信息。虽然程序能够运行,但它仍然存在重大的可用问题。它只能执行单一的选择,然后终止。更糟糕地是,如果做了一个无效的选择,程序会以错误终止,而没有给用户提供再试一次的机会。如果我们能构建程序,以致于程序能够重复显示菜单,而且能一次由一次的选择,直到用户选择退出程序,这样的程序会更好一些。在这一章中,我们将看一个叫做循环的程序概念,其可用

2017-04-18 08:51:03 3409

原创 Shell读取键盘输入

       脚本需要在大多数计算机程序中都很常见的功能——交互性。也就是,程序与用户进行交互的能力。虽然许多程序不必是可交互的,但一些程序却得到益处,能够直接接受用户的输入。以下面的脚本为例:#!/bin/bash# test-integer2: evaluate the value of an integer.INT=-5if [[ "$INT" =~ ^-?[0-9]+$ ]];...

2017-04-17 19:43:20 5194

原创 C语言 流操作函数

Shell 函数Shell 函数可以看做是位于脚本中的“微脚本”,Shell 函数有两种语法形式:function  name {           commands           return}andname () {        commands        return}这里的name 是函数名,commands 是一系列包含在函数

2017-04-17 18:49:11 755

原创 Linux 启动一个项目

这个项目的目的是为了了解怎样使用各种各样的shell 功能来创建程序,更重要的是,创建好程序。我们将要编写的程序是一个报告生成器。它会显示系统的各种统计数据和它的状态,并将产生HTML 格式的报告,所以我们能通过网络浏览器,比如说Firefox 来查看这个报告。通常,创建程序要经过一系列阶段,每个阶段会添加新的特性和功能。我们程序的第一个阶段将会产生一个非常小的HTML 网页。第一阶段:最小文

2017-04-17 11:11:18 2437

原创 Linux 编写一个简单的Shell脚本

       如果我们想让shell 来完成更多的工作,通过把我们的工具一起放置到我们自己设计的程序中,然后shell 就会自己来执行这些复杂的任务序列。通过编写shell 脚本,我们让shell 来做这些事情。什么是shell 脚本       最简单的解释,一个shell 脚本就是一个包含一系列命令的文件。shell 读取这个文件,然后执行文件中的所有命令,就好像这些命令已经直接被输入...

2017-04-16 21:31:00 25353 1

原创 Linux vi简介

启动和停止vi要想启动vi,只要简单地输入以下命令:[me@linuxbox ~]$ vi一个像这样的屏幕应该出现:VIM - Vi Improved....要退出vi,输入下面的命令(注意冒号是命令的一部分)::qshell 提示符应该返回。如果由于某种原因,vi 不能退出(通常因为我们对文件做了修改,却没有保存文件)。通过给命令加上叹号,我们可以告诉vi 我们真

2017-04-16 09:14:46 633

原创 Linux shell环境

当我们登录系统后,启动bash 程序,并且会读取一系列称为启动文件的配置脚本,这些文件定义了默认的可供所有用户共享的shell 环境。然后是读取更多位于我们自己家目录中的启动文件,这些启动文件定义了用户个人的shell 环境。精确的启动顺序依赖于要运行的shell 会话类型。有两种shell 会话类型:一个是登录shell 会话,另一个是非登录shell 会话。登录shell 会话会提示用户输

2017-04-15 21:41:10 935

原创 Linux中的ln-创建链接

ln 命令既可创建硬链接,也可以创建符号链接。可以用其中一种方法来使用它:创建硬链接 ln file link,和创建符号链接 ln -s item link,“item”是一个文件或者是一个目录。硬链接硬链接和符号链接比起来,硬链接是最初Unix 创建链接的方式,而符号链接更加现代。在默认情况下,每个文件有一个硬链接,这个硬链接给文件起名字。当我们创建一个硬链接以后,就为文件创建了一

2017-04-14 15:01:53 962

原创 Linux通配符

在开始使用命令之前,我们需要介绍一个使命令行如此强大的shell 特性。因为shell 频繁地使用文件名,shell 提供了特殊字符来帮助你快速指定一组文件名。这些特殊字符叫做通配符。使用通配符(也以文件名代换著称)允许你依据字符类型来选择文件名。下表列出这些通配符以及它们所选择的对象:通配符       意义*          匹配任意多个字符(包括零个或一个)?

2017-04-14 14:32:39 457

原创 Linux常用命令行3

文本处理cat:连接文件并且打印到标准输出sort:给文本行排序uniq:报告或者省略重复行cut:从每行中删除文本区域paste:合并文件文本行join:基于某个共享字段来联合两个文件的文本行comm:逐行比较两个有序的文件diff:逐行比较文件patch:给原始文件打补丁tr:翻译或删除字符sed:用于筛选和转换文本的流编辑器aspell:交互式

2017-04-13 09:50:19 440

原创 正则表达式在linux中的应用

正则表达式是一种符号表示法,被用来识别文本模式。在某种程度上,它们与匹配文件和路径名的shell通配符比较相似,但其规模更大。许多命令行工具和大多数编程语言都支持正则表达式,以此来帮助解决操作文本的问题。不同工具和语言之间的正则表达式都略有差异,我们将会限定POSIX标准中描述的正则表达式(其包括了大多数的命令行工具),供我们讨论,与许多编程语言相反,它们使用了更多和更丰富的符号集。grep

2017-04-11 15:13:57 701

原创 Linux常用命令行2

Linux 内核通过使用进程来管理多任务,通过进程,Linux安排不同的程序等待使用CPU。

2017-04-10 09:50:48 414

原创 C++重载运算符

当运算符被用于类类型的对象时,C ++语言定允许我们为其指定新的含义;同时,我们也能自定义类类型之间的转换规则。和内置类型的转换一样,类类型转换隐式的将一种类型的对象转换成另一种我们所需类型的对象。当运算符作用于类类型的运算对象时,可以通过运算符重载重新定义该运算符的含义。        重载运算符是具有特殊名字的函数:它们的名字由关键字 operator 和其后要定义的运算符号共同组成。和其

2017-04-07 14:59:54 342

原创 C++中explicit关键字的作用

C++语言在内置类型之间定义了几种自动转换规则。同样的,也能为类定义隐式转换规则。如果构造函数只接受一个实参,则它实际上定义了转换为此类类型的隐式转换机制,有时称之为转换构造函数。explicit用来抑制构造函数定义的隐式转换在要求隐式转换的程序上下文中,我们可以通过将构造函数声明为 explicit 加以阻止:class sales_data{   public:

2017-04-06 15:15:33 534

原创 C++中的类和对象

一、类和对象的关系       每一个实体都是对象。有一些对象是具有相同的结构和特性的。每个对象都属于一个特定的类型。在C++中对象的类型称为类(class )。类代表了某一批对象的共性和特征。前面已说明:类是对象的抽象,而对象是类的具体实例(instance)。正如同结构体类型和结构体变量的关系一样,人们先声明一个结构体类型,然后用它去定义结构体变量。同一个结构体类型可以定义出多个不同的结构...

2017-04-04 18:17:02 2304

转载 关于C++类中*this指针的理解

先要理解class的意思。class应该理解为一种类型,象int,char一样,是用户自定义的类型。(虽然比int char这样build-in类型复杂的多,但首先要理解它们一样是类型)。用这个类型可以来声明一个变量,比如int x, myclass my等等。这样就像变量x具有int类型一样,变量my具有myclass类型。理解了这个,就好解释this了,my里的this 就是指向my的指针

2017-04-04 17:32:09 1307 1

转载 C++中的头文件和源文件:如何写头文件

一、C++编译模式     通常,在一个C++程序中,只包含两类文件——.cpp文件和.h文件。其中,.cpp文件被称作C++源文件,里面放的都是C++的源代码;而.h文件则被称作C++头文件,里面放的也是C++的源代码。     C+ +语言支持“分别编译”(separate compilation)。也就是说,一个程序所有的内容,可以分成不同的部分分别放在不同的.cpp文件里。.cpp文...

2017-04-01 20:32:29 8876

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除