只记得部分命令关键字:man -k 某个命令的简要说明:whatis

某个命令的详细介绍:info

查看命令的位置:which

命令的具体参数及使用方法:man

内建命令:是由shell本身所执行的命令,解析内建命令shell不需要创建子进程

比如:exit,history,cd,echo等

外部命令:在bash之外额外安装的,通常放在/bin,/usr/bin,/sbin,/usr/sbin…等等,比如:ls、vi等。存在于文件系统中某个目录下的单独的程序

如何辨别内建命令和外部命令?

使用type可以查看是否是内建命令

shell中echo输入密码 shell输入命令_运维


shell中echo输入密码 shell输入命令_重定向_02


输入输出与文件处理命令-echo

使用echo命令可以显示文本行或变量,或者把字符串输入到文件。它的一般形为:

echo string

echo 命令一般不需用引号来标记字符串。如果字符串中有空格,引号等特殊字符,可以用引号将其括起来。否则输出结果会出问题。

shell中echo输入密码 shell输入命令_shell中echo输入密码_03


加了引号

shell中echo输入密码 shell输入命令_运维_04


-n 不要在最后自动换行

shell中echo输入密码 shell输入命令_重定向_05


-e 解析输出内容中的转义符。转义符常用的有

\a :发出警告声

\c :最后不加上换行符号

\t :tab键

\n :换行

shell中echo输入密码 shell输入命令_vim_06


shell中echo输入密码 shell输入命令_重定向_07

输入输出与文件处理命令-read 从键盘或文件中读入信息,将其赋给变量(一个或多个),直到遇到回车符或文件结束符为止。

常用格式为:read 变量1 变量2 变量3…… //变量间用空格隔开。

将整个字符串赋给变量。因为只指定了一个变量。

shell中echo输入密码 shell输入命令_linux_08


给定了两个变量,且输入了两个字符串,将它们分别赋给了两个不同的变量。

shell中echo输入密码 shell输入命令_linux_09


给定两个变量,输入了三个字符串,第一个单词赋给第一个变量,由于变量数少于单词数,因此后两个单词被赋给了surname量。

shell中echo输入密码 shell输入命令_shell中echo输入密码_10


read -p “提示信息” 变量名 //先显示提示信息,然后将键盘入内容赋给变量。

read -n 字符数 //对输入的字符数进行限制。

read -s //隐藏输入字符,用于密码输入。

read 变量名 < 文件名 //利用read读取文件的第一行内容

shell中echo输入密码 shell输入命令_linux_11


shell中echo输入密码 shell输入命令_运维_12

输入输出与文件处理命令-cat cat 可以用它来显示文件内容,创建文件,显示控制字符。

cat命令的一般形式为: cat 文件1 文件2

shell中echo输入密码 shell输入命令_shell中echo输入密码_13


如果希望创建一个名为bigfile的文件,该文件包含上述三个文件的内容,可以把上面命令的输出重定向到新文件中:

$ cat myfile1 myfile2 myfile3 > bigfile

shell中echo输入密码 shell输入命令_重定向_14


如果希望创建一个新文件,并向其中输入一些内容,只需使用cat命令把标准输出重定向到该文件中,这时cat命令的输入是标准输入—键盘,你输入一些文字,输入完毕后按<CTRL-D >结束输入。这真是一个非常简单的文字编辑器!

shell中echo输入密码 shell输入命令_linux_15


输入输出和重定向

Linux启动后,会默认打开3个文件描述符,分别是:

标准输入:standard input 0。从键盘输入数据,即从键盘读入数据。

正确输出:standard output 1。把数据输出到终端上。

错误输出:error output 2。标准错误输出到终端上。

重定向分为输入重定向与输出重定向。

输入重定向:输入不从键盘读入,而是从文件输入或其它。

输出重定向:不输出到终端上,而是输出到文件中去或其它。

<”:**输入重定向运算符,**如果文件不存在会自动建立一个文件,如果第二次输入时,会覆盖前一次的输入内容。

shell中echo输入密码 shell输入命令_重定向_16


>”:输出重定向运算符

shell中echo输入密码 shell输入命令_vim_17


>>”:表示把第二次的输出内容追加到文件中去,而不是覆盖

shell中echo输入密码 shell输入命令_重定向_18


管道

可以通过管道把一个命令的输出传递给另一个命令作为输入。管道用竖杠|表示。它的一般形式为:

命令1 |命令2 //其中 | 是管道符号

shell中echo输入密码 shell输入命令_shell中echo输入密码_19


综合实例

#/bin/bash
 echo -e "judge is or not a device file\n"
 read -p "input a filename:"  filename
 if [ -b $filename -o -c $filename ]
 then
    echo "$filename is a device file"
 else
    echo "$filename is not a device file" && exit 1
 fi
运行结果:
judge is or not a device file

input a filename:/dev/ram1
/dev/ram1 is a device file

小结

shell中echo输入密码 shell输入命令_重定向_20


shell中echo输入密码 shell输入命令_vim_21