摘要:sftp1.功能作用sftp 是一个交互式文件传输程式。它类似于 ftp, 但它进行加密传输,比FTP有更高的安全性。2.位置/usr/bin/sftp3.格式用法sftp [-1246Cpqrv] [-B buffer_size] [-b batchfile] [-c cipher][-D sftp_server_path] [-F ssh_config] [-i identity_file] [-l limit][-o ssh_option] [-P port] [-R num_requests] [-S program][-s subsystem | sftp_server] hosts
阅读全文
摘要:1 sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。2 sort的-u选项 在输出行中去除重复行。$ cat seq.txtbananaapplepearorangepear$ sort seq.txtapplebananaorangepearpear$ sort -u seq.txtapplebananaorangepearpear由于重复被-u选项无情的删除了。3 sort的-r选项 sort默认的排序方式是升序,如果想改成降序,就加个-r就搞定了。4 sort的-o选项 由于sort默认...
阅读全文
摘要:1.awk简介awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。awk的处理文本和数据的方式是这样的,它逐行扫描文件,从第一行到最后一行,寻找匹配的特定模式的行,并在这些行上进行你想要的操作。如果没有指定处理动作,则把匹配的行显示到标准输出(屏幕),如果没有指定模式,则所有被操作所指定的行都被处理。awk分别代表其作者姓氏的第一个字母。因为它的作者是三个人,分别是Alfred Aho.
阅读全文
摘要:正则表达元字符元字符 功能例匹配对象^行首定位符/^love/以love开头的行$行尾定位符/love$/love为尾的行。单个字符/l..e/l后跟两个字符再以e结尾的行*0或多个重复的位于*前的字符/*love/love前面有0或多个空格的行[]一组字符中的任一个/[Ll]ove/包含love, Love的行[x-y]范围内的一个字符/[A-Z]ove/ove前面为A-Z中的符的行[^]不在组内的字符/[^A-Z]/不在A-Z之间的字符\转义字符/love\./包含'love.'的行 使用RE元字符的unix/linux程序都支持的附加的元字符\词尾定位符/love\>
阅读全文
摘要:1. 查看系统有哪些可用的shell cat /etc/shell2. 每种shell都有一个特殊内置变量来存上一条命令的退出状态,例: C/TC shell $status % cp fx fy % echo $status # 显示cp的退出状态,0成功,1失败 Bourne,Bash,Korn Shells $? $ cp fx fy $ echo $? # 显示cp的退出状态,0成功,1失败C shell, TC shell编程语法与结构 1. shbang行 是脚本第一行,通知内核使用哪种shell解释脚本,如C /TCshellkornshellBou...
阅读全文
摘要:Linux下的进程间通信 linux支持所有Unix下常用的进程间通信方法:管道、消息队列、共享内存、信号量、套接口等等。 2.3.1 管道 管道是进程间通信中最古老的方式,它包括无名管道和有名管道两种,前者用于父进程和子进程间的通信,后者用于运行于同一台机器上的任意两个进程间的通信。 无名管道由pipe()函数创建: #include int pipe(int filedis[2]); 参数filedis返回两个文件描述符:filedes[0]为读而打开,filedes[1]为写而打开。filedes[1]的输出是filedes[0]的输入。下面的例子示范了如何在父进程和子进...
阅读全文
摘要:系统调用execve()对当前进程进行替换,替换者为一个指定的程序,其参数包括文件名(filename)、参数列表(argv)以及环境变量(envp)。exec函数族当然不止一个,但它们大致相同,在 Linux中,它们分别是:execl,execlp,execle,execv,execve和execvp,下面以execlp为例。 一个进程一旦调用exec类函数,它本身就"死亡"了,系统把代码段替换成新的程序的代码,废弃原有的数据段和堆栈段,并为新程序分配新的数据段与堆栈段,唯一留下的,就是进程号,也就是说,对系统而言,还是同一个进程,不过已经是另一个程序了。(不过exec类
阅读全文
摘要:进程一旦调用了 wait,就立即阻塞自己,由wait自动分析是否当前进程的某个子进程已经退出,如果让它找到了这样一个已经变成僵尸的子进程,wait 就会收集这个子进程的信息, 并把它彻底销毁后返回;如果没有找到这样一个子进程,wait就会一直阻塞在这里,直到有一个出现为止。头文件 #include #include定义函数 pid_t wait (int * status);函数说明 wait()会暂时停止目前进程的执行,直到有信号来到或子进程结束。如果在调用wait()时子进程已经结束,则wait()会立即返回子进程结束状态值。子进程的结束状态值会由参数status 返回,而子进...
阅读全文
摘要:头文件: #include #include函数原型: pid_t fork(void); (pid_t 是一个宏定义,其实质是int 被定义在#include中)返回值: 若成功调用一次则返回两个值,子进程返回0,父进程返回子进程ID;否则,出错返回-1函数说明: 一个现有进程可以调用fork函数创建一个新进程。由fork创建的新进程被称为子进程(child process)。fork函数被调用一次但返回两次。两次返回的唯一区别是子进程中返回0值而父进程中返回子进程ID。子进程是父进程的副本,它将获得父进程数据空间、堆、栈等资源的副本。注意,子进程持有的是上述存储空间的“副本”,这...
阅读全文
摘要:一、函数的调用语法 函数调用与变量一样,也是以“$”来标识的,其语法如下: $( ) 或是 ${ } 就是函数名,是函数的参数,参数间以逗号“,”分隔,而函数名和参数之间以“空格”分隔。函数调用以“$”开头,以圆括号或花括号把函数名和参数括起。二、字符串处理函数 1)$(subst ,,) 名称:字符串替换函数——subst。 功能:把字串中的字符串替换成。 返回:函数返回被替换过后的字符串。 示例: $(subst ee,EE,feet on the street), 返回结果:“fEEt onthe...
阅读全文
摘要:一、示例 下面的例子,判断$(CC)变量是否“gcc”,如果是的话,则使用GNU函数编译目标。 libs_for_gcc = -lgnu normal_libs = foo: $(objects) ifeq ($(CC),gcc) $(CC) -o foo $(objects) $(libs_for_gcc) else $(CC) -o foo $(objects) $(normal_libs) endif 当变量$(CC)值是“gcc”时...
阅读全文
摘要:一、变量的基础 变量在声明时需要给予初值,而在使用时,需要给在变量名前加上“$”符号,但最好用小括号“()”或是大括号“{}”把变量给包括起来。如果你要使用真实的“$”字符,那么你需要用“$$”来表示。二、变量中的变量 在定义变量的值时,我们可以使用其它变量来构造变量的值,在Makefile中有两种方式来在用变量定义变量的值。 1)使用“=”号,在“=”左侧是变量,右侧是变量的值,右侧变量的值可以定义在文件的任何一处,也就是说,右侧中的变量不一定非要是已定义好的值,如: foo = $(bar) bar = $(ugh) ugh = Huh? ...
阅读全文
摘要:一、显示命令 echo “@”字符可以控制命令是否在屏幕上显示,如 @echo 正在编译XXX模块...... 输出: 正在编译XXX模块...... 如果没有“@"则输出 : echo 正在编译XXX模块...... 正在编译XXX模块......二、make参数 下面列举了所有GNU make 3.80版的参数定义。 1)make “-n”或“--just-print” ——只显示命令,但不会执行命令。 make “-s”或“--slient” ——全面禁止命令的显示。 2)make “-i”或“--ignore-errors” ...
阅读全文
摘要:1. 规则 target : prerequisites command2. example excute 为最终生成的可执行文件。 可以通过命令 make clean来删除所有编译时产生的中间文件。excute : main.o a.o b.o c.o d.o cc -o excute main.o a.o b.o c.o d.o #命令必须以tab开头main.o : comm.h main.c cc -c main.ca.o : comm.h a.c a.h cc -c a.cb.o : b.c b.h cc -c b.cc.o : ...
阅读全文
摘要:信号是与一定的进程相联系的,而建立其信号和进程的对应关系,这就是信号的安装登记。Linux主要有两个函数实现信号的安装登记:signal和sigaction。其中signal在系统调用的基础上实现,是库函数。它只有两个参数,不支持信号传递信息,主要是用于前32个非实时信号的安装;而sigaction是较新的函数(由两个系统调用实现:sys_signal以及sys_rt_sigaction),有三个参数,支持信号传递信息,主要用来与sigqueue系统调用配合使用。当然,sigaction同样支持非实时信号的安装,sigaction优于signal主要体现在支持信号带有参数。对于应用程序自行处理
阅读全文
摘要:1.env与set env查看环境变量,set查看自定义变量。 bash启动后它就是一个独立的进程PID,此时如果执行了另一个命令后所生成的一个进程就称为子进程,在子进程中只能使用父进程的环境变量而不能用父进程的自定义变量。因此要想使用自定义变量在父进程及子进程中都有效,可以通过export来实现,export就是让自定义变量变为环境变量的。 export self-definition-variable2.变量 读取 read read [-pt] variable 接受用户输入并赋值给指定变量 -p 提示符 -t 等待时间表(秒) 声明变量 declare / ty...
阅读全文
摘要:1.日期datedate +%Y/%m/%d%H:%M2.日历cal cal 2009 cal 10 20093.计算器bc首行输入 : scale = 3,表示计算出的结果保留3个小数位,不设定则用其默认值0,即只显示整数。退出 : quit4.帮助man 文件目录:/usr/share/maninfo 只能在linux下使用,相当于man,显示方式有点特别,以节点呈现并可超链接到其它节点。文件目录在 /usr/share/info其它的帮助文件 /usr/share/docman 1 man 表示使用 man(1)的文件数据,用于查询man的用法5.sync将内存中的数据写入硬盘,通常在关
阅读全文
摘要:Linux平台Cpu使用率的计算proc文件系统/proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为内核与进程提供通信的接口。用户和应用程序可以通过/proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取/proc目录中的文件时,proc文件系统是动态从系统内核读出所需信息并提交的。/proc目录中有一些以数字命名的目录,它们是进程目录。系统中当前运行的每一个进程在/proc下都对应一个以进程号为目录名的目录/proc/pid,它们是读取进程信息的接口。此外,在Linux 2.6.0-test6以上
阅读全文
摘要:进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename vi filename....filename :打开多个文件,依次进行编辑 移动光标类命令h :光标左移一个字符 l :光标右移一个字符 space:光标右移一个字符 Backspace:光标左移一个字
阅读全文
摘要:夸服务器传输文件scp使用方法 1、获取远程服务器上的文件scp -P 2222 root@www.vpser.net:/root/lnmp0.4.tar.gz /home/lnmp0.4.tar.gz上端口大写P 为参数,2222 表示更改SSH端口后的端口,如果没有更改SSH端口可以不用添加该参数。 root@www.vpser.net 表示使用root用户登录远程服务器www.vpser.net,:/root/lnmp0.4.tar.gz 表示远程服务器上的文件,最后面的/home/lnmp0.4.tar.gz表示保存在本地上的路径和文件名。2、获取远程服务器上的目录scp -P 222
阅读全文