文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>shell总结

shell总结

时间:2006-05-06  来源:weijiliang

              shell脚本编程(参考linux基础教程实践,linux技术大全)
这里的shell是通常的bash shell,用户登陆或运行终端时就用到了shell,通俗来说,shell就是一个命令行解释器,即是一种命令语言,又是一种程序设计语言.
一:了解你用的shell类型是shell脚本编程的基础
     #echo $SHELL    //用此命令可以查看你自己的shell类型
     #Shell-name     //用此命令可以来转换到你需要的shell类型,如ash等(当前shell的子shell)
     #exit           //退出子shell
二:shell作命令解释器
 
   命令行格式:#命令 选项 参数  (中间有一空格) 也常写着#command -options parameter
    eg:  #ls -l filesname
下面介绍一些常用的命令:
mkdir 创建一个新目录
eg:#mkdir /root/weijiliang        在root目录下常见了weijiliang这个文件夹
eg:#mkdir -p /wei/weijiliang        连续创建了wei,并在wei下创建了weijiliang
rmdir  删除空目录目录
eg:#rmdir -p weijiliang       删除weijiliang这个目录,如果wei也是空目录的话,一块被删除
 
nano,gedit,vi等是编辑器,用他们可以创建文件
eg:#nano /root/weijiliang/test         在/root/weijiliang目录下常见了test这个文件
clear   用于清屏
eg:#clear
  rm    删除文件
eg:#rm -i filename    删除filename前询问用户确定操作
eg:#rm -v filename    删除filename是出现进度报告
  cp    复制文件
eg:#cp -R 文件名称 目的地        复制文件和其下的子目录到目的地
 
eg:#cp -p 文件名称 目的地        复制文件时不改变文件的权限
eg;#cp -i 文件名称 目的地          复制文件到目的地时有相同的文件询问用户是否覆盖
eg;#cp -v 文件名称 目的地          复制文件到目的地时显示进度
eg;#cp -l 文件名称 目的地          建立文件连接(快捷方式)   ;#cp -l /root/weijiliang /usr/      打开usr时有一个weijiliang的快捷方式          

mv   移动文件
eg:mv -i  文件名称 目的地          移动文件到目的地时有相同的文件询问用户是否覆盖  
eg;#mv -v 文件名称 目的地          移动文件到目的地时显示进度     cd   打开目录或切换目录 eg:#cd /root/weijiliang    打开weijiliang这个目录
eg:#cd ..                退回到上一级目录
eg:#cd                    退回到根目录
   
cat  连接文件和将文件内容显示
   
eg:#cat filename    显示filename文件的内容
eg:#cat test1 test2 >test3   把test1 test2 的内容连接放到test3 eg::#cat test1 test2 >test3   #cat test4 test5 >>test3          test3的内容是 :test1 ,test2, test4,test5连接的内容和    eg:#cat>test     从键盘输入的东西防到test文件里(ctrl +D 保存文件),如果原来没有test文件,则更你自动创建,原来有的话就被新的test覆盖掉了
ls   列示文件
eg:#ls -l          列出当前目录下每个文件的全部详细资料
eg:#ls -a          列出当前目录下每个文件的全部详细资料,连隐藏的都列出来

eg:#ls -d s*         列出当前目录下每个以s开头的文件(#ls s* 是列出当前目录下所有的以s开头的文件,连子目录的都列了出来)
eg:ls --color    列出当前目录下每个文件:目录(用蓝色)    可执行文件(绿色)   一般文件(白色)   连接文件(前蓝色)
一般不用的作输出到文件或程序,因为颜色控制码ANSI输出到普通文件就会现行了,文件会莫名奇妙的多了好多没有的字符.#ls --color >test  这是不可以的
eg:#ls -F        功能和--color差不多.不过他不是以颜色来区分文件的类型,而是:目录(目录名/)    连接文件(连接文件名@)    可执行文件(可执行文件名*)
                                                                       
  

date    显示或设置日期时间
eg:#date      就能显示今天的日期和时间
eg:#date "+Date:%Y.%m.%d Time:%H.%M.%S"   显示格式:Date:2006.05.5 Time:05.40.44
eg:#date "+Date:%Y.%m.%d"             显示格式:Date:2006.05.5                                                  shell 符号集 通用的shell符号
ENTER                                               执行一个命令         
;(分号)                                       将同一个命令行的命令分开    
[]                                           匹配文件名中若干可能的字符,选其中之一

\                                             转义符号                                        
|                                             管道
&                                             在后台执行一个任务

!                                            执行一个历史命令 (#history 命令列出历史命令序号,#!序号)
通配符
*                                             匹配若干个字符
  ?                                              匹配某个字符   重定向符号
>                                            将标准输出到一个文件或设备(耕具原文件的存在与否创建或新建)

<                                          从一个文件或设备获取输入到程序
                                            

>>                                             将标准输出到一个文件或设备,附加到文件的结尾                                  

标准错误重定向符号
2>                                       将标准错误冲定向到一个文件或设备
2>>                                          将标准错误冲定向附加到一个文件或设备
                                      
2>&1                                         将标准错误冲定向到标准输出                                      >& |&                                             将标准错误管道到输送到另一个命令作为输入                                        在程序运行过程中可以用ctrl+c中断一个命令的执行                                    shell变量 shell 变量要先定义后使用 eg:#var=weijiliang                定义了一个var的变量,值为weijiliang
eg:#var1=/root/weijiliang
eg:#echo $var                    就会显示weijiliang
  
$放在变量前来取变量的值的
  用set命令来看所有以定义的变量表:#set
 var    weijiliang

用#unset 变量名              来删除定义的变量
                      
                                                     写shell程序和运行

首先,#nano /root/weijiliang/test
然后,输入以下的:
                    #!/bin/sh
                      var="Wellcome linux Weijiliang "
                      echo $var
保存,#chmod +755 test
然后#./test
就会显示       Wellcome linux Weijiliang

                                        shell编程的流程控制语句
if语句
if [条件命令];(分号)
then
   条件为真时的命令串
elif [条件命令];
then
...
else
条件为假时的命令串
fi   for语句
for 变量名  [in 数值列表]
do
若干个命令行
done

while 语句
 
while
若干个命令行1
do
若干个命令行2
done
  until 语句       until 若干个命令行1
do
若干个命令行2
done
          case语句
case string in
exp-1)
若干个命令行1;;(分号)
exp-2)
若干个命令行2;;(分号)
.
.
.
*)
其他命令行
esac

                                     shell 函数

 functionname
{
  body
}

调用functionname param1 param2...
 
                                        shell脚本使用的编译器
一般用gcc和g++
例如要创建一个hell word!输出,我们可以用c++程序来写
#nano test.c
                 
          #include<iostream.h>
          void main(void)
                     {            
                      count<<"hello word!";
                     }
 
#g++ -o test.c test
#chmod 755 test
#./test
输出: hello word!
  当用c写时就用gcc    
             
        
             
 
相关阅读 更多 +
排行榜 更多 +
浴血混战官方下载

浴血混战官方下载

飞行射击 下载
检票员模拟器免广告下载

检票员模拟器免广告下载

模拟经营 下载
最终前哨最终版手机版下载

最终前哨最终版手机版下载

休闲益智 下载