Linux一些基本命令
回显命令 echo
[root@localhost ~]# echo “hello world”
hello world
序列{}
输入连续的数字
[root@localhost ~]# echo {1..10}
输入不连续的数字
[root@localhost ~]# echo {1,5,10}
修改密码 passwd XXX (交互式命令)
[root@localhost ~]# passwd root
更改用户 root 的密码 。
新的 密码:<密码不显示>
无效的密码: 密码少于 8 个字符
重新输入新的 密码:<密码不显示>
passwd:所有的身份验证令牌已经成功更新。
结合管道符实现非交互式修改密码
[root@localhost ~]# echo 123 | passwd --stdin root
更改用户 root 的密码 。
passwd:所有的身份验证令牌已经成功更新。
//第一个命令echo执行结果123到管道中
//passwd默认读用户键盘输入密码,–stdin 告诉计算机从管道中读
创建用户(useradd)
[root@localhost ~]# useradd natasha
[root@localhost ~]# echo 111 | passwd --stdin natasha
更改用户 natasha 的密码 。
passwd:所有的身份验证令牌已经成功更新。
命令行执行命令vs脚本命令
我们可以把需要执行的命令,提前写入一个文件中(脚本)
以后,随时可以把这个文件当成程序一样执行,按顺序自动执行脚本文件
变量
在编程语言中,变量是一个存储值的地方。你可以把变量想象成是一个存储盒,你可以在里面放任何东西,当你需要的时候,就可以通过变量名取出来。变量可以包含字母,数字和下划线,但是变量名必须以字母或下划线开始。
在 Shell 中,变量没有数据类型。一个 Shell 变量的值是一个字符串,不论这个字符串是否是数字,字符,甚至是字符串中包含多余的空格或其他特殊字符。
在 Shell 中,你可以用等号 =
来定义变量。注意,等号两边不能有空格,这是 Shell 语法规定的。下面是一个定义变量的例子:
a=11
这个例子中,定义了一个叫做 a
的变量,其值为“11”,使用变量的时候,需要在变量名前面加上 $
符号。
echo $a
输出11
用户输入信息
[root@localhost ~]# read -p 请输入数字: a
请输入数字:123
[root@localhost ~]# echo $a
123
read命令从标准输入中读取一行,并把输入行的每个字段的值指定给shell变量。
缺点是没有提示信息
可以用-p
来打印输入前的提示信息
if判断
if条件判断语法
if 判断体 ;then`
`do something`
`elif 判断体;then`
`do something;`
`else`
`do something`
`fi
linux 自带了个随机数变量
[root@localhost ~]# echo $RANDOM
18840
[root@localhost ~]# echo $RANDOM
18755
[root@localhost ~]# echo $RANDOM
2567
猜随机数小游戏
num=$[RANDOM%10]
read -p 我有一个随机数,你猜: guess
if [ $guess -eq $num ];then
echo 猜对了
else
echo 猜错
fi
随机点名器(while)
#!/bin/bash
while :
do
line=`cat name.txt | wc -l`
num=$[RANDOM%line+1]
sed -n "${num}p" name.txt
sleep 10
clear
done