精华内容
下载资源
问答
  • 1.介绍 (1)等待作业号或者进程号...(3)在shell中使用wait命令不跟参数,相当于是多线程,等待全部线程执行完毕才执行后续命令。 2.语法 wait [进程号或作业号] 如果wait后面不带任何的进程号或作业号,那么.

    1.介绍

    (1)等待作业号或者进程号的退出(和&命令搭配使用),返回最后一个作业或进程的退出状态。如果没有指定参数,则等待所有子进程的退出,其退出状态为0.

    (2)如果是shell中使用wait,不会等待shell函数中调用的后台进程。在shell函数中使用wait,则只等待函数中启动的后台进程。

    (3)在shell中使用wait命令不跟参数,相当于是多线程,等待全部线程执行完毕才执行后续命令。

     

    2.语法

    wait [进程号或作业号]

    如果wait后面不带任何的进程号或作业号,那么wait会直至当前shell中进程的所有子进程都执行结束后,才继续执行下一步。

    wait 23
    wait %1

     

    3.实例

    (1)使用wait等待所有后台进程结束

    # 等待10秒后,退出

    #!/bin/bash
    sleep 10 &
    sleep 5 &
    wait

    (2)wait等待一个后台进程

    # $!表示上个子进程的进程号,wait等待一个子进程,等待5秒后,退出

    #!/bin/bash
    sleep 10 &
    sleep 5 &
    wait $!

    (3)shell脚本,使用wait控制进程超时时间,kill进程

    #!/bin/bash
    
    # 等待时间,单位:s
    wait_for=3
    
    # 执行的命令
    command=$*
    ${command} &
    command_pid=$!
    (sleep ${wait_for} ; kill -9 ${command_pid} > /dev/null 2>&1) &
    watch_dog=$!
    sleep_pid=$PPID
    wait ${command_pid} > /dev/null 2>&1
    kill ${sleep_pid} > /dev/null 2>&1

    (4)shell脚本,使用多线程例子

    一个for循环1000次,循环体里面的每个任务都放入后台运行(在命令后面加&符号代表后台运行)

    #!/bin/bash
    
    start_time=$(date +%s)
    
    for ((i=1;i<=1000;i++))
    do
    {
    # 该命令是用来测试的命令,此处为实际执行的命令
    sleep 5s
    echo "$i"
    } &
    # 用{}把循环体括起来,后加一个&符号,代表每次循环都把命令放入后台运行,一旦放入后台,就意味着{}里面的命令交给操作系统的一个线程处理了,循环了1000次,就有1000个&把任务放入后台,操作系统会并发1000个线程来处理
    done
    
    # 等待1000个后台任务全都执行完成之后,再继续执行执行脚本
    wait 
    
    end_time=$(date +%s) 
    echo "TIME:$(expr $end_time- $start_time)"
    
    

     

    展开全文
  • Linux常用shell命令

    2014-09-02 09:37:21
    linux shell及常用命令介绍 什么是shell  shell是一种命令解释器,它提供了用户和操作系统之间的交互接口。shell是面向命令行的, 而 X Window 则是图形界面。你在命令行输入命令shell进行解释,然后送往操作...
    linux shell及常用命令介绍
    什么是shell
      shell是一种命令解释器,它提供了用户和操作系统之间的交互接口。shell是面向命令行的,
    而 X Window 则是图形界面。你在命令行输入命令,shell进行解释,然后送往操作系统执行。
    shell可以执行 Linux 的系统内部命令,也可以执行应用程序。你还可以利用shell编程,执行复
    杂的命令程序。
      Linux 提供几种shell程序以供选择。常用的有 Bourne ( b s h )、C( c s h )和Korn 
    ( k s h )。各个shell都能提供基本的功能,又有其各自的特点。
      Bourne shell是由Steven Bourne 编写的,是UNIX 的缺省shell。Bourne shell的shell编程能
    力很强。但它不能处理命令的用户交互特征。bash 是Bourne shell的增强版。
      Cshell是由加利福尼亚大学伯克利分校的Bill Joy编写的。它能提供Bourne shell所不能处理
    的用户交互特征,如命令补全、命令别名、历史命令替换等。很多人认为, C shell的编程能力
    不如Bourne shell,但它的语法和C语言类似,所以C程序员将发现C shell很顺手。tcsh 是Cshell
    的增强版本和Cshell完全兼容。
      K o r nshell是由Dave Korn 编写的。Korn shell融合了C shell和Bourne shell的优点,并和
    Bourne shell完全兼容。 Korn shell的效率很高,其命令交互界面和编程交互界面都很不错。
    Public Domain Korn shell( p d k s h )是Korn shell的增强版。
    bash 是大多数L i n u x系统的缺省shell。它克服了Bourne shell的缺点,又和Bourne shell完全
    兼容。
      B a s h有以下的特点:
    1 补全命令行。 当你在bash 命令提示符下输入命令或程序名时,你不必输全命令或程序
    名,按Tab 键,b a s h将自动补全命令或程序名。
    2 通配符。 在b a s h下可以使用通配符 * 和?。*可以替代多个字符,而?则替代一个字符。
    3 历史命令。 bash 能自动跟踪你每次输入的命令,并把输入的命令保存在历史列表缓冲区。
    缓冲区的大小由HISTSIZE 变量控制。当你每次登录后,home 目录下的 .bash_history 文
    件将初始化你的历史列表缓冲区。你也能通过history 和fc 命令执行、编辑历史命令。
    4别名。 在b a s h下,可用alias 和unalias 命令给命令或可执行程序起别名和清除别名。这
    样你可以用自己习惯的方式输入命令。
    进入shell
    Linux 启动后,给出 login 命令,等待用户登录。
    Login: <输入用户名>
    Password: <输入密码>
    如果是正确的用户名和密码,那么你就会进入Linux 的shell, shell给出命令提示符,等待
    你输入命令。使用 l o g o u t命令退出shell。
    shell的常用命令
    1、更改帐号密码
    语法:passwd
    Old password: <输入旧密码>
    New password: <输入新密码〉
    Retype new password: <再输入一次密码>
    2、联机帮助
    语法: man 命令
    例如:   
    man ls
    3、远程登录
    语法:rlogin 主机名 [-l 用户名]
    例如:
    rlogin aa           远程登录到工作站 aa 中。
    rlogin aa -l user   使用 user 帐号登录到工作站 aa 中。
    语法:telnet 主机名 或 telnet IP地址
    例如:
    telnet aa
    telnet 130.129.21.250
    3、文件或目录处理
    列出文件或目录下的文件名。
    语法: ls [-atFlgR] [name]  
    ls   列出目前目录下的文件名。
    ls -a 列出包括以 .开始的隐藏文件的所有文件名。
    ls -t 依照文件最后修改时间的顺序列出文件名。
    ls -F 列出当前目录下的文件名及其类型。以/ 结尾表示为目录名,以* 结尾表示为
    可执行文件,以@ 结尾表示为符号连接。
    ls -l 列出目录下所有文件的权限、所有者、文件大小、修改时间及名称。
    ls -lg 同上,并显示出文件的所有者工作组名。
    ls -R 显示出目录下以及其所有子目录的文件名。
    4、改变工作目录
    语法:cd [name]
    name:目录名、路径或目录缩写。
    例如:
    cd  改变目录位置至用户登录时的工作目录。
    cd  dir 改变目录位置至d i r目录下。
    cd  user  改变目录位置至用户的工作目录。
    cd  .. 改变目录位置至当前目录的父目录。
    cd  ../user 改变目录位置至相对路径 user 的目录下。
    cd  /../.. 改变目录位置至绝对路径的目录位置下。
    cd  改变目录位置至用户登录时的工作目录。
    5、复制文件
    语法: cp [-r] 源地址 目的地址
    例如:
    cp file1 file2 将文件 file1 复制成 f i l e 2。
    cp file1 dir1 将文件 file1 复制到目录 dir1 下,文件名仍为 f i l e 1。
    cp /tmp/file1 . 将目录 /tmp 下的文件 file1 复制到当前目录下,文件名仍为 f i l e 1。
    cp /tmp/file1 file2 将目录 /tmp 下的文件 file1 复制到当前目录下,文件名为f i l e 2。
    cp -r dir1 dir2 复制整个目录。
    6、移动或更改文件、目录名称
    语法:mv 源地址 目的地址
    例如:
    mv file1 file2 将文件 f i l e 1更名为 f i l e 2。
    mv file1 dir1 将文件 f i l e 1移到目录 dir1 下,文件名仍为 f i l e 1。
    mv dir1 dir2 将目录 dir1 更改为目录 d i r 2。
    7、建立新目录
    语法: mkdir 目录名
    mkdir dira  建立一新目录 d i ra。
    8、删除目录
    语法: rmdir 目录名 或 rm 目录名
    例如:
    rmdir dir1 删除目录 d i r 1,但 dir1 下必须没有文件存在,否则无法删除。
    rm -r dir1 删除目录 d i r 1及其子目录下所有文件。
    9、删除文件
    语法: rm  文件名
    例如:
    rm  file1 删除文件名为 file1 的文件。
    rm  file? 删除文件名中有五个字符且前四个字符为file 的所有文件。
    rm  f* 删除文件名中以 f 为字首的所有文件。
    10、列出当前所在的目录位置
    语法: p w d
    11、查看文件内容
    语法: cat 文件名
    例如:
    cat file1 以连续显示方式,查看文件名 file1 的内容。
    12、分页查看文件内容
    语法: more 文件名 或 cat 文件名 | more
    例如:
    more file1 以分页方式查看文件名 file1 的内容。
    cat file1 | more 以分页方式查看文件名 file1 的内容。
    13、查看目录所占磁盘容量
    语法: du [-s] 目录
    例如:
    du dir1 显示目录 dir1 的总容量及其子目录的容量(以KB 为单位)。
    du -s dir1 显示目录 dir1 的总容量。
    14、文件传输
      1. 拷贝文件或目录至远程工作站
    语法: rcp [-r] 源地址 主机名:目的地址
    源地址文件名、目录名或路径。
    例如:
    rcp file1 doc:/home/user      将文件f i l e 1拷贝到工作站 doc 路径 /home/user 下。
    rcp -r dir1 doc:/home/user      将目录 d i r 1拷贝到工作站 doc 路径/home/user 下。
      2. 自远程工作站,拷贝文件或目录
    语法: rcp [-r] 主机名:源地址 目的地址
    主机名工作站名。
    源地址路径名。
    目的地址、文件名、目录名或路径 。
    例如:
    rcp doc:/home/user/file1 file2      将工作站 d o c路径/home/user 下的目录 d i r 1,拷贝到当前工
    作站的目录下,目录名仍为 d i r 1。
    rcp -r doc:/home/user/dir1 .      将工作站doc 路径/home/user 下的目录 d i r 1,拷贝到当前工
    作站的目录下,目录名仍为 d i r 1。
      3. 本地工作站与远程工作站之间的文件传输
    必须拥有远程工作站的帐号及密码,才可进行传输工作。
    语法: ftp 主机名 或 ftp ip地址
    例如:
    ftp doc 与远程工作站 doc 之间进行文件传输。
    Name (doc:user-name): <输入帐号>
    Password (doc:user-password): <输入密码>
    ftp> help 列出 ftp 文件传输时可使用的命令。
    ftp> !ls  列出本地工作站当前目录下的所有文件名。
    ftp> !pwd 列出本地工作站当前所在的目录位置。
    ftp> ls   列出远程工作站当前目录下的所有文件名。
    ftp> dir  列出远程工作站当前目录下的所有文件名。
    ftp> dir . |more  分页列出远程工作站当前目录下的所有文件名。
    ftp> pwd  列出远程工作站当前所在的目录位置。
    ftp> cd  dir1 更改远程工作站的工作目录位置至 dir1 之下。
    ftp> get file1 将远程工作站的文件 f i l e 1拷贝到本地工作站中。
    ftp> put file2   将本地工作站的文件 f i l e 2拷贝到远程工作站中。
    ftp> mget *.c 将远程工作站中扩展文件名为 c 的所有文件拷贝到本地工作站中。
    ftp> mput *.txt 将本地工作站中扩展文件名为 txt 的所有文件拷贝到远程工作站中。
    ftp> prompt 切换交互式指令(使用 mput/mget 时不是每个文件皆询问y e s / n o )。
    ftp> quit 结束 ftp 工作。
    ftp> bye  结束 ftp 工作。
    注意 从PC与工作站间的文件传输也可透过在 PC端的 FTP指令进行文件传输,指令用
    法与上述指令大致相同。
    15、文件权限的设定
       1. 改变文件或目录的读、写、执行权限
    语法:chmod [-R] mode name
    n a m e :文件名或目录名。
    mode: 3个8位数字或r w x的组合。r- r e a d (读),w - w r i t e (写),x - e x e c u t e (执行),u - u s e r (当前用
    户),g - g r o u p(组) ,o - o t h e r(其他用户) 。
    例如:
    chmod  755  dir1 对于目录d i r 1,设定成任何使用者皆有读取及执行的权利,但只有所
    有者可做修改。
    chmod  700  file1 对于文件f i l e 1,设定只有所有者可以读、写和执行的权利。
    chmod  u+x  file2 对于文件f i l e 2,增加当前用户可以执行的权利。
    chmod  g+x  file3 对于文件f i l e 3,增加工作组使用者可执行的权利。
    chmod  o-r  file4 对于文件f i l e 4,删除其他使用者可读取的权利。
       2.改变文件或目录的所有权
    语法:chown [-R] 用户名 name 
    n a m e:文件名或目录名。
    例如 :
    chown user file1 将文件 file1 改为用户user 所有。
    chown -R user dir1 将目录 d i r 1及其子目录下面的所有文件改为用户user 所有。
    16、检查自己所属的工作组名称
    语法:g r o u p s
    17、  改变文件或目录工作组所有权
    语法:chgrp [-R] 工作组名 name 
    n a m e:文件名或目录名
    例如:
    chgrp vlsi file1 将文件 file1 的工作组所有权改为 vlsi 工作组所有。
    chgrp -R image dir1 将目录d i r 1及其子目录下面的所有文件,改为 image 工作组所有。
    18、 改变文件或目录的最后修改时间
    语法:touch name 
    n a m e:文件名或目录名。
    19、文件的链接
    同一文件,可拥有一个以上的名称,也就是把一个文件进行链接。
    语法:ln 老文件名 新文件名
    例如 :
    ln file1 file2   将文件 f i l e 2链接至文件 f i l e 1。
    语法:ln -s  老文件名 新文件名
    例如 :
    ln -s file3 file4 将文件 file4 链接至文件f i l e 3。
    20、文件中字符串的查寻
    语法:grep string file
    例如 :
    grep abc file1      寻找文件f i l e 1中包含字符串 abc 所在行的文本内容。
     查寻文件或命令的路径
    语法:whereis command 显示命令的路径。
    语法:which command 显示命令的路径,及使用者所定义的别名。
    语法:whatis command 显示命令功能的摘要。
    语法:find search-path -name filename -print      搜寻指定路径下某文件的路径 。
    例如 :
    find / -name file1 -print 自根目录下寻找文件 file1 的路径。
    21、比较文件或目录的内容
    语法:d i ff [-r] name1 name2 
    name1 name2:可同时为文件名或目录名。
    例如:
    d i ff file1 file2 比较文件file1 与 file2 内各行的不同之处。
    d i ff -r dir1 dir2 比较目录 dir1 与 dir2 内各文件的不同之处。
    22、文件打印输出
    用户可用 .login 文件中的 setenv PRINTER来设定打印机名。
    例如 :
    setenv PRINTER sp 设定自 sp 打印机打印资料。
    一般文件的打印
    语法:lpr [-P打印机名] 文件名
    例如:
    lpr file1 或 lpr -Psp file1      自 s p打印机打印文件 f i l e 1。
    语法:enscript [-P打印机名] 文件名
    例如:
    enscript file3 或 enscript -Psp file3      自 s p打印机打印文件 f i l e 3。
    23、troff 文件的打印
    语法:p t r o ff [-P打印机名] [-man][-ms] 文件名
    例如:
    ptroff -Psp -man /usr/man/man1/lpr1      以troff 格式,自 sp 打印机打印lpr1 命令的使用说明。
    打印机控制命令
    1.检查打印机状态、打印作业顺序号和用户名
    第2章计shell及常用命令计计 15
    下载
    语法:lpq [-P打印机名]
    例如:
    lpq 或 lpq -Psp      检查 sp 打印机的状态。
    2. 删除打印机内的打印作业( 用户仅可删除自己的打印作业 )
    语法:lprm [-P打印机名] 用户名 或 作业编号
    例如:
    lprm user或lprm -Psp user      删除s p打印机中用户user 的打印作业,此时用户名必须为u s e r。
    lprm -Psp 456      删除 sp 打印机上编号为 456 的打印作业。
    24、进程控制
    1.查看系统中的进程
    语法:ps [-aux]
    例如:
    p s或ps -x 查看系统中,属于自己的进程。
    ps -au 查看系统中,所有用户的进程。
    ps -aux 查看系统中,包含系统内部的及所有用户的进程。
    2. 结束或终止进程
    语法:kill [-9] PID 
    P I D:利用 ps 命令所查出的进程号。
    例如:
    kill 456或kill -9 456      终止进程号为 456 的进程。
    3. 在后台执行进程的方式
    语法:命令 &
    例如:
    cc file1.c &      将编译 file1.c 文件的工作置于后台执行。
    语法:按下 C o n t r o l + Z键,暂停正在执行的进程。键入b g命令,将暂停的进程置于后台继
    续执行。
    例如:
    cc file2.c
    ^ Z
    S t o p p e d
    b g
    4. 查看正在后台中执行的进程
    语法:j o b s
    5. 结束或终止后台中的进程
    语法:kill  %n
    n:利用j o b s命令查看出的后台作业号
    例如:
    kill  % 终止在后台中的第一个进程。
    kill  %2 终止在后台中的第二个进程。
    25、shell变量
    1. 查看shell变量的设定值
    语法:set  查看所有shell变量的设定值。
    语法:echo  $变量名 显示指定的shell变量的设定值。
    2. 设定shell变量
    语法:set var = value
    例如:
    set term=vt100      设定shell变量 t e r m为 VT100 型终端。
    3. 删除shell变量
    语法:unset var
    例如:
    unset PRINTER      删除shell变量 PRINTER 的设定值。
    26、别名
    1. 查看所定义的命令的别名
    语法: a l i a s 查看自己目前定义的所有命令,及所对应的别名。
    语法: alias name 查看指定的name 命令的别名。
    例如:
    alias dir 查看别名 dir 所定义的命令。
    ls -atl
    2. 定义命令的别名
    语法: alias name‘command line’
    例如:
    alias dir ‘ls -l’ 将命令 ls - l 定义别名为 d i r。
    3. 删除所定义的别名
    语法: unalias name
    例如:
    unalias dir 删除别名 dir 的定义。
    unalias *  删除所有别名的设定。
    27、历史命令
    1. 设定命令记录表的长度
    语法: set history = n
    例如:
    set history = 40      设定命令记录表的长度为 40 (可记录执行过的前面 40 个命令)。
    2. 查看命令记录表的内容
    语法: h i s t o r y
    3. 使用命令记录表
    语法: !!      重复执行前一个命令。
    语法: ! n
    n:命令记录表的命令编号。
    语法: ! s t r i n g 重复前面执行过的以 string 为起始字符串的命令。
    例如: ! c a t 重复前面执行过的以 cat 为起始字符串的命令。
    4. 显示前一个命令的内容
    语法: ! !:p
    5. 更改前一个命令的内容并执行
    语法: ^oldstring ^newstring      将前一个命令中 oldstring 的部份改成 n e w s t r i n g并执
    行。
    例如:
    find . -name file1.c -print
    ^ f i l e 1 . c ^ c o r e
    find . -name core -print
    28、文件的压缩
    1. 压缩文件
    语法:compress 文件名 压缩文件
    语法:compressdir 目录名 压缩目录
    2. 解压缩文件
    语法:uncompress 文件名 解压缩文件
    语法:uncompressdir 目录名 解压缩目录
    29、管道命令的使用
    语法:命令1 | 命令2      将命令1的执行结果送到命令2,做为命令2的输入。
    例如:
    ls -Rl | more      以分页方式列出当前目录及其子目录下所有文件的名称。
    cat file1 | more      以分页方式列出文件 file1 的内容。
    30、输入/输出控制
    1. 标准输入的控制
    语法:命令 < 文件 将文件做为命令的输入。
    例如:
    mail -s “mail test” 电子邮件地址 < file1     将文件file 当做信件的内容,主
    题名称为 mail test,送给收信人。
    2. 标准输出的控制
    语法:命令 > 文件 将命令的执行结果送至指定的文件中。
    例如: 
    ls -l > list      将执行 “ls -l” 命令的结果写入文件list 中。
    语法:命令>! 文件 将命令的执行结果送至指定的文件中,若文件已经存在,则覆盖。
    例如:
    ls -lg >! list      将执行 “ls - lg” 命令的结果覆盖写入文件 list 中。
    语法:命令 >& 文件 将命令执行时屏幕上所产生的任何信息写入指定的文件中。
    例如:
    cc file1.c >& error      将编译 file1.c 文件时所产生的任何信息写入文件 error 中。
    语法:命令>> 文件 将命令执行的结果附加到指定的文件中。
    例如:
    ls - lag >> list      将执行 “ls - lag” 命令的结果附加到文件 list 中。
    语法:命令 >>& 文件 将命令执行时屏幕上所产生的任何信息附加到指定的文件中。
    例如:
    cc file2.c >>& error      将编译 file2.c 文件时屏幕所产生的任何信息附加到文件error 中。
    31、查看系统中的用户
    语法: who  或 f i n g e r
    语法: w
    语法: finger 用户名 或 finger 用户名@域名
     改变用户名
    语法: su 用户名
    例如:
    su user 进入用户user 的帐号。
    p a s s w r o d : <输入用户user 的密码>
    32、查看用户名
    语法: who am i 查看登录时的用户名。
    语法: w h o a m i 查看当前的用户名。若已执行过s u命令,则显示出此用户的用
    户名。
    33、查看当前系统上所有工作站的用户
    语法: rusers
    按Ctrl+C>  结束
    34、与某工作站上的用户交谈
    语法: talk 用户名@主机名或talk 用户名@ I P地址
    例如:
    1) 可先利用 rusers 指令查看网络上的用户;
    2) 假设自己的帐号是 ddd ,在工作站 aaa上使用,现在想要与 bbb 上的ccc 交谈。
    talk ccc@bbb
    可按Ct r l + C结束。
    35、检查网络是否连通
    语法:ping 主机名或ping IP地址
    36、电子邮件的使用简介
    1. 将文件当做电子邮件的内容送出
    语法:mail -s “主题”电子邮件地址 < 文件
    例如:
    mail -s “hello” 电子邮件地址 < file.c      
    2. 传送电子邮件给本系统用户
    语法:mail 用户名
    3. 传送电子邮件至外地用户
    语法: mail 电子邮件地址
    例如:
    mail xxx@163.com
    Subject : mail test
    :
    按下 Ctrl+D 键或 . 键结束正文。
    连按两次C t r l + C键则中断工作,不送此信件。
    Cc( Carbon copy) : 复制一份正文,给其他的收信人。
    3. 检查所传送的电子邮件是否送出,或滞留在邮件服务器中
    语法:/usr/lib/sendmail  -bp
    若屏幕显示为 “Mail queue is empty” 的信息,表示 mail 已送出。
    若为其他错误信息,表示电子邮件因故尚未送出。
    作者:tshfang 
    来源: 泥胚文章写作 http://www.nipei.com 原文地址: http://www.nipei.com/article/2123
    展开全文
  • Linux - Shell基本命令

    千次阅读 2015-05-13 09:31:37
    Shell基本命令几个基本的shell命令,用ssh管理主机必备。 1.ls 列出目录下的文件,不同类型的文件颜色不同,例如蓝色是文件夹,白色是文件[root@restoretmp steph]# ls file.html public_html test [root@...

    Shell基本命令

    几个基本的shell命令,用ssh管理主机必备。
    1.ls 列出目录下的文件,不同类型的文件颜色不同,例如蓝色是文件夹,白色是文件

    [root@restoretmp steph]# ls
    file.html public_html  test
    [root@restoretmp steph]#
    参数:
    ls -a 列出所有文件,包括隐藏文件
    [root@restoretmp steph]# ls -a
    .  ..  .bash_logout  .bash_profile  .bashrc  file.html public_html  test
    [root@restoretmp steph]#
    ls -l 列出所有者 size 文件权限 修改日期
    ls -R 递归列出所有子目录的内容
    1. cd 转移目录
    cd /home/steph 将转移到/home/steph
    cd .. 上移一个目录
    cd 回到根目录
    1. 建立新文件和文件夹
    touch new-filename 建立新文件
    mkdir new-directory 建立新目录

    4.删除文件和目录

    rm filename 删除名为 filename的文件
    rmdir foldername 删除名为foldername的目录

    5.修改文件夹权限

    chmod 755 foldername 将把名为foldername的文件夹的权限修改为755

    6.修改用户

    chown steph:steph file.htmlfile.html的用户修改为steph:steph
    1. 压缩和解压缩文件
    gzip 和 gunzip
    
    压缩: 
    gzip  filename
    文件即会被压缩,并被保存为 filename.gz
    
    解压缩: 
    gunzip filename.gz
    filename.gz 会被删除,而继之以 filename
    可以通过命令man gip 和man gunzip获得命令的详细说明.
    
    zip 和 unzip
    要使用 zip 来压缩文件,在 shell 提示下键入下面的命令:
    zip -r filename.zip filesdir

    在这个例子里,filename.zip 代表你创建的文件,filesdir 代表你想放置新 zip 文件的目录。-r 选项指定你想递归地(recursively)包括所有包括在 filesdir 目录中的文件。

    要解压缩 zip 文件的内容,键入以下命令:

    unzip filename.zip

    你可以使用 zip 命令同时处理多个文件和目录,方法是将它们逐一列出,并用空格间隔:

    zip -r filename.zip file1 file2 file3 /usr/work/school

    上面的命令把 file1、file2、 file3、以及 /usr/work/school 目录的内容(假设这个目录存在)压缩起来,然后放入 filename.zip 文件中。

    运行FTP Wget实现上传下载
    1. 用FTP将服务器上的文件上传到其他服务器

    [root]$ ftp     /*启用FTP客户端
    ftp> open  202.103.1.2   /*打开远程服务器IP
    Connected to 202.103.1.2.
    220 ProFTPD 1.2.9 Server ready.
    Name (218.93.205.112:qqroot): user  /*输入用户名
    331 Password required for oran.
    Password:                  /*输入密码
    230 User oran logged in.
    put idcspy.tar.gz idcspy.tar.gz

    /*这是关键,put是上传命令,第一个idcspy.tar.gz是本地文件名,第二个是远程文件名。。意思就是把本地的idcspy.tar.gz上传到远程FTP里,并且命名为idcspy.tar.gz这样,SSH就可以自己上传了。你就可以做别的事情了。

    1. Wget下载文件

    使用方法:

    wget的使用形式是:

    wget [参数列表] URL

    首先来介绍一下wget的主要参数:

    · -b:让wget在后台运行,记录文件写在当前目录下”wget-log”文件中;

    · -t [nuber of times]:尝试次数,当wget无法与服务器建立连接时,尝试连接多少次

    。比如”-t

    120〃表示尝试120次。当这一项为”0〃的时候,指定尝试无穷多次直到连接成功为止,这个

    设置非常有用,当对方服务器突然关机或者网络突然中断的时候,可以在恢复正常后继续

    下载没有传完的文件;

    · -c:断点续传,这也是个非常有用的设置,特别当下载比较大的文件的时候,如果中

    途意外中断,那么连接恢复的时候会从上次没传完的地方接着传,而不是又从头开始,使

    用这一项需要远程服务器也支持断点续传,一般来讲,基于UNIX/Linux的Web/FTP服务器

    都支持断点续传;

    · -T [number of seconds]:超时时间,指定多长时间远程服务器没有响应就中断连接

    ,开始下一次尝试。比如”-T

    120〃表示如果120秒以后远程服务器没有发过来数据,就重新尝试连接。如果网络速度比

    较快,这个时间可以设置的短些,相反,可以设置的长一些,一般最多不超过900,通常

    也不少于60,一般设置在120左右比较合适;

    · -w [number of seconds]:在两次尝试之间等待多少秒,比如”-w 100〃表示两次尝试

    之间等待100秒;

    · -Y on/off:通过/不通过代理服务器进行连接;

    · -Q [byetes]:限制下载文件的总大小最多不能超过多少,比如”-Q2k”表示不能超过2K

    字节,”-Q3m”表示最多不能超过3M字节,如果数字后面什么都不加,就表示是以字节为单

    位,比如”-Q200〃表示最多不能超过200字节;

    · -nd:不下载目录结构,把从服务器所有指定目录下载的文件都堆到当前目录里;

    · -x:与”-nd”设置刚好相反,创建完整的目录结构,例如”wget -nd

    http://www.gnu.org“将创建在当前目录下创建”www.gnu.org”子目录,然后按照服务器

    实际的目录结构一级一级建下去,直到所有的文件都传完为止;

    · -nH:不创建以目标主机域名为目录名的目录,将目标主机的目录结构直接下到当前目

    录下;

    · –http-user=username
    
    · –http-passwd=password:如果Web服务器需要指定用户名和口令,用这两项来设定;
    
    · –proxy-user=username
    
    · –proxy-passwd=password:如果代理服务器需要输入用户名和口令,使用这两个选项
    
    ;

    · -r:在本机建立服务器端目录结构;

    · -l [depth]:下载远程服务器目录结构的深度,例如”-l 5〃下载目录深度小于或者等

    于5以内的目录结构或者文件;

    · -m:做站点镜像时的选项,如果你想做一个站点的镜像,使用这个选项,它将自动设

    定其他合适的选项以便于站点镜像;

    · -np:只下载目标站点指定目录及其子目录的内容。这也是一个非常有用的选项,我们

    假设某个人的个人主页里面有一个指向这个站点其他人个人主页的连接,而我们只想下载

    这个人的个人主页,如果不设置这个选项,甚至–有可能把整个站点给抓下来,这显然是

    我们通常不希望的;

    ü 如何设定wget所使用的代理服务器

    wget可以使用用户设置文件”.wgetrc”来读取很多设置,我们这里主要利用这个文件来是

    设置代理服务器。使用者用什么用户登录,那么什么用户主目录下的”.wgetrc”文件就起

    作用。例如,”root”用户如果想使用”.wgetrc”来设置代理服务器,”/root/.wgert”就起

    作用,下面给出一个”.wge

    trc”文件的内容,读者可以参照这个例子来编写自己的”wgetrc”文件:

    http-proxy = 111.111.111.111:8080

    ftp-proxy = 111.111.111.111:8080

    这两行的含义是,代理服务器IP地址为:111.111.111.111,端口号为:80。第一行指定

    HTTP协议所使用的代理服务器,第二行指定FTP协议所使用的代理服务器。

    第二篇:

    $ wget –help

    GNU Wget 1.9.1,非交互式的网络文件下载工具。

    用法: wget [选项]… [URL]…

    长选项必须用的参数在使用短选项时也是必须的。

    启动:

    -V, –version      显示 Wget 的版本并且退出。
    -h, –help       打印此帮助。
    -b, -background     启动后进入后台操作。
    -e, -execute=COMMAND  运行‘.wgetrc’形式的命令。

    日志记录及输入文件:

    -o, –output-file=文件   将日志消息写入到指定文件中。
    
    -a, –append-output=文件  将日志消息追加到指定文件的末端。
    
    -d, –debug        打印调试输出。
    
    -q, –quiet        安静模式(不输出信息)。
    
    -v, –verbose        详细输出模式(默认)。
    
    -nv, –non-verbose     关闭详细输出模式,但不进入安静模式。
    
    -i, –input-file=文件   下载从指定文件中找到的 URL
    -F, –force-html      以 HTML 方式处理输入文件。
    
    -B, –base=URL       使用 -F -i 文件选项时,在相对链接前添加指定的 URL

    下载:

    -t, –tries=次数       配置重试次数(0 表示无限)。
    
    –retry-connrefused   即使拒绝连接也重试。
    
    -O  –output-document=文件  将数据写入此文件中。
    
    -nc, –no-clobber       不更改已经存在的文件,也不使用在文件名后
    
    添加 .#(# 为数字)的方法写入新的文件。
    
    -c, –continue        继续接收已下载了一部分的文件。
    
    –progress=方式     选择下载进度的表示方式。
    
    -N, –timestamping      除非远程文件较新,否则不再取回。
    
    -S, –server-response    显示服务器回应消息。
    
    –spider         不下载任何数据。
    
    -T, –timeout=秒数      配置读取数据的超时时间 (秒数)。
    
    -w, –wait=秒数       接收不同文件之间等待的秒数。
    
    –waitretry=秒数     在每次重试之间稍等一段时间 (由 1 秒至指定的 秒数不等)。
    
    –random-wait      接收不同文件之间稍等一段时间(由 0 秒至 2*WAIT 秒不等)。
    
    -Y, –proxy=on/off      打开或关闭代理服务器。
    
    -Q, –quota=大小       配置接收数据的限额大小。
    
    –bind-address=地址   使用本机的指定地址 (主机名称或 IP) 进行连接。
    
    –limit-rate=速率    限制下载的速率。
    
    –dns-cache=off     禁止查找存于高速缓存中的 DNS。
    
    –restrict-file-names=OS 限制文件名中的字符为指定的 OS (操作系统) 所允许的字符。
    
    目录:
    
    -nd –no-directories      不创建目录。
    
    -x, –force-directories     强制创建目录。
    
    -nH, –no-host-directories    不创建含有远程主机名称的目录。
    
    -P, –directory-prefix=名称   保存文件前先创建指定名称的目录。
    
    –cut-dirs=数目       忽略远程目录中指定数目的目录层。
    
    HTTP 选项:
    
    –http-user=用户  配置 http 用户名。
    
    –http-passwd=密码  配置 http 用户密码。
    
    -C, –cache=on/off    (不)使用服务器中的高速缓存中的数据 (默认是使用的)。
    
    -E, –html-extension   将所有 MIME 类型为 text/html 的文件都加上 .html 扩展文件名。
    
    –ignore-length    忽略“Content-Length”文件头字段。
    
    –header=字符串     在文件头中添加指定字符串。
    
    –proxy-user=用户  配置代理服务器用户名。
    
    –proxy-passwd=密码  配置代理服务器用户密码。
    
    –referer=URL     在 HTTP 请求中包含“Referer:URL”头。
    
    -s, –save-headers    将 HTTP 头存入文件。
    
    -U, –user-agent=AGENT  标志为 AGENT 而不是 Wget/VERSION
    –no-http-keep-alive 禁用 HTTP keep-alive(持久性连接)。
    
    –cookies=off     禁用 cookie。
    
    –load-cookies=文件  会话开始前由指定文件载入 cookie。
    
    –save-cookies=文件  会话结束后将 cookie 保存至指定文件。
    
    –post-data=字符串  使用 POST 方法,发送指定字符串。
    
    –post-file=文件   使用 POST 方法,发送指定文件中的内容。
    
    HTTPS (SSL) 选项:
    
    –sslcertfile=文件   可选的客户段端证书。
    
    –sslcertkey=密钥文件 对此证书可选的“密钥文件”。
    
    –egd-file=文件    EGD socket 文件名。
    
    –sslcadir=目录     CA 散列表所在的目录。
    
    –sslcafile=文件   包含 CA 的文件。
    
    –sslcerttype=0/1   Client-Cert 类型 0=PEM (默认) / 1=ASN1 (DER)
    
    –sslcheckcert=0/1   根据提供的 CA 检查服务器的证书
    
    –sslprotocol=0-3   选择 SSL 协议;0=自动选择,
    
    1=SSLv2 2=SSLv3 3=TLSv1

    FTP 选项:

    -nr, –dont-remove-listing  不删除“.listing”文件。
    
    -g, –glob=on/off      设置是否展开有通配符的文件名。
    
    –passive-ftp      使用“被动”传输模式。
    
    –retr-symlinks     在递归模式中,下载链接所指示的文件(连至目录
    
    则例外)。
    
    递归下载:
    
    -r, –recursive     递归下载。
    
    -l, –level=数字     最大递归深度(inf 或 0 表示无限)。
    
    –delete-after    删除下载后的文件。
    
    -k, –convert-links   将绝对链接转换为相对链接。
    
    -K, –backup-converted  转换文件 X 前先将其备份为 X.orig。
    
    -m, –mirror       等效于 -r -N -l inf -nr 的选项。
    
    -p, –page-requisites  下载所有显示完整网页所需的文件,例如图像。
    
    –strict-comments  打开对 HTML 备注的严格(SGML)处理选项。
    
    递归下载时有关接受/拒绝的选项:
    
    -A, –accept=列表        接受的文件样式列表,以逗号分隔。
    
    -R, –reject=列表        排除的文件样式列表,以逗号分隔。
    
    -D, –domains=列表        接受的域列表,以逗号分隔。
    
    –exclude-domains=列表    排除的域列表,以逗号分隔。
    
    –follow-ftp         跟随 HTML 文件中的 FTP 链接。
    
    –follow-tags=列表      要跟随的 HTML 标记,以逗号分隔。
    
    -G, –ignore-tags=列表      要忽略的 HTML 标记,以逗号分隔。
    
    -H, –span-hosts         递归时可进入其它主机。
    
    -L, –relative          只跟随相对链接。
    
    -I, –include-directories=列表  要下载的目录列表。
    
    -X, –exclude-directories=列表  要排除的目录列表。
    
    -np, –no-parent         不搜索上层目录。

    Vi指令大全—-编辑文件

    进入vi的命令

    vi filename: 打开或新建文件,并将光标置于第一行首
    vi +n filename: 打开文件,并将光标置于第n行首
    vi + filename: 打开文件,并将光标置于最后一行首
    vi +/pattern filename: 打开文件,并将光标置于第一个与pattern匹配的串处
    vi -r filename: 在上次正用vi编辑时发生系统崩溃,恢复filename
    vi filename….filename: 打开多个文件,依次进行编辑

    移动光标类命令
    h: 光标左移一个字符
    l: 光标右移一个字符
    space: 光标右移一个字符
    Backspace: 光标左移一个字符
    k或Ctrl+p: 光标上移一行
    j或Ctrl+n: 光标下移一行
    Enter: 光标下移一行
    w或W : 光标右移一个字至字首
    b或B : 光标左移一个字至字首
    e或E : 光标右移一个字至字尾
    ): 光标移至句尾
    (: 光标移至句首
    }: 光标移至段落开头
    {: 光标移至段落结尾
    nG: 光标移至第n行首
    n+: 光标下移n行
    n-: 光标上移n行
    n:nH:M:L:0:: 光标移至当前行尾

    屏幕翻滚类命令
    Ctrl+u: 向文件首翻半屏
    Ctrl+d: 向文件尾翻半屏
    Ctrl+f: 向文件尾翻一屏
    Ctrl+b: 向文件首翻一屏
    nz: 将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。

    插入文本类命令
    i: 在光标前
    I: 在当前行首
    a: 光标后
    A: 在当前行尾
    o: 在当前行之下新开一行
    O: 在当前行之上新开一行
    r: 替换当前字符
    R: 替换当前字符及其后的字符,直至按ESC键
    s: 从当前光标位置处开始,以输入的文本替代指定数目的字符
    S: 删除指定数目的行,并以所输入文本代替之
    ncw或nCW: 修改指定数目的字
    nCC: 修改指定数目的行

    删除命令
    ndw或ndW: 删除光标处开始及其后的n-1个字
    do: 删至行首
    d$: 删至行尾
    ndd: 删除当前行及其后n-1行
    x或X: 删除一个字符,x删除光标后的,而X删除光标前的
    Ctrl+u: 删除输入方式下所输入的文本

    搜索及替换命令
    /pattern: 从光标开始处向文件尾搜索pattern
    ?pattern: 从光标开始处向文件首搜索pattern
    n: 在同一方向重复上一次搜索命令
    N: 在反方向上重复上一次搜索命令
    :s/p1/p2/g: 将当前行中所有p1均用p2替代
    :n1,n2s/p1/p2/g: 将第n1至n2行中所有p1均用p2替代
    :g/p1/s//p2/g: 将文件中所有p1均用p2替换

    选项设置
    all: 列出所有选项设置情况
    term: 设置终端类型
    ignorance: 在搜索中忽略大小写
    list: 显示制表位(Ctrl+I)和行尾标志($)
    number: 显示行号
    report: 显示由面向行的命令修改过的数目
    terse: 显示简短的警告信息
    warn: 在转到别的文件时若没保存当前文件则显示NO write信息
    nomagic: 允许在搜索模式中,使用前面不带“\”的特殊字符
    nowrapscan: 禁止vi在搜索到达文件两端时,又从另一端开始
    mesg: 允许vi显示其他用户用write写到自己终端上的信息

    最后行方式命令
    :n1,n2 co n3: 将n1行到n2行之间的内容拷贝到第n3行下
    :n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下
    :n1,n2 d: 将 n1行到n2行之间的内容删除
    :w: 保存当前文件
    :e filename: 打开文件filename进行编辑
    :x: 保存当前文件并退出
    :q: 退出vi
    :q!: 不保存文件并退出vi
    :!command: 执行shell命令command
    :n1,n2 w!command: 将文件中n1行至n2行的内容作为command的输入并执行之,
    若不指定n1,n2,则表示将整个文件内容作为command的输入
    :r!command: 将命令command的输出结果放到当前行

    寄存器操作
    “?nyy: 将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字
    “?nyw: 将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字
    “?nyl: 将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字
    “?p: 取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字
    ndd: 将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中

    展开全文
  • shell翻译成壳的意思,它是包裹在linux内核外层的,一个可通过一系列的linux命令对操作系统发出相关指令的人机界面。shell可以通过其条件语句和循环语句等,把一系列linux命令结合在一起,形成一个相当于面向过程的...

    shell翻译成壳的意思,它是包裹在linux内核外层的,一个可通过一系列的linux命令对操作系统发出相关指令的人机界面。shell可以通过其条件语句和循环语句等,把一系列linux命令结合在一起,形成一个相当于面向过程的程序,shell script,来实现一些较为复杂的功能。

    总括,shelllinux命令集的概称,是属于命令行的人机界面。Shell 是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。Ken Thompsonsh是第一种Unix ShellWindows Explorer是一个典型的图形界面ShellShellShell Script不是一回事,通常我们说的都是Shell Script

    Shell 编程跟java、php编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。

    LinuxShell种类众多,常见的有:

    • Bourne Shell(/usr/bin/sh/bin/sh
    • Bourne Again Shell(/bin/bash
    • C Shell(/usr/bin/csh
    • K Shell(/usr/bin/ksh
    • Shell for Root(/sbin/sh
    • ……
    • shell是一个命令解释器,处于内核和用户之间,负责把用户的指令传递给内核并且把执行结果回显给用户,同时,shell也可以作为一门强大的编程语言。

    Windows平台上,shell=cmd.exeCommand shell)用windows上的命令可以写一个批处理文件,点击执行,如 test.bat


    shell内置命令和外部命令的区别

    内部命令实际上是shell程序的一部分,其中包含的是一些比较简单的linux系统命令,这些命令由shell程序识别并在shell程序内部完成运行,通常在linux系统加载运行时shell就被加载并驻留在系统内存中。内部命令是写在bash源码里面的,其执行速度比外部命令快,因为解析内部命令shell不需要创建子进程。比如:exit,history,cd,echo等。

    外部命令是linux系统中的实用程序部分,因为实用程序的功能通常都比较强大,所以其包含的程序量也会很大,在系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调用内存。通常外部命令的实体并不包含在shell中,但是其命令执行过程是由shell程序控制的。shell程序管理外部命令执行的路径查找、加载存放,并控制命令的执行。外部命令是在bash之外额外安装的,通常放在/bin/usr/bin/sbin/usr/sbin…等等。可通过“echo $PATH”命令查看外部命令的存储路径,比如:ls、vi等。

    type命令可以分辨内部命令与外部命令:
    在这里插入图片描述
    内部命令和外部命令最大的区别之处就是性能。内部命令由于构建在shell中而不必创建多余的进程,要比外部命令执行快得多。因此和执行更大的脚本道理一样,执行包含很多外部命令的脚本会损害脚本的性能。


    Shell内置命令

    主要Shell内置命令

    Shell有很多内置在其源代码中的命令。这些命令是内置的,所以Shell不必到磁盘上搜索它们,执行速度因此加快。不同的Shell内置命令有所不同。

    A.2.1 bash内置命令

    .:执行当前进程环境中的程序。同source。
    
    . file:dot命令从文件file中读取命令并执行。
    
    : 空操作,返回退出状态0。
    
    alias:显示和创建已有命令的别名。
    
    bg:把作业放到后台。
    
    bind:显示当前关键字与函数的绑定情况,或将关键字与readline函数或宏进行绑定。
    
    break:从最内层循环跳出。
    
    builtin [sh-builtin [args]]:运行一个内置Shell命令,并传送参数,返回退出状态0。当一个函数与一个内置命令同名时,该命令将很有用。
    
    cd [arg]:改变目录,如果不带参数,则回到主目录,带参数则切换到参数所指的目录。
    
    command comand [arg]:即使有同名函数,仍然执行该命令。也就是说,跳过函数查找。
    
    declare [var]:显示所有变量,或用可选属性声明变量。
    
    dirs:显示当前记录的目录(pushd的结果)。
    
    disown:从作业表中删除一个活动作业。
    
    echo [args]:显示args并换行。
    
    enable:启用或禁用Shell内置的命令。
    
    eval [args]:把args读入Shell,并执行产生的命令。
    
    exec command:运行命令,替换掉当前Shell。
    
    exit [n]:以状态n退出Shell。
    
    export [var]:使变量可被子Shell识别。
    
    fc:历史的修改命令,用于编辑历史命令。
    
    fg:把后台作业放到前台。
    
    getopts:解析并处理命令行选项。
    
    hash:控制用于加速命令查找的内部哈希表。
    
    help [command]:显示关于内置命令的有用信息。如果指定了一个命令,则将显示该命令的详细信息。
    
    history:显示带行号的命令历史列表。
    
    jobs:显示放到后台的作业。
    
    kill [-signal process]:向由PID号或作业号指定的进程发送信号。输入kill-l查看信号列表。
    
    let:用来计算算术表达式的值,并把算术运算的结果赋给变量。
    
    local:用在函数中,把变量的作用域限制在函数内部。
    
    logout:退出登录Shell。
    
    popd:从目录栈中删除项。
    
    pushd:向目录栈中增加项。
    
    pwd:打印出当前的工作目录。
    
    read [var]:从标准输入读取一行,保存到变量var中。
    
    readonly [var]:将变量var设为只读,不允许重置该变量。
    
    return [n]:从函数中退出,n是指定给return命令的退出状态值。
    
    set:设置选项和位置参量。
    
    shift [n]:将位置参量左移n次。
    
    stop pid:暂停第pid号进程的运行。
    
    suspend:终止当前Shell的运行(对登录Shell无效)。
    
    test:检查文件类型,并计算条件表达式。
    
    times:显示由当前Shell启动的进程运行所累计用户时间和系统时间。
    
    trap [arg] [n]:当Shell收到信号n(n为0、1、2或15)时,执行arg。
    
    type [command]:显示命令的类型,例如:pwd是Shell的一个内置命令。
    
    typeset:同declare。设置变量并赋予其属性。
    
    ulimit:显示或设置进程可用资源的最大限额。
    
    umask [八进制数字]:用户文件关于属主、属组和其他用户的创建模式掩码。
    
    unalias:取消所有的命令别名设置。
    
    unset [name]:取消指定变量的值或函数的定义。
    
    wait [pid#n]:等待pid号为n的后台进程结束,并报告它的结束状态。
    
    展开全文
  • Linuxshell命令:top

    千次阅读 2018-06-28 23:14:53
    最近整理了一下linux下的shell命令,为什么要整理呢?因为在十几年的IT工作中总遇到要查看某个命令的用法的问题,早先的处理方式是去百度一下,后来感觉百度查到的内容不太准确和完整,后来就直接去官网查手册,但是...
  • Linuxshell命令:ps

    千次阅读 2018-06-21 16:18:34
    最近整理了一下linux下的shell命令,为什么要整理呢?因为在十几年的IT工作中总遇到要查看某个命令的用法的问题,早先的处理方式是去百度一下,后来感觉百度查到的内容不太准确和完整,后来就直接去官网查手册,但是...
  • Linux shell中的wait命令的使用

    千次阅读 2020-06-06 17:01:50
    Linux shell中的wait命令的使用一:wait命令作用二:使用格式三:举例3.1 案例一3.2 案例二:函数中使用wait3.3 案例三3.4 案例四四:串行执行与并行执行4.1 串行执行4.2 并行执行4.3 串行与并行执行效率对比 ...
  • Linux主要shell命令详解

    千次阅读 2007-07-16 16:06:00
    Linux主要shell命令详解 shell是用户和Linux操作系统之间的接口。Linux中有多种shell,其中缺省使用的是Bash。本章讲述了shell的工作原理,shell的种类,shell的一般操作及Bash的特性。 什么是shellLinux系统的...
  • Linux shell编程之read 命令

    千次阅读 2017-02-05 16:10:36
    Linux系统中read 命令的使用
  • Linux主要shell命令详解

    千次阅读 2012-08-07 20:08:26
     shell是用户和Linux操作系统之间的接口。Linux中有多种shell,其中缺省使用的是Bash。本章讲述了shell的工作原理,shell的种类,shell的一般操作及Bash的特性。  什么是shell Linux系统的shell作为操作系统...
  • 管道命令操作符是:”|”,它仅能处理经由前面一个指令传出的正确输出信息,也就是 standard output 的信息,对于 stdandard error 信息没有直接处理能力。然后,传递给下一个命令,作为标准的输入 standard input...
  • 常用的高级Linux shell命令

    千次阅读 2012-12-28 16:04:14
    作为一个由用户推荐最有用shell命令的网站,其记录了数以万计的各色shell命令,其中不乏相当实用和有趣的,本文就要细数当中获投票最高的一些命令,从其中取材并加以细释,希望读者能从中受益。 编辑:@BOYPT  本...
  • 最牛B 的 Linux Shell 命令

    千次阅读 2012-12-25 14:52:33
    最牛B 的 Linux Shell 命令(一) 引言 Shell作为Unix系操作系统当中最有魅力且不可或缺的组件,经过数十载的洗礼不仅没有被淘汰,而且愈加变得成熟稳健,究其原因,大概因为它是个非常稳固的粘合剂,能够把大量...
  • Linux常用shell语法和命令

    千次阅读 2016-11-20 23:47:58
    Linux常用shell语法和命令
  • 1.以sudo运行上条命令 $ sudo !! 或者 按Ctrl-p,按Ctrl-a,输入sudo,回车。 两个感叹号其实是bash的一个特性,称为事件引用符(event designators)。!!其实相当于!-1,引用前一条命令,当然也可以!-2...
  • 利用SharpSsh远程执行linuxshell命令

    千次阅读 2014-10-21 17:27:20
    利用SharpSsh远程执行linuxshell命令 (2011-07-26 14:38:02) 标签: linux ssh c shell 分类: 学习笔记--远程连接 SharpSSH是一个C#的开源项目,可以利用SSH连接linux系统。并...
  • Linux命令 一、清空命令行 reset 二、文件操作 ls -l 显示文件列表 ls -la 显示所有文件列表 ls -l ja* 显示经过通配符查找的结果 touch today.c 创建文件 cp src.txt dest.txt 复制文件 cp -i src.txt ...
  • linuxshell常用命令

    千次阅读 2014-05-20 14:34:27
    shell在这里不是指的希尔排序,而是提供使用界面de
  • Linux-shell基础常用命令总结

    千次阅读 多人点赞 2017-05-14 22:25:03
    最近在工作中用到linux系统,用的是shell客户端来进行连接。所以对于一些linux常用命令也有所研究,今天在此做一个小结,有不足的望大家指教。  Linuxshell的连接:  命令:  ①. ssh 服务器ip --> 输入root...
  • Linux Shell—— read命令

    千次阅读 2012-12-25 20:33:39
    read命令接收标准输入(键盘)的输入,或其他文件描述符的输入(后面在说)。得到输入后,read命令将数据放入一个标准变量中。下面是 read命令 的最简单形式:: #!/bin/bash echo -n "Enter your name:" //参数-n...
  • if(proc_left->waitForFinished()){ //等待进程结束 进程结束前一直阻塞 ui->pBtn_left->setEnabled(true); } // ui->pBtn_left->setEnabled(true); } void audiotest::on_pBtn_right_clicked() { ui->pBtn_...
  • (转载)Linux主要shell命令详解

    千次阅读 2006-02-03 22:07:00
    Linux主要shell命令详解 shell是用户和Linux操作系统之间的接口。Linux中有多种shell,其中缺省使用的是Bash。 本章讲述了shell的工作原理,shell的种类,shell的一般操作及Bash的特性。 什么是shell Linux系统的...
  • http://unix.stackexchange.com/questions/124106/shell-script-wait-for-background-command   You can use the command wait PID to wait for a process to end. You can also retrieve the PID...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 43,074
精华内容 17,229
关键字:

linuxshell等待命令结束

linux 订阅