shell小练习

1、取出 /etc/inittab里第六行内容

方法一

[root@localhost httpd]# sed -n '6p' /etc/inittab
#

方法二 先输出前六行用管道传过去接着取出第六行

[hadoop@localhost ~]$ head -6 /etc/inittab | tail -1
#

2、如果用户hadoop不存在就添加,否则显示用户已存在

[root@localhost ~]# id hadoop >& /dev/null && echo "The user already exists." || useradd hadoop
[root@localhost ~]# id hadoop >& /dev/null && echo "The user already exists." || useradd hadoop
The user already exists.
[root@localhost ~]# su - hadoop
welcome my server!

3、取出当前系统上所有用户的shell,要求,每种shell只显示一次,并且按顺序进行显示;

[hadoop@localhost ~]$ cut -d: -f7 /etc/passwd | sort | uniq -c | sort
     16 /sbin/nologin
      1 /bin/sync
      1 /sbin/halt
      1 /sbin/shutdown
      3 /bin/bash

4、如果/var/log/messages文件的行数大于100,就显示好大的文件

[root@localhost ~]# if ((`wc -l < /var/log/messages`>100))
> then
> echo "好大的文件"
> else
> echo " "
> fi
好大的文件

5、显示/etc目录下所有以pa开头的文件,并统计其个数

[root@localhost ~]# find /etc/ -name pa* -type f | wc -l
6

6、编写一个 Shell 程序 ceshi1,程序执行时从键盘读入一个目录名,然后 显示这个目录下所有文件的信息

[root@localhost day2]# sh ceshi1.sh 
请输入一个目录名:/scripts
total 0
drwxr-xr-x. 2 root root 160 Feb 28 16:07 day1
drwxr-xr-x  2 root root  62 Mar 15 16:10 day2
drwxr-xr-x  2 root root   6 Feb 25 18:12 day3
drwxr-xr-x  2 root root  59 Feb 25 18:58 sharing
[root@localhost day2]# cat ceshi1.sh 
read -p "请输入一个目录名:" a
ls -l $a

7、编写一个 Shell 程序ceshi2,从键盘读入 x、y 的值,然后做加法运算,最后输出结果

[root@localhost day2]# cat ceshi2.sh
read -p "请输入一个数字:" x
read -p "请输入另一个数字:" y
echo $[x+y]

[root@localhost day2]# sh ceshi2.sh 
请输入一个数字:3
请输入另一个数字:4
7

你可能感兴趣的:(#,linux,运维,shell,centos7/rhel7)