magedu-第一、二周作业

第一周作业

  1. 总结Linux常用命令,选项,及使用示例
  • echo 将参数写入到标准输出,常用选项有: -e,-E

root@node01:~/data/tools# echo -e “hello\nworld”
hello
world
root@node01:~/data/tools# echo -E “hello\nworld”
hello\nworld

  • ls 列出指定目录下面的文件或文件夹,常用选项有:-a,-l,-h,-S,–sort

root@node01:~/data/magedu# ll -a -hS # 按照文件大小倒排序
total 64K
drwxr-xr-x 3 root root 4.0K Sep 12 11:17 ./
drwxr-xr-x 12 root root 4.0K Aug 28 17:22 …/
drwxr-xr-x 2 root root 4.0K Sep 10 11:44 test/
-rwxr-xr-x 1 root root 1.1K Sep 4 22:00 system_info.sh*
-rwxr-xr-x 1 root root 1.1K Sep 12 11:17 httpd.sh*
-rwxr-xr-x 1 root root 707 Sep 10 01:08 BMI.sh*
-rwxr-xr-x 1 root root 510 Sep 9 00:02 score.sh*
-rwxr-xr-x 1 root root 406 Sep 10 19:27 9x9.sh*
-rwxr-xr-x 1 root root 405 Sep 10 10:07 bmi.sh*
-rwxr-xr-x 1 root root 341 Sep 5 22:42 rm.sh*
-rwxr-xr-x 1 root root 325 Sep 6 09:55 chook_rabbit.sh*
-rwxr-xr-x 1 root root 233 Sep 10 11:44 test.sh*
-rw-r–r-- 1 root root 218 Sep 9 00:13 a.txt
-rwxr-xr-x 1 root root 192 Sep 6 09:10 color.sh*
-rw-r–r-- 1 root root 107 Sep 5 09:24 -f
-rw-r–r-- 1 root root 6 Sep 1 09:20 d.txt~

  • 其他常用命令:cat、grep、head、tail、sort、uniq、、wc、tr
    各命令的常用选项有:
cat -n # 显示内容行号
grep -i -E -c  [patten] filename	 # 使用扩展正则表达式搜索内容,并区分大小写
grep -A10   [patten] filename # 匹配内容后10行
grep -B10  [patten] filename  # 匹配内容前10行
grep -C10  [patten] filename  # 匹配内容前后各10行
head -n10 # 显示前十行
tail -f 
tail -n+2 # 从第二行(包括第二行)显示内容
cut -d" " -f3,6  # 以空格分割,显示第3、6列
sort -nr # 倒排序
sort -t" " -k3 # 以空格分割后,用第三列数据排序
uniq -c # 统计重复行出现的次数
wc -l # 统计行数
tr -s" " "%" # 将重复的空格列合并成一个,并已%替换
  1. 总结Linux各版本安装

  2. 使用命令帮助找到用户添加命令的,-s, -m, -C, -d, -M选项的含义,并使用测试用户证明选项生效。

useradd --help 或man useradd
-s: 指定用户默认的shell终端(如果不指定,则默认取/etc/default/useradd文件中的SHELL指)
-d: 指定用户的家目录
-m: 命令执行时创建用户的家目录
-M: 命令执行时不创建用户的家目录

举例:

#不创建家目录
root@node01:~/data/magedu# useradd -d /home/guest -s /bin/bash -M guest
root@node01:~/data/magedu# su - guest
su: warning: cannot change directory to /home/guest: No such file or directory
guest@node01:/root/data/magedu$

#创建家目录
root@node01:~/data/magedu# useradd -d /home/guest -s /bin/bash -m guest
root@node01:~/data/magedu# su - guest
guest@node01:~$ pwd
/home/guest

第二周作业

  1. 总结vim的三种模式切换,配置vimrc实现写脚本自动生成注释。
# ~/.vimrc脚本
syntax on
set nu
set ts=4
set expandtab
set shiftwidth=4
autocmd BufNewFile *.sh exec ":call SetTitle()"
func SetTitle()
        if expand("%:e") == 'sh'
        call setline(1, "#!/bin/bash")
        call setline(2, "#")
        call setline(3, "#***********************************")
        call setline(4, "#Author:       fgk")
        call setline(5, "#Mail:         fkg@126.com")
        call setline(6, "#")
        call setline(7, "#Date:         ".strftime("%Y-%m-%d"))
        call setline(8, "#FileName:     ".expand("%"))
        call setline(9, "#Descrption:   The test script")
        call setline(10, "#***********************************")
        call setline(11, "")
        endif
endfunc
autocmd BufNewFile * normal G
  1. 使用grep/sed实现获取/etc/sysconfig/network-script/ifcfg-eth0目录的/etc/sysconfig/network-script/。或获取目录的ifcfg-eth0

我的服务器没有此目录,自由发挥(取出ifconfig命令中本机的ipv4地址)

ifconfig | grep -E "inet " | sed -nr ‘s/.inet (.) netmask.*/\1/p’
172.20.0.1
172.17.0.1
172.18.0.1
192.168.0.190
127.0.0.1

  1. 完成编程题,可以让用户选择当前主机的所有网卡,选中网卡后,获取ip,网段,掩码。通过ping命令检测在线的主机,打印在线的主机,写入一个文件中。当ip的结尾是奇数时,在目标主机或当前主机,批量添加user1到user100用户,否则添加group1到group100,并生成对应的用户user1到user100,让用户的过期时间在1天之后。
#!/bin/bash
#
#***********************************
#Author:        fengguangke
#Mail:          fengguangke2010@126.com
#
#Date:          2022-09-12
#FileName:      chooseNetCardAndCreateUser.sh
#Descrption:    The test script
#***********************************
ifconfig | grep flags= | cut -d: -f1 | cat
read -p "请选个一个网卡:" NETCARD
IP=`ifconfig ${NETCARD} | sed -nr 's/.*inet (.*) netmask.*/\1/p'`
NETMASK=`ifconfig ${NETCARD} | sed -nr 's/.*netmask (.*) broadcast.*/\1/p'`
echo "IP: ${IP}, NETMASK: ${NETMASK}"
LAST_NUM=`echo ${IP} |cut -d. -f4`
if [ $[${LAST_NUM}%2] -eq 1 ]; then
    echo user{1..100} | xargs -n1 useradd -e `date +%F -d +1day` 
else
    for i in {1..100}
    do
        groupadd group$i -e `date +%F -d +1day` &>/dev/null
        useradd user$i -g group$i -e `date +%F -d +1day` &>/dev/null
    done
fi
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值