只记得部分命令关键字:man -k
某个命令的简要说明:whatis
某个命令的详细介绍:info
查看命令的位置:which
命令的具体参数及使用方法:man
内建命令:是由shell本身所执行的命令,解析内建命令shell不需要创建子进程
比如:exit,history,cd,echo等
外部命令:在bash之外额外安装的,通常放在/bin,/usr/bin,/sbin,/usr/sbin…等等,比如:ls、vi等。存在于文件系统中某个目录下的单独的程序
如何辨别内建命令和外部命令?
使用type
可以查看是否是内建命令
输入输出与文件处理命令-echo
使用echo命令可以显示文本行或变量,或者把字符串输入到文件。它的一般形为:
echo string
echo 命令一般不需用引号来标记字符串。如果字符串中有空格,引号等特殊字符,可以用引号将其括起来。否则输出结果会出问题。
加了引号
-n
不要在最后自动换行
-e
解析输出内容中的转义符。转义符常用的有
\a
:发出警告声
\c
:最后不加上换行符号
\t
:tab键
\n
:换行
输入输出与文件处理命令-read
从键盘或文件中读入信息,将其赋给变量(一个或多个),直到遇到回车符或文件结束符为止。
常用格式为:read 变量1 变量2 变量3……
//变量间用空格隔开。
将整个字符串赋给变量。因为只指定了一个变量。
给定了两个变量,且输入了两个字符串,将它们分别赋给了两个不同的变量。
给定两个变量,输入了三个字符串,第一个单词赋给第一个变量,由于变量数少于单词数,因此后两个单词被赋给了surname量。
read -p
“提示信息” 变量名 //先显示提示信息,然后将键盘入内容赋给变量。
read -n
字符数 //对输入的字符数进行限制。
read
-s
//隐藏输入字符,用于密码输入。
read 变量名 < 文件名 //利用read读取文件的第一行内容
输入输出与文件处理命令-cat
cat 可以用它来显示文件内容,创建文件,显示控制字符。
cat命令的一般形式为: cat 文件1 文件2
如果希望创建一个名为bigfile的文件,该文件包含上述三个文件的内容,可以把上面命令的输出重定向到新文件中:
$ cat myfile1 myfile2 myfile3 > bigfile
如果希望创建一个新文件,并向其中输入一些内容,只需使用cat命令把标准输出重定向到该文件中,这时cat命令的输入是标准输入—键盘,你输入一些文字,输入完毕后按<CTRL-D
>结束输入。这真是一个非常简单的文字编辑器!
输入输出和重定向
Linux启动后,会默认打开3个文件描述符,分别是:
标准输入:standard input 0。从键盘输入数据,即从键盘读入数据。
正确输出:standard output 1。把数据输出到终端上。
错误输出:error output 2。标准错误输出到终端上。
重定向分为输入重定向与输出重定向。
输入重定向
:输入不从键盘读入,而是从文件输入或其它。
输出重定向
:不输出到终端上,而是输出到文件中去或其它。
“<
”:**输入重定向运算符,**如果文件不存在会自动建立一个文件,如果第二次输入时,会覆盖前一次的输入内容。
“>
”:输出重定向运算符
“>>
”:表示把第二次的输出内容追加到文件中去,而不是覆盖
管道
可以通过管道把一个命令的输出传递给另一个命令作为输入。管道用竖杠|
表示。它的一般形式为:
命令1 |命令2 //其中 | 是管道符号
综合实例
#/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
小结