热门关键字:  ubuntu  分区  函数  Fedora  linux系统进程

当前位置 :| 主页>Linux教程>Shell开发>

Linux 的shell基础教学

来源: 作者: 时间:2008-04-28 Tag: 点击:
  Linux的shell好比DOS的COMMAND.COM,在用户和系统之间架起一座桥梁,让用户方便地操作系统。由于Linux是一个完全开放的平台,有许多人都为它编写了Shell程序。其中的BASH(Baurne Again SHell)容纳了其他Shell程序的许多特征,功能十分全面,所以我们以它为例来讲解Shell的一些用法。
  在开始讲解Linux的一些用法之前,我们将先介绍一些命令,以便读者在以后的文中做参考。
  1.ls命令
  格式:ls [选项] [文件列表]
  选项:无,显示当前目录的文件,类似DOS下的dir/w命令;
  -l,显示文件的详细内容,有文件类型、文件权限、链接或目录计数、所有者、所有组、文件大小、文件日期和文件名。
  -R,从指定目录开始列出所有向下的目录中的文件,类似DOS下的dir/s命令。
  2.who命令
  格式:who
  选项:无,显示当前都有哪些用户在使用Linux。
  3.cat命令
  格式:cat [文件列表]
  作用:显示文件列表中文件的内容。
  4.passwd命令
  格式:passwd
  作用:设定用户口令。
  5.pwd命令
  格式:pwd
  作用:显示当前路径。类似DOS下无参数的cd命令。
  6.cd命令
  格式:cd [路径名]
  作用:改变当前路径,同DOS下的cd命令。
  7.rm命令
  格式:rm [文件列表]
  作用:删除文件列表中的文件。同DOS下的del命令。
  8.wc命令
  格式:wc [选项] [文件名]
  选项:无,显示文件的行数、词数、字符数。
  -w,只显示文件的词数。
  下面我们将开始讲述Linux Shell的一些用法。
  一、命令行编辑
  在Linux下,当我们输入一行命令但没有按Enter键时发现输入有误,我们应该怎么办?Linux为我们提供了两个特殊符号@和#。
  @号的作用是将整行废除。例如:
  $wwho @
  who
  root tty1 Dec 3 10:22
  cl tty2 Dec 3 11:57
  cxp tty3 Dec 3 13:54
  在这个例子中,命令的头一个字符有误,用@废除这一行,然后重新输入who命令。
  #号的作用是将前一个字符废除。例如:
  $ww#hho##o
  root tty1 Dec 3 10:22
  cl tty2 Dec 3 11:57
  cxp tty3 Dec 3 13:54
  在这个例子中,第一个#用于废除多写的那个w,第二个#把o删除,第三个#把多写h的删除,再补上o,就是who命令。
  这样看来Linux的操作十分麻烦,其实这两项功能多用于那些老的键盘上。在现在的键盘上自然要方便的多了。你可以通过左右键、Del键、退格键来编辑命令行,就像在文本文件中编辑一行文本一样轻松,这可比DOS还要方便。
  二、命令补全
  当用户输入一个命令的一部分后,按Tab键,Shell将试图补全这个命令。例如:
  $pass< Tab>
  Bash知道这是一个命令,并查找以pass开头的命令,当查到只有passwd符合条件时,Bash将把命令补全。如果查找到多个以输入字符串开头的命令,则会发出警告声,在按一下Tab键,将显示出以此字符串开头的命令。例如:
  $pas< Tab>< Tab>
  passwd paste
  此时在原输入字符串的基础上增加字符避免多义性后,再用Tab键即可补全命令。
  Bash不仅能补全命令,还能补全做命令参数的文件名,如:
  $ls -l /home/public/c< Tab>< Tab>
  clfile cxpfile
  $ls -l /home/public/cl< Tab>
  -rw-r--r-- 2 cl user 21 Dec 3 12:37clfile
  在这个例子中,按第一个Tab键,会有警告声,第二个Tab键用于显示在/home/public目录下同以c开头的文件的名称,然后添加字符l,在按Tab键,Bash将补全文件名,即clfile。
最新评论共有 4 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册