arch 显示机器处理器架构

cat 把档案串连接后传到基本输出(萤幕或加 > fileName 到另一个档案)

cat filename 显示整个文件

cat > filename 从键盘创建一个文件,它只能创建并能编辑

cat file1 file2 file3 < file 合并文件

cd

cd ~ 打开用户目录也就是/home/usrname,如果当前用户名是yyy,无论在哪个目录下输入:cd ~,结果当前目录会变成"yyy@yyy-virtual-PC:~$",其实就是/home/yyy

cd - 回上一次所在的目录

cd ~ 或 cd 回指定用户的宿主目录

chgrp 修改文件所属的组

chmod "语法格式: chmod [-vR] mode 文件名

参数说明:

mode 权限设置字串,格式为[ugoa] [+-=] [rwx]

u 表示文件的拥有者

g 表示与此文件拥有者属于一个组群的人

o 表示其他人

a 表示包含以上三者即文件拥有者(u)、群组(g)、其他(o)

+ 表示增加权限

- 表示取消权限

= 表示唯一设置权限

r 表示有读取的权限

w 表示有写入的权限

x 表示有执行的权限

-v 显示权限改变的详细资料

-R 表示对当前目录下的所有文件和子目录进行相同的权限更改" 更改文件的权限使其在安装时有执行的权限,Linux/Ubuntu 系统中文件调用的权限分为三级:文件拥有者(u)、群组(g)、其他(o)。用chmod就可以更改文件的权限。chmod是一个相当灵活的命令,对同一个文件的权限的修改可以用多种风格的命令格式来实现。 http://blog.sina.com.cn/s/blog_4d414a0f0100ej7s.html

chmod a+rwx ownlinux 将当前目录下ownlinux这个文件的权限修为所有用户拥有该文件的读取、写入、执行的权限.普通用户下该命令要添加sudo

chmod ugo+rwx ownlinux 同上.虽然命令不同,但结果相同

chmod +x 增加可执行权限

chown

chown root filename 把filename的属主改成root用户

chgrp

chgrp root filename 把filename的属组主改成root组

curl http命令行工具

curl http://www.linuxidc.com www.linuxidc.com 页面内容显示在屏幕上了

curl -o page.html http://www.linuxidc.com 保存页面到page.html(屏幕上出现一个下载页面进度指示),也可以下载文件

注意: 如果linux上没有配置DNS IP这个命令不会执行成功,在这种情况下需要为linux配置一个域名解析服务器IP.打开/etc/resolv.conf文件,输入:

nameserver 208.67.222.222

nameserver 208.67.220.220

保存即可(这两个IP你的linux可能ping不通,可以在网上找能够ping通的DNS IP).

dpkg dpkg是Debian系统的后台包管理器,类似RPM。也是Debian包管理系统的中流砥柱,负责安全卸载软件包,配置,以及维护已安装的软件包。由于ubuntu和Debian乃一脉相承,所以很多命令是不分彼此的。 http://linux.chinaunix.net/techdoc/system/2007/12/05/973754.shtml

dpkg -l |grep -i "软件包名" 查看系统中与"软件包名"相关联的包.

dpkg -l 数据库查询,当前版本的 dpkg 使用文本文件来作为数据库.通称在 /var/lib/dpkg 目录下. 通称在 status 文件中存储软件状态,和控制信息. 在 info/ 目录下备份控制文件, 并在其下的 .list 文件中记录安装文件清单, 其下的 .mdasums 保存文件的 MD5 编码.列出当前系统中所有的包.可以和参数less一起使用在分屏查看. (类似于rpm -qa)

dpkg -l nano 查询nano

dpkg -l nano* 模糊查询nano

dpkg –listfiles nano 查询系统中属于nano的文件

dpkg -s nano 查看某个文件的归属包

dpkg -list 列出系统中安装的软件包

dpkg -L 查询系统中已安装的软件包所安装的位置. (类似于rpm -ql)

dpkg --contents file.deb 列出本地包文件所含文件

dpkg --install file.deb 安装本地包

dpkg --info <package> 列出软件包解包后的包名称.

dpkg --listfiles pkgname 列出一个包所安装的文件

dpkg --status pkgname 列出软件包信息

dpkg --search file 查询文件归属

dpkg --s 查询已安装的包的详细信息.

dpkg -S 查询系统中某个文件属于哪个软件包. (类似于rpm -qf)

dpkg -I 查询deb包的详细信息,在一个软件包下载到本地之后看看用不用安装(看一下呗).

dpkg -i 手动安装软件包(这个命令并不能解决软件包之前的依赖***问题),如果在安装某一个软件包的时候遇到了软件依赖的问题,可以用apt-get -f install在解决信赖***这个问题.

dpkg -r 卸载软件包.不是完全的卸载,它的配置文件还存在.

dpkg -P 全部卸载(但是还是不能解决软件包的依赖***的问题)

dpkg-reconfigure  参考

echo 回显

echo -n 不换行

env <command> 查看程序在不同环境下是如何工作的.

export 设置或显示环境变量 "用户登录到系统后,系统将启动一个用户shell。在这个shell中,可以使用shell命令或声明变量,也可以创建并运行shell脚本程序.运行shell脚本程序时,系统将创建一个子shell。此时,系统中将有两个shell,一个是登录时系统启动的shell,另一个是系统为运行脚本程序创建的shell.当一个脚本程序运行完毕,它的脚本shell将终止,可以返回到执行该脚本之前的shell。从这种意义上来说,用户可以有许多shell,每个shell都是由某个shell(称为父shell)派生的.

在子shell中定义的变量只在该子shell内有效。如果在一个shell脚本程序中定义了一个变量,当该脚本程序运行时,这个定义的变量只是该脚本程序内的一个局部变量,其他的shell不能引用它,要使某个变量的值可以在其他shell中被改变,可以使用export命令对已定义的变量进行输出(有点类似c++中的extern)。

export命令将使系统在创建每一个新的shell时定义这个变量的一个拷贝,这个过程称之为变量输出。

一个变量创建时,它不会自动地为在它之后创建的shell进程所知,而命令export可以向后面的shell传递变量的值。当一个shell脚本调用并执行时,它不会自动得到原为脚本(调用者)里定义的变量的访问权,除非这些变量已经被显式地设置为可用。export命令可以用于传递一个或多个变量的值到任何后继脚本。

  #echo $PKG_PATH 在任何时候建立的变量都只是当前shell的局部变量,所以不能被shell运行的其他命令或shell程序所利用。 export是把你设置的环境变量传给当前SHELL的子SHELL,使其在子SHELL中有效。"

补充说明 在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅及于该此登录操作

export -f 代表[变量名称]中为函数名称

export -n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。

export -p 列出所有的shell赋予程序的环境变量。

find 查找命令

find . -depth -name "file*" 从当前目录中开始,包括子目录中查找以file开头的文件或目录,注意: -depth一定要放在 "."的后面,否则不工作

find . -depth -name "file*" -type f 只查找普通文件

history 显示历史命令

history -c 清除历史命令

!n n表示数字,表示使用历史命令n

init init是所有进程的祖先﹐它的进程号始终为1﹐所以发送TERM信号给init会终止所有的用户进程﹑守护进程等。shutdown 就是使用这种机制。init定义了8个运行级别(runlevel),init 0为关机﹐init 1为重启。关于init可以长篇大论﹐这里就不再叙述。另外还有telinit命令可以改变init的运行级别﹐比如﹐telinit -iS可使系统进入单用户模式﹐并且得不到使用shutdown时的信息和等待时间。

ifconfig命令参数常用命令

用ifconfig 来激活和终止网络接口的连接

ifconfig eth0 down

ifconfig eth0 up

ifup eth0

ifdown eth0

置网卡eth1的IP地址、网络掩码、广播地址,物理地址并且激活它

ifconfig eth1 192.168.1.252 hw ether 00:11:00:00:11:11 netmask 255.255.255.0 broadcast 192.168.1.255 up

[root@linuxso.com ~]# ifconfig eth1 hw ether 00:11:00:00:11:22

[root@linuxso.com ~]# ifconfig eth1 192.168.1.252 netmask 255.255.255.0 broadcast 192.168.1.255 up

其中 hw 后面所接的是网络接口类型, ether表示以太网, 同时也支持 ax25 、ARCnet、netrom等,详情请查看 man ifconfig


命令行编写配置文件来实现,一般你的网卡是eth0.

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0 #描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为eth0

BOOTPROTO=static #设置网卡获得ip地址的方式,可能的选项为static,dhcp或bootp,分别对应静态指定的 ip地址,通过dhcp协议获得的ip地址,通过bootp协议获得的ip地址

BROADCAST=192.168.0.255 #对应的子网广播地址

HWADDR=00:07:E9:05:E8:B4 #对应的网卡物理地址

IPADDR=192.168.0.2 #如果设置网卡获得 ip地址的方式为静态指定,此字段就指定了网卡对应的ip地址

IPV6INIT=no

IPV6_AUTOCONF=no

NETMASK=255.255.255.0 #网卡对应的网络掩码

NETWORK=192.168.0.0 #网卡对应的网络地址

ONBOOT=yes #系统启动时是否设置此网络接口,设置为yes时,系统启动时激活此设备


修改对应网卡的网关的配置文件

vi /etc/sysconfig/network

NETWORKING=yes(表示系统是否使用网络,一般设置为yes。如果设为no,则不能使用网络,而且很多系统服务程序将无法启动)

HOSTNAME=localhost(设置本机的主机名,这里设置的主机名要和/etc/hosts中设置的主机名对应)

GATEWAY=192.168.1.1(设置本机连接的网关的IP地址。)


route 添加/删除路由,查看路由表 linux 路由表维护

添加到主机的路由

# route add -host 192.168.1.2 dev eth0:0

# route add -host 10.20.30.148 gw 10.20.30.40

添加到网络的路由

# route add -net 10.20.30.40 netmask 255.255.255.248 eth0

# route add -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41

# route add -net 192.168.1.0/24 eth1

添加默认路由

# route add default gw 192.168.1.1

删除路由

# route del -host 192.168.1.2 dev eth0:0

# route del -host 10.20.30.148 gw 10.20.30.40

# route del -net 10.20.30.40 netmask 255.255.255.248 eth0

# route del -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41

# route del -net 192.168.1.0/24 eth1

# route del default gw 192.168.1.1


last 命令:

功能说明:列出目前与过去登入系统的用户相关信息。

单独执行last指令,它会读取位于/var/log目录下,名称为wtmp的文件,并把该给文件的内容记录的登入系统的用户名单全部显示出来。

-a  把从何处登入系统的主机名称或IP地址,显示在最后一行。

  -d  将IP地址转换成主机名称。

  -f <记录文件>  指定记录文件。

  -n <显示列数>或-<显示列数>  设置列出名单的显示列数。

  -R  不显示登入系统的主机名称或IP地址。

  -x  显示系统关机,重新开机,以及执行等级的改变等信息。

示例:

last 默认显示

root   pts/0    115.49.166.164  Mon Aug 12 17:58  still logged in

reboot  system boot 2.6.32-131.0.15. Mon Aug 12 14:38 - 18:15 (03:37)

root   pts/0    14.204.0.248   Tue Jul 23 16:08 - down  (00:39)

第一列是用户名。

第二列是终端。

第三列是机器名或IP

第四列是登录时间信息。

第五列是状态,still longged in表示登录状态,(03:02)表示持续时间(3分2秒)。

reboot行表示系统重启,正常命令重启显示为down,而电源强制重启为crash。

其它示例:

last reboot 显示用户名为reboot的命令行

last | grep down 显示包含 down 的命令行


netstat

-ntlp 查看系统网络端口使用情况

-atn 查看网络连接情况

kill ???

locales 语言设置选项

Locale 查看当前的locale环境,也就是当前的语言环境。

Locale –a 查看系统内安装的locale

Locale –m 列出linux所支持的所有的locale语言环境。

less 查看文件内容,less 工具也是对文件或其它输出进行分页显示的工具.

less的语法格式: less [参数] 文件

常用参数

-c 从顶部(从上到下)刷新屏幕,并显示文件内容。而不是通过底部滚动完成刷新;

-f 强制打开文件,二进制文件显示时,不提示警告;

-i 搜索时忽略大小写;除非搜索串中包含大写字母;

-I 搜索时忽略大小写,除非搜索串中包含小写字母;

-m 显示读取文件的百分比;

-M 显法读取文件的百分比、行号及总行数;

-N 在每行前输出行号;

-p pattern 搜索pattern;比如在/etc/profile搜索单词MAIL,就用 less -p MAIL /etc/profile

-s 把连续多个空白行作为一个空白行显示;

-Q 在终端下不响铃;

动作

回车键 向下移动一行;

y 向上移动一行;

空格键 向下滚动一屏;

b 向上滚动一屏;

d 向下滚动半屏;

h less的帮助;

u 向上洋动半屏;

w 可以指定显示哪行开始显示,是从指定数字的下一行显示;比如指定的是6,那就从第7行显示;

g 跳到第一行;

G 跳到最后一行;

p n% 跳到n%,比如 10%,也就是说比整个文件内容的10%处开始显示;

/pattern 搜索pattern ,比如 /MAIL表示在文件中搜索MAIL单词;

v 调用vi编辑器;

q 退出less

!command 调用SHELL,可以运行命令;比如!ls 显示当前列当前目录下的所有文件.

ls 格式:ls [参数] [文件/目录] "参数说明:

-a 表示列出所有的文件,包括以"".""开头的隐藏文件

-d 如果其后接的是一个目录,则此只输出目录的名称

-l 表示以清单的形式列出文件的条目,包括文件的名称、权限、拥有者、大小、最后修改时间等

-t 表示列出的条目按最后修改的时间进行排序,默认是使用文件夹的名称来排序

-C 以文件的名称按列纵向排序

-F 在文件名后加一个符号来表示文件类型"

ls 表示列出所有的文件,包括以"."开头的隐藏文件

ls -a 用ls -a来查看就用看到以"."开头的隐藏文件

ls -C 以文件的名称按列纵向排序

ls -d 如果其后接的是一个目录,则此只输出目录的名称

ls -l 显示文件属***

ls -lh 显示为你家详细信息

ls -F 当前目录下的子目录后面多了一个"/"

ls -F --file-type locale* 列出以locale开头的所有文件或目录

ls -t 表示列出的条目按最后修改的时间进行排序,默认是使用文件夹的名称来排序

ls -l | grep '^-'或^[^d] 仅列出文件

ls -l | grep '^d'或^[^-] 仅列出目录

ls -1 -F | grep - v[/$] linux下正确的只列出当前目录下文件名的方法如下 http://apps.hi.baidu.com/share/detail/33050937

ls -al | more 通过管道实现文件列表分屏显示

ls -R 递归枚举子目录

gnome-open 以管理员权限打开文件夹

gnome-open path 以管理员权限打开文件夹,在该文件夹中打开的文件可以直接编辑保存。

grep grep [OPTION]…PATTERN [FILE] 是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来

grep 'main' cal.c 搜索本目录文件cal.c中的main(区分大小写)字符串,并将相应的行输出

grep -i 'main' ./* 搜索本目录所有文件的main(不区分大小写)字符串,并将相应的文件及行输出

grep -c 只输出匹配行的计数。

grep -I 不区分大小写(只适用于单字符)。

grep -h 查询多文件时不显示文件名。

grep -l 查询多文件时只输出包含匹配字符的文件名。

grep -n 显示匹配行及行号。

grep -s 不显示不存在或无匹配文本的错误信息。
grep -v 显示不包含匹配文本的所有行
grep -r 搜索子目录
grep -d skip 忽略子目录

grep -C 5 foo file  显示file文件中匹配foo字串那行以及上下5行

grep -B 5 foo file  显示foo及前5行

grep -A 5 foo file  显示foo及后5行

halt 最简单的关机命令 其实halt就是调用shutdown -h。halt执行时﹐杀死应用进程﹐执行sync系统调用﹐文件系统写操作完成后就会停止内核。

[-n] 防止sync系统调用﹐它用在用fsck修补根分区之后﹐以阻止内核用老版本的超级块〔superblock〕覆盖修补过的超级块。

[-w] 并不是真正的重启或关机﹐只是写wtmp〔/var/log/wtmp〕纪录。

[-d] 不写wtmp纪录〔已包含在选项[-n]中〕。

[-f] 没有调用shutdown而强制关机或重启。

[-i] 关机〔或重启〕前﹐关掉所有的网络接口。

[-p] 该选项为缺省选项。就是关机时调用poweroff。

locales 查看现在的locale配置环境

locale-gen 生成需要的locale文件

参数 --purge 用来删除所有旧的配置,在出现问题时很有用

logout 注销 注销是登陆的相对操作,登陆系统后,若要离开系统,用户只要直接下达logout命令即可

man ??

mkdir 创建文件夹

more

more file.txt 将文件中内容输出到终端

mount 加载指定的文件系统.用法详解

mount -t type device dir,如: mount -t auto /dev/cdrom /mnt/cdrom

-t 指定文件系统类型

type 文件系统类型,如: auto,自动检测文件类型;iso9660 CD-ROM光盘的标准文件系统,等.

umount 卸载文件系统

umount <file>,例如:umount /mnt/cdrom

passwd "Password: <--- 输入你当前用户的密码

Enter new UNIX password: <--- 新的Root用户密码

Retype new UNIX password: <--- 重复新的Root用户密码"

ps ps [option] ps命令最常用的还是用于监控后台进程的工作情况,因为后台进程是不和屏幕键盘这些标准输入/输出设备进行通信的,所以如果需要检测其情况,便可以使用 ps命令了.

ps -a 可以例出系统当前运行的所有进程,包括由其他用户启动的进程

ps auxww 列出除一些很特殊进程以外的所有进程,并会以一个高可读的形式显示结果,每一个进程都会有较为详细的解释;

ps -e app 显示所有进程

ps -e |grep app

ps -f 全格式. 也就是显示更多的信息

ps -h 不显示标题.

ps -l 长格式.

ps -o ??

ps -r 只显示正在运行的进程.

ps -u 查看进程的所有者及其它信息

ps -w 查看目前登入用户运行的程序

ps -x 显示没有控制终端的进程

ps -afl 查看当前有哪些进程

ps -u $USER -o pid,rss,cmd --sort -rss 查看当前用户程序实际内存占用,并排序

ps -eo fname,rss|awk '{arr[$1]+=$2} END {for (i in arr) {print i,arr}}'|sort -k2 -nr 统计程序的内存耗用

ps -eo "%C : %p : %z : %a"|sort -k5 -nr 按内存从大到小排列进程

ps -eo "%C : %p : %z : %a"|sort -nr 按cpu利用率从大到小排列进程

pstree 查看当前进程树

pwd 查看当前所在目录的绝对路经

rm rm命令的一般形式为: rm [选项] 文件… 用户可以用rm命令删除不需要的文件。该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是断开了链接,原文件保持不变。如果没有使用- r选项,则rm不会删除目录。

rm -f 忽略不存在的文件,从不给出提示。

rm -r 指示rm将参数中列出的全部目录和子目录均递归地删除。

rm -i 进行交互式删除

rpm 的简单用法

rpm的一般格式: rpm [选项] [rpm软件包]

1、初始化rpm 数据库(可以省略)

rpm --rebuilddb % 注:这个要花好长时间

%注:有时rpm 系统出了问题,不能安装和查询,大多是这里出了问题。

2、RPM软件包管理的查询功能:

rpm -q [select-options] [query-options]

1)查询系统已安装的软件

rpm -q packagename

-q就是 --query,此选项表示询问系统是不是安装了gaim软件包;

如果已安装会有信息输出;如果没有安装,会输出gaim 没有安装的信息;

rpm -qa 查看系统中所有已经安装的包,要加 -a 参数

如果分页查看,再加一个管道 |和more命令,如 rpm -qa |more

rpm -qa |grep packagename 如果要查找某个软件包,可以用 grep 抽取出来

2)查询一个已经安装的文件属于哪个软件包;

语法: rpm -qf 文件名

注:文件名所在的绝对路径要指出

例:rpm -qf /usr/lib/libacl.la

3)查询已安装软件包都安装到何处;

语法:rpm -ql 软件包名

例:rpm -ql mplayer

4)查询一个已安装软件包的信息

语法: rpm -qi 软件包名

例:rpm -qi mplayer

5)查看一下已安装软件的配置文件;

语法格式:rpm -qc 软件名

例:rpm -qc mplayer

6)查看一个已经安装软件的文档安装位置:

语法格式: rpm -qd 软件名

例:rpm -qd mplayer

7)查看一下已安装软件所依赖的软件包及文件;

语法格式: rpm -qR 软件名

例:rpm -qR mplayer

注:可以把几个参数组合起来用,如 rpm -qil packagename

对于未安装的软件包的查看,查看的前提是当前目录下已存在一个.rpm文件.

1)查看一个软件包的用途、版本等信息;

语法: rpm -qpi file.rpm

例:rpm -qpi mplayer-1.0pre7try2-2.i386.rpm

2)查看一件软件包所包含的文件;

语法: rpm -qpl file.rpm

例:rpm -qpl mplayer-1.0pre7try2-2.i386.rpm

3)查看软件包的文档所在的位置;

语法: rpm -qpd file.rpm

例:rpm -qpd mplayer-1.0pre7try2-2.i386.rpm

4)查看一个软件包的配置文件;

语法: rpm -qpc file.rpm

例:rpm -qpc mplayer-1.0pre7try2-2.i386.rpm

5)查看一个软件包的依赖关系

语法: rpm -qpR file.rpm

例:rpm -qpR mplayer-1.0pre7try2-2.i386.rpm

3、软件包的安装、升级、删除等;

安装和升级一个rpm 包 语法:

rpm -ivh file.rpm 这个是用来安装一个新的rpm 包

rpm -Uvh file.rpm 这是用来升级一个rpm 包,如果有依赖关系的,需解决依赖关系;如果找不到依赖关系的包,可以用下面的命令强制安装:

rpm -ivh --nodeps --force file.rpm

rpm -Uvh --nodeps --force file.rpm

例:

rpm -ivh --test mplayer-1.0pre7try2-2.i386.rpm

--test表示测试,并不真正安装。

rpm -ivh --relocate /=/usr/local/mplayer mplayer-1.0pre7try2-2.i386.rpm

为软件包指定安装目录:要加 --relocate 参数

安装在指定目录中的程序如何调用呢?

通常可执行程序都放在安装目录下的bin或者sbin目录中。

删除一个rpm 包首先查出需要删除的rpm包,然后用下面的命令来卸载:

rpm -e 软件包名

例:rpm -e mplayer 卸载mplayer

如果有其它的rpm依赖于该rpm包,系统会出现警告。

如果一定要卸载,可以用选项 --nodeps 忽略依赖关系。但最好不要这么做。

四 RPM管理包管理器支持网络安装和查询

rpm [选项] rpm包的http或者ftp的地址

比如我们想通过 Fedora Core 4.0 的一个镜像查询、安装软件包。

查询: rpm -qpi http://mirrors.kernel.org/.../RPMS/rsh-0.17-29.rpm

安装: rpm -ivh http://mirrors.kernel.org/.../RPMS/rsh-0.17-29.rpm

rz 上载文件

sz 下载文件

set 设置shell的执行方式(定制shell环境),同时也可以使用set设置环境变量

设置参数变量 设置$1,$2…的值

sudo

如果你想得到对所有文件进行读写和修改权限,那么就在“终端”里输入 sudo nautilus ,这条命令是指用root权限打开文件浏览器,对所有文件拥有最高的读写权限。

如果是单次执行某个需要root权限的操作的话,输入命令时就在命令前加sudo,比如你要重启电脑,命令是reboot,那么你就得在“终端”里输入“sudo reboot”

shutdown 关机命令

shutdown --help

shutdown -h now 现在立即关机

shutdown -h +3 提示使用者将在三分钟后关机

shutdown -r now 现在立即重启

shutdown -r +3 三分钟后重启

shutdown -r 20:23 在20:23时将重启计算机

shutdown -r 20:23 & 可以将在20:23时重启的任务放到后台去,用户可以继续操作终端

sort sort [option...] file 文本行排序

sort file.txt

stty 设置终端命令行或显示终端信息

stty -a 显示终端设置


tar 命令 参考这里

tar -xzf all.tar.gz

tar -xjf all.tar.bz2

bunzip2  all.tar.bz2 生成 all.tar 再 tar -xf all.tar

或 tar  jxvf  all.tar.bz2

例一:将整个/etc目录打包成为 /tmp/etc.tar

tar -cvf /tmp/etc.tar /etc <==仅打包,不压缩!

tar -zcvf /tmp/etc.tar.gz /etc <==打包后,以 gzip 压缩

tar -jcvf /tmp/etc.tar.bz2 /etc <==打包后,以 bzip2 压缩


tcpdump的高级用法(详细文档参考manu)

tcpdump -i eth1 proto[xx:yy]...

proto表示协议,可以是ether,tcp,udp等等,proto[xx:yy]从proto协议的xx字节过滤yy个字节(省略号表示数据满足何种条件).例如:

ether[12:2]指出从ethernet协议的第12字节开始过滤2个字节(数据满足何种条件),其实就是以太网协议的类型字段,以太网协议如下定义:

typedef struct _EHHR_

{

UCHAR cDest[6]; // Destination ethernet addrress.

UCHAR cSrc[6]; // Source ethernet addresss.

USHORT cType; // Ethernet pachet type.

}EH_HEADR, *PEH_HEADR;

其中,cType指出后面使用的是何种协议,例如:

0x0800 // 网际协议(IP).

0x0806// 地址解析协议(ARP : Address Resolution Protocol).

0x814C// 简单网络管理协议(SNMP:Simple Network Management Protocol)

0x880B// 点对点协议(PPP:Point-to-Point Protocol)

0x8863// 以太网上的 PPP(发现阶段)(PPPoE:PPP Over Ethernet <Discovery Stage>).

0x8864// 以太网上的 PPP(PPP 会话阶段)(PPPoE,PPP Over Ethernet<PPP Session Stage>).

0x88CC// 链接层发现协议(LLDP:Link Layer Discovery Protocol)

所以ether[12:2]其实就是cType.

同理,ip[0] & 0x0f>5 指出从ip协议第0个字节后4位的值是否大于5,实际是过滤IP协议的长度(如果不带选项就是标准长度20字节,将IP协议以字节为单位划分为每行4字节的矩阵,最少5列,也就是5*4=20字节,如果带选项则比该值大).


touch 用来更新文件或目录的时间,文件不存在则创建该文件

touch file 创建文件file

linux没有专门的文件创建命令,vi <file>, cat >file, echo "1234" >file,还有gpedit, cp,mv等都可以创建文件,只是这都是间接创建的.

im-switch ???

uname  显示系统信息

uname -m 显示机器CPU架构

uname -r 显示正在使用的内核版本

unset 用来删除指定的变量或者函数

unset -f 删除函数

unset -v 删除变量


格式:whereis <command> 查找指定命令<command>的位置,包括执行文件、源代码和手册页文件。

格式:whereis -b <command> 只查找指定命令<command>的执行文件位置。

格式:whereis -m <command> 只查找指定命令<command>的手册页文件所在位置。

格式:whereis -s <command> 只查找指定命令<command>的源代码所在位置。


linux硬件查询

同shell相关的其它命令

中断命令 执行完命令后(若没有转到后台),可以使用CTRL+C来中止命令

通过终端启动程序 通过终端启动的程序是终端的子进程,如果关闭终端,该进程也会被关闭.运行程序时命令行后面加&表示后台运行,同终端不再有父子关系.

终端输入:gpedit test.txt 启动gpedit,且gpedit同终端有父子关系

终端输入:gpedit test.txt & 启动gpedit,且gpedit同终端没有父子关系

svn svn客户端命令行的使用 参考:Ubuntu中SVN客户端使用+Myeclipse 8.5 配置SVN插件 http://blog.csdn.net/scut1135/article/details/6830758

svn checkout <src> <dest> 将文件 checkout 到本地目录,如: svn checkout http://10.1.1.111:8080:/yyy/learn/ /home/desktop/learn/,按提示输入相应的用户名和密码

svn update 默认将当前目录以及子目录下的所有文件都更新到最新版本。

svn update -r 200 test.php 将版本库中的文件test.php还原到版本200

svn update test.php 更新,于版本库同步。(如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit)

svn commit 将改动的文件提交到版本库

svn commit path 将指定目录中改动的文件提交到版本库

环境变量 env <command>查看程序在不同环境下是如何工作的.

$HOME 当前用户的目录HOME路径

$PATH 以冒号分隔的用来搜索命令的目录列表

$PS1 命令提示符,通常是$,在bash中,可以是更复杂的值.如[\u@\h\W]$就是一个流行的默认值,它给出用户名,机器名和当前目录名,当然也包括一个$提示符.

$PS2 二级提示符,用来提示后续输入,通常是>字符

$IFS 输入域分隔符,当shell读取输入时,它给出用来分隔单词的一组字符,它们通常是空格,制表符和换行符.

$0 shell脚本名称

$# 传递给脚本参数的个数

$$ 脚本进程号

未知命令

TIMEFORMAT="" time ./exefile time测算exefile运行时间;TIMEFORMAT重置默认的POSIX时间输出格式.