shell基础

Ubuntu root用户和普通用户的相互切换。


普通用户下:su  或者su -切换到root用户下,切换过程需要输密码。

root用户下:su username(username表示普通用户的名字)




1.Shell脚本 有那些类型 比如说 .csh . py .sh 这些脚本又有什么区别

通常写一个shell脚本都要在第一行注明使用什么解释器来解释这个脚本,即写成:#!/bin/bash
这样的形式,意思是告诉系统要使用/bin/bash这个解释器来解释下面的语句。
shell的脚本一般用.sh作为后缀,就如1楼说的后缀名在Linux下并没有特别意义,只是便于人类区分而已,只要你写的脚本的第一行有#!/bin/bash或者是其他的解释器,如#!/bin/csh,执行该脚本时系统会使用该注明的解释器来解释。


.csh大概是用来区分,这个脚本使用csh这个shell解释器来解释。
.sh用来区分,这个脚本使用bash或sh解释器来解释。
.py则是使用Python来解释。

2.sh,bash,csh,tcsh等shell的区别

Bourne Shell(即sh)是UNIX最初使用的shell,平且在每种UNIX上都可以使用。Bourne Shell在shell编程方便相当优秀,但在处理与用户的交互方便作得不如其他几种shell。(在bash hello.sh   和  sh  hello.sh  产生的效果是不一样的。)


LinuxOS默认的是Bourne Again Shell,它是Bourne Shell的扩展,简称bash,与Bourne Shell完全兼容,并且在Bourne Shell的基础上增加,增强了很多特性。可以提供命令补全,命令编辑和命令历史等功能。它还包含了很多C Shell和Korn Shell中的优点,有灵活和强大的编辑接口,同时又很友好的用户界面

C Shell是一种比Bourne Shell更适合的变种Shell,它的语法与C语言很相似。linux为喜欢使用C Shell的人提供了Tcsh。
Tcsh是C Shell的一个扩展版本。Tcsh包括命令行编辑,可编程单词补全,拼写校正,历史命令替换,作业控制和类似c语言的语法,他不仅和Bash Shell提示符兼容,而且还提供比Bash Shell更多的提示符参数。

Korn Shell集合了C Shell和Bourne Shell的优点并且和Bourne Shell完全兼容。Linux系统提供了pdksh(ksh的扩展),它支持人物控制,可以在命令行上挂起,后台执行,唤醒或终止程序。




echo命令要处理或输出特殊字符时,需要加 -e

echo -e 处理特殊字符若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:


\a 发出警告声;

\b 删除前一个字符;

\c 最后不加上换行符号;

\f 换行但光标仍旧停留在原来的位置;

\n 换行且光标移至行首;

\r 光标移至行首,但不换行;

\t 插入tab;

\v 与\f相同;

\\ 插入\字符;

\nnn 插入nnn(八进制)所代表的ASCII字符;

$echo -e "a\bdddd"dddd$echo -e "a\adddd" //输出同时会发出报警声音adddd

$echo -e "a\ndddd" //自动换行adddd


你可能感兴趣的:(linux,ubuntu)