基础教程,Linux基础教程

着力用法

   
read命令首要用来从正式输入读取内容或从文件中读取内容,并把音讯保存到变量中。其常用用法如下所示:

read [选项] [文件]
选项 解释
-a array 将内容读取到数值中,变量默认为数组且以空格做为分割符
-d delimiter 遇到指定的字符即停止读取
-n nchars 指定最多可以读入的字符数,即定义输入文本的长度
-r 屏蔽转义符
-p prompt 显示提示信息
-s 静默模式,在输入字符时不在终端中显示,常用于密码输入等
-t timeout 指定超时时间
-u FD 从文件描述符中读入,该FD可以由exec开启
  1. 无不当查找技巧:

exit   退出

给集团做了3个Linux基础培养和磨炼,整理命令的时候发现,就算Linux的bash+utils差不离有一千个指令,但骨子里最常用的只有三12个。精晓了那叁十二个主导命令/工具/参数,完全可以应付一般的操作使用了。如下图:

用法示例

一 、从正式输入读入

[root@localhost test]# cat read.sh
#!/bin/bash
echo -n "Please input your name:"
read name
echo "Hello $name"
[root@localhost test]# bash read.sh
Please input your name:Jack
Hello Jack

② 、钦定突显消息从标准输入读入

[root@localhost test]# cat read.sh
#!/bin/bash
# echo -n "Please input your name:"
read -p "Please input your name:" name
# read name
echo "Hello $name"
[root@localhost test]# bash read.sh
Please input your name:Jack
Hello Jack

在上述示例中,read是1回尚可七个参数的,如下所示:

read -p "Please input your name:" firstName secondName lastName

基础教程,Linux基础教程。但必要留意的事项如下:

  • 若果输入的数额少于变量个数,则多余的变量不会获得到数码,即变量值为空
  • 借使输入的数量多于变量个数,则超出的数目将全部赋给最终三个变量
  • 借使在read命令前边没有概念任何变量,脚本在实施时,假诺用户输入数据,此时数据则保留到环境变量$REPLY

三 、钦赐超时时间

[root@localhost test]# cat read.sh
#!/bin/bash
if read -t 3 -p "Please input your name:" firstName secondName lastName
then
  echo "variable is $firstName - $secondName - $lastName"
else
   echo -e  "\ntimeout\n"
fi
[root@localhost test]# bash read.sh
Please input your name:
timeout

四 、从钦点文件中读取内容

[root@localhost test]# cat -n test.txt
     1  this is test text.
     2  this is second line.
     3  Hello world
     4  C# Main
     5  Python
# 使用-u选项
[root@localhost test]# cat readtest.sh
#!/bin/bash
exec 5< ~/test/test.txt
count=0
while read -u 5 var
do
 let count=$count+1
 echo "Line $count is $var"
done
echo "Total line count is $count"
exec 5<&-
[root@localhost test]# bash readtest.sh
Line 1 is this is test text.
Line 2 is this is second line.
Line 3 is Hello world
Line 4 is C# Main
Line 5 is Python
Total line count is 5
# 使用管道
[root@localhost test]# cat readtest.sh
#!/bin/bash
count=1
cat ~/test/test.txt |  while read line
do
 echo "Current line $count - $line "
 let count=$count+1
done
echo "Total line count is $count"
[root@localhost test]# bash readtest.sh
Current line 1 - this is test text.
Current line 2 - this is second line.
Current line 3 - Hello world
Current line 4 - C# Main
Current line 5 - Python
Total line count is 1
# 使用重定向
[root@localhost test]# cat readtest.sh
#!/bin/bash
count=0
while read line
do
 let count=$count+1
 echo "Current line $count - $line "
done < ~/test/test.txt
echo "Total line count is $count"
[root@localhost test]# bash readtest.sh
Current line 1 - this is test text.
Current line 2 - this is second line.
Current line 3 - Hello world
Current line 4 - C# Main
Current line 5 - Python
Total line count is 5

正文同步在微信订阅号上公告,如各位小伙伴们喜欢自身的稿子,也能够关怀本身的微信订阅号:woaitest,或扫描下边包车型地铁二维码添加关怀:
图片 1

  在Linux系统中“find”命令是当先一半系统用户都得以采用的一声令下,并不是ROOT系统一管理理员的专利。不过普通用户使用“find”命令时也有恐怕境遇这么的题材,那便是Linux系统中系统一管理理员ROOT能够把一些文件目录设置成禁止访问格局。那样普通用户就一贯不权限用“find”命令来询问那一个目录只怕文件。当普通用户使用“find”命令来查询这一个文件目录是,往往相会世”Permissiondenied.”(禁止访问)字样。系统将不能查询到您想要的公文。为了幸免那样的失实,大家只是使用转移错误提醒的艺术尝试着查找文件,

cd
//.代表当前目录,..代表上一目录
cd linhai 进入linhai子目录
cd ..重回上一层目录
cd /切换来跟目录
cd ~切换来用户目录

图片 2

输入
find / -name access_log 2>/dev/null

ls
展现目录
ls 突显当前目录下的具备文件
ls -l 呈现当前目录下的有所文件的详细音信
ls -a 展现全部文件和目录,只要差异正是.和..目录
ls -A 呈现全数文件和目录

图片 3

  这几个法子是把查找错误提醒转移到一定的目录中去。系统执行那几个命令后,碰着错误的音信就一向输送到stderrstream
2 中,access_log 2正是标志系统将把错误新闻输送到stderrstream
第22中学,/dev/null是二个特殊的文书,申明空的依然不当的消息,那样查询到的错误信息将被撤换了,不会再显示了。

mkdir
建立子目录//不能够在不存在的目录下创制子目录
mkdir test 在当前目录下树立一个test子目录
mkdir /test 在跟目录下树立三个test子目录