Linux 常见的命令

 

  cat cd chmod chown cp 
  名称: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 时所在的目录).另外,"~" 也表示为 home directory 的意思,"." 则是表示目前所在的目录,".." 则表示目前目录位置的上一层目录。
  范例:跳到 /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+r file1.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
 

  用法: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, -iname name:档案名称符合 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

  

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

  说明:Linux/Unix 档案系统中,有所谓的连结(link),我们可以将其视为档案的别名,而连结又可分为两种:硬连结(hard link)与软连结(symbolic link),硬连结的意思是一个档案可以有多个名称,而软连结的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬连结是存在同一个档案系统中,而软连结却可以跨越不同的档案系统。

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

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

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

  

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

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

  

  名称: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

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

  -e:执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL 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 ,crontab file 的方式来设定时程表。
  例子:
  每月每天每小时的第 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

 

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

  au(x) 输出格式:

  USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
  USER: 行程拥有者
  PID: pid
  %CPU: 占用的 CPU 使用率
  %MEM: 占用的记忆体使用率
  VSZ: 占用的虚拟记忆体大小
  RSS: 占用的记忆体大小
  TTY: 终端的次要装置号码 (minor device number of tty)
  STAT: 该行程的状态:
  D: 不可中断的静止 (通悸□□b进行 I/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 TIME COMMAND
  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 first character

  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" | tr a-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

 

posted @ 2021-03-26 13:46  胡洋  阅读(52)  评论(0编辑  收藏  举报