shell下的常用命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell下的常用命令相关的知识,希望对你有一定的参考价值。

1.help  显示所有内置命令的列表,或某一个内置命令的用法

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

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

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

  4. [[email protected] var]# help -s cd

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

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

  1. [[email protected] ~]# echo www

  2. www

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

  4. [[email protected] ~]#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. [[email protected] ~]#printf "%s\n" "$str"

  3. Hello World

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

  5. [[email protected] ~]#printf "%c\n" "$str"

  6. H

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

  8. [[email protected] ~]#printf "%s共有%d个字符\n" "$str" 11

  9. Hello World共有11个字符

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

  11. [[email protected] ~]#printf "%9s\n" Hello!

  12. ___Hello!

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

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

 [[email protected] ~]#printf "%5.8f\n" 300

 300.00000000

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

 [[email protected] ~]#printf "%q\n" "$str"

 "Hello\world"

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

 [[email protected] ~]#printf -v myvar "%q" "ABC 123 XYZ"

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

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

 [[email protected] ~]#printf "%b" "ABC\n123\nXYZ\n"

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

  #结果如下:ABC

           123

           XYZ

 [[email protected] ~]#printf "%s\n" "ABCDEFGHIJK"|tr A-Z a-z

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

 #结果:显示abcdefghijk

 

 

4.cd 改变目录位置

[[email protected] ~]cd

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

[[email protected] ~]cd -

[[email protected] ~]# cd /var/log
[[email protected] log]# cd -
/root
[[email protected] ~]#

#回到先前的目录

[[email protected] ~]cd ..

#回到上一层目录

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

  1. [[email protected] ~]pwd

  2. /root

  3. #显示当前工作路径

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

  1. [[email protected] ~]: >aa

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

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

  1. [[email protected] ~]. aa.sh

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

  3. .和source命令的作用相同

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

  1. [[email protected] ~]source aa.sh

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

  1. [[email protected] ~]alias

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

  3. [[email protected] ~]alias help1=‘help -s test‘

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

  5. [[email protected] ~]alias cp=cp

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

10.unalias

  1. [[email protected] ~]unalias cp

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

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

   离开shell,并传回值1

12.logout 注销login shell

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

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

  1. [[email protected] ~]umask

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

  3. [[email protected] ~]umask -S 0024

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

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

  1. [[email protected]~]histroy

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

  3. histroy变量:

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

  5. [[email protected]~]echo $HISTFILE

  6. /root/.bash_history

  7. HISTFILESIZE 查看文件存储的条数

  8. [[email protected]~]echo $HISTFILESIZE

  9. 1000

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

  11. [[email protected]~]echo $HISTSIZE

  12. 1000

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

  1. [[email protected]~]fc -l

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

  3. [[email protected]~]fc -ln

  4. #不显示命令的编号

  5. [[email protected]~]fc -l ll cp

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

  7. 也可以使用数字,例如:

  8. [[email protected]~]fc -l 400 500

  9. [[email protected]~]fc -lr 400 500

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

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

  1. [[email protected] ~]# type fg

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

  3. [[email protected] ~]# type if

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

  5. [[email protected] ~]# type cp

  6. cp is aliased to `cp -i‘ //cp是‘cp -i‘的程序别名

  7. [[email protected] ~]# type tr 

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

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

  1. [[email protected]~]set

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

  3. [[email protected]~]set -o|grep on

  4. [[email protected] ~]# 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. [[email protected]~]set -o emacs(属性名称)

  16. #关闭一个bash shell的属性:

  17. [[email protected]~]set +o emacs(属性名称)

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

  19. [[email protected]~]set -o noclobber

  20. [[email protected] ~]# echo 22 > aaa.txt

  21. -bash: aaa.txt: cannot overwrite existing file

  22. [[email protected]~]set -v

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

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

 

  1. [[email protected]~]shopt

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

  3. [[email protected]~]shopt -s

  4. #启用选项

  5. [[email protected]~]shopt -u

  6. #关闭选项

  7. [[email protected]~]shopt -o

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

  9. [[email protected]~]shopt -q

  10. #不显示开关状态,以回传状态判断选项是开是关,0表启用,1表关闭


19.!!表示执行上一条命令


20.>表示重定向,把一个值输入到文件中


21.>>追加重定向,可以在文件中继续追加文件内容


22.<反向重定向,把一个命令丢给文件


23.last命令可以查看哪些技术分享ip登录了Linux系统


以上是关于shell下的常用命令的主要内容,如果未能解决你的问题,请参考以下文章

Linux与Shell1. Linux常用的命令

Shell 常用命令总结

Shell常用命令与vim编辑命令

常用linux系统命令-shell命令

Linux Shell常用shell命令

Linux/Mac/Shell常用命令