linux学习记录5

for条件循环语句

新建列表 vim user.txt

andy

barry

carl

duke

eric

george

----------------------------------------------------------------------------------------------------

vim hehe.sh

#!/bin/bash
#this is user for
read -p "Enter:" PASSWD
for UNAME in `cat user.txt`   ``:反引号是执行里面的命令
do                                    for循环的结构要求,类似数学题,没写解字,要扣分
id $UNAME &> /dev/null    id命令是查看用户信息
if [ $? -eq 0 ]         如果存在,返回为0
then
echo "Aleady Exists"    提示该账户已存在
else
useradd $UNAME &> /dev/null        如果不在,就创建出来  新建信息进黑洞文件。

echo "$PASSWD" | passwd --stdin $UNAME &> /dev/null   将用户输入的值接收,赋值到用户命令下
echo "$UNAME,Create Success"
fi
done  记得写上done,结束for循环

----------------------------------------------------------------------------------------------------

以上就是一个批量创建用户以及自定义密码的脚本

----------------------------------------------------------------------------------------------------

vim ip.txt          新建一个ip.txt

127.0.0.1

127.0.0.2

111.0.0.3     上ip(第三个故意的)

vim testip.sh   新建一个测试ip脚本

#!/bin/bash
ZHUJI=$(cat ip.txt)
for IP in $ZHUJI
do
ping -c 3 -i 0.2 -W 3 $IP &> /dev/null
if [ $? -eq 0 ]
then
echo "Host $IP is on-line"
else
echo "Host $IP is off-line"
fi
done

----------------------------------------------------------------------------------------------------

while 条件

vim while.sh

#!/bin/bash
#ijufrhngijedsrgkels
PRICE=$(expr $RANDOM % 1000)      在1000内随机抽取
TIMES=0      存储次数用
while true     条件为真
do            解
read -p "Enter:" INT    写个数字保存变量
let TIMES++           次数加一
if [ $INT -eq $PRICE ] ; then            如果等于
echo "Success,$TIMES"           猜对了
exit 0              退出
elif [ $INT -gt $PRICE ] ; then              如果大于
echo "HIGH" 
else
echo "LOW"                                      如果小于  输出low
fi
done

----------------------------------------------------------------------------------------------------

case   防止用户瞎输入字符,限制字符

----------------------------------------------------------------------------------------------------

/bin/bash
#dfjhrgiui
read -p "Enter:" KEY
case "$KEY" in
[a-z]|[A-Z])    这个  |  现在是或者的意思echo "ZIMU"

;;
[0-9])
echo "SHUZI"
;;         这个;是结束得意
           
*)
echo "ERROR"
esac

----------------------------------------------------------------------------------------------------

计划任务

at 时间

at> reboot

ctrl+D  查看计划任务

at -l 查看计划任务   具体信息用at -c 编号

atrm 编号   删除计划任务

crond 服务名称

crontab 配置工具

分 时 日 月 星期 命令

crontab -l    查看计划任务

crontab -e 进入刚刚创建的计划任务

crontab -c

~

~

分     时      日    月     星期 命令
*         *       *       *       *        *

例子:50 21 * * * /usr/sbin/reboot  每年每月每日的21点50分重启服务器

用户身份与能力

管理员  uid:0

系统用户  uid:1~999

普通用户   uid:1000~

useradd 创建用户   例如:useradd zhangsan    id zhangsan   查看用户信息

创建用户并指定uid为其他号码,   useradd -u 8888 lisi

useradd -s /sbin/nologin wangwu   创建用户王五并且不让其登录

新建用户组   groupadd haha   会被保存在/etc/group

新建好的用户名的uid想修改:usermod -u 4567 zhangsan

已创建好的zhangsan用户不再允许其登录服务器:usermod -s /sbin/nologin zhangsan

重置用户密码

passwd zhangsan   输入两次密码

home里也有,如果删除了该账户的话记得也把home的删除

权限

前三位所有者  所属组   其他用户

r  read  读   4

w  write  写    2

x  execut  执行   1

777   rwxrwxrwx

r--r-x-w-   452

765  rwxrw-r-x

r-x--x-w-   512

完。

不知道我的记录有没有误解其他正在学习的人,如果我哪里不对,还希望能够指出来,谢谢。

原文地址:https://www.cnblogs.com/1024ndd/p/11144666.html

时间: 2024-08-04 20:36:16

linux学习记录5的相关文章

Linux学习记录--文件IO操作相关系统编程

文件IO操作相关系统编程 这里主要说两套IO操作接口,分别是: POSIX标准 read|write接口,函数定义在#include<unistd.h> ISO C标准 fread|fwrite接口,函数定义在#include<stdio.h> 有书上说POSIX标准与ISO C标准的区别在于文件读写是否带缓冲区,我则不是很认同,因此POSIX标准下的IO操作也是带缓冲区的,至于这两个标准下的IO性能谁更加好则不一定,因为这和缓冲区的大小,以及用户逻辑有很大关系. POSIX标准

linux 学习记录- 用户切换

一.用户切换:      缘由:1.使用一般账号操作系统,这是平日操作的好习惯.2.用较低权限启动系统服务:如apache软件,可以建立        apache用户来启动apache软件,如果这个程序被攻破,系统也不至于损毁.3.软件本身的限制. a.su  最简单的切换用户身份的方法       使用方法:  su [-lm][-c 指令][username]            详解: -:代表使用login-shell的变量档案读取方式来登入系统,若后面没有用户名,代表切换到root

Linux学习记录--文件管理相关系统编程

文件管理相关系统编程 重要文件标识 打开文件标识 O_RDONLY:只读方式打开 O_WRONLY:只写方式打开 O_RDWR:可读写方式打开 打开文件操作副标识 O_CREAT:若路径中文件不存在则创建,使用Open函数时需同时指定文件权限 O_EXCL:若与O_CREAT连用,检查文件是否已经存在,若不存在则建立文件存在则返回错误,这使创建和测试成为一个原子操作 O_APPEND:读写文件从文件尾部开始移动,所有写入数据都加入文件尾部 O_TRUNC:若文件存在并且可以写入,此标识会将源文件

积攒力量,终会展翅飞翔。Linux学习记录

带着对linux的兴趣,我来到了兄弟连!来此学习已一月有余,也该写点东西记录一下在兄弟连的点滴. 上了这么多年学,我感觉学习的过程是枯燥的,这个问题应该是很难避免的!甚至可能在我们大家的潜意识里就觉得学习本来就应该是这样的啊,其实这是不对的!!超哥可以用生活中生动形象的例子来帮助你理解枯燥的理论,用语幽默风趣,同时也有助于记忆,这些都让原本痛苦的学习过程变得容易起来!爱因斯坦有一句名言,如果你无法向六岁的小孩解释它,那代表你自己也不明白!超哥完美的将复杂的理论简单化了,我感觉这不仅仅可以使初学者

ubuntu/linux学习记录1

文章始建时间:2014年9月15日15:12:26. 我是初学者,是开源软件的受益者,我相信“我助人人,人人助我”的思想.我想记录学习linux一步步走来的点滴,为后来的新手铺路搭桥,并以此为勉! 如果你真想学linux,正如我一般,就要追求系统性地学习linux,才是好的! 我的学习思路是:粗浅的理论知识+实践 -> 把Ubuntu用起来,用图形界面,尽量用命令,开发java(我是java工程师) ->  目标像在windows下完成日常生活和工作 ===>  买本由浅如深的linux

Linux 学习记录 2019年5月5日

2.1 shell内核:include <stdio.h> shell是应用程序控制硬件终端的一个统称.bash 1:广泛 2:好用 tab键补齐 .既然Linux系统中已经有了Bash这么好用的"翻译官",那么接下来就有必要好好学习下怎么跟它沟通了. 常见执行Linux命令的格式是这样的:命令名称 [命令参数] [命令对象]注意,命令名称.命令参数.命令对象之间请用空格键分隔. 命令:要做的事情参数:对命令的修饰 让命令更加适用于当前的工作场景对象:被动方,承受者 命令对

Linux学习记录-----《快乐的Linux命令行》.

之前自学python的时候一直用的Win7,没想过,也有点怕使用Linux,可能人对未知的东西都有点恐惧,但是,但是,学了4个多月,退无可退了,不管是网站的部署,还是基于后端工作的需求,Linux的学习必须提上日程, 参考用书,,, <快乐的Linux命令行>,操作系统通过虚拟机安装的Ubuntu  16 很喜欢书中的一句话 最开始的准备工作进入超级用户,,,, su -这样,就在当前目录下,变更成超级用户如果之前没有设置过超级用户密码的话需要使用sudo passwd root按照提示,如果

linux学习记录4

涉及 文件管理:标准I/O和管道:inode ln   创建链接 -d 硬链接  相当于文件别名:多个名字 指向同一个数据块地址 在选定位置新建一个文件名,显示文件大小与源文件相同,但并没有占用磁盘空间 只增加了极少量inode数据:  A与B都指向硬盘数据block -s 软连接  相当于快捷方式:可以跨分区创建:!最好用绝对路径创建 ls -s  /SPATH(原始文件的绝对路径,或相对路径;相对于软链接DPATH路径) /DPATH 会在你选定的位置上生成一个文件,保存了路径信息:  A指

Linux学习记录-1.文件管理

Linux 关机命令:poweroff,shutdown.重启:reboot. shutdown用法: shutdown -krhc 时间 信息 -k 仅发送信息 -r 停掉服务后重启 -h 停掉服务后关机 -c 取消进行的shutdown. 时间 默认一分钟,now代表立刻,+10代表十分钟之后,也可以直接写出时间. 在centos7中管理系统服务的指令为systemctl [指令],其中指令有halt(系统停止),poweroff(关机),reboot(重启),suspend(休眠). ls

Linux学习记录-01(Linux系统发展史)

对计算机一直感觉很神秘,想要学习,奈何不是计算机专业出身,最近决定开始学习,也算是充实一下自己,希望自己可以坚持下去. 一.Linux系统Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程序和网络协议.它支持32位和64位硬件.Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统.Linux操作系统诞生于1991 年10 月5 日(这是第一次正