zoukankan      html  css  js  c++  java
  • 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提供)

  • 相关阅读:
    Linux下守护进程的编程实现(转)
    gcc 中-I、 -L 与-l选项的作用
    va_list 、va_start、 va_arg、 va_end 使用说明
    sizeof('a')在C与C++中的区别
    Qt主要类简介
    linux命令
    linux文件编程
    linux一些基本命令
    Linux主机SSH免密设置解析
    javaweb添加拦截器
  • 原文地址:https://www.cnblogs.com/chris-oil/p/3822051.html
Copyright © 2011-2022 走看看