- 博客(29)
- 资源 (2)
- 收藏
- 关注
原创 linux中打印错误信息
全局变量的errno用之前要extern下:extern int errno;char *strerror(int errnum);可以将errno转换成字符串,打印出来但perror函数更好用:void perror(const char *s)
2015-11-11 15:57:04
1402
转载 Linux Shell 编程实战技巧
目前,越来越多的企业应用会部署在 Linux 系统上的,而 Linux Shell 脚本可以极大地帮助我们完成这些应用的运维任务。这使得 Linux Shell 开发技能成为开发人员的一项重要的、有竞争力的技能。本文就笔者的实际开发经验,以 Korn Shell 为例分享了脚本开发中的常见问题及相关技巧。避免定时任务脚本的常见问题很多脚本在实际使用的时候往往是以定时任务的方
2015-08-20 23:21:45
383
转载 回收站linux实现
#Save as /bin/delete#!/bin/bashrealrm="/bin/rm"if [ ! -d ~/trash ]then mkdir -v ~/trash chmod 777 ~/trashfiif [ $# -eq 0 ]then echo "Usage: delete file1 [file2 file3....]" echo
2015-08-20 22:44:59
444
转载 回收站功能在 Linux 中的实现
本文仿照 Windows 回收站的功能,运用 Bash 脚本在 Linux 上做了实现,创建 delete 脚本代替 rm 命令对文件或目录进行删除操做。该脚本实现了以下功能:对大于 2G 的文件或目录直接删除,否则放入$HOME/trash 目录下;恢复 trash 目录中的被删除文件到原目录下;文件存放在 trash 目录中超过七天被自动删除。
2015-08-20 22:33:58
365
转载 Bash Shell
Shell对Linux不是太陌生的读者都应该对Shell有一定的了解,就是这个程序在我们登陆后自动执行,打印出一个$符号,然后等待我们输入命令。Linux下最常用的Shell应用程序是Bash,绝大部分Linux发行版默认安装的都是它。下面我们也来亲手编写一个Shell程序,这个Shell远远不如Bash复杂,但也能满足我们一般的使用,下面,我们就开始。首先,给这个Shell取一个
2015-08-20 22:05:43
339
转载 精灵进程
了解daemon进程这又是一个有趣的概念,daemon在英语中是"精灵"的意思,就像我们经常在迪斯尼动画里见到的那些,有些会飞,有些不会,经常围着动画片的主人公转来转去,啰里啰唆地提一些忠告,时不时倒霉地撞在柱子上,有时候还会想出一些小小的花招,把主人公从敌人手中救出来,正因如此,daemon有时也被译作"守护神"。所以,daemon进程在国内也有两种译法,有些人译作"精灵进程",有些人译
2015-08-20 22:02:58
292
转载 服务器框架模型
根据服务器后台操作是否会被阻塞可以分为同步和异步两大类同步模型l 单进程同步模型: 服务器只有在处理完成前一个客户请求才能处理下一个请求,最简单的服务器设计模型,没有之一,性能基本取决于后台操作的耗时。l 多进程同步(fork)模型:每来一个请求fork一个进程处理,优点是进程之间,地址空间互相独立,因此处理起来也非常简单,缺点就是fork系统资源消耗较大,进程之间共享
2015-08-20 17:59:29
365
转载 Oracle三范式参考
标准化表示从你的数据存储中移去数据冗余(redundancy)的过程。如果数据库设计达到了完全的标准化,则把所有的表通过关键字连接在一起时,不会出现任何数据的复本(repetition)。标准化的优点是明显的,它避免了数据冗余,自然就节省了空间,也对数据的一致性(consistency)提供了根本的保障,杜绝了数据不一致的现象,同时也提高了效率。第一范式(1NF;The First Nor
2015-08-11 19:09:02
313
转载 oracle中的约束
一、维护数据的完整性概述:数据的完整性用于确保数据库数据遵从一定的商业和逻辑规则。在Oracle中,数据完整性可以使用约束、触发器、应用程序(过程、函数)三种方法来实现,在这三种方法中,因为约束易于维护,并且具有最好的性能,所以作为维护数据完整性的首选。1、约束约束用于确保数据库数据满足特定的商业规则。在Oracle中,约束包括:not null、unique、primary key,
2015-08-11 16:20:44
459
转载 linux下的挂载
挂接命令(mount) 首先,介绍一下挂接(mount)命令的使用方法,mount命令参数非常多,这里主要讲一下今天我们要用到的。 命令格式:mount [-t vfstype] [-o options] device dir 其中: 1.-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有: 光盘或光盘镜像:iso9
2015-08-06 11:55:51
283
原创 Oracle10g中几张练习用的几张表的关键字段的含义
SQL> desc s_dept;(部门表) Name Null? Type ----------- -------- ---------------------------------- ID 部门编号 NOT NULL NUMBER(7) NAME
2015-08-04 22:27:41
333
原创 Linux查找方法
Linux下查找文件的命令有两个;locate 和 find 首先说下locate,locate这个命令是对其生成的数据库进行遍历(生成数据库的命令:updatedb),这一特性决定了用locate查找文件速度很快,但是locate命令只能对文件进行模糊匹配,在精确度上来说差了点,简单介绍下它的两个选项: #locate -i //查找文件
2015-08-04 11:54:48
430
转载 C语言实现递归删除文件夹
使用rmdir函数只能删除空文件夹,对于非空文件夹就无能为力了,这里给出一个实现,用来删除整个文件夹0、保存当前绝对路径1、打开要删除的文件夹2、进入要删除的文件夹3、读文件夹4、如果读到的是文件夹,将当前读到的文件夹名称作为参数返回0递归5、如果不为文件夹调用remove删除6、返回并调用rmdir删除相应文件夹下面给代码#includ
2015-07-21 19:15:08
1976
原创 setjmp和longjmp的用法
一、实用情景:在C中,goto语句是不能跨越函数的,而执行这类跳转功能的就是函数setjmp和longjmp,这两个函数对于处理发生在深层嵌套函数调用中的出错情况是非常有用的二、函数说明:#include int setjmp (jmp_buf env);setjmp() 函数是一次调用,2次返回,第一次调用时返回0,而在第二次返回时是longjmp
2015-07-17 15:41:05
933
转载 exec函数族用法
exec函数族实例解析fork()函数通过系统调用创建一个与原来进程(父进程)几乎完全相同的进程(子进程是父进程的副本,它将获得父进程数据空间、堆、栈等资源的副本。注意,子进程持有的是上述存储空间的“副本”,这意味着父子进程间不共享这些存储空间。linux将复制父进程的地址空间内容给子进程,因此,子进程有了独立的地址空间。),也就是这两个进程做完全相同的事。在fork后的子
2015-07-17 09:35:03
362
原创 C++中继承方式对访控属性的影响
一、C++中继承方式有public、protected、private三种。先说明一下public、protected、private这三种成员的访问属性的控制,注意这个我还没有涉及到继承方式哦(^ _ ^).1.public成员在类内、子类中、外部都可以随意访问。2.protected成员在类内和派生中都可以访问,即只能被类内或者派生类访问,而不能被派生类派生的对象所访问,派生的对象
2015-07-16 17:39:54
474
转载 写脚本程序的前序工作
在每个 script 的文件头处记录好: script 的功能; script 的版本信息; script 的作者联系方式; script 的版权宣告方式; script 的 History (历史纪录); script 内较特殊的指令,使用『绝对对路径』的方式来下达; script 运作时需要的环境发量预先宣告与设定。 如下:#!/bin/bas
2015-07-13 11:20:38
1231
原创 grep的常用法
1.搜寻特定字符串 grep -n 'str' file 在file中找str的行,返回含有str的行,-n会显示该行的行号2.利用中括号[]来搜集集合字符 grep -n 't[ae]st' file 在file中找寻tast和test的字符串以及行号3.行首与行尾字符 ‘^’ 和 ‘$’ grep -n '^the' file 返回the开头的行以及行号
2015-07-13 11:19:40
320
原创 vi编辑器中字符串的查找与替代
n,$s/old/new/ 替换第 n 行开始到最后一行中每一行的第一个 old 为 newn,$s/old/new/g 替换第 n 行开始到最后一行中每一行所有 old 为 new(n 为数字,若 n 为 .,表示从当前行开始到最后一行)%s/old/new/(等同于 :g/old/s//new/) 替换每一行的第一个 old 为 new%s/old/new/g(等同于 :g/o
2015-07-13 11:18:12
514
转载 Linux环境变量
linux按环境变量的生存周期来划分可分为两类,它们的修改方法如下:(1)永久的:需要修改配置文件,变量永久生效。 常见的配置文件包括: (1-1)/etc/profile:对所有用户生效;此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行;并从/etc/profile.d目录的配置文件中搜集shell的设置 例如:编辑/et
2015-07-13 09:12:47
284
原创 Linux 常用命令(2)
1. df -h --> 这个命令可以显示目前挂载的装置以及相应的容量2. dumpe2fs [-bh] 装置文件名 -->可以获得该装置的详细信息3. ln 可以用来创建硬链接,所谓的与i节点相关联的就是硬链接而ln -s 是创建软链接,注意硬链接删除源文件该链接仍然有效,而软连接则无效了4. ls -i 可以显示文件的i节点信息 如:ln ../linu
2015-07-11 22:29:25
318
转载 Makefile
本文是读陈皓博客的简要笔记类文Makefile 介绍———————make命令执行时,需要一个 Makefile 文件,以告诉make命令需要怎么样的去编译和链接程序。首先,我们用一个示例来说明Makefile的书写规则。以便给大家一个感兴认识。这个示例来源于GNU的make使用手册,在这个示例中,我们的工程有8个C文件,和3个头文件,我们要写一个Makefile来告诉
2015-07-08 11:08:54
267
转载 fork() 、vfork()、clone()
Linux将创建进程和执行所创建的进程分为2个阶段。第一个阶段是创建。父进程首先复制子进程,所复制出来的子进程拥有自己的任务结构体和系统堆栈,除此之外所有资源都与父进程共享。Linux提供两种方式复制子进程:一个是fork(),另外一个是clone()。fork()函数复制时将父进程的所以资源都通过复制数据结构进行了复制,然后传递给子进程,所以fork()函数不带参数;clone()函数则是将部分
2015-07-08 10:06:05
249
转载 select、poll、epoll
select、poll、epoll的比较http://my.chinaunix.net/space.php?uid=20196318&do=blog&id=366042http://blog.endlesscode.com/2010/03/27/select-poll-epoll-intro/ linux提供了select、poll、epoll接口来实现IO复用,三者
2015-06-23 21:43:47
304
转载 Core文件的一点知识
1. core文件的简单介绍在一个程序崩溃时,它一般会在指定目录下生成一个core文件。core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的。2. 开启或关闭core文件的生成用以下命令来阻止系统生成core文件:ulimit -c 0下面的命令可以检查生成core文件的选项是否打开:ulimit -a该命令将显示所有的用户定制,其中选项-a代表“a
2015-06-22 22:34:37
460
转载 linux下邮件查看命令 .
系统提供了用户之间通信的邮件系统,当用户打开终端注册登录时发现系统给出如下信息: you have mail. 这时用户可通过键入mail命令读取信件: $ mail mail程序将逐个显示用户的信件,并依照时间顺序,显示最新的信件。每显示一段信件,mail都询问用户是否要对该信件作些处理。若用户回答d,则表示删除信件;若仅按回车键,表示对信件不作任何改
2014-08-04 10:08:36
559
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人