苹果终端命令集可以在终端里用rm -rf

2019-04-20 08:54:05来源:华彩软件站 阅读 ()

新老客户大回馈,云服务器低至5折

苹果终端命令集可以在终端里用rm -rf



  可以在终端里用 rm -rf 来删。


  打开 应用程序--实用程序--终端


  输入 sudo rm -rf .然后把要删除的文件拖进来。回车--输入系统用户密码--回车就行了。


  下面是一些unix常用的命令,MAC系统的终端基本都可以用


  a. 关於档案/目录处理的指令:


  1. ls


  这是最基本的档案指令。 ls 的意义为 "list",也就是将某一个目录或是


  某一个档案的内容显示出来。


  如果你在下 ls 指令後头没有跟著任何的档名,它将会显示出目前目录中所


  有档案。


  也可以在 ls 後面加上所要察看的目录名称或档案的名称,如


  % ls /home2/X11R5


  % ls first


  ls 有一些特别的参数,可以给予使用者更多有关的资讯,如下:


  -a : 在 UNIX 中若一个目录或档案名字的第一个字元为 "." , 则使用 ls


  将不会显示出这个档案的名字,我们称此类档案为隐藏档。如 tcsh


  的初设档 .tcshrc;如果我们要察看这类档案,则必须加上参数 -a 。


  -l : 这个参数代表使用 ls 的长( long )格式,可以显示更多的资讯,


  如档案存取权,档案拥有者( owner ),档案大小,档案最後更新


  曰期,甚而 symbolic link 的档案是 link 那一个档等等。如下


  % ls -l


  drwx--x--x 2 jjtseng 512 Aug 8 05:08 18


  drwx--x--x 2 jjtseng 512 Aug 8 22:00 19


  -rw------- 1 jjtseng 566 Aug 8 05:28 makefile


  2. cp


  cp 这个指令的意义是复制("COPY") , 也就是将一个或多个档案复制成另


  一个档案或者是将其复制到另一个目录去。


  cp 的用法如下:


  cp f1 f2 : 将档名为 f1 的档案复制一份为档名为 f2 的档案。


  cp f1 f2 f3 ... dir : 将档案 f1 f2 f3 ... 都以相同的档名复制一


  份放到目录 dir 里面。


  cp -r dir1 dir2 : 将 dir1 的全部内容全部复制到 dir2 里面。


  cp 也有一些参数,如下:


  -i : 此参数是当已有档名为 f2 的档案时,若迳自使用 cp 将会将原来 f2


  的内容掩盖过去,因此在要盖过之前必须先询问使用者一下。如使用者


  的回答是y(yes)才执行复制的动作。


  -r : 此参数是用来做递回复制用,可将一整颗子树都复制到另一个


  目录中。


  3. mv


  mv 的意义为 move , 主要是将一档案改名或换至另一个目录。如同 cp ,它也有


  三种格式:


  mv f1 f2 : 将档名为 f1 的档案变更成档名为 f2 的档案。


  mv dir1 dir2 : 将档名为 dir1 的目录变更成档名为 dir2 的目录。


  mv f1 f2 f3 ... dir : 将档案 f1 f2 f3 ... 都移至目录 dir 里面。


  mv 的参数有两个,-f 和 -i , 其中 -i 的意义与 cp 中的相同,均是 interactive


  询问之意。而 -f 为强迫( force ) , 就是不管有没有同名的档案,反正我就是要


  搬过去,所有其他的参数遇到 -f 均会失效。


  4. rm


  rm 的意义是 remove ,也就是用来杀掉一个档案的指令。在 UNIX 中一


  个被杀掉的档案除非是系统恰好有做备份,否则是无法像 DOS 里面一样还能够救回


  来的。所以在做 rm 动作的时候使用者应该要特别小心。


  rm 的格式如下:


  rm f1 f2 f3 .....


  而 rm 的参数比较常用的有几个: -f , -i , 与 -r


  -f : 将会使得系统在删除时,不提出任何警告讯息。


  -i : 在除去档案之前均会询问是否真要除去。


  -r : 递回式的删除。


  小心不要随便使用 rm -rf , 否则有一天你会"欲哭无泪"......


  5. mkdir


  mkdir 是一个让使用者建立一个目录的指令。你可以在一个目录底下使用


  midir 建立一个子目录,使用的方法如下:


  mkdir dirname1 [ dirname2 ... ]


  如此你就可以建立一个或多个目录。


  6. chdir ( cd )


  这是让使用者用来转移工作目录用的。


  chdir 的用法如下:


  chdir dirname


  如此你就可以将目前的目录转移到 dirname 这一个目录去。


  或使用 "chdir .." 来转移到上一层目录。


  7. rmdir


  相对於 mkdir ,rmdir 是用来将一个"空的"目录杀掉的。如果一个目录下面


  没有任何档案,你就可以用 rmdir 指令将其除去。rmdir 的使用法如下:


  rmdir dirname1 [ dirname2 .... ]


  如果一个目录底下有其他的档案, rmdir 将无法将这个目录杀掉,除非使用


  rm 指令的 -r 选项。


  8. pwd


  pwd 会将目前目录的路径( path )显示出来,例如:


  9. cat/more/less


  以上三个指令均为察看档案内容的指令。cat 的意义是猫....不不不,是


  concatenate ,在字典上的意思是"连结,将…串成锁状"( 语出资工电子


  词典 cdict ),其实就是把档案的内容显示出来的意思。 cat 有许多奇怪


  的参数,较常为人所使用的是 -n 参数,也就是把显示出来的内容加上行


  号。 cat 的用法如下:


  cat [-n] :自标准输入读进内容,你可以用 pipe 将别的程式的输出转向


  给 cat .


  cat [-n] filename : 将 filename 的内容读进来,显示在标准输出上。


  问题在於 cat 它是不会停下来的,因此并不好用( 试想如果一个萤幕二十


  四行,而一个档案四百行,cat 一出来将会劈哩啪啦不断的卷上去,使用者


  很难据此得到他们所需的资讯。) 所以才有人又写了 more 出来。


  more , 跟据蔡文能老师的说法是"再多一点就好",more 可以将所观察的档案


  跟据终端机的形态一页页的显示出来,再根据使用者的要求换页或卷行。如果


  使用者要在某一个档案中搜寻一个特定的字串,则按 / 然後跟著打所要搜寻


  的单字即可进行搜寻。more 也可以找得到。more 的使用法如下:


  more filename


  如果你在使用中觉得已经看到了所要看的部份,可以按'q'离开 more 的使用。


  在使用中按'v' 亦可以使用编辑器来编辑所观看的档案。


  less 的用法与 more 极类似,原先它就是为了弥补 more 只能往前方卷页的缺


  点而设计。 less 的用法如下:


  less filename


  其与 more 不同的是它可以按 y 来往上卷一行,并且可以用"?"来往回搜寻你所


  要找的单字。


  10. chmod


  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 可以为一个三位或四位的八进位数字,来表示对某些对象的存取权。详情


  可参阅 chmod(1) 的 manual page 中有关 Absolute Modes 的说明。


  或是用一个字串来表示,请参考 chmod(1) 的说明。


  b. 关於 Process 处理的指令:


  1. ps


  ps 是用来显示目前你的 process 或系统 processes 的状况。


  以下列出比较常用的参数:


  其选项说明如下:


  -a 列出包括其他 users 的 process 状况。


  -u 显示 user - oriented 的 process 状况 。


  -x 显示包括没有 terminal 控制的 process 状况 。


  -w 使用较宽的显示模式来显示 process 状况 。


  我们可以经由 ps 取得目前 processes 的状况,如 pid , running state 等。


  2. kill


  kill 指令的用途是送一个 signal 给某一个 process 。因为大部份送的都是


  用来杀掉 process 的 SIGKILL 或 SIGHUP ,因此称为 kill 。kill 的用法


  为:


  kill [ -SIGNAL ] pid ...


  kill -l


  SIGNAL 为一个 singal 的数字,从 0 到 31 ,其中 9 是 SIGKILL ,也就是一


  般用来杀掉一些无法正常 terminate 的讯号。其馀讯号的用途可参考 sigvec(2)


  中对 signal 的说明。


  你也可以用 kill -l 来察看可代替 signal 号码的数目字。kill 的详细情形


  请参阅 man kill。


  c. 关於字串处理的指令:


  1. echo


  echo 是用来显示一字串在终端机上。□ echo -n 则是当显示完之後不会有跳行的动作。


  2. grep/fgrep


  grep 为一过滤器,它可自一个或多个档案中过滤出具有某个字串的行,或是


  自标准输入过滤出具有某个字串的行。


  fgrep 可将欲过滤的一群字串放在某一个档案中,然後使用 fgrep 将包含有


  属於这一群字串的行过滤出来。


  grep 与 fgrep 的用法如下:


  grep [-nv] match_pattern file1 file2 ....


  fgrep [-nv] -f pattern_file file1 file2 ....


  -n 把所找到的行在行前加上行号列出


  -v 把不包含 match_pattern 的行列出


  match_pattern 所要搜寻的字串


  -f 以 pattern_file 存放所要搜寻的字串


  d. 网路上查询状况的指令:


  1. man


  man 是手册 ( manual ) 的意思。 UNIX 提供线上辅助( on-line help )的功能,


  man 就是用来让使用者在使用时查询指令、系统呼叫、标准程式库函式、各种表


  格等的使用所用的。man 的用法如下:


  man [-M path] [[section] title ] .....


  man [-M path] -k keyword ...


  -M path man 所需要的 manual database 的路径。


  我们也可以用设定环境变数 MANPATH 的方式来取代 -M 选项。


  title 这是所要查询的目的物。


  section 为一个数字表示 manual 的分类,通常 1 代表可执行指令,


  2 代表系统呼叫( system call ) ,3 代表标准函数,等等。


  像下面 man 查询的片段:


  SEE ALSO


  apropos(1), cat(1V), col(1V), eqn(1), lpr(1), more(1),


  nroff(1), refer(1), tbl(1), troff(1), vgrind(1), vtroff(1),


  whatis(1), eqnchar(7), man(7), catman(8)


  我们如要参考 eqnchar(7) 的资料,则我们就输入 man 7 eqnchar ,


  便能取得我们所要的辅助讯息。


  -k keyword


  用来将含有这项 keyword 的 title 列出来。


  man 在 UNIX 上是一项非常重要的指令,我们在本讲义中所述之用法均仅只是一


  个大家比较常用的用法以及简单的说明,真正详细的用法与说明还是要请你使用


  man 来得到。


  2. who


  who 指令是用来查询目前有那些人在线上。


  3. w


  w 指令是用来查询目前有那些人在线上,同时显示出那些人目前的工作。


  4. ku


  ku 可以用来搜寻整个网路上的 user ,不像 w 跟 who 只是针对 local host 的


  查询. 而且 ku 提供让使用者建立搜寻特定使用者名单的功能。你可以建立一个档


  案 information-file 以条列的方式存放你的朋友的资料,再建立一个档案


  hosts-file 来指定搜寻的机器名称。 ku 的指令格式可由 ku -h 得到。


  E. 网路指令:


  UNIX 提供网路的连接,使得你可以在各个不同的机器上做一些特殊的事情,如


  你可以在系上的 iris 图形工作站上做图形的处理,在系上的 Sun 上读 News ,


  甚至到学校的计中去找别系的同学 talk 。这些工作可以利用 UNIX 的网路指


  令,在你的位子上连到各个不同的机器上工作。如此一来,即使你在寝室,也能


  轻易的连至系上或计中来工作,不用像以前的人必须泡在冷冰冰的机房面。


  这些网路的指令如下所述:


  1. rlogin 与 rsh


  rlogin 的意义是 remote login , 也就是经由网路到另外一部机器 login 。


  rlogin 的格式是:


  rlogin host [ -l username ]


  选项 -l username 是当你在远方的机器上的 username 和 local host 不同的


  时後,必须输入的选项,否则 rlogin 将会假设你在那边的 username 与 local


  host 相同,然後在第一次 login 时必然会发生错误。


  rsh 是在远方的机器上执行某些指令,而把结果传回 local host 。rsh 的格式


  如下:


  rsh host [ -l username ] [ command ]


  如同 rlogin 的参数 -l username , rsh 的 -l username 也是指定 remote host


  的 username 。而 command 则是要在 remote host 上执行的指令。如果没有


  指定 command ,则 rsh 会去执行 rlogin ,如同直接执行 rlogin 。


  不过 rsh 在执行的时候并不会像一般的 login 程序一样还会问你 password , 而


  是如果你没有设定 trust table , 则 remote host 将不会接受你的 request 。


  rsh 须要在每个可能会做为 remote host 的机器上设定一个档案,称为 .rhosts。


  这个档案每一行分为两个部份,第一个是允许 login 的 hostname , 第二个部份


  则是允许 login 的 username 。例如,在 ccsun7.csie.nctu.edu.tw 上头你的


  username 为 ysjuang , 而你的 home 下面的 .rhost 有以下的一行:


  ccsun6.cc.nctu.edu.tw u8217529


  则在 ccsun6.cc.nctu.edu.tw 机器上的 user u8217529 就可以用以下的方法来


  执行 rsh 程式:


  % rsh ccsun7.csie.nctu.edu.tw -l ysjuang cat mbox


  将 ysjuang 在 ccsun7.csie.nctu.edu.tw 上的 mbox 档案内容显示在 local host


  ccsun6.cc.nctu.edu.tw 上。


  而如果 .rhost 有这样的一行,则 ccsun6.cc.nctu.edu.tw 上的 user u8217529


  将可以不用输入 password 而直接经由 rsh 或 rlogin login 到


  ccsun7.csie.nctu.edu.tw 来。


  注意:


  .rhost 是一个设定可以信任的人 login 的表格,因此如果设定不当将会让


  不法之徒有可以乘机侵入系统的机会。 如果你阅读 man 5 rhosts ,将会


  发现你可以在第一栏用 + 来取代任何 hostname ,第二栏用 + 来取代任何


  username 。


  如一般 user 喜欢偷懒利用 " + username " 来代替列一长串 hostname ,


  但是这样将会使得即使有一台 PC 上跑 UNIX 的 user 有与你相同的


  username , 也可以得到你的 trust 而侵入你的系统。这样容易造成系统


  安全上的危险。因此本系禁止使用这样子的方式写你的 .rhost 档,如果


  发现将予以停机直到你找中心的工作人员将其改正为止。 同理,如果你的


  第二个栏位为 + ,如" hostname + " ,则你是允许在某一部机器上的"所有"


  user 可以不用经由输入 password 来进入你的帐号,是壹种更危险的行为。


  所以请自行小心。


  2. telnet


  telnet 是一个提供 user 经由网路连到 remote host。


  telnet 的 格式如下:


  telnet [ hostname | ip-address ] [ port ]


  hostname 为一个像 ccsun1 或是 ccsun1.cc.nctu.edu.tw 的 name address,


  ip-address 则为一个由四个小於 255 的数字组成的 ip address ,如 ccsun1


  的 ip-address 为 140.113.17.173 ,ccsun1.cc.nctu.edu.tw 的 ip-address


  为 140.113.4.11 。你可以利用 telnet ccsun1 或 telnet 140.113.17.173 来


  连到 ccsun1。


  port 为一些特殊的程式所提供给外界的沟通点,如资工系的 MUD 其 server 便


  提供一些 port 让 user 由这些 port 进入 MUD 程式。详情请参阅 telnet(1)


  的说明。


  3. ftp


  ftp 的意义是 File Transfer Program ,是一个很常应用在网路档案传输的


  程式。ftp 的格式如下:


  ftp [ hostname | ip-address ]


  其中 hostname | ip-address 的意义跟 telnet 中的相同。


  在进入 ftp 之後,如果与 remote host 连接上了,它将会询问你 username


  与密码,如果输入对了就可以开始进行档案传输。


  在 ftp 中有许多的命令,详细的使用方式请参考 ftp(1) ,这里仅列出较常


  用的 cd , lcd , mkdir , put , mput , get , mget , binary , ascii ,


  prompt , help 与 quit 的使用方式。


  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 .


  利用 ftp ,我们便可以在不同的机器上将所需要的资料做转移,某些特别的


  机器更存放大量的资料以供各地的使用者抓取,本校较著名的 ftp server


  有 NCTUCCCA 与系上的 ftp.csie.nctu.edu.tw 。这些 ftp server 均有提


  供一个 user 称为 anonymous ,一般的"外来客"可以利用这个 username 取


  得该 server 的公共资料。不过 anonymous 在询问 password 时是要求使用


  anonymous 的使用者输入其 email address,以往有许多台湾的使用者在使用


  国外的 ftp server 时并没有按照人家的要求输入其 email address,而仅是


  随便打一些字串,引起许多 internet user 和管理者的不满,对台湾的使用


  者的风评变得很差,因此遵循各 ftp server 的使用规则也是一件相当重要的事。


  f. 关於通讯用的指令:


  1. write


  这个指令是提供使用者传送讯息给另一个使用者,使用方式:


  write username [tty]


  2. talk/ytalk/cytalk/ctalk


  UNIX 专用的交谈程式。会将萤幕分隔开为你的区域和交谈对象的区域,


  同时也可和不同机器的使用者交谈。使用方式:


  talk username[@host] [tty]


  3. mesg


  选择是否接受他人的 messege , 若为 messege no 则他人的 messege 将无法


  传送给你,同时他也无法干扰你的工作。使用方法:


  mesg [-n|-y]


  4. mail/elm


  在网路上的 email 程式,可经由此程式将信件 mail 给他人。 使用方式:


  mail [username]


  mail -f mailboxfile


  如有信件,则直接键入 mail 可以读取你的 mail .


  elm 提供较 mail 更为方便的介面,而且可做线上的 alias . 你可以进入 elm


  使用上下左右键来选读取的信件,并可按 h 取得线上的 help 文件。


  使用方式:


  elm [usernmae]


  elm -f mailboxfile


  g. 编译器( Compiler ):


  Compiler 的用处在於将你所撰写的程式翻译成一个可执行档案。在资工系常


  用的程式语言是 C , pascal , FORTRAN 等。你可以先写好一个 C 或 Pascal


  或 FORTRAN 的原始程式档,再用这些 compiler 将其翻成可执行档。你可以


  用这个方法来制造你自己的特殊指令。


  1. cc/gcc (C Compiler)


  /usr/bin/cc


  /usr/local/bin/gcc


  语法: cc [ -o execfile ] source


  gcc [ -o execfile ] source


  execfile 是你所希望的执行档的名称,如果没有加上 -o 选项编译出来的可


  执行档会以 a.out 做为档名。 source 为一个以 .c 做为结尾的 C 程式档。


  请参阅 cc(1) 的说明。


  2. pc (Pascal Compiler)


  /usr/local/bin/pc


  语法: pc [ -o execfile ] source


  execfile 是你所希望的执行档的名称,如果没有加上 -o 选项编译出来的可


  执行档会以 a.out 做为档名。 source 为一个以 .p 做为结尾的 Pascal 程


  式档。 请参阅 /net/home5/lang/man 中 pc(1) 的说明。


  3. f77 (Fortran Compiler)


  /net/home5/lang/f77


  语法: f77 [ -o execfile ] source


  execfile 是你所希望的执行档的名称,如果没有加上 -o 选项编译出来的可


  执行档会以 a.out 做为档名。 source 为一个以 .p 做为结尾的 FORTRAN 程


  式档。


  h. 有关列印的指令:


  以下为印表所会用到的指令,在本系的印表机有 lp1 , lp2 ( 点矩阵印表机 ),


  lw , sp , ps , compaq ( 雷射印表机 ),供使用者使用。


  1. lpr


  lpr 为用来将一个档案印至列表机的指令。


  用法:


  lpr -P[ printer ] file1 file2 file3 ....


  或


  lpr -P[ printer ] < file1


  例子:


  lpr -Plp1 hello.c hello.lst hello.map


  lpr -Plp1 < hello.c


  前者以参数输入所要印出的档案内容,後者列印标准输入档案( standard input )


  的内容,因已将 hello.c 转向到标准输入,故会印出 hello.c 的档案内容。


  2. lpq


  lpq 是用来观察 printer queue 上的 Jobs 。


  用法:


  lpq -P[ printer ]


  3. lprm


  lprm 是用来取消列印要求的指令。 通常我们有时会印错,或是误送非文字档


  资料至 printer , 此时就必须利用 lprm 取消列印 request ,以免造成资源


  的浪费。


  用法:


  lprm -P[ printer ] [ Jobs id | username ]


  lprm 用来清除 printer queue 中的 Jobs , 如果你使用 Job Id 作为参数,则


  它将此 Job 自printer queue 清除,如果你用 username作为参数,则它将此 queue


  中所有 Owner 为此 username 的 Jobs 清除。


  i. 更改个人使用资料:


  1. passwd


  passwd 是用来更改你的使用密码,用法为:


  passwd [ username ]


  在使用 passwd 的时候,它会先问你的旧密码,然後询问两次要更改的密码,确定


  无误後才将你的密码改掉。


  2. chsh


  chsh 是提供使用者更换 login shell 的指令,你可经由此更换自己使用的 shell 。



原文链接:http://www.huacolor.com/article/18262.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:让Windows XP系统开口说话

下一篇:让食指彻底的解放之文件拖放小技巧