Linux的shell编程
Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。它虽然不是Linux系统核心的一部分,但它调用了系统核心的大部分功能来执行程序、建立文件并以并行的方式协调各个程序的运行。因此,对于用户来说,shell是最重要的实用程序,深入了解和熟练掌握shell的特性极其使用方法,是用好Linux系统的关键。可以说,shell使用的熟练程度反映了用户对Linux使用的熟练程度。
一、什么是shell
当一个用户登录Linux系统之后,系统初始化程序init就为每一个用户运行一个称为shell(外壳)的程序。那么,shell是什么呢?确切一点说,shell就是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动、挂起、停止甚至是编写一些程序。
当用户使用Linux时是通过命令来完成所需工作的。一个命令就是用户和shell之间对话的一个基本单位,它是由多个字符组成并以换行结束的字符串。shell解释用户输入的命令,就象DOS里的command.com所做的一样,所不同的是,在DOS中,command.com只有一个,而在Linux下比较流行的shell有好几个,每个shell都各有千秋。一般的Linux系统都将bash作为默认的shell。
二、几种流行的shell
目前流行的shell有ash、bash、ksh、csh、zsh等,你可以用下面的命令来查看你自己的shell类型:
#echo $SHELL
$SHELL是一个环境变量,它记录用户所使用的shell类型。你可以用命令:
#shell-name
来转换到别的shell,这里shell-name是你想要尝试使用的shell的名称,如ash等。这个命令为用户又启动了一个shell,这个shell在最初登录的那个shell之后,称为下级的shell或子shell。使用命令:
$exit
可以退出这个子shell。
使用不同的shell的原因在于它们各自都有自己的特点,下面作一个简单的介绍:
1.ash ash shell是由Kenneth Almquist编写的,Linux中占用系统资源最少的一个小shell,它只包含24个内部命令,因而使用起来很不方便。
2.bash bash是Linux系统默认使用的shell,它由Brian Fox和Chet Ramey共同完成,是Bourne Again Shell的缩写,内部命令一共有40个。Linux使用它作为默认的sh
相关文档:
在Linux系统中,每台设备都是当成一个文件夹来对待。
设备 &nbs ......
Unix基础
登录和退出
登陆:可以用Neterm、SecureCRT等终端登陆工具〔192.168.25.12 常用软件下有〕或者
telnet、ftp命令。
1. telnet 远程终端访问
命令格式:telnet [hostname|IP address]
退出:ctrl+d or logout or exit
2. ftp 远程文件传输
......
许多刚刚接触Linux的人往往纠结于Linux的众多格式解压问题,今天 带给大家常用的Linux的解压命令,不妥之处,欢迎指正!
第一:以.tar.gz结尾的文件
tar xvzf file.tar.gz 或者 gzip -dc file.tar.gz | tar xvf -(这里用到了管道)
第二:以.zip结尾的文件
unzip file.zip
第三:以.tar.bz2结尾的文件
tar ......
备份MBR分区
0. 备份硬盘的分区信息:
#fdisk /dev/sda -l > /tem/sda.txt
1.使用fdisk -l 确定MBR位置
2.备份MBR
dd if=/dev/sda1 of=/root/mbr bs=512 count=1
3.恢复MBR
dd if=/root/mbr of=/dev/sda1 bs=512 count=1
......
Integrated Development Environments / RAD tools / GUI-builders on Linux:
General/Editors:
Amy (HTML, C, C++, Java, SQL, LaTeX, Makefiles and many more languages)
blIDE (incomplete; no downloads as of yet)
IBM's Eclipse (an extensible IDE kit; Java, C/C++, plus other languages via plug-ins t ......