linux常用命令



1       man 线查询 man ls
2       ls
看目与档案 ls -la
3       more
页显more 文件名称
4       cd
cd/usr/local/apache
5       touch
建立空白文档
6       mkdir
建立新的目
mkdir/usr/temp
7       rmdir
除目 rmdir/usr/temp
8       rm
除目或档案 rm -f 文件名称 (如果要除目.需要加 -r )
9       cp 复制目或档案 cp 来源档案 目档案
10      pwd
示目前的工作目
11      mv
或档案更名或搬移 mv 来源档案 目档案
12      find 找目或档案 find /etc -name 文件名称
13      chmod
更档案使用chmod -R 755 /usr/local/etc
14      chown
更档案所有者 chown -R lin.wheel /usr/local/etc
15      gzip/tar 压缩或解压缩档案或目 tar -czvf 压缩档名.tar.gz 名称
16      mount 挂上档案系或是设备 mount /cdrom
17      umount
卸下档案系或是设备 umount/cdrom
18      df
查询的可使用档案空 df
19      du
示目或档案所占的磁 du -a 檔名 (du -sh 可以取当前文件下的磁使用空)
20      ps
查询process ps -aux|grep apach*
21      kill
砍除一个process kill pid
22      su
变换身份 su - root
23      adduser
新增使用者
24      userdel
除使用者
25      vipw
编辑使用者账户
26      passwd
更密
27      ping
侦测计算机之机状 ping210.240.6.9
28      ifconfig
接口的定与管理 ifconfig -a
29      route
可以
routingtable 
30      traceroute
列出所
经过routetraceroute 210.240.8.1
31      netstat
可以
查询的使用及机情形
32      pkg_add
安装package pkg_add bash-2.04.tgz
33      pkg_delete
移除已安装的package pkg_delete bash-2.04
34      pkg_info 查询安装纪录
35      sync
迫系将快取数据写回硬
36      reboot
重新启
37      halt

38      shutdown
通知使用者系将关


  cat cd
  chmod chown
  cp cut
  名称:cat
  使用
限:所有使用者
  使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName
  
明:把档案串接后到基本出(幕或加 > fileName 到另一个档案)
  参数:
  -n --number 1 开始所有出的行数
  -b --number-nonblank -n 相似,只不过对于空白行不
  -s --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
  -v --show-nonprinting
  范例:
  cat -n textfile1 > textfile2 textfile1 的档案内容加上行号后
textfile2 个档案里
  cat -b textfile1 textfile2 >> textfile3 textfile1 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3

  
名称:cd
  使用:所有使用者
  使用方式:cd[dirName]
  :变换工作目 dirName。 其中 dirName 表示法可为绝对路径或相路径。若目名称省略,则变换至使用者的 home directory (也就是 login 所在的目).另外,"~" 也表示 homedirectory 的意思,"." 是表示目前所在的目,".." 表示目前目位置的上一
  范例:跳到/usr/bin/:
  cd /usr/bin

  跳到自己的 home directory:
  
cd ~

  跳到目前目的上上两:
  cd ../..

  指令名称:chmod
  使用:所有使用者
  使用方式:chmod[-cfvR] [--help] [--version] mode file...
  :Linux/Unix 的档案存取限分:档案有者,,其他。利用 chmod 可以藉以控制档案如何被他人所存取。
  把:
  mode:定字串,格式如下:[ugoa...][[+-=][rwxX]...][,...],其中u 表示档案的有者,g 表示与档案的有者属于同一个群体(group),o 表示其他以外的人,a 表示三者皆是。
  + 表示增加,- 表示取消,= 表示唯一限。
  r 表示可,w 表示可写入,x 表示可,X 表示只有当档案是个子目或者档案已过为行。
  -c:档案限确更改,示其更改
  -f:档案限无法被更改也不要错误讯
  -v:更的详细资
  -R:目前目下的所有档案与子目录进行相同的(即以回的方式逐个)
  --help:
  --version:示版本
  范例 :将档案 file1.txt 设为所有人皆可:
  chmod ugo+rfile1.txt

  将档案 file1.txt设为所有人皆可:
  chmod a+r file1.txt

  将档案 file1.txt file2.txt 设为该档案有者,与其所属同一个群体者可写入,但其他以外的人不可写入:
  chmod ug+w,o-w file1.txt file2.txt

   ex1.py 只有档案有者可以:
  chmod u+x ex1.py

  将目前目下的所有档案与子目设为任何人可:
  chmod -R a+r *

  此外chmod也可以用数字来表示限如 chmod 777 file
  chmod abc file
  其中a,b,c一个数字,表示User,Group,Other限。

  r=4,w=2,x=1
  若要rwx属性4+2+1=7
  若要rw-属性4+2=6
  若要r-x属性4+1=7

  范例:
  chmod a=rwx file
  和
  chmod 777 file
  效果相同
  chmod ug=rwx,o=x file
  和
  chmod 771 file
  效果相同
  若用chmod 4755 filename可使此程式具有root


  指令名称:chown
  使用
:root
  使用方式:chmod [-cfhvR] [--help] [--version] user[:group]file...

  
:Linux/Unix 是多人多工作,所有的档案皆有有者。利用 chown 可以将档案的有者加以改。一般来,个指令只有是由系管理者(root)所使用,一般使用者没有限可以改变别人的档案有者,也没有限可以自己的档案有者改设为别人。只有系管理者(root)才有这样限。
  把:
  user:新的档案有者的使用者 IDgroup:新的档案有者的使用者群体(group)
        -c:
档案有者确更改,示其更改
        -f:
档案有者无法被更改也不要错误讯
        -h:
连结(link),而非 link 真正指向的档案
        -v:
有者更的详细资
        -R:
目前目下的所有档案与子目录进行相同的有者(即以回的方式逐个)
       
--help:--version:示版本
  范例:
  将档案 file1.txt
有者设为 users 群体的使用者 jessie:
  chown jessie:users file1.txt

  将目前目
下的所有档案与子目有者皆设为 users 群体的使用者 lamport:
  chmod -R lamport:users *

  名称:cp
  
使用限:所有使用者
  使用方式:
  cp [options] source dest
  cp [options] source... directory
  
明:将一个档案拷至另一档案,或将数个档案拷至另一目
  把
:
  -a 尽可能将档案状,限等料都照原状予以复制。
  
-r source 中含有目,将目下之档案亦皆依序拷至目的地。
  -f 若目的地已有相同档名的档案存在,在复制前先予以除再行复制。
  范例:
  将档案 aaa 复制(已存在),并命名 bbb:
  cp aaa bbb

  将所有的C言程式拷 Finished 子目:
  cp *.c Finished

  名称:cut
  使用限:所有使用者
  用法:cut -cnum1-num2 filename
  
明:示每行从开算起 num1 num2 的文字。
  范例:
  shell>> cat example
  test2
  this is test1
  shell>> cut -c0-6 example ## print
算起前 6 个字元
  test2
  this i

  用法:find
  使用
:
  
将档案系内符合 expression 的档案列出来。你可以指要档案的名称,类别,时间,大小,限等不同资讯,只有完全相符的才会被列出来。
  find 根据下列规则判断 path expression,在命令列上第一个 - ( ) , !之前的部份 path,之后的是 expression。如果 path 是空字串使用目前路径,如果 expression 是空字串使用 -print 为预设 expression
  expression 中可使用的选项有二三十个之多,在此只介最常用的部份。
  -mount, -xdev:检查和指定目在同一个档案系下的档案,避免列出其它档案系中的档案
  -amin n: n 内被
  -anewer file:比档案 file 更晚被的档案
  -atime n: n 过读的档案
  -cmin n: n 内被修改
  -cnewer file :比档案 file 更新的档案
  -ctime n: n 修改的档案
  -empty:空的档案-gid n or-group name:gid n 或是 group 名称是 name
  -ipath p, -path p:路径名称符合 p 的档案,ipath 会忽略大小写
  -name name, -inamename:档案名称符合 name 的档案。iname 会忽略大小写
  -size n:档案大小 是 n ,b 代表 512 位元的区,c 表示字元数,k 表示 kilo bytes,w 是二个位元-type c:档案型是 c 的档案。
  d:
  c: 字型装置档案
  b: 装置档案
  p: 具名
  f: 一般档案
  l: 符号连结
  s: socket
  -pid n:process id n 的档案

  你可以使用 ( ) 将运算式分隔,并使用下列运算。
  exp1 -and exp2
  ! expr
  -not expr
  exp1 -or exp2
  
exp1, exp2
  范例:
  将目前目及其子目下所有延伸档名是 c 的档案列出来。
  # find . -name"*.c"
  将目前目其其下子目中所有一般档案列出
  # find . -ftype f
  将目前目及其子目下所有最近 20 内更新的档案列出
  # find . -ctime -20

  名称:less
  使用
限:所有使用者
  使用方式:
  less [Option] filename
  
明:
  less 的作用与 more 十分相似,都可以用来
浏览文字档案的内容,不同的是 less 使用者往回卷
  以浏览的部份, less 并未在一开始就入整个档案,因此在遇上大型档案的开启,会比一般的文书编辑(vi)来的快速。
  范例:


  指令名称:ln
  使用
:所有使用者
  使用方式:ln [options] source dist,其中 option 的格式
:
  [-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}]
  [--help] [--version] [--]

  
:Linux/Unix档案系,有所连结(link),可以将其视为档案的,连结又可分两种:连结(hard link)软连结(symboliclink),连结的意思是一个档案可以有多个名称,软连结的方式生一个特殊的档案,档案的内容是指向另一个档案的位置。硬连结是存在同一个档案系,软连结却可以跨越不同的档案系

  ln source dist
生一个连结(dist) source,至于使用硬连结软链结则由参数决定。

  不
是硬连结软链结都不会将原本的档案复制一份,只会占用非常少量的磁碟空

  -f:
链结时先将与 dist 同档名的档案
    -d:
管理者硬链结自己的目
    -i:
除与 dist 同档名的档案询问
    -n:
软连结时, dist 视为一般的档案
    -s:
软链结(symboliclink)
    -v:
连结之前示其档名
    -b:
将在
链结时会被覆写或除的档案
    -S SUFFIX:
份的档案都加上 SUFFIX 的字尾
    -V METHOD:
指定
份的方式--help:--version:示版本
  范例:
  将档案 yy
生一个 symbolic link:zz
  ln -s yy zz
  将档案 yy
生一个 hard link:zz
  ln yy xx

  名称:locate
  使用
限:所有使用者
  使用方式: locate [-q] [-d ] [--database=]
  locate [-r ] [--regexp=]
  locate [-qv] [-o ] [--output=]
  locate [-e ] [-f ] <[-l ] [-c]
  <[-U ] [-u]>
  locate [-Vh] [--version] [--help]
  
明:
  locate
使用者可以很快速的搜档案系内是否有指定的档案。其方法是先建立一个包括系内所有档案名称及路径的,之后当就只需查询这,而不必实际深入档案系之中了。在一般的 distribution 之中,的建立都被放在 contab 中自动执行。
  一般使用者在使用
只要用
  # locate your_file_name
  的型式就可以了。 参数:
  -u
  -U
  建立
,-u 会由根目开始,-U 可以指定开始的位置。
  -e

  将排除在
找的范之外。
  -l
  如果 是 1
安全模式。在安全模式下,使用者不会看到限无法看到的档案。会始速度减慢, locate 实际的档案系中取得档案的料。
  -f
  将特定的档案系
排除在外,例如我没有到理要把 proc 档案系中的档案放在中。
  -q
  安静模式,不会
示任何错误讯息。
  -n
  至多
示 个出。
  -r
  使用正
运算式 做找的条件。
  -o
  指定
存的名称。
  -d
  指定
的路径
  -h
  

  -v
  
示更多的
  -V
  
示程式的版本息 范例:

  locate chdrv:
找所有叫 chdrv 的档案
  locate -n 100 a.out:
找所有叫 a.out 的档案,但最多只100
  locate -u:建立


  名称:ls
  使用
:所有使用者
  使用方式:ls [-alrtAFR] [name...]
  
:示指定工作目下之内容(列出目前工作目所含之档案及子目)
  -a
示所有档案及目 (ls内定将档案名或目名称开头为"."视为隐藏档,不会列出)
  -l 除档案名称外,亦将档案型
,,有者,档案大小等资讯详细列出
  -r 将档案以相反次序
(原定依英文字母次序)
  -t 将档案依建立
时间之先后次序列出
  -A -a ,但不列出 "." (目前目
) ".." (父目)
  -F 在列出的档案名称后加一符号;例如可行档 "*", 录则"/"
  -R 若目
下有档案,以下之档案亦皆依序列出
  范例:
  列出目前工作目
下所有名称是 s 的档案,愈新的排愈后面:
  ls -ltr s*
  将 /bin
以下所有目及档案详细资料列出:
  ls -lR /bin
  列出目前工作目
下所有档案及目;目于名称后加 "/", 行档于名称后加 "*":
  ls -AF

  名称:more
  使用
限:所有使用者
  使用方式:more [-dlfpcsu] [-num] [+/pattern] [+linenum][fileNames..]
  
明:cat ,会以一示方便使用者逐页阅读,而最基本的指令就是按空白space)就往下一页显, b 就会往回(back)一页显,而且有搜字串的功能(与 vi 相似),使用中的明文件, h
  参数:-num 一次
示的行数
  -d 提示使用者,在画面下方
[Press space to continue, q to quit.] ,如果使用者按错键,[Press h for instructions.] 而不是
  -l 取消遇
特殊字元 ^L(送字元)停的功能
  -f
算行数,实际上的行数,而非自动换后的行数(有些行字数太的会被两行或两行以上)
  -p 不以卷
的方式示每一,而是先清除幕后再示内容
  -c -p 相似,不同的是先
示内容再清除其他旧
  -s 当遇到有
连续两行以上的空白行,就代换为一行的空白行
  -u
示下引号 (根据 TERM 指定的 terminal 而有所不同)
  +/ 在每个档案
示前搜寻该字串(pattern,然后从字串之后开始
  +num 从第 num 行开始

  fileNames
示内容的档案,复数个数
  范例:
  more -s testfile
页显testfile 之档案内容,如有连续两行以上空白行以一行空白行示。
  more +20 testfile 从第 20 行开始
testfile 之档案内容。

  名称:mv
  使用
限:所有使用者
  使用方式:
  mv [options] source dest
  mv [options] source... directory
  
明:将一个档案移至另一档案,或将数个档案移至另一目
  参数:-i 若目的地已有同名档案,
询问是否覆盖旧档。
  范例:
  将档案 aaa 更名
bbb:
  mv aaa bbb
  将所有的C
言程式移至 Finished 子目:
  mv -i *.c

  名称:rm
  使用
限:所有使用者
  使用方式:rm [options] name...
  
明:除档案及目
  把
:
  -i 除前逐一询问
  -f 即使原档案属性
设为,亦直接,无需逐一确
  -r 将目
及以下之档案亦逐一除。
  范例:
  
除所有C言程式档;除前逐一询问:
  rm -i *.c
  将 Finished 子目
及子目中所有档案:
  rm -r Finished

  名称:rmdir
  使用
限:于目前目有适当限的所有使用者
  使用方式: rmdir [-p] dirName
  
明: 除空的目
  参数: -p 是当子目
除后使它也成空目,则顺便一并除。
  范例:
  将工作目
, AAA 的子目录删:
  rmdir AAA

  在工作目
下的 BBB ,除名 Test 的子目。若 Test 除后,BBB 空目, BBB 亦予除。
  rmdir -p BBB/Test

  名称:split
  使用
限:所有使用者
  使用方式:split [OPTION] [INPUT [PREFIX]]
明:
  将一个档案分割成数个。而从 INPUT 分割
出成固定大小的档案,其档名依序 PREFIXaa, PREFIXab...PREFIX 预设值为 `x。若没有 INPUT 档或 `-,读进资料。
  匡兜:
  -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
  范例:
  PostgresSQL 大型
库备份与回存:
  因 Postgres
表格大你系档案的最大容量,所以要将表格 dump 一的档案可能会有问题,使用 split行档案分割。
  % pg_dump dbname | split -b 1m - filename.dump.

  重新

  % createdb dbname
  % cat filename.dump.* | pgsql dbname

  名称:touch
  使用
限:所有使用者
  使用方式:
  touch [-acfm]
  [-r reference-file] [--file=reference-file]
  [-t MMDDhhmm[[CC]YY][.ss]]
  [-d time] [--date=time][--time={atime,access,use,mtime,modify}]
  [--no-create] [--help] [--version]
  file1 [file2 ...]

  
明:
  touch 指令改
档案的时间记录 ls -l 可以示档案的时间记录
  参数:
  a
档案的时间记录
  m
档案的修改时间记录
  c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一

  f 不使用,
了与其他 unix 的相容性而保留。
  r 使用参考档的
时间记录, --file 的效果一
  d
时间与日期,可以使用各种不同的格式。
  t
定档案的时间记录,格式与 date 指令相同。
  --no-create 不会建立新档案。
  --help 列出指令格式。
  --version 列出版本
息。
  范例:
  最
简单的使用方式,将档案的记录为现在的时间。若档案不存在,会建立一个新的档案。
  touch file
  touch file1 file2
  将 file
时间记录 5 6 18 3 ,公元两千年。时间的格式可以参考 date 指令,至少需MMDDHHmm ,就是月日与分。
  touch -c -t 05061803 file
  touch -c -t 050618032000 file
  将 file
时间记录成与 referencefile
  touch -r referencefile file

  将 file
时间记录改成 5 6 18 3 ,公元两千年。时间可以使用 am, pm 或是 24 的格式,日期可以使用其他格式如 6 May 2000
  touch -d "6:03pm" file
  touch -d "05/06/2000" file
  touch -d "6:03pm 05/06/2000" file

  名称:at
  使用
:所有使用者
  使用方式:at -V [-q queue] [-f file] [-mldbv] TIME
  
:at可以使用者指定在 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 即可完成所有,至于行的果将会寄回你的号中。
  把
:
  -V:印出版本
  -q:使用指定的
(Queue),at料是存放在所queue ,使用者可以同使用多个 queue, queue a, b,c... z 以及 A, B, ... Z 52
  -m:即使程式/指令
行完成后没有,也要寄封信使用者
  -f file:
先写好的命令档。使用者不一定要使用交模式来,可以先将所有的指定先写入档案后再一次
  -l:列出所有的指定 (使用者也可以直接使用 atq 而不用 at -l)
  -d:
除指定 (使用者也可以直接使用 atrm 而不用 at -d)
  -v:列出所有已
完成但尚未除的指定
  例子:
  三天后的下午 5
锺执 /bin/ls:
  at 5pm + 3 days /bin/ls

  三个星期后的下午 5
锺执 /bin/ls:
  at 5pm + 2 weeks /bin/ls

  明天的 17:20
/bin/date:
  at 17:20 tomorrow /bin/date
  1999 年的最后一天的最后一分
印出 the end of world !
  at 23:59 12/31/1999 echo the end of world !

  名称:cal
  使用
限:所有使用者
  使用方式:cal [-mjy] [month [year]]
  
明:
  
示日。若只有一个参数,代表年份(1-9999),年的年。年份必全部写出:``cal 89\ 将不会是 1989 年的年。使用两个参数,表示月份及年份。若没有参数则显个月的月
  1752 9 月第 3 日起改用西洋新
,这时大部份的国家都采用新,10 天被去除,所以月份的月有些不同。在此之前西洋旧
  匡兜:
  -m:以星期一
每周的第一天方式示。
  -j:
历显,即以一月一日起的天数示。
  -y:
示今年年
  范例:
  cal:
示本月的月
  [root@mylinux /root]# date
  Tue Aug 15 08:00:18 CST 2000
  [root@mylinux /root]# cal
  August 2000
  Su Mo Tu We Th Fr Sa
  1 2 3 4 5
  6 7 8 9 10 11 12
  13 14 15 16 17 18 19
  20 21 22 23 24 25 26
  27 28 29 30 31

  [root@mylinux /root]#

  cal 2001:
示公元 2001 年年
  [root@mylinux /root]# cal 2001
  2001

  January February March
  Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu WeTh Fr Sa
  1 2 3 4 5 6 1 2 3 1 2 3
  7 8 9 10 11 12 13 4 5 6 7 8 9 10 4 5 6 7 8 9 10
  14 15 16 17 18 19 20 11 12 13 14 15 16 17 11 12 13 1415 16 17
  21 22 23 24 25 26 27 18 19 20 21 22 23 24 18 19 20 2122 23 24
  28 29 30 31 25 26 27 28 25 26 27 28 29 30 31

  April May June
  Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu WeTh Fr Sa
  1 2 3 4 5 6 7 1 2 3 4 5 1 2
  8 9 10 11 12 13 14 6 7 8 9 10 11 12 3 4 5 6 7 8 9
  15 16 17 18 19 20 21 13 14 15 16 17 18 19 10 11 12 1314 15 16
  22 23 24 25 26 27 28 20 21 22 23 24 25 26 17 18 19 2021 22 23
  29 30 27 28 29 30 31 24 25 26 27 28 29 30

  July August September
  Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu WeTh Fr Sa
  1 2 3 4 5 6 7 1 2 3 4 1
  8 9 10 11 12 13 14 5 6 7 8 9 10 11 2 3 4 5 6 7 8
  15 16 17 18 19 20 21 12 13 14 15 16 17 18 9 10 11 1213 14 15
  22 23 24 25 26 27 28 19 20 21 22 23 24 25 16 17 18 1920 21 22
  29 30 31 26 27 28 29 30 31 23 24 25 26 27 28 29
  30
  October November December
  Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu WeTh Fr Sa
  1 2 3 4 5 6 1 2 3 1
  7 8 9 10 11 12 13 4 5 6 7 8 9 10 2 3 4 5 6 7 8
  14 15 16 17 18 19 20 11 12 13 14 15 16 17 9 10 11 1213 14 15
  21 22 23 24 25 26 27 18 19 20 21 22 23 24 16 17 18 1920 21 22
  28 29 30 31 25 26 27 28 29 30 23 24 25 26 27 28 29
  30 31

  [root@mylinux /root]#

  cal 5 2001:
示公元 2001 5 月月

  [root@mylinux /root]# cal 5 2001
  May 2001
  Su Mo Tu We Th Fr Sa
  1 2 3 4 5
  6 7 8 9 10 11 12
  13 14 15 16 17 18 19
  20 21 22 23 24 25 26
  27 28 29 30 31

  [root@mylinux /root]#

  cal -m:以星期一
每周的第一天方式,示本月的月

  [root@mylinux /root]# cal -m
  August 2000
  Mo Tu We Th Fr Sa Su
  1 2 3 4 5 6
  7 8 9 10 11 12 13
  14 15 16 17 18 19 20
  21 22 23 24 25 26 27
  28 29 30 31

  [root@mylinux /root]#

  cal -jy:以一月一日起的天数
示今年的年

  [root@mylinux /root]# cal -jy
  2000

  January February
  Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu FriSat
  1 32 33 34 35 36
  2 3 4 5 6 7 8 37 38 39 40 41 42 43
  9 10 11 12 13 14 15 44 45 46 47 48 49 50
  16 17 18 19 20 21 22 51 52 53 54 55 56 57
  23 24 25 26 27 28 29 58 59 60
  30 31
  March April
  Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu FriSat
  61 62 63 64 92
  65 66 67 68 69 70 71 93 94 95 96 97 98 99
  72 73 74 75 76 77 78 100 101 102 103 104 105 106
  79 80 81 82 83 84 85 107 108 109 110 111 112 113
  86 87 88 89 90 91 114 115 116 117 118 119 120
  121
  May June
  Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu FriSat
  122 123 124 125 126 127 153 154 155
  128 129 130 131 132 133 134 156 157 158 159 160 161162
  135 136 137 138 139 140 141 163 164 165 166 167 168169
  142 143 144 145 146 147 148 170 171 172 173 174 175176
  149 150 151 152 177 178 179 180 181 182

  July August
  Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu FriSat
  183 214 215 216 217 218
  184 185 186 187 188 189 190 219 220 221 222 223 224225
  191 192 193 194 195 196 197 226 227 228 229 230 231232
  198 199 200 201 202 203 204 233 234 235 236 237 238239
  205 206 207 208 209 210 211 240 241 242 243 244
  212 213
  September October
  Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu FriSat
  245 246 275 276 277 278 279 280 281
  247 248 249 250 251 252 253 282 283 284 285 286 287288
  254 255 256 257 258 259 260 289 290 291 292 293 294295
  261 262 263 264 265 266 267 296 297 298 299 300 301302
  268 269 270 271 272 273 274 303 304 305

  November December
  Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu FriSat
  306 307 308 309 336 337
  310 311 312 313 314 315 316 338 339 340 341 342 343344
  317 318 319 320 321 322 323 345 346 347 348 349 350351
  324 325 326 327 328 329 330 352 353 354 355 356 357358
  331 332 333 334 335 359 360 361 362 363 364 365
  366

  [root@mylinux /root]#

  名称:crontab
  使用
:所有使用者
  使用方式:
  crontab [ -u user ] filecrontab [ -u user ] { -l | -r| -e }
  
:
  crontab 是用来
使用者在固定时间或固定行程式之用,话说,也就是似使用者的程表。-u user 是指定指定 user 程表,个前提是你必要有其(比如root)才能指定他人的程表。如果不使用 -u user ,就是表示定自己的程表。
  参数:

  -e:
行文字编辑器来程表,内定的文字编辑器是 VI,如果你想用的文字编辑,则请VISUAL 数来指定使用那个文字编辑(比如 setenvVISUAL joe)
  -r:除目前的程表
  -l:列出目前的
程表

  
程表的格式如下:
  f1 f2 f3 f4 f5 program

  其中 f1 是表示分
,f2 表示小,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要行的程式。
  当 f1
* 表示每分都要 program,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 , crontabfile 的方式来程表。
  例子:
  每月每天每小
的第 0 钟执行一次 /bin/ls:
  0 7 * * * /bin/ls

  在 12 月内, 每天的早上 6 点到 12 点中,每隔 20
钟执行一次 /usr/bin/backup:
  0 6-12/3 * 12 * /usr/bin/backup

  周一到周五每天下午 5:00 寄一封信
alex@domain.name:
  0 17 * * 1-5 mail -s "hi" alex@domain.name </tmp/maildata

  每月每天的午夜 0 20 , 2 20 , 4 20 ....
echo "haha"
  20 0-23/2 * * * echo "haha"

  注意:
  当程式在你所指定的
时间执行后,会寄一封信,程式行的内容,若是你不希望收到这样的信,在每一行空一格之后加上 > /dev/null 2>&1 即可。

  名称:date
  使用
:所有使用者
  使用方式:
  date [-u] [-d datestr] [-s datestr] [--utc][--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+FORMAT][MMDDhhmm[[CC]YY][.ss]]

  
:
  date 可以用来
示或定系的日期与时间,示方面,使用者可以定欲示的格式,格式一个加号后接数个标记,其中可用的标记列表如下:
  
时间方面:

  %:印出 %
  %n:下一行
  %t:跳格
  %H:
(00..23)
  %I:(01..12)
  %k:(0..23)
  %l:(1..12)
  %M:(00..59)
  %p:示本地 AM PM
  %r:直接
时间 (12 ,格式hh:mm:ss [AP]M)
  %s: 1970 1 1 00:00:00 UTC 到目前止的秒数
  %S:(00..61)
  %T:直接
时间 (24 )
  %X:相当于 %H:%M:%S
  %Z:


  日期方面:
  %a:星期几 (Sun..Sat)
  %A:星期几 (Sunday..Saturday)
  %b:月份 (Jan..Dec)
  %B:月份 (January..December)
  %c:直接
示日期与时间
  %d: (01..31)
  %D:直接
示日期 (mm/dd/yy)
  %h: %b
  %j:一年中的第几天 (001..366)
  %m:月份 (01..12)
  %U:一年中的第几周 (00..53) ( Sunday
一周的第一天的情形)
  %w:一周中的第几天 (0..6)
  %W:一年中的第几周 (00..53) ( Monday
一周的第一天的情形)
  %x:直接
示日期 (mm/dd/yy)
  %y:年份的最后两位数字 (00.99)
  %Y:完整年份 (0000..9999)

  若是不以加号作
,表示要时间,时间格式MMDDhhmm[[CC]YY][.ss],其中 MM 月份,DD ,hh,mm ,CC 年份前两位数字,YY 年份后两位数字,ss 秒数
  把
:
  -d datestr: datestr 中所定的时间 (非系统时间)
  --help:
  -s datestr:将系
统时间设为 datestr 中所定的时间
  -u:示目前的格林威治时间
  --version:示版本
  例子:
  
时间后跳行,示目前日期:
  date +%T%n%D
  
示月份与日数:
  date +%B %d

  
示日期与时间(12:34:56):
  date --date 12:34:56
  注意:
  当你不希望出
无意0 (比如1999/03/07),可以在标记中插入 - 符号,比如 date+%-H:%-M:%-S 会把分秒中无意0 去掉,像是原本的 08:09:04 变为 8:9:4。另外,只有取得限者(比如 root)才能定系统时间
  当你以 root 身分更改了系
统时间之后,请记得以 clock -w 来将系统时间写入 CMOS ,这样下次重新开机统时间才会持抱持最新的正确
  
  名称:sleep
  使用
:所有使用者
  使用方式:sleep [--help] [--version] number[smhd]
  
:sleep可以用来将目前作延一段时间
  参数:
  --help:

  --version:
示版本
  number:
时间长,后面可接s,m,h d
  其中 s
,m ,h ,d 日数
  例子:
  
示目前时间后延 1 ,之后再次时间:
  date;sleep 1m;date

  名称: time
  使用
限: 所有使用者
  使用方式: time [options] COMMAND [arguments]
  
明:
  time 指令的用途,在于量
特定指令所需消耗的时间及系统资源等资讯。例如 CPU 时间,记忆,出等等。需要特注意的是,部分资讯 Linux 示不出来。是因Linux 上部分源的分配函式与 time 指令所预设的方式并不相同,以致于 time 指令无法取得料。

  把
:
  -o or --output=FILE
  
出档。选项会将 time 出写入所指定的档案中。如果档案已存在,将覆写其内容。
  -a or --append
  配合 -o 使用,会将
果写到档案的末端,而不会覆盖掉原来的内容。
  -f FORMAT or --format=FORMAT
  以 FORMAT 字串
示方式。当选项没有被定的,会用系统预设的格式。不你可以用time 个格式,如此一来就不必每次登入系都要定一次。
  一般
定上,你可以用
  \t
  表示跳
,或者是用
  \n
  表示
行。每一项资料要用 % 。如果要在字串中使用百分比符号,就用.(学C言的人大概会得很熟悉)
  time 指令可以
示的源有四大,是:

  Time resources
  Memory resources
  IO resources
  Command info
  
详细的内容如下:
  Time Resources
  E
行指令所花时间,格式是:[hour]:minute:second注意个数字并不代表实际CPU 时间
  e
行指令所花时间,位是秒。注意个数字并不代表实际 CPU 时间
  S 指令
在核心模式(kernel mode)所花时间,位是秒。
  U 指令
在使用者模式(user mode)所花时间,位是秒。
  P
行指令 CPU 的占用比例。其实这个数字就是核心模式加上使用者模式的 CPU 时间除以总时间

  Memory Resources
  M
所占用的记忆体的最大位是 KB
  t
所占用的记忆体的平均,位是 KB
  K
行程序所占用的记忆量(stack+data+text)的平均大小,位是 KB
  D
行程序的自有料区(unshared data area)的平均大小,位是 KB
  p
行程序的自有堆叠(unshared stack)的平均大小,位是 KB
  X
行程序共享内容(shared text)的平均,位是 KB
  Z
统记忆的大小,位是 byte同一个系说这是个常数


  IO Resources
  F 此程序的主要
记忆页错误发生次数。所的主要记忆页错误是指某一记忆到置档(swap file),而且已分配其他程序。此时该页的内容必从置档里再出来。
  R 此程序的次要
记忆页错误发生次数。所的次要记忆页错误是指某一记忆页虽然已到置档中,但尚未分配其他程序。此时该页的内容并未被破坏,不必从置档里出来
  W 此程序被交
到置档的次数
  c 此程序被
迫中断(像是分配到的 CPU 时间耗尽)的次数
  w 此程序自愿中断(像是在等待某一个 I/O
行完,像是磁碟取等等)的次数
  I 此程序所
入的档案数
  O 此程序所
出的档案数
  r 此程序所收到的 Socket Message
  s 此程序所送出的 Socket Message
  k 此程序所收到的信号 ( Signal )数量

  Command Info
  C
的参数以及指令名称
  x 指令的
束代 ( Exit Status )

  -p or --portability
  
选项会自示格式定成
  real %e
  user %U
  sys %S
  
么做的目的是了与 POSIX 格相容。
  -v or --verbose
  
选项会把所有程式中用到的源通通列出来,不但如一般英文,明。不想花时间去熟格式定或是刚刚开始接触个指令的人相当有用。
  范例:
  利用下面的指令
  time -v ps -aux

  我
可以ps -aux 果和所花的系统资源。如下面所列的料:
  USER PID %CPU %MEM VSZ RSS TTY STAT START TIMECOMMAND
  root 1 0.0 0.4 1096 472 ? S Apr19 0:04 init
  root 2 0.0 0.0 0 0 ? SW Apr19 0:00 [kflushd]
  root 3 0.0 0.0 0 0 ? SW Apr19 0:00 [kpiod]
  ......
  root 24269 0.0 1.0 2692 996 pts/3 R 12:16 0:00 ps-aux

  Command being timed: "ps -aux"
  User time (seconds): 0.05
  System time (seconds): 0.06
  Percent of CPU this job got: 68%
  Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.16
  Average shared text size (kbytes): 0
  Average unshared data size (kbytes): 0
  Average stack size (kbytes): 0
  Average total size (kbytes): 0
  Maximum resident set size (kbytes): 0
  Average resident set size (kbytes): 0
  Major (requiring I/O) page faults: 238
  Minor (reclaiming a frame) page faults: 46
  Voluntary context switches: 0
  Involuntary context switches: 0
  Swaps: 0
  File system inputs: 0
  File system outputs: 0
  Socket messages sent: 0
  Socket messages received: 0
  Signals delivered: 0
  Page size (bytes): 4096
  Exit status: 0

  使用
限: 所有使用者
  使用方式: uptime [-V]
  
明: uptime 提供使用者下面的资讯,不需其他参数:
  
在的时间
  系开机运经过时间
  连线的使用者数量
  最近一分
,五分和十五分的系统负载
  参数: -V 示版本资讯
  范例: uptime
  其

  10:41am up 5 days, 10 min, 1 users, load average:0.00, 0.00, 1.99

  名称:chfn
  使用
限:所有使用者
  用法:shell>> chfn
  
明:提供使用者更改个人资讯,用于 finger and mail username
  范例:
  shell>> chfn
  Changing finger information for user
  Password: [del]
  Name[]:Johnney Huang ### 提供finger

  Office[]:NCCU
  Office Phone[]: [del]
  Home Phone[]: [del]

  名称:chsh
  使用
限:所有使用者
  用法:shell>> chsh
  
明:更改使用者 shell
  范例:
  shell>> chsh
  Changing fihanging shell for user1
  Password: [del]
  New shell [/bin/tcsh]: ### [是目前使用的 shell]
  [del]

  shell>> chsh -l ### 展示/etc/shells 档案内容
  /bin/bash
  /bin/sh
  /bin/ash
  /bin/bsh
  /bin/tcsh
  /bin/csh


  ” finger [返回]
  名称: finger
  使用
限: 所有使用者
  使用方式: finger [options] user[@address]
  
明:finger 可以使用者查询一些其他使用者的料。会列出来的料有:
  Login Name
  User Name
  Home directory
  Shell
  Login status
  mail status
  .plan
  .project
  .forward

  其中 .plan ,.project .forward就是使用者在他的 Home Directory 里的.plan , .project .forward 等档案里的
料。如果没有就没有。finger 指令并不限定于在同一伺服器上查询,也可以找某一个端伺服器上的使用者。只要一个像是 E-mail address 一般的地址即可。
  把
:
  -l
  多行
示。
  -s
  
示。选项示登入名称,姓名,端机名称,时间,登入时间,公室号电话。如果所查询的使用者是端伺服器的使用者,选项无效。

  范例:下列指令可以
查询本机管理料:
  finger root

  其
果如下:
  Login: root Name: root
  Directory: /root Shell: /bin/bash
  Never logged in.
  No mail.
  No Plan.

  名称:last
  使用
限:所有使用者
  使用方式:shell>> last [options]
  
明:示系开机以来是从每月初登入者的
  把
:
  -R 省略 hostname
  -num 展示前 num
  username 展示 username 的登入

  tty 限制登入
息包含端机代号
  范例:

  shell>> last -R -2
  johnney pts/1 Mon Aug 14 20:42 still logged in
  johnney pts/0 Mon Aug 14 19:59 still logged in

  wtmp begins Tue Aug 1 09:01:10 2000 ### /var/log/wtmp


  shell>> last -2 minery
  minery pts/0 140.119.217.115 Mon Aug 14 18:37 - 18:40(00:03)
  minery pts/0 140.119.217.115 Mon Aug 14 17:22 - 17:24(00:02)
  wtmp begins Tue Aug 1 09:01:10 2000


  名称:login
  
个命令都不会就不要干算了!呵呵我也不在里多笔墨耽大家美好青春了^_^

  名称:passwd
  使用
限:所有使用者
  使用方式:passwd [-k] [-l] [-u [-f]] [-d] [-S] [username]
  
明:用来更改使用者的密
  参数:
  -k
  -l
  -u
  -f
  -d
使用者的密码认证功能, 使用者在登入将可以不用入密, 只有具 root 限的使用者方可使用.
  -S
示指定使用者的密码认证, 只有具 root 限的使用者方可使用.
  [username] 指定
号名称.

  名称:who
  使用
权线:所有使用者都可使用
  使用方式:who - [husfV] [user]
  
:示系中有那些使用者正在上面,示的料包含了使用者 ID,使用的端机,从那边连上来的,线时间,呆滞时间,CPU 使用量,作等等。
  把
:
  -h:不要标题
  -u:不要
示使用者的/工作
  -s:使用
短的格式来
  -f:不要
示使用者的上线位置
  -V:
示程式版本

  名称:/etc/aliases
  使用
限:系管理者
  使用方式:
newaliases 更新
  明:
  sendmail 会使用一个在 /etc/aliases 中的档案做使用者名称
转换作。当 sendmail 收到一个要送 xxx 的信,它会依据 aliases档的内容送另一个使用者。个功能可以造一个只有在信件系内才有效的使用者。例如 mailing list 就会用到个功能,mailinglist ,可能会造一个叫 redlinux@link.ece.uci.edu mailinglist,实际上并没有一个叫 redlinux 的使用者。实际aliases 档的内容是将送给这个使用者的信都收mailing list 理程式负责分送的工作。
  /etc/aliases 是一个文字模式的档案,sendmail需要一个二
位格式的 /etc/aliases.dbnewaliases 的功能是将 /etc/aliases 转换成一个 sendmail 所能了解的。范例:
  # newaliases

  下面命令会做相同的事,
  # sendmail -bi

  相关命令:
  mail, mailq, newaliases, sendmail

  ” mail [返回]

  名称:mail
  使用
限:所有使用者
  使用方式:mail [-iInv] [-s subject] [-c cc-addr] [-bbcc-addr] user1 [user 2 ...]
  
明:
  mail
只是一个指令, mail 是一个件程式,利用 mail 信的人应该很少吧!于系管理者来 mail 就很有用,管理者可以用 mail 写成 script ,定期寄一些提醒系的使用者。


  参数:
  i 忽略 tty 的中断
号。 (interrupt)
  I
成互模式。 (Interactive)
  v 列印出
,例如送信的地点,等等。 (verbose)
  n
mail.rc 定档。
  s
标题
  c cc
件地址。
  b bcc
件地址。
  范例:
  将信件送
一个或以上的件地址,由于没有加入其他的选项,使用者必须输标题与信件的内容等。而 user2 没有主机位置,就会送给邮件伺服器的 user2 使用者。
  mail user1@email.address
  mail user1@email.address user2

  将 mail.txt 的内容寄
user2 cc user1 。如果将一行指令 cronjob 就可以定使用者。
  mail -s
标题 -c user1 user2 < mail.txt

  指令:mesg
  使用
:所有使用者
  使用方式:mesg [y|n]
  
明 : 决定是否允其他人传讯息到自己的端机介面
  把
:
  y:许讯端机介面上。
  n:不允
许讯端机介面上 。
  如果没有
,则讯传递与否端机界面目前状而定。
  例子:
  改
目前,改成不允许讯端机介面上:
  mesg n

  与 mesg 相关的指令有:talk,write,wall


  名称:/etc/aliases
  使用
限:系管理者
  使用方式: newaliases
  
明:
  sendmail 会使用一个在 /etc/aliases 中的档案做使用者名称
转换作。当 sendmail 收到一个要送 xxx 的信,它会依据 aliases档的内容送另一个使用者。个功能可以造一个只有在信件系内才有效的使用者。例如 mailing list 就会用到个功能,mailinglist ,可能会造一个叫 redlinux@link.ece.uci.edu mailinglist,实际上并没有一个叫 redlinux 的使用者。实际aliases 档的内容是将送给这个使用者的信都收mailing list 理程式负责分送的工作。

  /etc/aliases 是一个文字模式的档案,sendmail需要一个二
位格式的 /etc/aliases.dbnewaliases 的功能是将 /etc/aliases 转换成一个 sendmail 所能了解的

  参数:没有任何参数。 范例:
  # newaliases

  下面命令会做相同的事,
  # sendmail -bi
  相关命令:
  mail, mailq, newaliases, sendmail

  名称:talk
  使用
:所有使用者
  使用方式:
  talk person [ttyname]
  
:与其他使用者对谈
  把:
  person:预备对谈的使用者,如果使用者在其他机器上,person@machine.name
  ttyname:如果使用者同
有两个以上的 tty 连线,可以自行选择合适的 tty 传讯
  例子.1:
  与
在机器上的使用者Rollaend对谈,Rollaend 只有一个连线:
  talk Rollaend
  接下来就是等Rollaend
,Rollaend接受,Rollaend `talk jzlee`即可开始对谈, ctrl+c
  例子.2 :linuxfab.cx上的使用者Rollaend
对谈,使用pts/2对谈:
  talk Rollaend@linuxfab.cx pts/2

  接下来就是等Rollaend
,Rollaend接受,Rollaend `talk jzlee@jzlee.home`即可开始对谈, ctrl+c
  注意:
幕的字会出不正常的字元,着按 ctrl+l 更新幕画面。

  名称:wall
  使用
:所有使用者
  使用方式:
  wall [ message ]
  使用
明:
  wall 会将
传给每一个 mesg yes 的上线使用者。当使用端机介面做为标, 需加上 EOF (通常用 Ctrl+D)
  例子:
  
传讯"hi"每一个使用者:
  wall hi

  名称:write
  使用
:所有使用者
  使用方式:
  write user [ttyname]
  
:传讯其他使用者
  把
:
  user:预备传讯息的使用者
  ttyname:如果使用者同
有两个以上的 tty 连线,可以自行选择合适的 tty 传讯
  例子.1:
  
传讯Rollaend,Rollaend 只有一个连线:
  write Rollaend


  接下来就是将
息打上去,ctrl+c

  例子.2 :
传讯 Rollaend,Rollaend 连线pts/2,pts/3:
  write Rollaend pts/2

  接下来就是将
息打上去,ctrl+c
  注意:
mesg n,时讯席将无法传给对

  名称:kill
  使用
限:所有使用者
  使用方式:
  kill [ -s signal | -p ] [ -a ] pid ...
  kill -l [ signal ]
  
明:kill 送出一个特定的信号 (signal) 行程 id pid 的行程根据信号而做特定的,若没有指定, 预设是送出 (TERM) 的信号
  把
:
  -s (signal):其中可用的号有 HUP (1), KILL (9), TERM(15), 代表着重跑, 砍掉, ; 详细的信号可以用 kill -l
  -p:印出 pid , 并不送出信号
  -l (signal):列出所有可用的信号名称
  范例:
  将 pid
323 的行程砍掉 (kill):
  kill -9 323
  将 pid
456 的行程重跑 (restart):
  kill -HUP 456


  名称:nice
  使用
限:所有使用者

  使用方式:nice [-n adjustment] [-adjustment][--adjustment=adjustment] [--help] [--version] [command [arg...]]
  
明:以更改先序来行程式, 如果未指定程式, 会印出目前的排程先序, 内定的 adjustment 10, 围为 -20 (最高先序) 19 (最低先序)
  把
:
  -n adjustment, -adjustment, --adjustment=adjustment 原有先序的增加 adjustment
  --help
示求助
  --version
示版本资讯
  范例:
  将 ls
先序加 1 :
  nice -n 1 ls

  将 ls
先序加 10 :
  nice ls ls
先序加 10

  注意:
先序 (priority) 用来决定 CPU 分配的参数,Linux 使用『回合制(round-robin)』的演算法来做 CPU 排程,先序越高,所可能得的 CPU时间就越多。



  名称:ps
  使用
限:所有使用者
  使用方式:ps [options] [--help]
  
明:示瞬行程 (process) 动态
  参数:
  ps 的参数非常多, 在此
列出几个常用的参数并大略介
  -A 列出所有的行程
  -w
示加可以多的资讯
  -au 较详细资讯
  -aux 示所有包含其他使用者的行程

  au(x)
出格式:

  USER PID %CPU %MEM VSZ RSS TTY STAT START TIMECOMMAND
  USER: 行程
有者
  PID: pid
  %CPU: 占用的 CPU 使用率
  %MEM: 占用的
记忆体使用率
  VSZ: 占用的虚
拟记忆体大小
  RSS: 占用的
记忆体大小
  TTY:
端的次要装置号 (minor device number of tty)
  STAT: 行程的状:
  D: 不可中断的静止 (通悸□□bI/O )
  R: 正在
行中
  S: 静止状

  T:
  Z: 不存在但
暂时无法消除
  W: 没有足
记忆体分可分配
  <:
先序的行程
  N:
先序的行程
  L:
记忆体分分配并记忆体内 (或捱A I/O)
  START: 行程开始
时间
  TIME: 行的时间
  COMMAND:行的指令

  范例:

  ps
  PID TTY TIME CMD
  2791 ttyp0 00:00:00 tcsh
  3092 ttyp0 00:00:00 ps
  % ps -A
  PID TTY TIME CMD
  1 ? 00:00:03 init
  2 ? 00:00:00 kflushd
  3 ? 00:00:00 kpiod
  4 ? 00:00:00 kswapd
  5 ? 00:00:00 mdrecoveryd
  .......
  % ps -aux
  USER PID %CPU %MEM VSZ RSS TTY STAT START TIMECOMMAND
  root 1 0.0 0.7 1096 472 ? S Sep10 0:03 init [3]
  root 2 0.0 0.0 0 0 ? SW Sep10 0:00 [kflushd]
  root 3 0.0 0.0 0 0 ? SW Sep10 0:00 [kpiod]
  root 4 0.0 0.0 0 0 ? SW Sep10 0:00 [kswapd]
  ........


  名称:pstree
  使用
限:所有使用者
  使用方式:
  pstree [-a] [-c] [-h|-Hpid] [-l] [-n] [-p] [-u][-G|-U] [pid|user]
  pstree -V
  
明:将所有行程以图显,将会以 pid (如果有指定) 或是以init 个基本行程(root) ,如果有指定使用者 id , 则树会只使用者所有的行程
  参数:
  -a
行程的完整指令及参数, 如果是被记忆体置出去的行程会加上括号
  -c 如果有重覆的行程名,
分开列出 (预设值是会在前面加上 *
  范例:

  pstree

  init-+-amd
  |-apmd
  |-atd
  |-httpd---10*[httpd]
  %pstree -p
  init(1)-+-amd(447)
  |-apmd(105)
  |-atd(339)
  %pstree -c
  init-+-amd
  |-apmd
  |-atd
  |-httpd-+-httpd
  | |-httpd
  | |-httpd
  | |-httpd
  ....



  名称:renice
  使用
限:所有使用者

  使用方式:renice priority [[-p] pid ...] [[-g] pgrp ...][[-u] user ...]

  
明:重新指定一个或多个行程(Process)先序(一个或多个将根据所下的参数而定)
  把
:
  -p pid 重新指定行程的 id pid 的行程的先序
  -g pgrp 重新指定行程群
(process group)id pgrp 的行程 (一个或多个) 先序
  -u user 重新指定行程
有者 user 的行程的先序
  范例:
  将行程 id
987 32 的行程与行程有者 daemon root 先序号1:
  renice +1 987 -u daemon root -p 32
  注意:每一个行程(Process)都有一个唯一的 (unique) id


  名称:top
  使用
限:所有使用者
  使用方式:top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]
  
明:即时显process 动态
  把:
  d:变显示的更新速度,或是在交式指令列( interactive command) s
  q:没有任何延
示速度,如果使用者是有 superuser , top 将会以最高的先序
  c:
换显示模式,共有两种模式,一是只行档的名称,另一种是示完整的路径与名称S:模式,会将己完成或消失的子行程 ( dead child process ) CPU time 起来
  s:安全模式,将交
式指令取消, 避免潜在的危机
  i:
示任何 (idle) 或无用 (zombie) 的行程
  n:更新的次数,完成后将会退出 top
  b:批次档模式,搭配 "n" 参数一起使用,可以用来将 top
出到档案内
  范例:
  
示更新十次后退出 ;
  top -n 10

  使用者将不能利用交
式指令来行程下命令:
  top -s

  将更新
示二次的入到名称top.log 的档案里:
  top -n 2 -b < top.log

  名称:skill
  使用
限:所有使用者
  使用方式: skill [signal to send] [options]
选择程序的规则
  明:

  送个
正在行的程序,预设 TERM (中断) , 常使用的 HUP ,INT , KILL , STOP , CONT , 0
  
息有三种写法:别为-9 , -SIGKILL , -KILL , 可以使用 -l -L 已列出可使用的息。
  一般参数:
  -f 快速模式/尚未完成
  -i
模式/ 每个作将要被确
  -v 详细输/ 列出所选择程序的资讯
  -w 智能警告/ 尚未完成
  -n 没有
/ 示程序代号
  参数:
选择程序的规则可以是, 端机代号,使用者名称,程序代号,命令名称。
  -t
端机代号 ( tty pty )
  -u 使用者名称
  -p 程序代号 ( pid )
  -c 命令名称 可使用的
:
  以下列出已知的
号名称,号代号,功能。

  名称 (代号) 功能/ 描述
  ALRM 14 离开
  HUP 1 离开
  INT 2 离开
  KILL 9 离开/
迫关
  PIPE 13 离开
  POLL 离开
  PROF 离开
  TERM 15 离开
  USR1 离开
  USR2 离开
  VTALRM 离开
  STKFLT 离开/ 只适用于i386, m68k, arm ppc 硬体
  UNUSED 离开/ 只适用于i386, m68k, arm ppc 硬体
  TSTP 停止 /
生与内容相关的行
  TTIN 停止 /生与内容相关的行
  TTOU 停止 /生与内容相关的行
  STOP 停止 /迫关
  CONT 从新启 /如果在停止状态则从新启,忽略
  PWR 忽略 /在某些系
中会离开
  WINCH 忽略
  CHLD 忽略
  ABRT 6 核心
  FPE 8 核心
  ILL 4 核心
  QUIT 3 核心
  SEGV 11 核心
  TRAP 5 核心
  SYS 核心 /
尚未
  EMT 核心 /
尚未
  BUS 核心 /核心失

  XCPU 核心 /核心失
  XFSZ 核心 /核心失
  范例:
  停止所有在 PTY 装置上的程序
  skill -KILL -v pts/*
  停止三个使用者 user1 , user2 , user3
  skill -STOP user1 user2 user3

  其他相关的命令: kill

  名称:expr
  使用
限:所有使用者
  ### 字串

  shell>> expr length "this is a test"
  14

  ### 数字商数
  shell>> expr 14 % 9
  5

  ### 从位置
抓取字串
  shell>> expr substr "this is a test"3 5
  is is

  ### 数字串 only the firstcharacter

  shell>> expr index "testforthegame" e
  2

  ### 字串真

  shell>> expr quote thisisatestformela
  thisisatestformela


  名称: tr
  ### 1.比方
要把目下所有的大写档名换为小写档名?

  似乎有很多方式,"tr"是其中一种:
  #!/bin/sh
  dir="/tmp/testdir";
  files=`find $dir -type f`;
  for i in $files
  do
  dir_name=`dirname $i`;
  ori_filename=`basename $i`
  new_filename=`echo $ori_filename | tr [:upper:][:lower:]` > /dev/null;
  #echo $new_filename;
  mv $dir_name/$ori_filename $dir_name/$new_filename
  done

  ### 2.自己
试验...lowercase to uppercase

  tr abcdef...[del] ABCDE...[del]
  tr a-z A-Z
  tr [:lower:] [:upper:]

  shell>> echo "this is a test" | tra-z A-Z > www
  shell>> cat www
  THIS IS A TEST

  ### 3.去掉不想要的字串
  shell>> tr -d this ### 去掉有关 t.e.s.t
  this

  man
  man
  test
  e
  ### 4.取代字串
  shell>> tr -s "this" "TEST"
  this
  TEST
  th
  TE

  指令:clear
  用途:清除
幕用。
  使用方法:在 console
clear

  名称: reset, tset
  使用方法: tset [-IQqrs] [-] [-e ch] [-i ch] [-k ch] [-mmapping] [terminal]
  使用
:
  reset
tset 是一同个命令,它的用途是端机的状。一般而言,个命令会自的从,命令列或是其它的组态档决定目前端机的型。如果指定型? ,个程式会要求使用者端机的型

  由于
个程式会将端机回原始的状,除了在 login 使用外,当系统终端机因程式不正常行而入一些奇怪的状态时,你也可以用它来重设终端机o 例如不小心把二位档用 cat 指令端机,常会有端机不再回应键盘输,或是回一些奇怪字元的问题。此就可以用 reset 端机回复至原始状选项说:
  -p
  将
端机类别显示在幕上,但不做定的作。个命令可以用来取得目前端机的类别
  -e ch
  将 erase 字元
ch
  -i ch
  将中断字元
ch
  -k ch
  将
除一行的字元ch
  -I
  不要做
定的,如果没有使用选项 -Q ,erase,中断及除字元的目前依然会送到幕上。
  -Q
  不要
erase,中断及除字元的幕上。
  -r
  将
端机类别印在幕上。
  -s
  将
TERM 用的命令用字串的型式送到端机中,通常在 .login .profile 中用
  范例:
  
使用者入一个端机型并将端机预设
  # reset ?

  将 erase 字元
control-h
  # reset -e ^B

  将
定用的字串示在幕上
  # reset -s
  Erase is control-B (^B).
  Kill is control-U (^U).
  Interrupt is control-C (^C).
  TERM=xterm;

  名称:compress
  使用
限:所有使用者
  使用方式:compress [-dfvcV] [-b maxbits] [file ...]
  
明:
  compress 是一个相当古老的 unix 档案
压缩指令,压缩后的档案会加上一个 .Z 延伸档名以区压缩的档案,压缩后的档案可以以 uncompress 。若要将数个档案成一个压缩,先将档案 tar 起来再压缩。由于 gzip 可以生更理想的压缩比例,一般人多已改用 gzip 档案压缩工具。
  参数:
  c
果至设备(一般指幕)
  f
迫写入档案,若目的档已存在,会被覆盖 (force)
  v 将程式
行的息印在幕上 (verbose)
  b
定共同字串数的上限,以位元,可以定的值为 9 16 bits 。由于越大,能使用的共同字串就 越多,压缩比例就越大,所以一般使用预设值 16 bits (bits)
  d 压缩档解压缩
  V 列出版本
  范例:
  将 source.dat
压缩 source.dat.Z , source.dat.Z 存在,内容会被压缩档覆盖。
  compress -f source.dat

  将 source.dat
压缩 source.dat.Z ,并列印出压缩比例。
  -v -f 可以一起使用
  compress -vf source.dat

  将
压缩后的出后再target.dat.Z 可以改变压缩档名。
  compress -c source.dat > target.dat.Z

  -b
越大,压缩比例就越大, 9-16 ,预设值 16
  compress -b 12 source.dat

  将 source.dat.Z
source.dat ,若档案已存在,使用者按 y 以确定覆盖档案,若使用 -df 程式会自覆盖档案。由于系会自加入 .Z 延伸档名,所以 source.dat 会自当作 source.dat.Z 理。

  compress -d source.dat
  compress -d source.dat.Z

  名称: lpd
  使用
限: 所有使用者
  使用方式:lpd [-l] [#port]
  lpd 是一个常
的印表机管理程式,它会根据 /etc/printcap 的内容来管理本地或端的印表机。/etc/printcap 中定的每一个印表机必/var/lpd 中有一个相对应的目,中以 cf 的档案表示一个等待送到适当装置的印表工作。个档案通常是由 lpr 生。

  lpr lpd
成了一个可以离线工作的系,当你使用 lpr ,印表机不需要能立即可用,甚至不用存在。lpd 会自动监视印表机的状况,当印表机上线,便立即将档案送交理。个得所有的用程式不必等待印表机完成前一工作。
  参数:
  -l: 将一些除
错讯示在出上。
  #port: 一般而言,lpd 会使用 getservbyname 取得适当的 TCP/IP port,你可以使用
个参数lpd 使用指定的 port
  范例:
  
个程式通常是由 /etc/rc.d 中的程式在系启始行。

  名称 lpq
  --
示列表机列中未完成的工作 用法
  lpq [l] [P] [user]
  

  lpq
示由 lpd 所管理的列表机列中未完成的目。
  范例
  范例 1.
示所有在 lp 列表机列中的工作
  # lpq -PlpRank Owner Job Files Total Size1st root 238(standard input) 1428646 bytes

  相关函数
  lpr,lpc,lpd

  名称: lpr
  使用
限: 所有使用者
  使用方式:lpr [ -P printer ]
  将档案或是由
入送来的料送到印表机列之中,印表机管理程式 lpd 会在稍后将个档案送适当的程式或装置理。lpr 可以用来将料本地或是端的主机来理。参数:
  -p Printer:
料送至指定的印表机 Printer,预设值为 lp
  范例:
  将 www.c kkk.c 送到印表机 lp
  lpr -Plp www.c kkk.c

  名称: lprm
  -- 将一个工作由印表机
列中移除 用法
  /usr/bin/lprm [P] [file...]
  

  尚未完成的印表机工作会被放在印表机
列之中,个命令可用来将常未送到印表机的工作取消。由于每一个印表机都有一个独立的,你可以用 -P 个命令定想要作用的印列机。如果没有定的,会使用系统预设的印表机。
  
个命令会检查使用者是否有足除指定的档案,一般而言,只有档案的有者或是系管理才有限。
  范例
  将印表机 hpprinter 中的第 1123 号工作移除
  lprm -Phpprinter 1123

  将第 1011 号工作由
预设印表机中移除
  lprm 1011

  名称: fdformat
  使用
限: 所有使用者
  使用方式:fdformat [-n] device
  使用
:
  
指定的碟机装置行低格式化。使用个指令对软碟格式化的,最好指定像是下面的装置:

  /dev/fd0d360 磁碟机 A: ,磁片
360KB 磁碟
  /dev/fd0h1440 磁碟机 A: ,磁片
1.4MB 磁碟
  /dev/fd1h1200 磁碟机 B: ,磁片
1.2MB 磁碟
  如果使用像是 /dev/fd0
的装置,如果里面的磁碟不是准容量,格式化可能会失。在种情况之下,使用者可以用 setfdprm 指令先行指定必要参数。
  参数:
  -n
功能。选项会关格式化之后的确
  范例:
  fdformat -n /dev/fd0h1440
  将磁碟机 A 的磁片格式化成 1.4MB 的磁片。并且省略确
的步

  名称: mformat
  使用
限: 所有使用者
  使用方式:
  mformat [-t cylinders] [-h heads] [-s sectors] [-lvolume_label] [-F] [-I fsVer-sion] [-S sizecode] [-2 sectors_on_track_0] [-Msoftware_sector_size] [-a] [-X] [-C] [-H hidden_sectors] [-r root_sectors] [-Bboot_sector] [-0 rate_on_track_0] [-A rate_on_other_tracks] [-1] [-k] drive:

  在已
格式化的磁片上建立 DOS 档案系。如果在编译 mtools候把 USE_2M 的参数打开,部分与 2M格式相关的参数就会生作用。否则这些参数(像是 S,2,1,M)不会生作用。
  参数:
  -t 磁柱(synlider)数
  -h
head)数
  -s 每一磁
的磁区数
  -l
标签
  -F 将磁碟格式化 FAT32 格式,过这个参数实验中。
  -I
FAT32 中的版本号。当然也实验中。
  -S 磁区大小代
,算方式 sector = 2^(大小代+7)
  -c cluster)的磁区数。如果所定的数字会致磁数超 FAT 表的限制,mformat 会自放大磁区数。
  -s
  -M
体磁区大小。个数字就是系的磁区大小。通常是和实际的大小相同。
  -a 如果加上
个参数,mformat 生一 Atari 的序号给这块软碟。
  -X
碟格式化成 XDF 格式。使用前必先用 xdfcopy 指令对软碟作低格式化的作。
  -C
生一个可以安装 MS-DOS 档案系的磁碟影像档(disk image)。当然一个体磁碟机下个参数是没有意的。
  -H
藏磁区的数目。通常适用在格式化硬碟的分割区,通常一个分割区的前面有分割表。个参数未经测试,能不用就不用。
  -n 磁碟序号
  -r 根目
的大小,位是磁区数。个参数只 FAT12 FAT16 有效。
  -B 使用所指定的档案或是
设备的开机磁区做为这片磁片或分割区的开机磁区。当然当中的硬体参数会随之更
  -k 尽量保持原有的开机磁区。
  -0 0
传输
  -A 0
以外的传输
  -2 使用 2m 格式
  -1 不使用 2m 格式
  范例:
  mformat a:
  
这样会用预设值a: (就是 /dev/fd0)里的磁碟片格式化。

  名称: mkdosfs
  使用
限: 所有使用者
  使用方式: mkdosfs [ -c | -l filename ]
  [ -f number_of_FATs ]
  [ -F FAT_size ]
  [ -i volume_id ]
  [ -m message_file ]
  [ -n volume_name ]
  [ -r root_dir_entry ]
  [ -s sector_per_cluster ]
  [ -v ]
  device
  [ block_count ]
  
明: 建立 DOS 档案系 device 指你想要建立 DOS 档案系的装置代号。像是 /dev/hda1 等等。 block_count 是你希望配置的区数。如果 block_count 没有指定会自替你算符合装置大小的区数。
  参数:
  -c 建立档案系
之前先检查是否有坏
  -l 从得定的档案中
取坏轨记录
  -f 指定档案配置表(FAT , FileAllocation Table)的数量。
预设值为 2 。目前 Linux FAT 档案系不支援超 2 FAT 表。通常个不需要改。
  -F 指定 FAT 表的大小,通常是 12 或是 16 个位元
12位元通常用于磁碟片,16 位元用于一般硬碟的分割区,也就是所 FAT16 格式。通常系会自己定适当的。在磁碟片上用 FAT16 通常不会生作用,反之在硬碟上用 FAT12 亦然。
  -i 指定 Volume ID。一般是一个 4 个位元
的数字,像是 2e203a47 。如果不会自己生。
  -m 当使用者
试图片磁片或是分割区开机,而上面没有作统时,使用者一段警告息。个参数就是用来息的。你可以先用档案编辑,然后用个参数指定,或是用
  -m -
  
这样会要求你直接段文字。要特注意的是,档案里的字串度不要超 418 个字,包括展开的跳符号(TAB)和行符号(行符号在 DOS 底下算两个字元!)
  -n 指定 Volume Name,就是磁碟
标签。如同在 DOS 底下的 format 指令一,都可以。没有预设值
  -r 指定根目
底下的最大档案数。里所的档案数包括目预设值是在碟上是 112 或是 224 ,在硬碟上是 512。没事不要改个数字。
  -s 每一个磁
cluster)的磁区数。必2 的次方数。不除非你知道你在作什么,不要乱
  -v 提供
外的
  范例:
  mkdosfs -n Tester /dev/fd0 A 槽里的磁碟片格式化
DOS 格式,并将标签设为 Tester

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值