重定向、管道和用户管理练习题

一、重定向、管道的用法练习

1、将/etc/issue文件的内容转换为大写保存到/tmp/issue.out文件中

[[email protected] ~]# tr [a-z] [A-Z] < /etc/issue > /tmp/issue.out 
[[email protected] ~]# cat /tmp/issue.out 
\S
KERNEL \R ON AN \M

或者

[[email protected] ~]# tr ‘[:lower:]‘ ‘[:upper:]‘ < /etc/issue > /tmp/issue.out.bak 
[[email protected] ~]# cat /tmp/issue.out.bak 
\S
KERNEL \R ON AN \M

2、将当前系统登录用户信息转换为大写后保存至/tmp/who.out文件中

[[email protected] ~]# w |tr ‘[:lower:]‘ ‘[:upper:]‘ > /tmp/who.out 
[[email protected] ~]# cat /tmp/who.out 
 10:54:38 UP  1:23,  2 USERS,  LOAD AVERAGE: 0.00, 0.01, 0.05
USER     TTY      FROM             [email protected]   IDLE   JCPU   PCPU WHAT
ROOT     PTS/0    10.1.250.91      09:31    6.00S  0.49S  0.02S W
ROOT     PTS/1    10.1.250.91      09:36   21:10   0.29S  0.26S INFO TR

3、一个Linux用户给root发邮件,邮件标题为help,正文是:Hello,I am 用户名,the system version is here,please help me to check it ,thanks!

操作系统信息

[[email protected] ~]$ mail -s "help" root <<eof
> Hello,I am `whoami`,the system version is here,please help me to check it,thanks!
> `uname -or`
> eof
[[email protected] ~]$
[[email protected] ~]# mail
Heirloom Mail version 12.5 7/5/10.  Type ? for help
>N  8 nieda                 Sun Jul 31 11:01  19/716   "help"
& 8
Message  8:
From [email protected]  Sun Jul 31 11:01:36 2016
Return-Path: <[email protected]>
X-Original-To: root
Delivered-To: [email protected]
Date: Sun, 31 Jul 2016 11:01:36 +0800
To: [email protected]
Subject: help
User-Agent: Heirloom mailx 12.5 7/5/10
Content-Type: text/plain; charset=us-ascii
From: [email protected] (nieda)
Status: R

Hello,I am nieda,the system version is here,please help me to check it,thanks!
3.10.0-327.el7.x86_64 GNU/Linux

其中`whoami`可以用$USER替换,uname -ar可能信息不全,可以用uname -a或者cat /etc/centos-release

也可以将要发送的信息先写在一个文件里,然后在发送,但是要发送的文件里只能是纯文本,不能有变量和命令。

4、将/root/下文件列表,显示成一行,文件名之间用空格隔开

[[email protected] ~]# ls /root/ |tr ‘\n‘ ‘ ‘
anaconda-ks.cfg Desktop Documents Downloads f1 file1 initial-setup-ks.cfg Music Pictures Public Templates Videos [[email protected] ~]#

5、file1文件的内容为“1 2 3 4 5 6 7 8 9 10”计算出所有数字的总和

[[email protected] testdir]# cat file 
1 2 3 4 5 6 7 8 9 10
[[email protected] testdir]# cat file |tr ‘ ‘ ‘+‘|bc
55

6、删除wndows文本文件中的‘^M’字符

操作系统中^是ctrl的显示方式,在Windows中ctrl+M是回车换行的意思

[[email protected] /testdir]# ll Windows.txt 
-rw-r--r--. 1 root root 122 Aug  1 16:21 Windows.txt
[[email protected] /testdir]# file Windows.txt 
Windows.txt: ASCII text, with CRLF line terminators
[[email protected] /testdir]# hexdump -C Windows.txt 
00000000  0d 0a 0d 0a 48 65 6c 6c  6f 2c 6e 69 63 65 20 74  |....Hello,nice t|
00000010  6f 20 6d 65 65 74 20 79  6f 75 21 0d 0a 0d 0a 0d  |o meet you!.....|
00000020  0a 4c 65 74 27 73 20 73  74 75 64 79 20 68 61 72  |.Let‘s study har|
00000030  64 20 61 73 20 62 65 73  74 20 61 73 20 77 65 20  |d as best as we |
00000040  63 61 6e 20 64 6f 20 69  6e 20 74 68 65 20 6e 65  |can do in the ne|
00000050  78 74 20 6d 6f 6e 74 68  73 2c 0d 0a 0d 0a 61 6e  |xt months,....an|
00000060  64 20 69 20 62 65 6c 65  76 65 20 77 65 20 63 61  |d i beleve we ca|
00000070  6e 20 64 6f 20 77 65 6c  6c 2e                    |n do well.|
0000007a
[[email protected] /testdir]# cat Windows.txt 

Hello,nice to meet you!

Let‘s study hard as best as we can do in the next months,

and i beleve we can do well.[[email protected] /testdir]#
[[email protected] /testdir]# hexdump -c Windows.txt
0000000  \r  \n  \r  \n   H   e   l   l   o   ,   n   i   c   e       t
0000010   o       m   e   e   t       y   o   u   !  \r  \n  \r  \n  \r
0000020  \n   L   e   t   ‘   s       s   t   u   d   y       h   a   r
0000030   d       a   s       b   e   s   t       a   s       w   e    
0000040   c   a   n       d   o       i   n       t   h   e       n   e
0000050   x   t       m   o   n   t   h   s   ,  \r  \n  \r  \n   a   n
0000060   d       i       b   e   l   e   v   e       w   e       c   a
0000070   n       d   o       w   e   l   l   .                        
000007a

其中Windows.txt中的换行都是^M,可以看到它的编码是\r\n和回车换行一样

[[email protected] /testdir]# tr -d ‘[:cntrl:]M‘ < Windows.txt
Hello,nice to meet you!Let‘s study hard as best as we can do in the next months,and i beleve we can do well.[[email protected] /testdir]#

可以看出换行已经被删除了

7、处理字符串“xt.,| 1 jr#!$mn 2 c*/fe 3 uz 4”,只保留其中的数字和空格

[[email protected] testdir]# cat a
xt.,| 1 jr#!$mn 2 c*/fe 3 uz 4
[[email protected] testdir]# tr -c -d ‘[:digit:][:space:]‘ < a
 1  2  3  4

8、将PATH变量每个目录显示在独立的一行

[[email protected] testdir]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[[email protected] testdir]# echo $PATH|tr ‘:‘ ‘\n‘
/usr/lib64/qt-3.3/bin
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/root/bin

9、删除指定文件的空行

[[email protected] testdir]# cat a
hello,wang

I am root

I have some questions about the linux command need your help

if you have time,call me please!
eof
[[email protected] testdir]# tr -s ‘\n‘ < a
hello,wang
I am root
I have some questions about the linux command need your help
if you have time,call me please!
eof
[[email protected] testdir]#

10、将文件中每个单词(字母)显示在独立的一行,并无空行

[[email protected] testdir]# tr ‘[:blank:][:punct:]‘ ‘\n‘ < word |tr -s ‘\n‘
hello
this
is
the
CCTV
welcome
to
listen
our
news
you
can
look
the
news
happend
everywhere
at
once

二、用户、组及其权限管理练习

1、创建用户gentoo,附加组为bin和root,默认shell是/bin/sch,注释信息为“Gentoo Distributuon”

[[email protected] ~]# useradd -G bin,root -s /bin/sch -c "Gentoo Distribution" geetoo
[[email protected] ~]# id geetoo
uid=1002(geetoo) gid=1002(geetoo) groups=1002(geetoo),0(root),1(bin)

2、创建下面的用户、组和组成员关系

名字为admins的组

用户natasha,使用admins作为附加组

用户harry,也使用admins作为附属组

用户sarah,不可交互登录系统,且不是admins的成员,natasha,harry,sarah密码都是centos

[[email protected] ~]# groupadd admins
[[email protected] ~]# useradd -G admins natasha
[[email protected] ~]# useradd -G admins harry;useradd -s /sbin/nologin sarah
[[email protected] ~]# echo centos |passwd --stdin natasha harry sarah
passwd: Only one user name may be specified.
[[email protected] ~]# echo centos |passwd --stdin natasha 
Changing password for user natasha.
passwd: all authentication tokens updated successfully.
[[email protected] ~]# echo centos |passwd --stdin harry
Changing password for user harry.
passwd: all authentication tokens updated successfully.
[[email protected] ~]# echo centos |passwd --stdin sarah
Changing password for user sarah.
passwd: all authentication tokens updated successfully.
[[email protected] ~]# id natasha
uid=1003(natasha) gid=1004(natasha) groups=1004(natasha),1003(admins)
[[email protected] ~]# id harry
uid=1004(harry) gid=1005(harry) groups=1005(harry),1003(admins)
[[email protected] ~]# id sarah
uid=1005(sarah) gid=1006(sarah) groups=1006(sarah)
时间: 2024-10-29 19:08:08

重定向、管道和用户管理练习题的相关文章

用户管理!权限管理!重定向

用户管理 useradd  -u, -g,-G(附加组),-c,-d, -s, -r(创建系统用户), -M(不创建家目录), 思考题:删除yhy用户家目录,如何还原(root用户重新创建yhy的家目录,拷贝/etc/skel/.bash* 的三个文件到/etc/yhy/下即可) usermod -u, -g, -G, -a, -c, -l(修改用户名), -s, -L(锁定用户密码), -U(解锁用户密码) userdel -r(同时删除家目录) passwd -d(删除用户密码),-e(设置

8.1_Linux管道的使用和用户管理

什么是管道? 管道就是把命令1的标准输出发送给命令2的标准输入,把命令2发的标准输出发送给命令3的标准输入... 最后一个命令会在当前shell进程的子shell进程中执行用来 管道实现了使用目的单一的小程序,组合小程序完成复杂的任务 管道需要配合其他命令的使用 tr命令的使用,常常用于配合管道     -c或--complerment:取字符集的补集     -d或--delete:删除所有属于第一字符集的字符:     -s或-squeeze-repeats:把连续重复的字符以单独一个字符表

003-文本处理、排序、统计及bash特性、用户组权限、用户管理配置文件

l  1.文本处理命令 1.)cat(concatenate):连接并显示 tac:倒序显示文件 -n(number):显示行号 -E(show-ends):显示行结束符 2.)more.less:分屏显示 more: 向后翻,翻到尾部退出 less: 与打开man使用相同 3.)head:查看前n行 Tail:查看后n行 -n(lines):指定显示n行 tail -f: 查看文件尾部,不退出,等待显示后续追加至此文件的新内容: 4.)cut:文本剪切 -d(delimiter):指定字段分隔

Linux运维六:用户管理及用户权限设置

Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问:另一方面也可以帮助用户组织文件,并为用户提供安全性保护.每个用户账号都拥有一个惟一的用户名和各自的口令.用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录. 实现用户账号的管理,要完成的工作主要有如下几个方面: · 用户账号的添加.删除与修改. ·

用户管理和权限管理

用户管理和权限管理 用户账号:用户.组 /etc/ passwd用户账号家目录属性 shadow用户密码和使用期限 group组账号家目录属性 gshadow组密码和使用期限 Linux用户 UID:0-65535(一般0-60000) 管理员:0 系统用户 centOS6:1-499 centOS7:1-999 登录用户 centOS6:500---60000 centOS7:1000---60000 /etc/shadow 加密与解密 加密就是将明文加密到密文 解密就是将密文还原到明文 破解

linux云自动化运维基础知识5.6(用户管理及文件权限)

用户理解用户就是系统使用者的身份在系统中用户存储为若干窜字符+若干个系统配置文件用户信息涉及到的系统配置文件:/etc/passwd        ###用户信息用户:密码:uid:gid:说明:家目录:用户使用的shell/etc/shadow        ###用户认证信息用户:密码:最后一次密码修改该时间:最短有效期:最长有效期:警告期:非活跃期:帐号到期日/etc/group        ###组信息 组名称:组密码:组id:附加组成员 /etc/gshadow        ###

用户管理的设计--8.批量用户信息删除

页面效果 勾选一个或多个用户,或点击全选框,然后单击[批量删除],弹出确认窗口.确定则删除,取消则不删除: 实现步骤 1.JSP页面的js函数 1.1添加按钮[批量删除]单击事件触发的js函数,有两种实现方式: 1.1 DOM对象实现 DOM对象实现批量删除js 1.2 jQuery对象实现 function deleteAll(){ var $selectuser = $("input[type=checkbox][name=userID]"); var flag = false;

使用IntelliJ IDEA开发SpringMVC网站(四)用户管理

原文:使用IntelliJ IDEA开发SpringMVC网站(四)用户管理 摘要 通过对用户表的管理,更加深入地讲解SpringMVC的操作. 目录[-] 文章已针对IDEA 15做了一定的更新,部分更新较为重要,请重新阅读文章并下载最新源码. 七.用户管理 1.JPA操作定义 2.后台管理 (1)查看所有用户 (2)添加用户 (3)查看用户详情 (4)修改用户信息 (5)删除用户 转载请注明出处:Gaussic(一个致力于AI研究却不得不兼顾项目的研究生) . 注:在阅读本文前,请先阅读:

Java EE 学习(8):IDEA + maven + spring 搭建 web(4)- 用户管理

转载:Gaussic(一个致力于AI研究却不得不兼顾项目的研究生) 注:在阅读本文前,请先阅读: Java EE 学习(5):IDEA + maven + spring 搭建 web(1) ava EE 学习(6):IDEA + maven + spring 搭建 web(2)- 配置 Spring Java EE 学习(7):IDEA + maven + spring 搭建 web(3)- 配置数据库 记录: 通过对用户表的管理,更加深入地讲解SpringMVC的操作. 6 用户管理 既然我们