您的位置:首页 > 运维架构 > Shell

shell内置命令集合

2015-12-22 09:53 555 查看
1.help 显示所有内置命令的列表,或某一个内置命令的用法

#help //查看所有内置命令

#help 内置命令 //查看内置命令使用方法

#help -s 内置命令 //显示内置命令的语法格式,非常好用哦!

[root@localhost var]# help -s cd

cd: cd [-L|-P] [dir]

2.echo 用来显示一行文字,默认会自动换行

[root@localhost ~]# echo www

www

-e 让字符串中的特殊字符起作用.例如:

[root@localhost ~]#echo -e "I am the king\nof the world."

执行结果如下:

I am the king

of the world.

其中\n会被翻译成换行字符.

3.printf 依照格式显示参数内容

假设变量str="Hello World"

[root@localhost ~]#printf "%s\n" "$str"

Hello World

#显示变量str的内容,且\n具有换行的效果.

[root@localhost ~]#printf "%c\n" "$str"

H

#显示变量值的第一个字符

[root@localhost ~]#printf "%s共有%d个字符\n" "$str" 11

Hello World共有11个字符

#显示str="Hello world"共有11个字符.

[root@localhost ~]#printf "%9s\n" Hello!

___Hello!

#显示9个字符长度的字符串(靠右对齐),不足9个字符的部分用空格符补齐,结果显示"___Hello!"(左方有3个空格符) [root@localhost ~]#printf "%-9s\n" Hello!

#显示9个字符长度的字符串(靠左对齐),不足9个字符的部分用空格符补齐,结果显示"Hello!___"

[root@localhost ~]#printf "%5.8f\n" 300

300.00000000

#在上述的字符串中,5.8中的5,表示含小数点共5位数,5.8中的8表示小数字数占用一位.

[root@localhost ~]#printf "%q\n" "$str"

"Hello\world"

#这里的%q参数是将特殊字符转义

[root@localhost ~]#printf -v myvar "%q" "ABC 123 XYZ"

#这里的-v是说:不显示到标准输出,而把想要显示的内容值给变量myvar.

#myvar变量为"ABC\123\XYZ"

[root@localhost ~]#printf "%b" "ABC\n123\nXYZ\n"

#%b是说,将特殊字符转义生效,也就是说字符串中的n会有换行效果

#结果如下:ABC

123

XYZ

[root@localhost ~]#printf "%s\n" "ABCDEFGHIJK"|tr A-Z a-z

#把字符串显示出来,通过管道交给tr,把大写字母转成小写.

#结果:显示abcdefghijk





4.cd 改变目录位置

[root@localhost ~]cd

#执行后回到家目录,等同于cd ~

[root@localhost ~]cd -

[root@dns2 ~]# cd /var/log

[root@dns2 log]# cd -

/root

[root@dns2 ~]#

#回到先前的目录

[root@localhost ~]cd ..

#回到上一层目录

5.pwd 显示当前的工作目录

[root@localhost ~]pwd

/root

#显示当前工作路径

6. :(冒号) 什么都不做,传回真值(即传回0)

[root@localhost ~]: >aa

可以创建一个名字为aa的空文件

7. .(半角句号)在现行的shell环境中执行shell程序

[root@localhost ~]. aa.sh

注意:.和shell程序之间至少要加一个空格提示符.

.和source命令的作用相同

8.source在现行的shell环境中执行shell程序

[root@localhost ~]source aa.sh

9.alias 显示、设定程序别名

[root@localhost ~]alias

#执行后,显示目前所有已设定的程序名称.

[root@localhost ~]alias help1='help -s test'

#alias 新的别名="组合的程序"

[root@localhost ~]alias cp=cp

#取消程序别名,cp还是原来的cp命令(默认是cp -i).

10.unalias

[root@localhost ~]unalias cp

#表示把cp的别名设定取消

11.exit 离开bash shell或结束Script程序

离开shell,并传回值1

12.logout 注销login shell

在命令行没有输入任何字符串的情况下,若按[ctrl D]组合键,其功能等同于logout指令,一样可以注销.

13.umask 显示或设定新的文件、目录的权限掩码

[root@localhost ~]umask

#执行后,显示当前的umask掩码

[root@localhost ~]umask -S 0024

#执行后,设置umask掩码为0024

14.history 显示过去曾经执行过的shell命令

[root@localhost~]histroy

#执行结果,显示linux主机曾经执行过的命令

histroy变量:

HISTFILE 查看历史记录文件名称及存储路径

[root@localhost~]echo $HISTFILE

/root/.bash_history

HISTFILESIZE 查看文件存储的条数

[root@localhost~]echo $HISTFILESIZE

1000

HISTSIZE 在当前shell下保存的历史命令数量

[root@localhost~]echo $HISTSIZE

1000

15.fc 列出登录主机之后,最近执行过的命令

[root@localhost~]fc -l

#显示登录后最近执行过的命令

[root@localhost~]fc -ln

#不显示命令的编号

[root@localhost~]fc -l ll cp

#显示ll和cp两条命令之间的历史命令

也可以使用数字,例如:

[root@localhost~]fc -l 400 500

[root@localhost~]fc -lr 400 500

按照编号由大到小的方式显示命令

16.type 判断bash对某一指令如何解释(个人觉得这一个命令作用是查看命令的类型)

[root@localhost ~]# type fg

fg is a shell builtin //fg是一个shell的内置名in个

[root@localhost ~]# type if

if is a shell keyword //if是shell的保留的字段

[root@localhost ~]# type cp

cp is aliased to `cp -i' //cp是'cp -i'的程序别名

[root@localhost ~]# type tr

tr is /usr/bin/tr //tr是一个独立的执行程序,程序路径是/usr/bin/tr

17.set 设定bash shell的属性;若不加任何选项和参数,它会显示所有的shell变量和函数的内容.

[root@localhost~]set

#查看当前shell环境变量和函数

[root@localhost~]set -o|grep on

[root@dns9 ~]# set -o|grep on

braceexpand on

emacs on

hashall on

histexpand on

history on

interactive-comments on

monitor on

onecmd off

#查看目前shell所有的属性的开关状态

#开始一个bash shell的属性:

[root@localhost~]set -o emacs(属性名称)

#关闭一个bash shell的属性:

[root@localhost~]set +o emacs(属性名称)

#保护已存在的文件,避免转向输出时被覆盖掉文件的内容.

[root@localhost~]set -o noclobber

[root@localhost ~]# echo 22 > aaa.txt

-bash: aaa.txt: cannot overwrite existing file

[root@localhost~]set -v

#这个选项会使bash执行Script时,将其所读入的每一进程代码显示出来,通常用于程序排错.

18.shopt 设定Bash Shell的行为模式(与set命令类似)



[root@localhost~]shopt

#显示目前各选项的开关状态,与shopt -p执行效果相同

[root@localhost~]shopt -s

#启用选项

[root@localhost~]shopt -u

#关闭选项

[root@localhost~]shopt -o

#使用和set -o 相同的选项来设置

[root@localhost~]shopt -q

#不显示开关状态,以回传状态判断选项是开是关,0表启用,1表关闭
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: