10_Linux基础-SHELL入门1
一. 输入输出重定向
回顾1 输入输出重定向
输入
read -p “请输入” a -p 提示 a 赋值给a
read -s 密码隐藏
---------------------------------------------------------------
输出
echo
\# echo -e “abc\t abc” 转义字符输出
abc abc
\# echo “abc\t abc”
abc\t abc
echo -n 不接换行
echo -e 转义字符输出
二. 2个特殊文件
知识点2 2个特殊文件
两个特殊文件
·/dev/null
:过滤标准错误信息
·/dev/zero
:用来创建指定长度文件
/dev/null
:黑洞文件,不保存,不输出的信息,就丢到黑洞文件
/dev/zero
:用来生成指定大小的文件,生成一堆0
示例:/dev/zero
:用来生成指定大小的文件,生成一堆0
/dev/zero
一般用作生成指定大小的文件,做测试用
dd是一个备份命令,也可以产生一个指定大小的文件
if 输入文件 input file
of 输出文件 output file
bs 输出的数据的单位大小
count 输出的数据单位数量
示例:_______________________________________________________
[root@sanchuang-linux dev]# dd if=/dev/zero of=/tmp/test.dd bs=1M count=5
记录了5+0 的读入
记录了5+0 的写出
5242880 bytes (5.2 MB, 5.0 MiB) copied, 0.00196718 s, 2.7 GB/s
[root@sanchuang-linux dev]# du -sh /tmp/test.dd
5.0M /tmp/test.dd
if 从哪里导进来 , of 导出去这个文件 , bs 数据单位大小 , count数据单位数量
三. here document
知识点3 here document
here document 文档就在这里
<<
生成一个指定内容的文档。
简单脚本中使用
示例:
-----------------------------------------------------------
[root@sanchuang-linux chenpeng]# cat >here_test.txt <<EOF
> nihao
> sanchuang
> huanying
> world............
> x y z
\> EOF
[root@sanchuang-linux chenpeng]# cat here_test.txt
nihao
sanchuang
huanying
world............
x y z
知识点3.2 EOF是文档结束标志 可以自行定义 (end of file)
示例:
------------------------------------------------------
[root@sanchuang-linux chenpeng]# cat >here_test <<XYZ
> nihao
> hello world
> XYZ
[root@sanchuang-linux chenpeng]# cat here_test
nihao
hello world
四. tee命令
知识点4 tee命令
tee命令 输出到屏幕也重定向到文件
示例:
----------------------------------
[root@sanchuang-linux chenpeng]# echo "aa" >test_aa.txt #(注:默认不输出到屏幕)
[root@sanchuang-linux chenpeng]# cat test_aa.txt
aa
[root@sanchuang-linux chenpeng]# echo "bb" |tee test_bb.txt #
(注:屏幕+文件)
bb
[root@sanchuang-linux chenpeng]# cat test_bb.txt
bb
五. 清空文件内容
知识点5 清空文件内容
[root@sanchuang-linux chenpeng]# >test_bb.txt
[root@sanchuang-linux chenpeng]# echo > test_bb.txt
#(注:有换行)
[root@sanchuang-linux chenpeng]# cat test_bb.txt
[root@sanchuang-linux chenpeng]# echo -n > test_bb.txt
[root@sanchuang-linux chenpeng]# cat test_bb.txt
[root@sanchuang-linux chenpeng]# :>test_bb.txt
[root@sanchuang-linux chenpeng]# cat test_bb.txt
知识点6 echo
echo
在屏幕上显示一段文字或指定内容
输出变量,输出指定内容
-e 选项 转义字符输出
-n 选项 不接换行
六. SHELL入门
shell入门
shell 是一个用C语言写的程序,它是用户使用linux的桥梁
shell 脚本 实现自动化 重复性的操作编写脚本完成,减少人工失误
SHELL的变量
shell的变量
1、局部变量 定义在脚本或命令中
2、环境变量 shell启动的程序能访问到的环境变量 env、 echo $PATH
3、shell变量
示例:环境变量
------------------------------------------
[root@sanchuang-linux chenpeng]# which ls
alias ls='ls --color=auto'
/usr/bin/ls #(注:环境变量)
[root@sanchuang-linux chenpeng]# echo $PATH #(注:环境变量)
/lianxi/sc:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/nginx/sbin:/root/bin:/usr/local/nginx5/sbin:/root/bin
示例2:局部变量
-------------------------------------------
a=1
echo $a
echo ${a}
知识点8.2 变量名命名规则
变量名命名规则:
由数字、字母、下划线组合,不能以数字开头
不能使用bash中的关键字
使用一个定义过的变量,需要在前面加上$符号
示例:
--------------------------------------------
[root@sanchuang-linux chenpeng]# echo $PATH #(注:环境变量)
/lianxi/sc:/usr/local/sbin:/usr/local/bin:/usr/s