自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(72)
  • 资源 (5)
  • 收藏
  • 关注

原创 linux: 僵尸进程

上一篇文章(http://blog.csdn.net/qingsong3333/article/details/77756042)讲了如何使用fork()函数产生一个的子进程,如果控制不好子进程与父进程的关系,则可能产生僵尸进程1. 如果父进程先于子进程结束,那么子进程的PPID就会变为1,直到子进程结束,子进程的状态正常。下面的例子中,子进程运行15s,父进程运行3s:qingson

2017-08-31 22:59:12 337

原创 linux/unix编程:启动新进程

这里介绍三种启动新进程的方法: system()库函数、exec()家族函数、fork()函数1. 启动另外一个进程可以通过库函数system完成,它会启动一个新的shell,并在新的shell里启动一个进程。效率比较低#include int system (const char * string);示例如下:顺序启动了两个qingsong@db2a:~/linu

2017-08-31 22:19:08 1164

原创 linux中的SUID和SBIT 权限

关于SUID,需要先参考上一篇文章:http://blog.csdn.net/qingsong3333/article/details/77726074SUIDSUID权限和SGID是作用类似的,不过SUID不是针对二进制程序的owner起作用,而是对所属组起作用。当其他用户执行此文件时,会暂时获得文件所属组的权限。现在把wordcount的SUID权限改为SGID,效

2017-08-30 22:14:26 854 1

原创 Linux: 通过SUID权限来实现“封装”

Java中有“封装”的概念,简单来讲,就是把类的属性和方法设置为private/protected,这样只能在类的内部访问这些属性和方法,并提供public方法来调用private方法或者获取/修改private属性。在linux权限中,有时也会遇到类似的问题,比如你希望其他用户能够对你的文件做一些统计工作,但又不想让他们获取文件的内容,这时候就可以写一个程序来进行统计工作,让其他用户调用

2017-08-30 22:01:33 450

原创 linux:使用shell读写MySQL数据库

linux:使用shell读写MySQL数据库本文用一个示例,简单演示了如何使用shell脚本读写MySQL数据库。主要工作如下:1. 创建数据库samplecreate database sample;2. 创建表employeedrop table if exists employee;create table employee(EMPNO char(6

2017-08-27 23:12:34 1501

原创 linux: 找到磁盘/目录中最大的n个文件

linux: 找到磁盘/目录中最大的n个文件du加上了-a选项,可以看到所有的目录和文件大小,按照大小排序,就可以得到最大的n个文件了:下面的例子中du的-k选项表示文件大小显示为KB,之后按照大小排序,显示前n行:root@db2a:~# du -ak /tmp | sort -nrk 1 | head -n 10275210 /tmp53060 /tmp/test2

2017-08-27 23:08:43 3861

原创 linux shell:使用trap来处理信号

linux shell:使用trap来处理信号shell脚本可以使用trap来处理信号命令语法如下:    trap 'signal_handler_function_name' SIGNAL LISTSIGNAL LIST以空格分隔,它可以是信号编号或者信号名称。下面的例子中,三个函数分别处理信号SIGINT、SIGTSTP和SIGTERM,qingsong@

2017-08-27 23:06:13 2957

原创 Linux shell 中的关联数组

Linux shell中的关联数组关联数组是这样的数组,它的每个数据元素与一个键相对配对,该键用于识别数据元素。由于散列函数用来创建关联数组中的指定元素,并在关联数组中查找指定元素,因此关联数组通常称为散列。比如想设置一个数组,名为age,根据人名可以查找对应的年龄LiLei 28HanMeimei 27Lily 26Lucy 26声明qingsong@

2017-08-27 23:03:43 735

原创 Linux shell:文本的按行逆序和字符串逆序

Linux shell:文本的按行逆序和字符串逆序假定有以下文件:qingsong@db2a:/tmp$ cat file.txt abcde hello,world12345!按行逆序即第一行和最后一行交换、第2行和倒数第2行交换,以些类推。方法1,使用tactac命令是cat命令的反写,效果也正好相反,从最后一行开始打印文件qingsong@db2a

2017-08-27 22:55:52 12362 4

原创 linux上使用ftp,sftp,rsync,scp,套接字 来通过网络传输文件

linux上使用ftp,sftp,rsync,scp,套接字 来通过网络传输文件计算机联网的主要目的就是资源共享。在资源共享方面,使用最多的是文件共享。有多种方法可以用来在网络中传输文件,本文介绍了ftp,sftp,rsync,scp,套接字这5种方法:假设目标是把db2a主机上的/tmp/db2a.filea拷贝到db2b主机的/tmp目录里,或者把db2b主机的/tmp/db2

2017-08-27 22:51:45 1793

原创 linux,使用ping和fping找出网络上的活动主机

linux,使用ping和fping找出网络上的活动主机网络中有多个主机时,有时需要检查所有不活动的主机,或者活动的主机。这时候可以使用ping或者fping命令1. ping命令使用ping命令编写脚本,挨个检查qingsong@db2a:/tmp$ cat ping.sh #!/bin/bashfor i in 192.168.16.{1..255}do

2017-08-27 22:45:55 4902

原创 Linux:awk常用语法介绍

Linux:awk常用语法介绍awk脚本的结构基本如下所示,awk脚本通常由3部分组成。BEGIN,END和带模式匹配选项的常见语句块。这3个部分都是可选项,在脚本中可省略任意部分:awk ' BEGIN{ print "start" } pattern { commands } END{ print "end" } ' fileawk命令的工作方式(1) 执行BEGIN

2017-08-26 23:37:02 547

原创 linux:使用pstree和tree查看进程树和目录树

linux:使用pstree和tree查看进程树和目录树pstree工具可以查看进程的树型结构,tree工具可以查看目录的树形结构1. pstree1.1 pstree查看进程树:qingsong@db2a:/tmp$ pstreeinit-+-atd |-cron |-db2fmcd |-db2syscr-+-db2fmp---4*

2017-08-26 23:27:48 26271

原创 linux:使用seq命令产生数字序列

有些场景下,需要一个数字的序列,这时可以使得seq命令来产生NAME seq - print a sequence of numbersSYNOPSIS seq [OPTION]... LAST seq [OPTION]... FIRST LAST seq [OPTION]... FIRST INCREMENT LASTDESCR

2017-08-26 23:20:51 2981

原创 linux shell, 三行命令:查找并删除重复的文件

需求:查找并删除某个目录下重复的文件(如果md5sum相同,则认为是相同的文件)。思路如下:1. 先计算所有文件的md5sum,并按照md5sum排序,结果放到文件allfiles里2. 使用uniq命令,去掉allfiles里md5sum相同的记录,结果放到文件uniqfiles里,这样uniqfiles里就是所有不重复的文件列表3. 比较allfiles和uniqfiles

2017-08-26 14:20:55 8103 3

原创 Linux: shell拆分浮点数的整数和小数部分 && 拆分文件的文件名和扩展名

Linux: shell拆分浮点数的整数和小数部分 && 拆分文件的文件名和扩展名目地:分别获取一个浮点数的整数和小数部分,或者将一个文件的文件名和扩展名拆分开。可以考虑使用cut或者awkcutqingsong@db2a:/tmp$ num1=3.1415qingsong@db2a:/tmp$ echo $num1 | cut -d '.' -f13qings

2017-08-26 14:15:06 5579

原创 linux:使用comm命令比较两个文件:交集、差

comm命令可以按行比较两个排序好的文件,输出有3列:第一列是file1独有的、第二列是file2独有的,第三列是两者都有的,简单语法如下:NAME comm - compare two sorted files line by lineSYNOPSIS comm [OPTION]... FILE1 FILE2DESCRIPTION Compa

2017-08-26 14:00:12 7797

原创 Linux:使用mktemp创建临时文件/目录

mktemp的作用是创建临时文件/目录,并返回文件名,简单的语法如下:NAME mktemp - create a temporary file or directorySYNOPSIS mktemp [OPTION]... [TEMPLATE]DESCRIPTION Create a temporary file or director

2017-08-26 13:53:29 7734

原创 linux: xargs处理参数时,文件名中包含空格的解决方法

xargs处理参数时,文件名中包含空格的解决方法xargs之前已经讲过。处理参数时,文件名中如果有空格,则需要单独处理。如果参数是find命令的结果,那么可以在find命令加上print0选项,xargs命令加上-0选项。参考:http://blog.csdn.net/qingsong3333/article/details/77587400如果参数是从文件中读取的呢?比如

2017-08-26 13:50:10 5831

原创 Linux计算md5sum(md5校验和) && 使用crypt和gpg加密/解密文件

Linux计算md5sum(md5校验和) && 使用crypt和gpg加密/解密文件1. md5sum判断两个文件是否相同,可以使用校验和(checksum),检验和一样,则两个文件相同。这里介绍使用md5sum命令计算md5sum:qingsong@db2a:/tmp$ md5sum file1.data d41d8cd98f00b204e9800998ecf842

2017-08-25 22:26:30 4375

原创 Linux:使用xargs为其他命令提供参数

Linux:使用xargs为其他命令提供参数xargs命令的作用就是从stdin接收到的数据重新格式化,再将其作为参数提供给其他命令(xargs - build and execute command lines from standard input)。说直接一点,就是为其他命令提供参数的。多个参数时,默认的分割符是空格。如果不指定命令,则默认的命令是echo最简单的一个例子

2017-08-25 22:19:51 10800

原创 linux用shell脚本模拟时钟 && 脚本录制

下面的脚本可以模拟一个时钟,“实时”显示系统的当前时间:#!/bin/bash# This is a clock, it will display time once a second, in the same position# File name: clock.shtput scwhile truedo echo -n `date` sleep

2017-08-25 22:13:47 1935

原创 shell:当你运行while true的时候,你实际在做什么?

shell当你运行while true的时候,你在做什么?在写shell死循环时,可能会经常用到下面的方式while truedodo something heredone其实,这里的true是一个/bin下面的可执行文件,同样的,false也是。 true什么也不做,返回一个表示成功的值。false什么也不做,返回一个表示错误的值:qingsong@db2

2017-08-25 22:08:49 43305 4

原创 UNIX/Linux中的文件描述符 && 为何删除DB2的容器之后表空间仍然可以访问

大多数UNIX文件I/O只需用到5个函数open,read,write,lseek,close。当使用open或者create函数打开或创建一个新文件时,内核向进程返回一个文件描述符,文件描述符是一个非负整数(也就是open/create函数的返回值,如果小于0,则出错)。当读、写文件时,read/write函数使用参数的是文件描述符,而非文件名。UNIX/LINUX shell中,文件描述符0代

2017-08-24 22:59:26 1034

原创 Linux使用mdadm模拟RAID5磁盘阵列

Linux使用mdadm模拟RAID5磁盘阵列RAID 磁盘阵列RAID可以通过一个技术(软件或硬件),将多个较小的磁盘整合成为一个较大的磁盘,除了数据存储之外,还有数据保护的功能,这里简介一下RAID 0, 1, 5,并模拟RAID 5RAID-0 (等量模式, stripe):性能最佳数据平均分布到多个磁盘中, 没有冗余,任何一个磁盘坏掉都会导致数据永久丢失。但性能

2017-08-24 22:45:36 2947

原创 shell中的算术运算

linux: bash shell中的算术运算1. letlet可以执行基本的操作,变量前不用加$。仅支持整数qingsong@db2a:/tmp$ nb1=4qingsong@db2a:/tmp$ nb2=5qingsong@db2a:/tmp$ let result=nb1+nb2 qingsong@db2a:/tmp$ let result++qingso

2017-08-24 22:36:41 2016

原创 shell脚本:不显示输入的密码

shell脚本:不显示输入的密码在linux shell脚本中,如果想要不显示输入的内容,比如“密码”,可以使用stty的-echo选项,表示禁止将输出发送到终端。最后的stty echo一定要加,否则即使执行完shell之后,什么输入也都看不到。#!/bin/bashecho -n "Please enter your password:"stty -echoread pa

2017-08-24 22:29:52 7774

原创 Linux使用sed对文档进行增、删、改、查

Linux使用sed对文档进行增、删、改、查qingsong@db2a:/tmp$ cat test.txt This is line 1This is line 2This is line 3This is line 5This is line 6This is line eightThis is line 9This is line 10

2017-08-23 21:46:50 1595

原创 Linux: find命令 ‘/proc/xxxx/task/xxxx/fd/y’: No such file or directory 解决办法

问题描述:find命令查找系统中大于50M的文件时,有几行报错: No such file or directoryroot@ubuntu:~# find / -size +50M/proc/kcorefind: ‘/proc/6377/task/6377/fd/6’: No such file or directoryfind: ‘/proc/6377/task/6377/f

2017-08-22 23:33:50 20322

原创 linux的dd命令:文件复制与备份、快速生成大文件、大小写转换

dd的意思是covert and copy a file,也就是转换和复制一个文件,它除了用来备份之外,还可以转换文件。这里介绍几种最常见的用法,包括单个文件的复制、单个文件系统的复制、快速生成一个大文件、大小写转换NAME dd - convert and copy a fileSYNOPSIS dd [OPERAND]... dd OPTION

2017-08-22 19:43:13 5877

原创 Linux里新建文件/目录的默认权限

Linux里新建文件/目录的默认权限新建文件默认权限为666,新建目录默认权限为777。但是要"减去" umask的值,umask的值可以使用umask命令看到,一般情况下,root用户的为022,普通用户为002。这里的"减"并非数字上相减,而是减去相应的权限。如果umask为022,则表示:user不减权限,group减掉write权限,other减掉write权限;如果umask为2

2017-08-22 19:33:25 11616 1

原创 Linux 使用chattr设置文件属性

文件的普通属性可以通过ls -l来查看,但还有一些“高级”的文件属性,可以通过chattr来设置、lsattr来查看。这些属性包括 文件是否被自动压缩、文件是否允许修改、删除等。简单的语法如下:NAME chattr - change file attributes on a Linux file systemSYNOPSIS chattr [ -RVf ]

2017-08-22 19:28:43 5543

原创 Linux 使用tar命令打包/解压文件

tar命令的第一个参数必须是一个函数名(或者简写),而且只能有一个函数,常见语法如下:NAME tar -- The GNU version of the tar archiving utilitySYNOPSIS tar [-] A --catenate --concatenate | c --create | d --diff --compare | --delet

2017-08-22 19:14:23 1414

原创 Linux中使用gzip来压缩/解压 *.gz文件

gzip 是linux中常见的压缩/解压工具,最常见的使用对象是*.gz格式的文件,这里简单介绍下它最常见的用法,GZIP(1) General Commands Manual GZIP(1)NAME     gzip, gunzip, zcat - compress or expand filesSYNOPSIS     gzip [ -acdfhklLnNrtv

2017-08-21 23:41:47 202776 2

原创 Linux空白行:行号显示、空白行数统计、删除空白行

这里的空白行,泛指只有一个换行符的行。空白行的行号显示:cat -b 选项,可以不在空行前面加行号。nl命令也能实现类似的效果:root@db2a:/tmp# cat -b count.sh 1 #!/bin/bash 2 for i in u g o a 3 do 4 for j in + - = 5

2017-08-20 23:01:48 17192

原创 Linux中的atime, ctime, mtime

含义:mtime: modification time,指内容被修改时间ctime: status change time, 文件inode节点发生变化,包括属性被修改时间,比如owner或者权限的改变,内容被修改也会导致ctime变化。 注意:ctime不是create time,linux中貌似无法看到create time。atime: access time, 访问时间

2017-08-20 22:58:25 430

原创 shell脚本: 查看linux用户组,以及每个组中有哪些用户

下面的脚本可以用来查看linux中每个组中的用户,它依次读取/etc/group每一行,对于其中每一行,都去遍历一遍/etc/passwd,如果group id匹配,打打印出组名和用户名。#!/bin/sh#! This script will print all groups and all users in each group.while read glinedo groupn

2017-08-20 22:50:53 5155 4

原创 Linux中,使用lvm快照(snapshot)来快速备份数据

Linux中,使用lvm快照(snapshot)来快速备份数据lv快照的工作原理是建立一个快照区,如果原来的数据发生变化,那么就把变化前的数据放到快照区,借用鸟哥的图:也就是说,原来数据的修改量,不能超过快照区的大小,否则这个快照,就不能用了:示例:原本有一个1G的LV,mysqllv1,上面的文件系统挂载在目录/root/mysqldata下:root@db2a:~#

2017-08-19 23:45:49 13784

原创 Linux的作业管理:前台作业、后台作业

Linux的作业管理:前台作业、后台作业比如有以下脚本,打印5次信息:root@db2a:~# cat job1.sh #!/bin/bashfor i in 1 2 3 4 5doecho "This is "$i"th running"sleep 3done1. 普通作业普通情况,进行作业:root@db2a:~# ./job1.sh

2017-08-19 23:22:37 6068

原创 Linux中的定时任务:at 和 crontab

1. 一次性定时任务:at1.1 设置定时任务at 命令可以用来执行一次性任务,任务的命令是可以手工输入,也可以从文件读取,语法如下:NAMEat, batch, atq, atrm - queue, examine or delete jobs for later executionSYNOPSISat [-V] [-q queue] [-f file] [-

2017-08-19 23:15:14 3954

北京科技大学计算机系统结构和组成原理考研真题

北京科技大学计算机系统结构和组成原理04,05年的考研真题,外加体系结构的期末考试题,以及一些其他的习题

2012-09-20

北京科技大学 软件工程 课件

如题,北京科技大学本科生的软件工程的课件

2012-09-19

2011年全国硕士研究生入学考试计算机基础综合考试大纲|计算机考研大纲

如文件名,2011年全国硕士研究生入学考试计算机基础综合考试大纲(计算机考研大纲)转自王道论坛,不得用于商业用途!

2011-03-22

严蔚敏版 数据结构 全部代码 的实现(C语言)

严蔚敏版 数据结构 全部代码 的实现(C语言),不用解释了吧?

2010-05-09

2010年计算机科学与技术专业考研大纲

计算机考研大纲2010年的,大家看仔细了,因为2011年的还没出来。

2010-05-09

空空如也

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

TA关注的人

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