zoukankan      html  css  js  c++  java
  • Linux 常见命令

    以下只说明各常用指令的基本用法, 若需详细说明, 请用 man 去读详细的 manual.

    1.关于档案/目录处理的命令

    ls——列目录
    这是最基本的档案指令。 ls 的意义为 "list",也就是将某一个目录或是某一个档案的内容显示出来。
    格式:ls -1ACFLRabcdfgilmnopqrstux -W[sv] [files]
    例:
    #ls (不跟任何参数以简单格式列出当前目录中所有档案)
    #ls bin (简单格式列出名为bin的文件或目录下的所有档案) 
    #ls /u/ilasII_GB/lib (全路径,列出lib目录下的所有档案)
    ls 的常用参数如下:
    -a : 在 UNIX 中若一个目录或档案名字的第一个字元为 "." , 则使用 ls将不会显示出这个档案的名字,我们称此类档案为隐藏档。如 .profile、.tcshrc等
    如果我们要察看这类档案,则必须在其后加上参数 -a 。
    -l : 这个参数代表使用 ls 的长( long )格式,可以显示更多的资讯,如档案存取权,档案拥有者( owner ),档案归属组,档案大小,档案最後更新时间,甚而 symbolic link 的档案是 link 那一个档等等。显示结果如下所示:
    drwxrwxrwx 30 root bin 1024 May 23 10:38 u
    drwxrwxrwx 2 root sys 512 Jul 28 1999 uacn
    drwxrwxrwx 5 root sys 512 Jul 27 1999 udk
    lrwxrwxrwx 1 root sys 11 Jul 27 1999 unix -> /stand/unix
    drwxrwxrwx 35 root auth 1024 Apr 3 13:45 usr 
    在开始的10个字符上系统给出文件的用户权限。该序列分成四个域。第一个字符为类型域,第2、3、4个字符为用户主域,第5、6、7个字符为同组用户域,第8、9、10个字符为其它用户域,域中字符的含义如下:
    l 在类型域中:
    d 表示此文件是一个目录
    - 表示此文件是一个普通文件
    b 表示此文件是一个特殊的块设备I/O文件
    c 表示此文件是一个特殊的字符设备I/O文件
    l 表示此文件是一个连接文件。在其文件名称后紧跟与它连接的文件路径及名称。如:
    unix -> /stand/unix
    l 在“用户主”、“同组用户”、“其它用户”域中:
    r 表示有读权限。含义是可以拷贝或显示该文件或目录中的内容。
    w 表示有写权限。含义是可以改变或修改该文件。
    x 表示有执行权限。含义是可以执行该文件或用cd命令进入该目录,在该目录中建 
    立文件或子目录等。
    - 表示无权限。

    chmod——变更档案模式( change mode )
    这个指令是用来更改档案的存取模式( access mode )。在 UNIX 一个档案上有可读(r)可写(w)可执行(x)三种模式,分别针对该档案的所有者( onwer )、同组者( group member )( 你可以 ls -lg来观看某一档案的所属的 group ),以及其他人( other )。一个档案如果改成可执行模式则系统就将其视为一个可执行档,而一个目录的可执行模式代表使用者有进入该目录之权利。chmod 就是用来变更一些档案的模式。
    格式:chmod [ -fR ] mode filename ...
    主要参数的意义如下:
    -f(Force): chmod 不会理会失败的动作。
    -R(Recurive): 会将所有子树下的所有子目录及档案改为你所要改成的模式。
    Mode:指改变模式。包括三个方面:
    A. 为哪些用户改变
    u——用户本身
    g——同组用户
    o——其他用户
    B. 如何改变
    +——增加权限
    -——去掉权限
    C. 什么权限
    r——读权限
    w——写权限
    x——执行权限
    例:
    #chmod go+w file1
    修改前file1的权限为:-rwxr--r--
    修改后file1的权限为:-rwxrw-rw-
    也可以用一个三位八进位数字来表示对某些对象的存取权。
    例:
    #chmod 666 * (所有用户都可读、写)
    #chmod 777 * (所有用户都可读、写、执行)

    cat——串联显示命令
    例:#cat file1 (将文件file1的内容在屏幕上不停地显示出来)
    Cat命令还可以用来建立文件,如:
    #cat>newfile
    this is a text
    Ctrl+D
    即建立newfile文件,内容为:this is a text
    #cat file1 file2 >file3 (将file1,file2两个文件接起来生成文件file3)
    #cat f1 f2>>f3 (将f1,f2两文件接在f3文件的尾)

    more——分屏显示文件内容
    more 可以将所观察的档案根据分屏显示出来,并根据使用者的要求换页或卷行。
    如果使用者要在某一个档案中搜寻一个特定的字串,则按 / 然后跟着打所要搜寻的单字即可进行搜寻
    如果你在使用中觉得已经看到了所要看的部份,可以按'q'离开 more 的使用。
    在使用中按'v' 亦可以使用编辑器来编辑所观看的档案。
    格式: more filename

    cd——改变当前目录
    格式:cd dirname
    例:
    #cd (到用户的“家”目录)
    #cd /usr (将目前目录转移到/usr目录,也即进入/usr)
    #cd .. (返回上一级目录)
    #cd ../.. (返回上一级目录的上一级目录) 

    cp——拷贝
    这个指令的意义是复制("COPY") , 也就是将一个或多个档案复制成另
    一个档案或者是将其复制到另一个目录去。
    格式: cp [-fip] source_file target_file (拷贝文件)
    cp [-r|-R][-fip] source_file... target_file (拷贝目录)
    常用参数如下:
    -i : 此参数是当已有档名为 f2 的档案时,若迳自使用 cp 将会将原来 f2的内容掩盖过去,因此在要盖过之前必须先询问使用者一下。如使用者的回答是y(yes)才执行复制的动作。
    -r : 此参数是用来做递回复制用,可将一整颗子树都复制到另一个目录中。

    cp 的用法例举如下:
    #cp f1 f2 (将名为 f1 的档案复制一份名为 f2 的档案)
    #cp f1 f2 f3 ... dir (将档案 f1 f2 f3 ... 复制一份放到目录 dir 里面)
    #cp -r dir1 dir2 ( 将 dir1 的全部内容全部复制到 dir2 里面)

    mv——移动或改名
    mv 的意义为 move , 主要是将一档案改名或移至另一个目录。
    格式: mv [-fi] source_file... target_file
    主要参数:
    -i : -i 的含义与 cp 的相同,均是 interactive询问之意。
    -f: 强迫( force )执行 。所有其他的参数遇到 -f 均失效。
    例:
    #mv f1 f2 (将名为 f1 的档案变更成名为 f2 的档案)
    #mv dir1 dir2 ( 将名为 dir1 的目录变更成名为 dir2 的目录)
    #mv f1 f2 f3 ... dir (将档案 f1 f2 f3 ... 都移至目录 dir 里面)

    rm——删除
    rm 的意义是 remove ,也就是用来删除一个档案。在 UNIX 中一个被删除的档案除非是系统恰好有做备份,否则是无法像 DOS 里面一样还能够恢复。所以在做 rm 动作的时候使用者应该要特别小心。
    格式: rm [-fiRr] file...
    主要参数:
    -f : 将会使得系统在删除时,不提出任何警告讯息。
    -i : 在除去档案之前均会询问是否真要除去。
    -r : 递归式的删除。
    注意:
    不要随便使用 rm -rf , 否则有一天你会"欲哭无泪"......
    例:
    rm f1 (删除名为f1的档案)
    rm -r dir1 (删除名为dir1的目录及其下的所有档案)
    rm -i sendmarc1 (删除名为sendmarc1的文件前先提示,待回答(Y/N)?)如下:
    remove sendmarc1 ? y

    mkdir——创建目录
    mkdir 是一个让使用者建立一个目录的指令。你可以在一个目录底下使用
    midir 建立一个子目录。
    格式:mkdir dirname1 [ dirname2 ... ]
    例:
    #cd /u/ilasII_GB (将当前路径置换为/u/ilasII_GB)
    # mkdir ilasbak (在/u/ilasII_GB目录下创建一个名为ilasbak的子目录)

    rmdir——删除目录
    rmdir 是用来将一个"空的"目录删除。如果一个目录下面没有任何档案,你就可以用 rmdir 指令将其除去。
    格式:
    rmdir dirname1 [ dirname2 .... ]
    如果一个目录底下有其他的档案, rmdir 将无法将这个目录删除,除非使用 rm 指令的 -r 选项。
    例 :
    rmdir ilasbak (删除名为ilasbak的空目录)

    pwd——显示当前路径
    例如:
    #pwd
    /u/ilasII_GB/database (显示当前路径为:/u/ilasII/database)

    2.关于进程处理的命令:

    ps——显示目前你的 process 或系统 processes 的状况
    格式:
    ps [-aAdefl] [-G groups] [-o format] [-p pids] [-t termlist] [-u users] [-U users] [-g pgrplist] 
    常用参数:
    -a 列出所有用户的 process 状况。
    -u 显示 user - oriented 的 process 状况 。
    -x 显示包括没有 terminal 控制的 process 状况 。
    -w 使用较宽的显示模式来显示 process 状况 。
    例:
    #ps -ae (显示所有进程的进程号及状态)
    #ps -u ilasnt1 (显示用户ilasnt1的进程状态)
    PID TTY TIME CMD
    1194 ttyp0 00:00:00 sh
    #ps -t tty1a (显示设备tty1a上的进程)
    如上所示:我们可以经由 ps 取得目前 processes 的状况,如 PID(进程号) , TTY(设备名)、TIME(时间)、CMD(程序名) 等。

    kill——杀进程
    kill 指令的用途是送一个信号给某一个进程。因为大部份送的都是用来杀掉进程 ,因此称为 kill 。
    格式:
    kill [ -SIGNAL ] pid ...
    kill -l
    SIGNAL :为一个讯号的数字,从 0 到 31 ,其中 9 是 SIGKILL ,也就是一般用来杀掉一些无法正常终止进程的讯号。
    你也可以用 kill -l 来察看可代替 signal 号码的数目字。

    3.用户操作指令

    Who——查询目前有那些人在线
    例:
    #who
    ilasnt1 ttyp0 May 24 10:23
    root ttyp3 May 24 11:27
    root ttyp4 May 24 09:39 

    w——查询目前有那些人在线上,同时显示出那些人目前的工作
    例:
    #w
    12:17pm up 3:59, 3 users, load average: 2.03, 2.02, 2.00
    User Tty Login@ Idle JCPU PCPU What
    ilasnt1 ttyp0 10:23am 1:54 1 - -sh
    root ttyp3 11:27am 2 1 - w
    root ttyp4 9:39am 38 1 - -sh

    chgrp——改变组的属性
    格式:
    chgrp [-R] group file... 
    例:
    #chgrp library file1 file2… (将file1、file2…等的用户组改为library)

    chown——改变文件或目录的所有者
    格式:
    chown [-R] owner[:group] file... 
    例:
    #chown ilasnt1 ilasII_GB (将ilasII_GB的用户主改为ilasnt1)

    passwd——更改用户口令
    格式:
    passwd 用户名 (后面不跟用户名,为修改root的口令)

    4.网路指令
    UNIX 提供网路的连接,使得你可以在各个不同的机器上做一些特殊的事情。有些工作可以利用 UNIX 的网路指令,在你的位子上连到各个不同的机器上工作。如此一来,即使你在寝室,也能轻易的连至系上或计中来工作,不用像以前的人必须泡在冷冰冰的机房面。
    这些网路的指令如下所述:

    telnet——仿真终端程序
    telnet 是一个提供 user 经由网路连到 remote host。
    格式:
    telnet [ hostname | ip-address ] [ port ]
    其中:
    hostname:为一个像 ccsun1 或是 ccsun1.cc.nctu.edu.cn 的 name address;
    ip-address:则为一个由四个小於 255 的数字组成的IP地址,如 140.113.17.173 、210.26.147.1等。
    Port:为一些特殊的程式所提供给外界的沟通点。如对方没要求,则不需要此项。
    例:
    #telnet ccsun1
    #telnet 140.113.17.173

    ftp——文件传输协议
    ftp 的意义是 File Transfer Program ,是一个很常应用在网路档案传输的
    程序。
    格式:
    ftp [ hostname | ip-address ]
    其中 hostname | ip-address 的意义同telnet 。
    在进入 ftp 之後,如果与 remote host 连接上了,它将会询问你用户名
    与密码,如果输入对了就可以开始进行档案传输。
    ftp中常用命令:
    ascii:将传输模式设为 ascii 模式。通常用於传送文字档。
    binary:将传输模式设为 binary 模式,通常用於传送执行档,压缩档与影像档等。
    cd remote-directory:将 remote host(远方)上的工作目录改变。
    lcd [ directory ]:更改 local host (本地)的工作目录。
    ls [ remote-directory ] [ local-file ]:列出 remote host 上的档案。
    get remote-file [ local-file ]:取得远方的档案。
    mget remote-files :可使用通用字元一次取得多个档案。
    put local-file [ remote-file]: 将 local host 的档案送到 remote host。
    mput local-files :可使用通用字元一次将多个档案放到 remote host 上。
    help [ command ]: 线上辅助指令。
    mkdir directory-name :在 remote host 造一个目录。
    prompt 更改交谈模式,若为 on 则在 mput 与 mget 时每作一个档案之传
    输时均会询问。
    quit/bye 离开ftp .

    5.其他指令

    备份命令:tar(c)
    tar 是对非特权用户最易用和最可靠的实用程序(utility),从归档介质上保留和恢复文件,亦能从多文件归档中抽取单个文件。
    tar 归档使用文件和目录的相对或绝对路径名。
    打入 tar,即会显示所有变量选项;
    如:
    tar -{txruc}[0-9vfbkelmnopwAFLTP] [tapefile] [blocksize] [tapesize] files...
    Key Device Block Size(K) Tape
    0 /dev/rfd048ds9 18 360 No
    1 /dev/rfd148ds9 18 360 No
    2 /dev/rfd096ds15 10 1200 No
    3 /dev/rfd196ds15 10 1200 No
    4 /dev/rfd0135ds9 18 720 No
    5 /dev/rfd1135ds9 18 720 No
    6 /dev/rfd0135ds18 18 1440 No
    7 /dev/rfd1135ds18 18 1440 No
    8 /dev/rStp0 20 0 Yes
    9 /dev/rctmini 20 0 Yes
    10 /dev/rdsk/fp03d 18 720 No
    11 /dev/rdsk/fp03h 18 1440 No
    12 /dev/rdsk/fp03v21 10 20330 No 
    其中: 
    “cv”是创建归档;
    “cv#”用於来自 /etc/default/tar 的设备号 #;
    “rv”追加已有归档;
    “uv”更新在已有归档上的文件;
    “tv”显示归档内容表;
    “xv”从归档中抽取文件;
    “f”从指定文件中读入或写出;
    “L”使 tar跟随符号连接继续追查下去,默认情况下则会忽略符号连接。
    例:
    (1)要归档指定文件,而复盖盘上的已有数据,指令如下:
    $cd pub
    $tar cv8 ascii greek (8为磁带机)
    volume end at 1199k, block factor=5k
    seek=0k a ascii 3k
    seek=3k a greek 1k
    (2)要列出 tar 归纳的内容:
    $tar tv8
    rwxrwxrwx201/50 1731 Apr 11 00:58 1997 web50/WEB/srchbib.htm
    rwxrwxrwx201/50 1002 Apr 11 00:58 1997 web50/WEB/readinfo.htm
    rwxrwxrwx201/50 1070 Apr 11 00:58 1997 web50/WEB/stflag.gif
    rwxrwxrwx201/50 45 Mar 22 01:27 1997 web50/WEB/cgi-bin/ILASPROF
    rwxr-xr-x201/50 136799 Apr 10 04:10 1998 web50/WEB/cgi-bin/openhold

    注意:创建 tar 归档,使用相对路径名,否则,恢复另一系统就会盖写其他系统的文件。如:
    #tar cv8 /etc/motd
    #cd /tmp
    #tar xv8
    x /etc/motd, 943 bytes,2k

    Df——显示硬盘空间使用情况
    磁盘空间以块为单位进行分配,典型的块是512字节。
    例:
    #df -v
    Mount Dir Filesystem blocks used free %used
    / /dev/root 2123740 990450 1133290 47%
    /stand /dev/boot 100000 19796 80204 20%
    /u /dev/u 15000000 12529568 2470432 84%

    Du——检测一个目录和(递归地)所有它的子目录中的文件占用的磁盘空间,用块大小标识。
    例:
    #du
    #du -s 只显示整个目录占用的空间

    Find——从指定路径开始查找带有规定特征的文件
    例:
    #find / -name ilas.ini (从根目录开始递归地寻找出名为ilas.ini的文件,并将它所在目录显示在屏幕上)

    Date——显示系统日期
    例:
    #date
    Thu May 24 14:31:49 CST 2001 

    Format——软盘格式化
    例:
    #format /dev/rfd096ds15 (格式化5寸高密软盘(A驱动器)

    Haltsys——紧急关机
    格式:#haltsys 回车 (此时未执行关闭数据库等,最好用Shutdown)

    Shutdown——多用户情况下关机
    格式:
    #shutdown -g0 -y -i0

  • 相关阅读:
    使用C#调用C++类库
    C# IntPtr类型
    C# 调用C++ dll string类型返回
    C# try、catch、finally语句
    C语言 char *、char []、const char *、string的区别与相互转换
    C# 字符串string与char数组互转!
    C#如何调用C++(进阶篇)
    Springboot通过过滤器实现对请求头的修改
    【spring事务】
    命令行参数库:McMaster.Extensions.CommandLineUtils【转】
  • 原文地址:https://www.cnblogs.com/qianjinyan/p/9789765.html
Copyright © 2011-2022 走看看