存档

文章标签 ‘linux’

《作业控制系列》-“linux命令五分钟系列”之十

2010年6月23日 没有评论

通俗的讲,作业控制命令是用来控制一个一个任务的

1. 我想把updatedb命令(用于重新建立整盘索引的命令)放在后台运行。因为我不想眼睁睁的看着机器建立索引,我还想编会儿程序呢:

# updatedb & (输入)
[1] 23336 (输出)
注释:在所要执行的命令后面加上空格,再加上&符号即可实现后台执行。所返回的[1]表示这是第一个你放到后台的任务。23336是这个任务的进程号。

2. 我执行updatedb时忘了加&了,这下我怎么办?有办法:

按键盘上的ctrl-z组合键,可以将前台任务扔到后台!但务必注意的是,用ctrl-z的话,这个任务到了后台可是stopped的状态。(你都无情的把它ctrl-z到后台了,它怎么可能还会任劳任怨的继续在后台工作呢?)

3. 我学会了这招,我把很多程序都放到后台执行了。我想查看一下

# jobs
[1]+ Running updatedb &
注释:显示出了正在后台运行的任务的列表

4. 我编程结束了。想把刚才的updatedb放回前台看看。

# fg %1
注释:fg中的f就表示front,前台的意思。%1表示是在jobs命令中列出的1号任务。如果是2号任务呢,我猜你知道如何写。

5. 如果你用jobs命令发现有一个显示[stopped]的任务(任务号是2),我想让这个任务继续在后台执行:

# bg %2
注释:stopped的状态通常出现在用户ctrl-z之后。

6. 我想让后台的任务号是3的任务取消:

# kill %3
注释:这样就杀死了任务号为3的后台任务。

如果对作业控制系列的内容比较感兴趣,可以看一下IBM developer works上面的这篇文章,相信对你有帮助。

作者: 石巍
原载: linux大棚
版权所有,转载时必须以超链接形式注明作者和原始出处及本声明。

本文链接: http://www.smartwei.com/linux-work-control-instruction.html

分类: linux 标签:

《zip命令》-linux命令五分钟系列之九

2010年6月23日 没有评论

上两篇文章介绍了使用gzipbunzip2命令来压缩和解压缩文件,这篇文章说一下zip命令。zip命令可以用来将文件压缩成为常用的zip格式。unzip命令则用来解压缩zip文件。

1. 我想把一个文件abc.txt和一个目录dir1压缩成为yasuo.zip:

# zip -r yasuo.zip abc.txt dir1

2.我下载了一个yasuo.zip文件,想解压缩:

# unzip yasuo.zip

3.我当前目录下有abc1.zip,abc2.zip和abc3.zip,我想一起解压缩它们:

# unzip abc\?.zip

注释:?表示一个字符,如果用*表示任意多个字符。

4.我有一个很大的压缩文件large.zip,我不想解压缩,只想看看它里面有什么:

# unzip -v large.zip

附加: yegle指出了:“列出压缩文件中的文件列表可以用zless这个命令~”。 (linux大棚进行了测试,得出了:“zless对直接用gz压缩的文件有用。如果是先tar打包再gz压缩,用zless输出的有乱码”)

5.我下载了一个压缩文件large.zip,想验证一下这个压缩文件是否下载完全了

# unzip -t large.zip

6.我用-v选项发现music.zip压缩文件里面有很多目录和子目录,并且子目录中其实都是歌曲mp3文件,我想把这些文件都下载到第一级目录,而不是一层一层建目录:

# unzip -j music.zip

作者: 石巍
原载: linux大棚
版权所有,转载时必须以超链接形式注明作者和原始出处及本声明。

本文链接: http://www.smartwei.com/linux-zip-instruction.html

分类: linux 标签:

《bunzip2命令》-linux命令五分钟系列之八

2010年6月23日 没有评论

在“之七”中讲到了gzip压缩工具的使用,但并不是所有的linux压缩包都是.tar.gz的(请相信我^_^),你还会发现有一类文件的后缀是.tar.bz2的(这也是真的)。此时,bunzip2命令就派上用场了。

在开始讲解之前,有一点必须要说明,bunzip2和bzip2的关系。如果你在fedora下工作,你会发现bunzip2是bzip2的一个符 号连接。但bunzip2和bzip2的功能却正好相反。bzip2是用来压缩文件的(当然如果使用特殊函数也是可以用来解压,用选项-d可以实现),而 bunzip2是用来解压文件的(相当于bzip2 -d)。类比,还有zip和unzip、gzip和gunzip、compress和uncompress。

下面来看看它的使用:

1.当你下载了一个文件为roc.tar.bz2时,该怎么解压它呢

# tar -xjvf roc.tar.bz2

注释:j选项表示采用bunzip2工具。(yegle说可以省略j,即不特殊指定压缩工具,只用-xvf。这是也正确的^_^)
注:yeglelinux大棚中做了说明:“关于省略j参数,是某个版本之后的tar才支持的,有的老版本的tar不支持,比如software ftp上的……”

2. 我有一个文件abc.txt,我想用bunzip2压缩工具进行压缩!

# bzip2 abc.txt

注释:压缩后会得到一个压缩文件abc.txt.bz2,同时原abc.txt会被删除。(这点很重要哦,linux考试会问到这一点

3. 如果有一个文件abc.txt.bz2,想解压缩

# bunzip2 abc.txt.bz2

注释:解压后会得到abc.txt,而原abc.txt.bz2会被删除。

4. 如果我想压缩abc1.txt,abc2.txt,abc3.txt三个文件,还有dir1和dir2目录,共5个部分,一起压缩到five.bz2中:

# bzip five.bz2 abc1.txt abc2.txt abc3.txt dir1 dir2

5. 如果有abc1.txt.bz2和abc2.txt.bz2两个文件,我想用一个命令把两个文件分别解压为abc1.txt和abc2.txt

# bunzip2 abc1.txt.bz2 abc2.txt.bz2

6. 如果有abc1.txt和abc2.txt两个文件,我想用一个命令把两个文件分别压缩为abc1.txt.bz2和abc2.txt.bz2:

# bzip2 abc1.txt abc2.txt

作者: 石巍
原载: linux大棚
版权所有,转载时必须以超链接形式注明作者和原始出处及本声明。

本文链接: http://www.smartwei.com/linux-bunzip2-instruction.html

分类: linux 标签:

《gzip命令》-linux命令五分钟系列之七

2010年6月23日 没有评论

转移到linux之后的一大痛苦就是压缩和解压缩,今天的主题是“压缩和解压工具gzip”。

五分钟教会你linux压缩和解压大法~~

1. 下载了一个源码文件abc.tar.gz或abc.tgz(后缀tar.gz和tgz基本没啥区别,相同的还有.taz和.tar.Z)

# tar -xzvf abc.tar.gz 或

# tar -xzvf abc.tgz

注释:tar.gz和tgz是经过归档并由gzip工具压缩之后所得到的压缩包。

x选项表示解压缩

z表示用gzip工具进行解压缩

v表示在解压缩时显示详细信息

f表示指定文件(请注意,这个选项一定要放在各个选项的最后哦~~,也就是要和所指定的文件名挨得最近哦)

2. 遇到一个文件xyz.gz,想解压缩:

# gzip -d xyz.gz

注释:d选项表示解压缩

3. 遇到一个文件edf.tar,想解压缩:(严格的讲tar文件是归档文件,并未被压缩,这里提到的“解压缩”只是将tar文件拆开而已):

# tar -xvf edf.tar

注释:其实这个命令不是压缩命令范畴,只是在这里提一下:)

4. 想将一个文件夹dirabc压缩成.tar.gz的压缩文件:

# tar -czvf dirabc.tar.gz dirabc

5 想查看一下下载的abc.tar.gz压缩文件里包含哪些文件

# tar -ztvf abc.tar.gz

6. 用5的方法查看到abc.tar.gz压缩包,其中包括def/xyz.txt文件等很多文件,但只想提取出xyz.txt这一个文件

# tar -xzvf abc.tar.gz def/xyz.txt

7. 解压abc.tar.gz时我想保留原来被压缩文件的权限(常用于备份)

# tar -xzvpf abc.tar.gz

8. 我想压缩得最快,代价是压缩比最高

# gzip -1 abc.tar

注释:-1也可以换成–fast;-9表示压缩比高,但速度最慢,-9也可以用–best代替。默认的是-6(数字不好记的话,可以这样记:1表示一步到位,往往一步到位的东西追求的是快,而不是精致程度 ^_^)

作者: 石巍
原载: linux大棚
版权所有,转载时必须以超链接形式注明作者和原始出处及本声明。

本文链接: http://www.smartwei.com/linux-gzip-instruction.html

分类: linux 标签:

《tr命令》-linux命令五分钟系列之六

2010年6月22日 没有评论

tr指令从标准输入设备读取数据,经过字符串转译后,输出到标准输出设备。

cat filename |tr u n :用于在屏幕上将filename文件中的u替换为n,而实际文件中未作替换

cat filename | tr -d abc 在屏幕上将filename内容中的所有出现的a或b或c字符删去,并显示出来

cat filename|tr [:lower:] [:upper:] 将文件内容中的小写全部变为大写

类似于[:lower:]的代替符号还有:

[:alnum:] 表示所有的字母和数字

[:alpha:] 表示所有的字母

[:blank:] 表示所有空格

[:digit:] 表示所有数字

[:graph:] 表示所有可打印字符,但不包括空格

[:print:] 表示所有可打印字符,包括空格

作者: 石巍
原载: linux大棚
版权所有,转载时必须以超链接形式注明作者和原始出处及本声明。

本文链接: http://www.smartwei.com/linux-tr-instruction.html

分类: linux 标签:

《uname命令》-linux命令五分钟系列之五

2010年6月22日 没有评论

uname -a 打印所有系统信息

uname -s 打印内核名称

uname -n 打印网络节点主机名

uname -r 打印内核发信版本号

uname –help 获得帮助信息

查看系统版本号的方法还有:

  • cat /proc/version
  • cat /etc/redhat-release
  • cat /etc/issue

作者: 石巍
原载: linux大棚
版权所有,转载时必须以超链接形式注明作者和原始出处及本声明。

本文链接: http://www.smartwei.com/linux-uname-instruction.html

分类: linux 标签:

《chkconfig命令》-linux命令五分钟系列之四

2010年6月22日 2 条评论

chkconfig在命令行操作时会经常用到。它可以方便地设置各个系统运行级别启动的服务。这个可要好好掌握,用熟练之后,就可以轻轻松松的管理好你的启动服务了。

1. 想列出系统所有的服务启动情况:

# chkconfig –list

2. 想列出mysqld服务设置情况:

#chkconfig –list mysqld

3. 设定mysqld在等级3和5为开机运行服务:

# chkconfig –level 35 mysqld on

–level 35表示操作只在等级3和5执行

on表示启动,off表示关闭

4. 设定mysqld在各等级为on:

# chkconfig mysqld on

注:各等级”包括2、3、4、5等级

等级0表示:表示关机

等级1表示:单用户模式

等级2表示:无网络连接的多用户命令行模式

等级3表示:有网络连接的多用户命令行模式

等级4表示:不可用

等级5表示:带图形界面的多用户模式

等级6表示:重新启动

4. 如何增加一个服务:

首先,服务脚本必须存放在/etc/ini.d/目录下;

其次,需要用chkconfig –add servicename来在chkconfig工具服务列表中增加此服务,此时服务会被在/etc/rc.d/rcN.d中赋予K/S入口了。

最后,你就可以上面教的方法修改服务的默认启动等级了。

5. 删除一个服务:

# chkconfig –del servicename

注:Ubuntu 9.10 已经不支持chkconfig命令了

作者: 石巍
原载: linux大棚
版权所有,转载时必须以超链接形式注明作者和原始出处及本声明。

本文链接: http://www.smartwei.com/linux-chkconfig-instruction.html

分类: linux 标签:

《du命令》-linux命令五分钟系列之三

2010年6月22日 没有评论

du命令:disk usage,顾名思义,是关于目录使用情况的。对了~ 它的作用就是计算目录大小的。

1.想看当前目录下所有目录以及子目录的大小:

# du -h .

“.”代表当前目录下。也可以换成一个明确的路径

-h表示用K、M、G的人性化形式显示

2.只想看当前目录下abc目录的大小,并不想看其他目录以及其子目录:

# du -ch abc | tail -n 1

此种方法需要管道技术来管道du和tail两个命令来实现。

-c表示最后计算出所有所列目录的大小之和

# du -sh abc

-s表示总结的意思,即只列出一个总结的值

# du -h –max-depth=0 abc (注:max前面是两个’-')

–max-depth=n表示只深入到第n层目录,此处设置为0,即表示不深入到子目录。

3.列出abc目录及其子目录下所有目录和文件的大小:

# du -ah abc

-a表示包括目录和文件

4.列出所有abc目录中的目录名不包括xyz字符串的目录的大小:

# du -h –exclude=’*xyz*’

5.想在一个屏幕下列出更多的关于abc目录及子目录大小的信息:

# du -0h abc

-0(杠零)表示每列出一个目录的信息,不换行,而是直接输出下一个目录的信息。

作者: 石巍
原载: linux大棚
版权所有,转载时必须以超链接形式注明作者和原始出处及本声明。

本文链接: http://www.smartwei.com/linux-du-instruction.html

分类: linux 标签:

《service》-“linux命令五分钟系列”之二

2010年6月22日 1 条评论

service命令,顾名思义,就是用于管理Linux操作系统中服务的命令。

1. 声明:这个命令不是在所有的linux发行版本中都有。主要是在redhat、fedora、mandriva和centos中。

2. 此命令位于/sbin目录下,用file命令查看此命令会发现它是一个脚本命令。

3. 分析脚本可知此命令的作用是去/etc/init.d目录下寻找相应的服务,进行开启和关闭等操作。

4. 开启httpd服务器:service httpd start

start可以换成restart表示重新启动,stop表示关闭,reload表示重新载入配置。

5. 关闭mysql服务器:service mysqld stop

6. 强烈建议大家将service命令替换为/etc/init.d/mysqld stop (因为有一些linux的版本不支持service)

作者: 石巍
原载: linux大棚
版权所有,转载时必须以超链接形式注明作者和原始出处及本声明。

本文链接: http://www.smartwei.com/linux-service-instruction.html

分类: linux 标签:

《find技巧》-“linux命令五分系列”之一

2010年6月22日 没有评论

1. 想查看当前文件夹及子文件夹里有没有文件名为“abc”的文件

# find . -name abc

. :表示当前目录

-name:表示要根据名称查找

2. 想查看当前文件夹及子文件夹里有没有”xyz”目录

# find . -type d -name xyz

-type:表示设定类型,d表示文件夹类型,可以替换为f(普通文件)、l(链接文件)

3. 想找出当前文件夹及子文件夹里所有后缀是”.txt”的文件

# find . -name “*.txt”

4. 想查找当前目录及其子文件夹中“roc”用户自己的文件有哪些

# find . -user roc

-user:用于设定所属用户的名称,此处可替换为-group,即所属用户组的名称

5. 想查找当前文件夹及子文件夹里权限设定为755的所有文件

# find . -perm 755

-perm:用于设定权限

6. 想查找当前文件夹及子文件夹里的同时含有b字符和3字符的文件:用到正则表达式技术

# find . -regex ‘.*b.*3′

-regex:表示使用正则表达式进行匹配。请注意,此命令会和“全路径”进行匹配,也就是说前面要加.*,因为输出结果中会有“./”符号。

7. 如果想全部输出用find命令查找出的“*.abc”文件的内容

# find . -type f -name “*.abc” -exec cat {} \;

-exec 表示由find找到的匹配项会作为“-exec后面设定的命令”的参数

可以使用-ok代替-exec,这样对每个匹配项进行操作,都会要求用户确认(y为是,n为否)

命令最后的{} \; 别忘了写,其中{}代表用find查找到的结果中的每一个查找项。

8. 查找当前目录下在5分钟内被访问过的文件

# find . -amin -5

访问过用amin,修改过用mmin,文件状态改变过用cmin

精确到分钟的用amin,mmin,cmin,精确到天的用atime,mtime,ctime

在5分钟之内的用-5,在5分钟以上的用+5

9. 想查找当前目录及子目录下文件大小大于10M的所有文件

# find . -size +10000000c

-size:表示文件大小,+表示大于某个数,-表示小于某个数。c表示单位是字节,你可以将c换成k,M,G。

10. 上述所有的find命令都是查找当前目录及其子目录。如果不想深入到子目录中,而是只查找当前一层目录,则可以:

# find . -maxdepth 1 -name “*.c”

作者: 石巍
原载: linux大棚
版权所有,转载时必须以超链接形式注明作者和原始出处及本声明。

本文链接: http://www.smartwei.com/linux-find-instruction.html

分类: linux 标签: