摘要: 一、paste作用(merge lines of files)在某种意义上与cut相反。它不是把行分离开,而是把多行合并在一起。二、格式paste [OPTION]... [FILE]...三、使用举例(以下是三个测试文件)cat nameslucyjacktonycat numbers152152189cat addressesVine streetNew YorkChina1.合并文件(每一行对应显示在一起,默认用制表符分割)paste names numbers addresseslucy 152 Vine streetjack 152 New Yorktony ... 阅读全文
posted @ 2012-04-01 13:22 xiangzi888 阅读(287) 评论(0) 推荐(0) 编辑
摘要: #!/bin/bashdir=/tmpfile=$dir/ip_apnicrm -f $file #下载文件并输出到 $filewget http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest -O $filegrep 'apnic|CN|ipv4|' $file| cut -f 4,5 -d '|'| sed 's/|/ /g'| while read ip cntdo #echo "$ip, $cnt" #将 $cnt 送到 bc 程序计算 mask=$( 阅读全文
posted @ 2012-03-27 22:46 xiangzi888 阅读(419) 评论(0) 推荐(1) 编辑
摘要: 一、bash函数定义及调用在写c语言的时候,我们使用字符串数组存储命令行参数(argv[])。同样,在编写Bash脚本的时候,也使用命令行参数。在Bash函数中也可以使用参数,特殊的是,Bash中的函数是没有参数列表的,例如#定义foo() { statements}#调用foo 这样便完成了一个函数的定义,但是没有任何的形参名称,这是由于Bash中特殊的参数传递方法所致。二、传参(命令行参数)当一个函数被调用时,脚本程序的位置参数($* $@ $#参数个数 $1 $2 $?上一条独立命令运行结果 )等会被替换为函数的参数。三、返回值通常... 阅读全文
posted @ 2012-03-27 21:17 xiangzi888 阅读(20257) 评论(0) 推荐(1) 编辑
摘要: 一、概述read命令接收标准输入(键盘)的输入,或者其他文件描述符的输入。得到输入后,read命令将数据放入一个标准变量中。二、使用举例(这里仅列出一些常用的选项)1.基本读取#!/bin/bash echo -n "Enter your name:" #参数-n的作用是不换行,echo默认是换行 read name #从键盘输入 echo "hello $name, welcome to my program" exit 0 #退出shell程序。其等效于... 阅读全文
posted @ 2012-03-27 20:03 xiangzi888 阅读(33155) 评论(1) 推荐(3) 编辑
摘要: 在shell脚本程序中,向一条命令传递输入的一种特殊方法是使用here文档。一个here document就是一段带有特殊目的的代码段。它使用I/O重定向的形式将一个命令序列传递到一个交互程序或者命令中。它允许一条命令在获得输入数据时就好像是在读取一个文件或键盘一样,而实际是从脚本程序中得到输入数据。格式:COMMAND <<SpecialString...SpecialStringSpecialString用来界定命令序列的范围,是一个特殊的字符序列,用来界定命令序列的范围,可自定义,但不能出现在传递命令的文档内容中。使用举例:1.使用cat打印多行消息,也可重定向哦(echo 阅读全文
posted @ 2012-03-24 00:21 xiangzi888 阅读(2552) 评论(0) 推荐(0) 编辑
摘要: 用time函数计算程序运行时间时,出现了三个时间,不是太明白,很多人的博客也讲的不是太清,这里再重新整理一下:一、实例:time cp ~/Downloads/archlinux-2012.03.10_04-00-01-core-i686.iso . real 0m4.749suser 0m0.008ssys 0m0.656s二、由于unix是一个多任务分时操作系统,所以时间类型比较多,大体列一些概念:1.响应时间:最直观的定义是计算机完成某一任务所花费的全部时间,包括访问磁盘、访问存储器、输入/输出、其他任务、操作系统开销等。(从程序运行到程序结束所用的真实时间??r... 阅读全文
posted @ 2012-03-21 21:17 xiangzi888 阅读(1610) 评论(0) 推荐(0) 编辑
摘要: sleep即延迟一段时间,用法比较简单:sleep NUMBER[SUFFIX]...举例:(s秒,m分,h时,d天)date && sleep 5 && date #延迟五秒sleep 5ssleep 5msleep 5hsleep 5d 阅读全文
posted @ 2012-03-21 20:27 xiangzi888 阅读(24051) 评论(0) 推荐(1) 编辑
摘要: 一些优先级:/etc/enviroment(系统环境变量) --> /etc/profile(用户环境变量) --> $HOME/.profile -->$HOME/.env (如果存在)/etc/bashrc 为每一个运行bash shell的用户执行此文件.当bash被打开时,该文件被读取~/.bash_profile 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次~/.bashrc: 该文件包含专用于个人的bash信息,当登录以及每次打开新的shell时,该该文件被读取~/.bash_logout 当每次退出系统(退出bash 阅读全文
posted @ 2012-03-20 21:23 xiangzi888 阅读(1241) 评论(0) 推荐(0) 编辑
摘要: 一、简介sed是一种基于流的文本编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。操作有点像vi(强烈建议先学一下vi),功能十分强大!二、命令格式(详见 man sed)sed [OPTION]... {script-only-if-no-other-script} [input-file] 阅读全文
posted @ 2012-03-20 20:50 xiangzi888 阅读(634) 评论(0) 推荐(0) 编辑
摘要: 一、cut作用 - remove sections from each line of files(man cut)就是在文件中负责剪切数据,且以每一行为一个处理对象,类似 sed,这在处理文本数据时十分有用。二、命令格式及定位方法cut OPTION... [FILE]...cut命令主要是接受三个定位方法:1,字节(bytes,按从小到大顺序),用选项 -b2,字符(characters,如果为中文可能就是两个字节了),用选项 -c3,域(fields),用选项 -f三、使用举例1.提取第3个字节ll /dev/sda*brw-rw---- 1 root disk 8, 0 2012-03 阅读全文
posted @ 2012-03-20 16:46 xiangzi888 阅读(684) 评论(0) 推荐(0) 编辑
摘要: shell里可以直接用 `env` 或者 `echo $HOME` `export` 的形式获取或设置环境变量,那么c语言是如何实现的呢?主要有两个函数和一个 environ 变量(字符串数组):char *getenv(const char *name)int putenv(const cahr *string)#include <stdlib.h>#include <stdio.h>extern char **environ;int main ( int argc, char *argv[] ){ char **env = environ; while (*env) 阅读全文
posted @ 2012-03-20 15:11 xiangzi888 阅读(1546) 评论(0) 推荐(0) 编辑
摘要: 一、wget主要功能和特点:支持断点下传功能同时支持FTP和HTTP下载方式支持代理服务器设置方便简单程序小,完全免费二、使用基本的语法:wget [args] URL使用举例:1、下载站点的首页(到当前目录下, ./index.html)。-x会强制建立服务器上一模一样的目录(./www.baidu.com/index.html).wget http://www.baidu.com2.递归下载服务器上所有的目录和文件.这个命令一定要小心使用,因为在下载的时候,被下载网站指向的所有地址都会被下载(有可能陷入死循环中)!可以用-l number参数来指定下载的层次,例如以下将下载目录下的所有网页 阅读全文
posted @ 2012-03-20 12:17 xiangzi888 阅读(3888) 评论(0) 推荐(1) 编辑
摘要: 一、ubuntu下管理软件最方便的非 apt-get 工具莫属了,它的常见用法稍微整理一下供以后参考(详细见 man apt-get ):1.更新源,升级软件和系统之前要先干这个~ (源目录:/etc/apt/sources.list)sudo apt-get update2.更新已安装的包到最新版本(若已经最新则忽略)sudo apt-get upgrade3.升级系统,有一定风险!此时 apt 将首先升级重要的包,如果有冲突的话,可能会删除一些次要的包(详见 man apt_preferences)sudo apt-get dist-upgrade4.安装(升级)一个或多个软件,也可指定版 阅读全文
posted @ 2012-03-18 21:04 xiangzi888 阅读(10742) 评论(0) 推荐(1) 编辑
摘要: 如果升级到了一个新的内核,并且还比较稳定,那么老的内核就可以清理了,放在电脑里也占位置。方法(命令行比较通用)如下:1.查看系统内存在的内核版本列表:sudo dpkg --get-selections |grep linux结果:libselinux1 installlinux-firmware installlinux-generic installlinux-headers-3.0.0-12 installlinux-headers-3.0.... 阅读全文
posted @ 2012-03-18 18:30 xiangzi888 阅读(20729) 评论(0) 推荐(3) 编辑
摘要: 一、linux之路,路漫漫其修远兮,吾将上下而求索!先上经典书籍!1.入门篇《LINUX权威指南》书不错,写的很全面也比较广,涉及的不深,做为入门书籍不错,可以比较全面的了解linux。另外比较热门的也可以看看《鸟哥的私房菜》等书,偏管理类的书。如果想做server方向的可以找来看看。2.驱动篇《LINUX设备驱动程序》就是网上说的“LDD”,经典之作,必备书籍。国产经典《Linux驱动详细解》也是一本非常不错的书,很实用,书中源代码分析比较多,基于2440的,对linux外围驱动有很全面的讲解。3.内核篇浙江大学的《LINUX内核源代码情景分析》,外国的《UNIX源代码分析》还有《深入理解l 阅读全文
posted @ 2012-03-14 18:59 xiangzi888 阅读(16023) 评论(0) 推荐(3) 编辑
摘要: 安装了基本的操作系统后,下一步就是美化了!我相信ubuntu 和 opensuse 的效果 arch都可以实现,只是有没有付出相应的努力罢了!好了,看配置吧。一、界面1.字体及补丁 ,有些依赖关系不能得到满足,libgl 跟 nvidia ,有些包不行!字体设置为 DejaVu 就蛮不错的。sudo pacman -S ttf-dejavu ttf-ubuntu-font-familysudo yaourt -S wqy-microhei wqy-bitmapfont wqy-zenhei ttf-fireflysungyaourt -S cairo-ubuntu libxft-ubunt.. 阅读全文
posted @ 2012-03-14 07:24 xiangzi888 阅读(4438) 评论(0) 推荐(0) 编辑
摘要: 寻寻觅觅中我找到了arch,折腾这个系统需要很强的动手能力,因为它信奉的是kiss哲学,它默认提供了很少的包,甚至没有图形界面……但它的有点是不言而喻的,简单,灵活,轻快,最新……安装最基本的系统也并不是一件简单的事!网上有很多图文教程,下面我仅列出一些重要的点,供以后参考,arch官网是:https://wiki.archlinux.org/index.php/Main_Page_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)。一、前期准备1.备份数据这个很有必要,arch的安装界面是字符的,很容易就会把自己的数据给格掉!2.收集信息主要是显卡型号,cpu类.. 阅读全文
posted @ 2012-03-13 11:11 xiangzi888 阅读(14823) 评论(0) 推荐(1) 编辑
摘要: zypper是个安装软件的工具,但是感觉没有apt-get那么强大。基本用法还是在这里列一下,方便以后使用。基本语法:zypper [global opts] + commend + [commend opts] + [commend args]添加源zypper ar <url> <aliasname>帮助zypper help commendzypper if commend #info列出补丁更新zypper lp #list patches打补丁zypper patch搜索zypper se package #search删除zypper rm ... 阅读全文
posted @ 2012-03-10 07:57 xiangzi888 阅读(6522) 评论(0) 推荐(0) 编辑
摘要: 问题总是少不了的,幸亏有了网络,它们总是能得到比较好的解决,潜移默化中,自己已经提升了很多。以后遇到的关于opensuse的各种问题就都放在这篇博客里。一、chromium浏览器如果你同步了google的帐户,而且系统启动了自动登录,那么第一次启动后会弹出这样的窗口(该窗口可以直接忽略掉的):The login keyring did not get unlocked when you logged into your computer我就纳闷了,不知道keyring是什么概念?我从没有设置过阿?反正跟用户密码不是一个!不知道这是什么安全机制,网上资料也不太多,不过在chrome的bug提.. 阅读全文
posted @ 2012-03-09 09:18 xiangzi888 阅读(1938) 评论(0) 推荐(0) 编辑
摘要: 前言:为什么选择opensuse呢?在ubuntu下用了快一年了,基本习惯了unity的风格,可是在使用中总是能触碰到它的各种bug,搞的很不爽,前几天,不知道搞什么,又把桌面弄坏了……纠结了好久,这次哥真的爆发了,易主吧!不过现在看来,ubuntu做得真是漂亮,人性化。呆的久了容易形成思维定式,趁着年轻,应该多折腾下!一直对德国人出的操作系统心生好感,终于能体验一把了!但是还是会默默地为ubuntu加油的……一、桌面选择 gnome2是个很经典的桌面,可是历史的车轮并不会停留于此。就好像触屏的普及一样,没有谁能阻挡历史的潮流。现代的桌面也正朝着美观,智能,人性化,便捷等等这样的方向发展... 阅读全文
posted @ 2012-03-08 23:30 xiangzi888 阅读(8366) 评论(0) 推荐(0) 编辑