日期:2014-05-16  浏览次数:20629 次

【转】Linux基本指令介绍
【转】Linux基本指令介绍

说明一下,基本上虽然 Linux 目前对于图形界面的使用已经支援的相当的不错,但是对于一些比较细微的设定方面,毕竟是比不上使用传统的文字介面来的有效!并且,使用文字介面来设定对于了解 Linux 有一定的帮助,毕竟 Linux 与 MS 的咚咚是不太相同的!鸟哥特别建议大家使用文字介面来解决问题!
  除此之外,使用文字介面登入 Linux 对于系统资源的损耗也比较少,相对的,就有比较多的资源可以做为网路的用途,进而增加 Linux 的效能。尤其,在我们这个网页中,基本上是以一般被淘汰的 586 系列电脑做为主机,因此对于记忆体与 CPU 的效能要求并不高,所以能有效的减少系统资源的浪费就尽量的减少一些容易耗掉系统资源的废物吧!
  底下我们会分门别类的将各个比较常用的指令给搬上来,你可以参考一下。另外一个最重要的地方是,在 Linux 主机上,已经内建各个指令的说明内容了,而且是很详细的线上说明,你可以使用:
  # man command <=== command 为你欲查询的指令名称
  # info command
  在上表中,针对 command 这个指令你可以使用 man 或者是 info 来查询他的功能与说明,例如你要查寻 ls 这个指令时,你可以输入: man ls 或 info ls 来查询一下!适当的利用线上查询对于你的英文及相关的指令功能有一定程度的帮助喔!
  登入与登出(开机与关机)
  telnet
  这套软体在 Windows 及 Linux 系统中都存在,只是介面有点不很相同就是了。基本上,这个程式是 user 端用来连线登入远端主机的。例如鸟哥人在台南,但是我可以在台南使用可以连上 Internet 的电脑,经由 telnet 连线上家里的 Linux 主机,而进行设定!感觉上就好象在家里玩自己的 Linux 主机一样!
  一般来说,如果你是使用 Winodows 系统,则你可以在『开始』-->『执行』后,输入 telnet xxx.yyy.zzz.qqq ,其中, xxx.yyy.zzz.qqq 为 IP 位址,则可以连上主机(或者是 BBS )啰。当然,如果您是在 Linux 系统下,亦可直接输入 telnet xxx.yyy.zzz.qqq 来连上主机或BBS喔!
  语法: telnet 主机位址(或主机名称)
  login
  登入系统的指令,在远端进入系统时,程式会自动执行。假设你所要登入的系统主机为 sun.os.test.com ,则你可以在 Windows 底下的 Telnet 软体,或其他软体上,执行:
  telnet sun.os.test.com
  则会出现如下的画面:
  SunOS 5.7 login: username Password: sun# _
  你只要有 username 及 pass word 就可以登入系统啦!在你登入系统后, sun# 是提示字元,相当于古早的 C:\> 的意思!
  exit
  这是离开 Linux 系统的指令,相当于 login out 的意思。
  sun# exit
  shutdown
  Linux 用来关机的指令,这个指令只有 root 才有权力下! shutdown 的用法如下:
  # shutdown <==系统在两分钟后关机,并传送讯息给在线上的人 # shutdown -h now <==系统立刻关机 # shutdown -r now <==系统立刻重新开机 # shutdown -h 20:30 <==系统在今天的 20:30 分关机 # shutdown -h 10 <==系统在 10 分钟后关机
  reboot
  这是鸟哥最常用来重新开机的指令(或关机),可以配合写入缓冲资料的 sync 指令动作,如下:
  # sync; sync; sync; reboot
  Linux 多人多工与背景执行功能
  多人多工
  Linux 最为人所称道的即是其多人多工的能力,你可以在任何时刻连线上来你的 Linux 主机,并且同时做很多的工作,例如同时执行 http 的 Web 功能,同时进行 fortran 等程式语言的编辑,并同时上网聊天!你会怀疑, Windows 98 也可以做到这样的地步呀!不过,不要忘了,在 Linux 的系统下,你所做的任何工作都是独立的,你可以随时将你所不要的工作给杀掉,而且,当其中某一个程式当掉的时候, Linux 并不会当机,只要你在其他的视窗再开启一个终端介面,然后查出当机的那一个指令的 process (过程),然后将之杀掉就可以了!根本不用再重新开机!也因为这种多人多工的强大能力,因此, Linux 系统一般来说是很少当机的,并且,由于其记忆体的管理功能完善,因此也不容易有 CPU 过热的情况发生(如果只是做为一般伺服器使用)。
  在你的 Linux 主机中,可以支援七个终端视窗介面,你可以按 .....来切换不同的终端机介面!所以当其中一个终端机介面当机的时候,你可以在另外一个终端机登入,然后查出错误的所在(使用 ps -aux 的功能),再以 kill 将错误的地方杀掉即可!
  背景执行
  另外一个功能,就是『背景执行』的功夫了。当你输入
  # cp file1 file2 &
  这一串指令的时候,表示将 file1 这个档案复制为 file2 ,且放置于背景中执行,也就是说执行这一个命令之后,在这一个终端介面仍然可以做其他的工作!而当这一个指令( cp file1 file2 )执行完毕之后,系统将会在您的终端介面显示完成的消息!很便利喔!
  多人多工的问题
  多人多工确实有很多的好处,但其实也有管理上的困扰,因为使用者越来越多,将导致你管理上的困扰哩!另外,由于使用者日盛,当使用者达到一定的人数后,通常你的机器便需要升级了,因为 CPU 的运算与 RAM 的大小可能就会不敷使用!
  & 与
  如前所述,背景执行可以提供你在同一个终端机介面(命令模式)当中同时做很多的事情,你可以使用 & 或 来将指令放置背景中执行。例如执行 find "/" -name httpd & 这一行命令,表示将寻找 httpd 这个档案的指令放置到背景中执行的意思。另外,当你执行一个需要长时间的程式,例如执行 ftp 程式时,在程式进行当中,也可以经由按下 来将程式放置于背景中。那如何由背景中将程式在叫回萤幕上呢?请参考下一个指令 fg。
  fg
  fg 是将程式再叫回萤幕上显示的一个指令,在终端模式中输入 fg 即可。当然,如果你当时并没有程式在执行的话,系统会告诉你,并无执行中程式(no such job)。
  ps -aux
  这是察看执行中的程式的一个指令,你可以配合其参数 -aux 来执行,如下:
  # ps -aux
  则系统将会列出连同系统服务的程式,在输出的第一列中会出现 『PID』字样,在那一栏中的咚咚就是每一个程式执行的代码。例如下面的输出画面。
  # ps -aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 1324 532 ? S Jul16 0:14 init root 2 0.0 0.0 0 0 ? SW Jul16 0:05 root 3 0.0 0.0 0 0 ? SW Jul16 0:29 root 4 0.0 0.0 0 0 ? SW Jul16 0:00 root 5 0.0 0.0 0 0 ? SW Jul16 0:00
  在上图中, init 这个程式的 PID 为 1 。
  kill
  这是用来杀掉执行中程式的指令,需配合 ps 这个指令,当你执行一个 ftp 程式,但是他有点当当的时候,你可以 ps -aux 这个指令查出 ftp 这个程式的代码(PID),假设其 PID 为 110 ,然后输入:
  # kill 110
  即可杀掉这个 ftp 程式。
  档案与目录管理
  cd
  这是用来变换工作路径的指令。一登入 Linux 系统后,root 会在 /root 下,至于使用者会在预设的 /home/username 底下,例如鸟哥的 ID 为 vbird ,则以 vbird 的身份登入后,会到 /home/vbird 这个路径下。OK!那回到上一层可以用 cd .. 而到相对路径可到 cd ../bird,至于绝对路径则是 cd /usr/sbin !注意喔,在前面的提示字元会改变路径名称!
  # cd .. <