Linux系统为了便于运维人员对系统的操作,所以内建了很多shell命令。一般来说linux系统的内建命令会比执行外部的shell命令执行更快。因为执行内建命令相当于调用当前shell进程里面的函数,而执行外部命令的话需要出发IO操作还要fork一个单独的进程来执行,执行完成后再退出。下面会列出一些常用的linux系统的内建命令。
1、type
主要用于判断当前命令是内建命令还是外部命令。
比如:type cd
输出:cd is Shell builtin
比如:type ifconfig
输出:ifconfig is /sbin/ifconfig
2、执行程序:"."
用于执行某个脚本,可以执行没有执行权限shell脚本。这样可以在不修改shell脚本的权限的情况去运行该shell脚本。
3、source
该命令可读取并在当前环境中执行脚本,并且可以返回执行的状态,执行成功如果没有返回值会返回0,表示执行成功。如果未找到指定的脚本则返回false。
4、cd
改变当前工作目录。如果不加任何参数,默认会进入当前用户的家目录。
5、声明变量:declare、typeset
两个命令主要是声明变量。shell声明变量不需要指明类型,属于弱类型。不过若使用declare命令,可以使用-i参数声明整型变量。
用法说明:declare -i num=2 #声明declare声明整型变量为num2,其值为2
declare -r num=100 #声明declare声明只读变量为num,其值为100
6、echo
主要用于打印字符,典型用法是使用echo命令并跟上使用双引号括起的内容,该命令会打印引号的内容,默认会加上换行符。可以加上-n参数可以不打印换行符。
如果需要打印转义字符,可以加上-e参数进行处理,默认-e参数是不显式的。
7、整数运算:let
let命令是shell内建的整数运算命令。
用法如下:let num=3+7 # num为10
let num2=15/3 #num为5
let num3=7/3 #求余num3 为1
let num4=2**3 # 2的3次方,num4值为8
let num5++ #自增
let num6-- #自减
let num7+=10 #num7加10
8、pwd
打印当前工作目录的绝对路径名。
参数:-P:打印出的路径名不会出现符号连接。
-L:打印出的路径可以包含符号连接。
9、local
用于声明局部变量,典型的用法是用于函数体内,变量的作用域也在该函数体内。
10.read
主要是增加shell脚本和使用者之间的交互性,简单来说就是需要人工输入才能继续执行脚本。
比如一下脚本:
#!/bin/bash
declare score
echo -n "请输入你的成绩:"
read score
echo "你的成绩是:$socre 分"
技巧:
下面两句可以修改为
echo -n "请输入你的成绩:"
read score
一句:
read -p echo -n "请输入你的成绩:" score
11、return
用于函数的返回值。用法比较简单。
12、test
用于测试表达式的值,根据测试结果返回0失败,1成功。非常重要的shell命令。
语法格式:test EXPRESSION