linux常用命令

一、基本命令

1、查看目录大小:

   du -sh *

2、tail -f  <filename>

   可用于监视文件变化和实时显示变化

3、查看活动进程

   ps -ef 

4、查看安装文件信息

   rpm -ql | grep xxx

5、查看全部文件,包括隐藏的

   ls -a

6、文件内容排序
   sort result.csv > result_all

7、查看文件二进制格式(用于看文件是否有额外的字符)

   xxd result.csv | tail
 
8、在文件中查找字符串
   
   grep xxx filename

   grep '^abc' filname  以abc开头

9、文件格式转换

    dos2unix -o filename

10、文件行数

    wc -l
11、比较文件不同

    diff file1 file2

    <:第一个文件有,第二个文件没有
    >:第一个文件没有,第二个文件有

12、vim选定块儿

    ctrl+v  方向键

13、查看历史命令

    history 10

14、vim缩进格式化

    gg = G

15、shell

    if [ $a -eq 0 ]
    then
    fi

    中的if [ 之间,以及[与变量之间都有空格

16、shell

    双括号让shell更像c语言:POSIX标准的扩展计算:$((exp))
这种计算是符合C语言的运算符,也就是说只要符合C的运算符都可用在$((exp)),甚至是三目运算符。
注意:这种扩展计算是整数型的计算,不支持浮点型.若是逻辑判断,表达式exp为真则为1,假则为0

    if(($a==2)) 或者 if((a==2)) 

    for(($i=0;$i<=10;$i++))  或者 for((i=0;i<=10;i++))
	
    echo $((3+2))
	
    echo $((3>2))

    echo $((var=2+3))

    echo $((var++))

17、nohup
    
    用户退出,进程仍然执行

18、sleep

    sleep 1s 
    
    sleep 1m

    sleep 1h

19、定时任务

    crontab -e

    添加一行任务,类似:
    00 02 * * * sh /home/rd/chenlei/mis_log/uploadmis_log.sh  >/dev/null 2>&1

    注:>/dev/null 2>&1 意思是将产生的所有信息丢弃

它的格式共分为六段,前五段为时间设定段,第六段为所要执行的命令段,
格式如下:* * * * *
分钟 小时 日期 月份 星期几

20、打包连接文件的目标文件
    tar -h -cvf

21、HI截屏

    alt+shift+a,然后框起所选部分。

22、vim跳到函数定义

    在源文件目录执行:ctags –R *
    文件中:进入后ctrl + ]
            回退是ctrl + o

23、查找含有某内容的文件

    grep string * -R

24、vim查找
    
    光标定位到单词

    #

    n:向下查找  N:反方向查找

25、vim窗口分割

   横排:vsplit
   竖排:split

   窗口切换:ctrl+w

26、xargs
   
    在管道中使用,将前面的输出列表作为输入参数,执行后面的命令,每次输入一个参数,执行一次后面的命令

    例如:列出本目录下每个文件的行数

    1)管道实现:ls | wc -l
  
    2)xargs:ls | xargs wc -l

    注:这两个是不同的,第一个是将所有文件列表作为参数输入wc命令,执行一次wc
        第二个是,每次取出文件列表中的一个文件名,作为wc执行一次wc,共执行N次wc

    例如:ls | xargs -i mv {} {}.bak
    将此目录下的所有文件都重命名为xxxx.bak,-i配置{}使用,表示用{}代表前面输出参数的名称

27、用户管理

    增加用户
     useradd –d /usr/sam -s /bin/bash -m sam

    修改密码
    passwd username

    把文件夹转移拥有者
    chown user dir
    
28、-h选项

    文件的大小以用户容易理解的方式显示
    eg. ll -h
        du -h
        df -h
29、任务管理器

     top

30、显示所有的环境变量

     env

31、时间戳转换

    时间戳转换为字符串:date -d '1970-01-01 UTC 1283829490 seconds'
    字符串转换为时间戳:data -d '20100908'+%s   (只精确到天)

32、创建/清空文件

    >a.txt

33、终端翻页

    向下:b (below) 向上:f (forward)

34、查看帮助

    man write 查看write命令用法
    man -k write 查看write所有项,包括命令行、库函数以及内核api等
    man 3 write 查看write库函数

    1 -Commands available to users 一般用户命令
    2 - Unix and C system calls 系统调用命令
    3 - C library routines for C programs C函数库命令

35、回到上一次打开的目录

    cd -

36、找到某个程序存放目录,包括bin,source以及etc等

    whereis mysql

37、删除文件中的空行
 
    grep . filename > newfilename

38、批量修改文件后缀名

    rename .txt .c *

39、查看可执行文件

    readelf -a xxxx

40、GCC编译选项

     -O2 二级优化
     -Werror 警告视为错误
     -Wall 显示警告信息
     -pipe  中间生成文件定位到管道

41、vim跳转到变量定义
    gd

42、vim撤销与重复

    撤销:u
    重复:.

43、当前登录人
    who
  
    我是谁?
    whoami

44、dev/null 2>&1 解释

    crontab内容 :50 18 5-30 * * /script/myscript.sh 1> /dev/null 2>&1
    其中 1> /dev/null 2>&1是什么意思??
    dev/null 为系统垃圾箱

    &为后台运行

    1代表标准输出,2代表错误信息输出.

    1>/dev/null 就是指将标准输出定向到空设备,

    2>&1,的意思是将错误输出定向到和1一样的输出设备,也同样是空.

    cmd >a 2>a 和 cmd >a 2>&1 为什么不同?
    cmd >a 2>a :stdout和stderr都直接送往文件 a ,a文件会被打开两遍,由此导致stdout和stderr互相覆盖。
    cmd >a 2>&1 :stdout直接送往文件a ,stderr是继承了FD1的管道之后,再被送往文件a 。a文件只被打开一遍。

二、文本操作
1、uniq

    显示文件内容,不显示重复的记录

    uniq -d file 显示重复的行
    uniq -u file 显示不重复的行

2、join  -t symbol

   合并两个文件,把具有相同字段的两个记录合并到一起,注意,字段相同:不但是名字相同,而且处于同一行

   a.txt:
   1 100
   2 200
   3 300

   b.txt:
   1 a
   2 b
   4 c
   3 d

   join a.txt b.txt

   结果:

   1 100 a
   2 200 b


3、paste
  
   paste -d symbol pas1 pas2  将pas1和pas2粘贴成两列,用符号symbol分隔
   eg.
	test1.txt
	AAAAA: EEEEE
	BBBBB: FFFFF
	CCCCC: GGGGG
	DDDDD: HHHHH

	test2.txt
	11111
	22222
	33333
	44444

	 paste test1.txt test2.txt

	AAAAA: EEEEE    11111
	BBBBB: FFFFF    22222
	CCCCC: GGGGG    33333
	DDDDD: HHHHH    44444

4、cut

   按列切割文件

   cut -d symbol -f num file 将file中,以symbol符号分域,将第num域分割出来

   eg。
   
   1:100
   2:200
   3:300

   cut -d: -f1 a.txt

   结果:
   100
   200
   300

5、diff a.txt b.txt

   比较两个文件在某一行的不同
   <:第一个文件有,第二个文件没有
   >:第二个文件有,第一个文件没有

6、find
  
   find pathname –options
  -name 按照文件名查找文件,name要加引号
  -mtime –n +n 按照文件更改时间来查找,-n表示文件更改时间距现在n天以内,+n表示距现在n天以前
  -exec indication {}\ 对找到的文件执行shell操作,{}表示用find的结果作为参数,\是必须的。

  find . –mtime +5    查找5天之前的文件

  find -size 0 -exec rm -rf {}\  删除空文件

7、sort

  sort -o file  +pos1 +pos2 input_files
                                                                                                              
	-o 存储结果的输出文件名。
	-t 域分隔符;用非空格或tab键分隔域。
	-r 对分类次序或比较求逆。
	+n n为域号。使用此域号开始分类。

	eg.
     	sort -t',' +0 +3 a.txt -o b.txt

     	对a.txt中,以逗号为分隔符分域,先对第0域排序,按第3域排序,结果存储在b.txt中。










磁盘/文件操作命令

1.cd 目录名: 进入指定目录;

2.mkdir [-p]目录名 ------新建目录
-p如果目录不存会新建一个,如mkdir -p dirA/dirB,如果dirA不存在,会新建dirA

3.vi 文件名:------新建文件

4.rm -rf 目录/文件名 -----删除指定目录或文件

5.cp [-r/-f]source目录/文件名 dest目录 -----拷贝指定目录或文件 
  常用参数:
  -r 若 source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地
  -f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制 
  范例: 
  将档案 aaa 复制(已存在),并命名为 bbb:
   cp aaa bbb 
     将所有的C语言程序拷贝至 Finished 子目录中:
   cp *.c Finished 

6.mv source目录/文件 dest目录 -----将源目录或文件移动至指定目录中

9.diff source 文件 dest文件 ------比较两个文件的差异

10.tar zcfv dirname.tar.gz dirname/ ------将dirname文件一夹下的所有文件打包

11.sz dirname.tar.gz -------将打包好的文件下载到本地磁盘,对于文件夹只能先打包后下载

12.sz -be filename -------将指定文件下载到本地磁盘

13.rz -be --------将指定文件上传到工作机

14.scp -r 源目录/文件名 目标机器:路径 -------两台机器之间的拷贝
如:scp -r * work@bb-testing-ibase40.vm.baidu.com:zhangdan03 编译机上,将所有文件拷贝到测试机zhangdan03目录下

 

系统操作命令

1.mpstat -P ALL 1 -------查看CPU每个核的状态

2.pgrep test 
top -p 16382 查看cpu占用率

3.du -u 查看虚拟机空间占用大小

4.pstree work 查看系统当前运行的进程

 

其它

1.当secureCRT不小心被置为全屏时,可以使用Alt+Enter取消全屏,或者Alt+V获得secureCRT菜单
2.用ctrl+C结束当前进程






常用shell命令

 

文件和目录操作命令

ls(显示文件和目录的信息)

ls 以默认方式显示当前目录文件列表

ls -a 显示所有文件包括隐藏文件

ls -l 显示文件属性,包括大小,日期,符号连接,是否可读写及是否可执行

ls -lh 显示文件的大小,以容易理解的格式印出文件大小 (例如 1K 234M 2G)

ls -lt 显示文件,按照修改时间排序

 

cd(改名目录)

cd dir 切换到当前目录下的dir目录

cd / 切换到根目录

cd .. 切换到到上一级目录

cd ../.. 切换到上二级目录

cd ~ 切换到用户目录,比如是root用户,则切换到/root下

 

cp(copy文件)

cp source target 将文件source复制为target

cp /root/source . 将/root下的文件source复制到当前目录

cp –av soure_dir target_dir 将整个目录复制,两目录完全一样

 

rm(删除文件或目录)

rm file 删除某一个文件

rm -f file 删除时候不进行提示。可以于r参数配合使用

rm -rf dir 删除当前目录下叫dir的整个目录

 

mv命令(将文件移动走,或者改名)

mv source target 将文件source更名为target

 

diff(比较文件内容)

diff dir1 dir2 比较目录1与目录2的文件列表是否相同,但不比较文件的实际内容,不同则列出

diff -r dir1 dir2 比较目录1与目录2的所有文件及内容

diff file1 file2 比较文件1与文件2的内容是否相同,如果是文本格式的文件,则将不相同的内容显示,如果是二进制代码则只表示两个文件是不同的

comm file1 file2 比较文件,显示两个文件不相同的内容

 

ln命令(建立链接, 一般常用软链接)

ln source_path target_path 硬连接

ln -s source_path target_path 软连接

 

pwd(显示当前所在目录)

mkdir (创建目录)

mkdir AAA 在当前目录下创建一子目录,名为 AAA

 

rmdir(删除空的目录)

rmdir AAA : 将当前目录下,名为 AAA 的子目录删除

rmdir -p BBB/Test : 在当前目录下的 BBB 目录中,删除名为 Test 的子目录。若Test 删除后,BBB 目录成为空目录,则 BBB 亦予删除。

 

chgrp (改变文件的所属的组)

chgrp users file1.txt :将文件 file1.txt 的所属组设为 users 组

chgrp -R bin * : 将当前目录下的所有文件与子目录(包括子目录下的文件)都设为 bin 组。

 

find(列出符合参数要求的文件)

find [path...] [expression] : 将符合 expression 的文件列出来。

-amin n : 在过去 n 分钟内被读取过的文件

-anewer file : 比文件 file 更晚被读取过的文件

-atime n : 在过去 n 天被读取过的文件

-cmin n : 在过去 n 分钟内被修改过的文件

-cnewer file :比文件 file 更新的文件

-ctime n : 在过去 n 天过修改过的文件

-name filename, -iname filename : 符合 filename 的文件。iname 会忽略大小写

-size n : 档案大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k表示 kilo bytes,w 是二个位元组。-type c : 档案类型是 c 的档案。

find . -name "*.c" 将当前目录及其子目录下所有扩展名是 c 的文件列出来。

find . -cmin -20将当前目录及其子目录下所有最近 20 分钟内更新过的文件列出

 

locate(让使用者可以很快速的搜寻档案系统内是否有指定的档案)

locate [-q] [-d ] [--database=]

locate [-r ] [--regexp=]

locate [-qv] [-o ] [--output=]

locate [-Vh] [--version] [--help]

说明: locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的资料库,之后当寻找时就只需查询这个资料库,而不必实际深入档案系统之中了。在一般的 distribution 之中,资料库的建立都被放在 contab 中自动执行。一般使用者在使用时只要用

# locate your_file_name 的型式就可以了。

参数: -n 至多显示n 个输出。

范例:

1. locate chdrv : 寻找所有叫 chdrv 的档案。

2. locate -n 100 a.out : 寻找所有叫 a.out 的档案,但最多只显示 100 个。

 

文件处理

 

cat(显示文件内容)

 

more/less(均为分页显示命令)

more file

less -N file 显示内容, 并在前面标出行号

它们也能用于管道命令之后, 例如 ps aux | less

 

tail 命令(显示文件的最后几行)

tail -n 100 aaa.txt 显示文件aaa.txt文件的最后100行

tail -f x.txt 动态显示x.txt的末尾几行, 即日志滚动时自动刷新

 

vi命令

vi file 编辑文件file

vi 原基本使用及命令:

输入命令的方式为先按[ESC]键,然后输入:w(写入文件),:w!(不询问方式写入文件),:wq保存并退出,:q退出,q!不保存退出

常用vi -d a.txt b.txt 进行文件比较, [c 跳转到上一修改处,]c跳转到下一修改处

 

touch命令(创建一个空文件)

touch aaa.txt 创建一个空文件,文件名为aaa.txt

 

wc(显示文件信息)

例如wc -l *表示查看文件的行数

 

chmod(更改文件权限)

 

chown(更改文件所有者)

 

head(显示文件头部内容)

head [-n|c num] filename 没有参数时,显示最前10行

参数: -n num 显示最前num行

-c num显示最前num 字符

 

cut (显示每行开头的字符)

cut -cnum1-num2 filename 显示每行从开头算起第 num1 到 num2 的字符。

cut -c0-6 example 显示每行开头算起前 6 个字符。

 

sleep (将当前动作延迟一段时间)

格式 : sleep [--help] [--version] number[smhd]

说明 : sleep 可以用来将当前动作延迟一段时间

参数 : --help : 显示辅助讯息

--version : 显示版本编号

number : 时间长度,后面可接 s、m、h 或 d, 其中 s 为秒,m 为 分钟,h 为小时,d 为日数

范例 :

 

  1. 显示当前时间后延迟 1 分钟,之后再次显示时间 : date;sleep 1m;date

 

expr(字符串处理命令)

格式: expr [option] expresion

范例:

  1. 求字串长度: expr length "this is a test"
14

 

  1. 数字运算 : expr 14 +[-*/%] 9
23[5、126、1、5]

 

  1. 从位置处抓取字串 : expr substr "this is a test" 3 5
is is

 

  1. 字符串首次出现的索引值 : expr index "testforthegame" e

 

 

  1. 字串真实重现 : expr quote thisisatestformela
thisisatestformela

 

split (将一个档案分割成数个)

格式:split [OPTION] [INPUT [PREFIX]]

说明:将一个档案分割成数个。而从 INPUT 分割输出成固定大小的档案,其档名依序为PREFIXaa, PREFIXab...;PREFIX 预设值为 `x。若没有 INPUT 档或为 `-,则从标准输入读进资料。

参数: -b, --bytes=SIZE

-b, --bytes=SIZE SIZE 值为每一输出档案的大小,单位为 byte。

-C, --line-bytes=SIZE 每一输出档中,单行的最大 byte 数。

-l, --lines=NUMBER NUMBER 值为每一输出档的列数大小。

-NUMBER 与 -l NUMBER 相同。

--verbose 于每个输出档被开启前,列印出侦错资讯到标准错误输出。

--help 显示辅助资讯然后离开。

--version 列出版本资讯然后离开。

SIZE 可加入单位: b 代表 512, k 代表 1K, m 代表 1 Meg。

范例:

1. PostgresSQL 大型资料库备份与回存:

因 Postgres 允许表格大过你系统档案的最大容量,所以要将表格 dump 到单一的档案可能会有问题,使用 split进行档案分割。

% pg_dump dbname | split -b 1m - filename.dump.

重新载入

% createdb dbname

% cat filename.dump.* | pgsql dbname

% cat filename.dump.* | pgsql dbname

 

系统相关

 

date(显示时间)

 

df(显示磁盘使用情况)

可加-h参数, 显示human-readable的信息; -i参数, 表示显示inode使用情况

 

free(显示内存使用情况)

 

du(显示文件或者目录的大小)

一般可使用 du -hs *的形式

 

top(显示系统状态, 例如cpu, 进程等情况)

 

vmstat(显示系统状态)

可加-n参数动态刷新, 进行性能测试时可以使用类似的有iostat, 可以显示io的使用状态; 外部命令sar, 可以显示之前一段时间的系统状态

 

su(切换用户)

 

ps (显示当前的进程)

常用ps aux | grep "进程名"

 

pstree(显示树状进程使用)

常用pstree work, 查看work帐户的进程使用

 

kill(杀死进程: kill -9 进程号)

更多地, 我们使用killall -9 进程名称

 

netstat(查看网络使用情况)

常用netstat -nltp查看端口占用情况

 

ssh(登陆到其他机器)

需要输入密码, 也可以先建立信任关系: http://www.oklinux.cn/html/network/ser/20080907/60717.html
或者使用批量信任关系工具: http://wiki.babel.baidu.com/twiki/bin/view/Com/Test/Pf_smartssh
或者在安装了shell-lib的机器上使用"go"命令: http://wiki.babel.baidu.com/twiki/bin/view/Com/Test/ShellLib库使用规范#go使用方法

 

scp(机器之间拷贝文件)

-r参数表示是文件夹
常用: 从其他机器拷贝到本地机器: scp [-r] 远程机器名:远程路径名 本地路径
从本地机器推送到其他机器: scp [-r] 本地路径 远程机器名:远程路径名
和ssh相同, 需要建立信任关系, 或者在安装了shell-lib的机器上使用pscp命令: http://wiki.babel.baidu.com/twiki/bin/view/Com/Test/ShellLib库使用规范#pscp使用方法

 

wget(ftp下载)

wget常用的方式为wget ftp://xxxx
wget有很多有效的参数, 常用的包括-r获取文件夹, -nH不建立hostname的文件夹, --cut-dirs=数字表示对父目录进行截断(否则可能下载到的是home/work/xxx这样的一个若干层级目录), -P下载的本地位置, -q不显示debug信息等, 具体的可以man wget获得

 

man、info (线手册命令)

格式:man command 范例:man cat [info cat]

alias (别名)

alias aaa=“ls –l” 设置“ls –l”的别名为 aaa

unalias (消别名)

unalias aaa 取消aaa的别名

passwd (更改使用者的密码)

passwd -l xxx 锁定账户: xxx ,使他不能登录 passwd -u lijiangong 解除锁定: passwd -x10 -n3 -w2 -i5 lijiangong 设定密码有效期: 即:3天之后才能更改密码、10天之后必须更改密码、第八天提醒修改密码、 密码失效5天之后账户失效

who(显示有哪些用户登录到系统中)

who - [husfV] [user] : 显示有哪些用户登录到系统中,显示的信息包含用户ID,使用的终端,上线时间,呆滞时间,CPU使用量,动作等等。

whoami(显示当前用户是谁)

at(指定在某个特定时刻执行某个程序或指令)

格式: at TIME command 说明 : 指定在 TIME 这个特定时刻执行某个程序或指令,TIME 的格式 是 HH:MM,其中的 HH 为小时,MM 为分钟,甚至你也可以指定 am, pm, midnight, noon, teatime(就是下午 4 点)等口语词。 如果想要指定超过一天内的时间,则可以用 MMDDYY 或者 MM/DD/YY 的格式, 其中 MM 是月份,DD 是第几日,YY是指年份。另外,使用者甚至也可以使用是 now + 时间间隔来弹性指定时间,其中的时间间隔可以是 minutes, hours,days, weeks 另外,使用者也可指定 today 或 tomorrow 来表示今天或明天。当指定了时间并按下 enter 之后,at会进入交谈模式并要求输入指令或程式,当你输入完后按下 ctrl+D 即可完 成所有动作。 范例 :

  1. 三天后的下午 5 点钟执行 /bin/ls : at 5pm + 3 days /bin/ls
  2. 三个星期后的下午 5 点执行 /bin/ls : at 5pm + 2 weeks /bin/ls
  3. 明天的 17:20 执行 /bin/date : at 17:20 tomorrow /bin/date
  4. 1999 年的最后一天的最后一分钟印出 hello world ! at 23:59 12/31/1999 hello world !

crontab (在固定时间或固定间隔执行)

格式 : crontab [ -u user ] filecrontab [ -u user ] { -l | -r | -e } cmd 说明 : crontab 是用来在固定时间或固定间隔执行程序。 -u user 设定指定user 的时间表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user ,就是表示设定自己的时间表。 参数 : -e : 执行文字编辑器来设定时程表,默认的文字编辑器是 VI -r : 删除当前的时程表 -l : 列出当前的时程表 时程表的格式如下 : f1 f2 f3 f4 f5 program 其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天(0~6,0为星期天)。cmd 表示要执行的程序。 当 f1 为 * 时表示每分钟都要执行,f2 为 * 时表示每小时都要执行,其余类推; 当 f1 为 a-b 时,表示从第 a 分钟到第 b 分钟这段时间内要执行,f2为 a-b 时,表示从第 a 到第 b小时都要执行,其余类推; 当 f1 为 */n 时,表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示,每n 小时个时间间隔执行一次,其余类推; 当 f1 为 a, b, c,... 时,表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示,第 a, b, c...个小时要执行,其余类推; 使用者也可以将所有的设定先存放在文件 file 中,用 crontab file 的方式来设定时间表。 范例 :

  1. 每月每天每小时的第 0 分钟执行一次 /bin/ls :
  2. * * * * /bin/ls
2. 在 12 月内, 每天的早上 6 点到 12 点中,每隔 20 分钟执行一次 /usr/bin/backup :
  1. /20 6-12 * 12 * /usr/bin/backup
  2. 周一到周五每天下午 5:00 执行一次 /bin/ls :
  3. 17 * * 1-5 /bin/ls
  4. 每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "haha"
  5. 0-23/2 * * * echo "haha"

 

其他命令

if 条件判断

1 字符串判断

str1 = str2      当两个串有相同内容、长度时为真 
str1 = str2      当串str1和str2不等时为真 
-n str1        当串的长度大于0时为真(串非空) 
-z str1        当串的长度为0时为真(空串) 
str1         当串str1为非空时为真

2 数字的判断

int1 -eq int2    两数相等为真 
int1 -ne int2    两数不等为真 
int1 -gt int2    int1大于int2为真 
int1 -ge int2    int1大于等于int2为真 
int1 -lt int2    int1小于int2为真 
int1 -le int2    int1小于等于int2为真

3 文件的判断

-r file     用户可读为真 
-w file     用户可写为真 
-x file     用户可执行为真 
-f file     文件为正规文件为真 
-d file     文件为目录为真 
-c file     文件为字符特殊文件为真 
-b file     文件为块特殊文件为真 
-s file     文件大小非0时为真 
-t file     当文件描述符(默认为1)指定的设备为终端时为真

3 复杂逻辑判断

-a         与 
-o        或 
!        非

hostname

hostname命令可以获取当前测试机器的名称, 远程获得其他机器的名称, 可以使用ssh 机器名 "hostname"

hostname -i可以获得当前测试机的ip地址, 远程获得, 和上面类似

 

nohup(在后台启动程序)

如果我们直接运行命令, 它是在前台执行的, 如果在末尾加上&, 则程序会到后台执行. 但是如果我们的secureCRT断开了连接, 这个进程还是会挂掉.

如果使用nohup 命令名称 &这样的形式, 则断开连接, 进程也会依旧执行, 同时, 打印的内容会存入nohup.out文件中

 

screen(在后台启动程序)

更加强大, 参见http://www.ibm.com/developerworks/cn/linux/l-cn-screen/

 

rz/sz(在windows机器和测试机器之间进行文件上传和下载, securecrt提供)

posted @ 2014-07-03 11:39  {前端开发}  阅读(929)  评论(0编辑  收藏  举报