1、显示当前系统上root、fedora或user1用户的默认shell;

[root@www ~]# egrep "^(root|fedora|user1)" /etc/passwd|cut -d: -f1,7
root:/bin/bash
user1:/bin/bash
fedora:/bin/zsh

2、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行;例如:hello();

[root@www ~]# egrep "\w+\(\)" /etc/rc.d/init.d/functions
checkpid() {
__pids_var_run() {
__pids_pidof() {
daemon() {
killproc() {
pidfileofproc() {
pidofproc() {
status() {
echo_success() {
echo_failure() {
echo_passed() {
echo_warning() {
update_boot_stage() {
success() {
failure() {
passed() {
warning() {
action() {
strstr() {
is_ignored_file() {
is_true() {
is_false() {
apply_sysctl() {

3、使用echo命令输出一个绝对路径,使用grep取出其基名;扩展:取出其路径名;

# 取出其基名
[root@www ~]# echo "/var/log/messages"|egrep -o "[^/]+\/?$"
messages
# 取出其路径名
[root@www ~]# echo "/var/log/messages"|grep -o "^/.*/"
/var/log/

4、找出ifconfig命令结果中的1-255之间的数字;

[root@www ~]# ifconfig |egrep -o "\<([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>"

5、挑战题:写一个模式,能匹配出合理的IP地址;

[root@www ~]# ifconfig | egrep -o "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"
192.168.1.141
255.255.255.0
192.168.1.255
127.0.0.1
255.0.0.0

6、挑战题:写一个模式,能匹配出所有的邮件地址;

[root@www ~]# egrep -o  "\w+@\w+\.(cn|com)" /etc/test.txt
tom@163.com
jerry@163.com
zhangsan@testdomain.cn

7、查找/var目录下属主为root,且属组为mail的所有文件或目录;

[root@www ~]# find /var/ -user root -a -group mail -ls
134295636 0 drwxrwxr-x 2 root mail 103 12月 30 00:38 /var/spool/mail
136092594 884 -rw------- 1 root mail 900983 12月 30 00:38 /var/spool/mail/root

8、查找当前系统上没有属主或属组的文件;查找当前系统上没有属主或属组,且最近3天内曾被访问过的文件或目录;

[root@www ~]# find / -atime -3 -nouser -a -nogroup -exec ls -l {} \;
-rw-rw-rw- 1 1000 1000 6 12月 30 00:35 /etc/test.txt

9、查找/etc目录下所有用户都有写权限的文件;

[root@www ~]# find /etc/ -type f -perm -222 -ls
67190743 0 -rw-rw-rw- 1 root root 0 12月 30 00:10 /etc/test.txt

10、查找/etc目录下大于1M,且类型为普通文件的所有文件;

[root@www ~]# find /etc/ -type f -size +1M -exec ls -lh {} \;
-r--r--r--. 1 root root 6.7M 12月 4 18:22 /etc/udev/hwdb.bin
-rw-r--r--. 1 root root 3.7M 11月 21 2015 /etc/selinux/targeted/policy/policy.29

11、查找/etc/init.d目录下,所有用户都有执行权限,且其它用户有写权限的文件;

[root@www ~]# find /etc/init.d/ -perm -113 -ls
12777 0 -rwxr-xrwx 1 root root 0 12月 30 00:17 /etc/init.d/test.txt

12、查找/usr目录下不属于root,bin或hadoop的文件;

[root@www ~]# find /usr/ -not \( -user root -o -user bin -o -user hadoop \) -ls
618038 0 drwx------ 2 polkitd root 6 6月 10 2014 /usr/share/polkit-1/rules.d

13、查找/etc目录下至少有一类用户没有写权限的文件;

[root@www ~]# find /etc/ -not -perm -222 -ls

14、查找/etc目录下最近一周内其内容被修改过,且不属于root或hadoop的文件;

[root@www ~]# find /etc/ -mtime -7 -type f -a -not \( -user root -o -user hadoop \) -exec stat {} \;
文件:"/etc/test.txt"
大小:6 块:8 IO 块:4096 普通文件
设备:803h/2051d Inode:67190743 硬链接:1
权限:(0666/-rw-rw-rw-) Uid:( 1000/enzhi.wang) Gid:( 1000/enzhi.wang)
最近访问:2016-12-30 00:10:38.089508753 +0800
最近更改:2016-12-30 00:35:36.988831137 +0800
最近改动:2016-12-30 00:36:09.092832268 +0800
创建时间:-

Linux基础练习题(三)的更多相关文章

  1. Linux基础练习题(二)

    Linux基础练习题(二) 1.复制/etc/skel目录为/home/tuer1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限. [root@www ~]# cp -r ...

  2. Linux基础练习题之(四)

    Linux基础练习题 请详细总结vim编辑器的使用并完成以下练习题 1.复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的 ...

  3. Linux基础练习题

    1.列出当前系统上所有已经登录的用户名,注意:同一个用户登录多次,则只显示一次即可. [root@bj-1-160-enzhi ~]# who|cut -d ' ' -f 1|uniq -c 2 ro ...

  4. Linux基础(三)

    一.正文处理命令及tar命令 1.文件合并 cat a.txt b.txt > c.txt 2.打包 归档命令tar可以把多个文件打包成一个文件 如tar cvf test.tar a.txt ...

  5. linux基础练习题(3)

    关卡三 练习题 在家路径下创建A文件夹 在上一步创建的A文件夹中,创建B/C/D文件夹 在上一步所在的路径中,创建C/E/F文件夹 使用目录树查看文件夹结构 A/B/C中创建一个hello.py文件 ...

  6. linux基础练习题(2)

    Linux命令作业(关卡二) 练习题1 理解操作系统的作用,以及各种操作系统的不同 要求: 为什么要有OS?没有OS能行吗?原因是什么? Linux内核指的是什么? Linux主要应用在哪些地方? 使 ...

  7. linux基础练习题(1)

    Linux命令作业(关卡一) 练习题1 理解操作系统的作用,以及各种操作系统的不同 要求: 简述什么是OS 简述应用程序.硬件.OS的关系 列举出3种常见的操作系统 简述Ubuntu和Linux的关系 ...

  8. Linux基础命令(三)

    作业一:1) 将用户信息数据库文件和组信息数据库文件纵向合并为一个文件/1.txt(覆盖) cat /etc/passwd /etc/group >/1.txt 2) 将用户信息数据库文件和用户 ...

  9. Linux 基础练习题

    Linux 测试 1.找出/proc/meminfo文件中以s开头的行,至少用三种方式忽略大小写 [root@localhost proc]# grep -i '^s' /proc/meminfo [ ...

随机推荐

  1. Rxjava cold/hot Observable

    create Observable分为cold以及hot两种,cold主要是静态的,每次subscribe都是从头开始互不干扰,而hot的在同一时刻获得的值是一致的 cold Observable 使 ...

  2. C#经典笔试题-获取字符串中相同的字符以及其个数

    public Dictionary<char,int> GetStrSameAs(string str){ //将字符串转换成一个字符数组. char[] charArray=str.To ...

  3. MVC5 网站开发之七 用户功能 2 用户添加和浏览

    目录 MVC5网站开发之一 总体概述 MVC5 网站开发之二 创建项目 MVC5 网站开发之三 数据存储层功能实现 MVC5 网站开发之四 业务逻辑层的架构和基本功能 MVC5 网站开发之五 展示层架 ...

  4. Web缓存杂谈

    一.概述 缓存通俗点,就是将已经得到的‘东东’存放在一个相对于自己而言,尽可能近的地方,以便下次需要时,不会再二笔地跑到起始点(很远的地方)去获取,而是就近解决,从而缩短时间和节约金钱(坐车要钱嘛). ...

  5. 分布式服务协调员zookeeper - 应用场景和监控

    zookeeper在分布式系统中作为协调员的角色,可应用于Leader选举.分布式锁.配置管理等服务的实现.以下我们从zookeeper提供的API.应用场景和监控三方面学习和了解zookeeper( ...

  6. 现有语言不支持XXX方法

    史上最强大的IDE也会有bug的时候哈,今天遇到这个问题特别郁闷,百度了下,果然也有人遇到过这个问题 解决方法: 1.调用的时候参数和接口声明的参数不一致(检查修改) 2.继承接口中残留一个废弃的方法 ...

  7. nginx反向代理下thinkphp、php获取不到正确的外网ip

    在记录用户发送短信需要获取用户ip时,tp一直获取的是内网ip:10.10.10.10 tp框架获取ip方法:get_client_ip /** * 获取客户端IP地址 * @param intege ...

  8. Java之继承、抽象类、接口篇

    一.继承(extends) 什么是继承? 继承是对现实生活中的"分类"概念的一种模拟. 狮子拥有动物的一切基本特性,但同时又拥有自己的独特的特性,这就是"继承" ...

  9. [更新]跨平台物联网通讯框架 ServerSuperIO v1.2(SSIO),增加数据分发控制模式

    1.[开源]C#跨平台物联网通讯框架ServerSuperIO(SSIO) 2.应用SuperIO(SIO)和开源跨平台物联网框架ServerSuperIO(SSIO)构建系统的整体方案 3.C#工业 ...

  10. MVC Api 的跨项目路由

    现有Momoda.Api项目,由于团队所有人在此项目下开发,导致耦合度太高,现从此接口项目中拆分出多个子项目从而避免对Momda.Api的改动导致“爆炸” MVCApi的跨项目路由和MVC有解决方式有 ...