千家信息网

shell下的常用命令

发表于:2024-11-29 作者:千家信息网编辑
千家信息网最后更新 2024年11月29日,1.help 显示所有内置命令的列表,或某一个内置命令的用法#help //查看所有内置命令#help 内置命令 //查看内置命令使用方法#help -s 内置命令 //显示内置命令的语法格式,非常好
千家信息网最后更新 2024年11月29日shell下的常用命令

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表关闭


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


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


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


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


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


0