shell内置命令集合

7001阅读 0评论2012-02-21 
分类:LINUX

1.help  显示所有内置命令的列表,或某一个内置命令的用法
  1. #help //查看所有内置命令
  2. #help 内置命令 //查看内置命令使用方法
  3. #help -s 内置命令 //显示内置命令的语法格式,非常好用哦!
  4. [root@localhost var]# help -s cd
  5. cd: cd [-L|-P] [dir]
2.echo 用来显示一行文字,默认会自动换行
  1. [root@localhost ~]# echo www
  2. www
  3. -e 让字符串中的特殊字符起作用.例如:
  4. [root@localhost ~]#echo -e "I am the king\nof the world."
  5. 执行结果如下:
  6. I am the king
    of the world.
  7. 其中\n会被翻译成换行字符.
3.printf 依照格式显示参数内容
  1. 假设变量str="Hello World"
  2. [root@localhost ~]#printf "%s\n" "$str"
  3. Hello World
  4. #显示变量str的内容,且\n具有换行的效果.
  5. [root@localhost ~]#printf "%c\n" "$str"
  6. H
  7. #显示变量值的第一个字符
  8. [root@localhost ~]#printf "%s共有%d个字符\n" "$str" 11
  9. Hello World共有11个字符
  10. #显示str="Hello world"共有11个字符.
  11. [root@localhost ~]#printf "%9s\n" Hello!
  12. ___Hello!
  13. #显示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 显示当前的工作目录
  1. [root@localhost ~]pwd
  2. /root
  3. #显示当前工作路径

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

  1. [root@localhost ~]: >aa
  2. 可以创建一个名字为aa的空文件

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

  1. [root@localhost ~]. aa.sh
  2. 注意:.和shell程序之间至少要加一个空格提示符.
  3. .和source命令的作用相同

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

  1. [root@localhost ~]source aa.sh

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

  1. [root@localhost ~]alias
  2. #执行后,显示目前所有已设定的程序名称.
  3. [root@localhost ~]alias help1='help -s test'
  4. #alias 新的别名="组合的程序"
  5. [root@localhost ~]alias cp=cp
  6. #取消程序别名,cp还是原来的cp命令(默认是cp -i).

10.unalias

  1. [root@localhost ~]unalias cp
  2. #表示把cp的别名设定取消

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

   离开shell,并传回值1

12.logout 注销login shell

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

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

  1. [root@localhost ~]umask
  2. #执行后,显示当前的umask掩码
  3. [root@localhost ~]umask -S 0024
  4. #执行后,设置umask掩码为0024

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

  1. [root@localhost~]histroy
  2. #执行结果,显示linux主机曾经执行过的命令
  3. histroy变量:
  4. HISTFILE 查看历史记录文件名称及存储路径
  5. [root@localhost~]echo $HISTFILE
  6. /root/.bash_history
  7. HISTFILESIZE 查看文件存储的条数
  8. [root@localhost~]echo $HISTFILESIZE
  9. 1000
  10. HISTSIZE 在当前shell下保存的历史命令数量
  11. [root@localhost~]echo $HISTSIZE
  12. 1000

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

  1. [root@localhost~]fc -l
  2. #显示登录后最近执行过的命令
  3. [root@localhost~]fc -ln
  4. #不显示命令的编号
  5. [root@localhost~]fc -l ll cp
  6. #显示ll和cp两条命令之间的历史命令
  7. 也可以使用数字,例如:
  8. [root@localhost~]fc -l 400 500
  9. [root@localhost~]fc -lr 400 500
  10. 按照编号由大到小的方式显示命令

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

  1. [root@localhost ~]# type fg
  2. fg is a shell builtin    //fg是一个shell的内置名in个
  3. [root@localhost ~]# type if
  4. if is a shell keyword   //if是shell的保留的字段
  5. [root@localhost ~]# type cp
  6. cp is aliased to `cp -i' //cp是'cp -i'的程序别名
  7. [root@localhost ~]# type tr 
  8. tr is /usr/bin/tr     //tr是一个独立的执行程序,程序路径是/usr/bin/tr

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

  1. [root@localhost~]set
  2. #查看当前shell环境变量和函数
  3. [root@localhost~]set -o|grep on
  4. [root@dns9 ~]# set -o|grep on
  5. braceexpand on
  6. emacs on
  7. hashall on
  8. histexpand on
  9. history on
  10. interactive-comments on
  11. monitor on
  12. onecmd off
  13. #查看目前shell所有的属性的开关状态
  14. #开始一个bash shell的属性:
  15. [root@localhost~]set -o emacs(属性名称)
  16. #关闭一个bash shell的属性:
  17. [root@localhost~]set +o emacs(属性名称)
  18. #保护已存在的文件,避免转向输出时被覆盖掉文件的内容.
  19. [root@localhost~]set -o noclobber
  20. [root@localhost ~]# echo 22 > aaa.txt
  21. -bash: aaa.txt: cannot overwrite existing file
  22. [root@localhost~]set -v
  23. #这个选项会使bash执行Script时,将其所读入的每一进程代码显示出来,通常用于程序排错.

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

 

  1. [root@localhost~]shopt
  2. #显示目前各选项的开关状态,与shopt -p执行效果相同
  3. [root@localhost~]shopt -s
  4. #启用选项
  5. [root@localhost~]shopt -u
  6. #关闭选项
  7. [root@localhost~]shopt -o
  8. #使用和set -o 相同的选项来设置
  9. [root@localhost~]shopt -q
  10. #不显示开关状态,以回传状态判断选项是开是关,0表启用,1表关闭
上一篇:shell内置命令集合
下一篇:shell学习