N22-妙手-第五周博客作業

1、顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行;

[root@localhost grub]# grep "^[[:space:]]\+" /boot/grub/grub.conf

2、顯示/etc/rc.d/rc.sysinit文件中以#開頭,后面跟至少一個空白字符,而后又有至少一個非空白字符的行;

[root@localhost ~]# grep "^#[[:space:]]\{1,\}[^[:space:]]\+" /etc/rc.d/rc.sysinit

3、打出netstat -tan命令執行結果中以‘LISTEN’,后或跟空白字符結尾的行;

[root@localhost ~]# netstat -tan | grep "LISTEN[[:space:]]*$"

4、添加用戶bash, testbash, basher, nologin (此一個用戶的shell為/sbin/nologin),而后找出當前系統上其用戶名和默認shell相同的用戶的信息;

[root@localhost ~]# useradd bash
[root@localhost ~]# useradd testbash
[root@localhost ~]# useradd basher
[root@localhost ~]# useradd -s /sbin/nologin nologin
[root@localhost ~]# grep -E "^([^:]+\>).*\1$" /etc/passwd
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
bash:x:1000:1000::/home/bash:/bin/bash
nologin:x:1003:1003::/home/nologin:/sbin/nologin

5、顯示當前系統上root、fedora或user1用戶的默認shell;

[root@localhost scripts]# grep "^\(root\|user1\|fedora\)\>" /etc/passwd | cut -d: -f7
/bin/bash
/bin/bash
/bin/bash

6、找出/etc/rc.d/init.d/functions文件中某單詞后面跟一組小括號的行,形如:hello();

[root@localhost ~]# grep -E ".*\>\(\)" /etc/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() {

7、使用echo命令輸出一個絕對路徑,使用grep取出其基名;

    擴展:取出其路徑名

[root@localhost ~]# echo /etc/var/log | grep -E -o "[^/]+$" 
log

8、找出ifconfig命令結果中的1-255之間數字;

    兩種方法實現:    

        方法一

[root@localhost ~]# ifconfig | grep -E "\<([0-9]|[1-9][0-9]|2[0-4][0-9]|25[0-5])\>"
        inet 192.168.1.102  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::20c:29ff:fe87:765b  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:87:76:5b  txqueuelen 1000  (Ethernet)
        RX packets 3733  bytes 369553 (360.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2311  bytes 448673 (438.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

        方法二:

[root@localhost ~]# ifconfig | grep -E "\<[0-9]\>|\<[1-9][0-9]\>|\<[1-2][0-5][0-5]\>"
        inet 192.168.1.102  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::20c:29ff:fe87:765b  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:87:76:5b  txqueuelen 1000  (Ethernet)
        RX packets 3458  bytes 343067 (335.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2110  bytes 422465 (412.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

9、挑戰題:寫一個模式,能匹配合理的IP地址;

例如匹配192.168.1.105

\<[1-9]\{3\}\.[1-9]\{3\}\.[1-9]\.1[0-9]\{2\}\>

10、挑戰題:寫一個模式,能匹配出所有的郵件地址;

"[[:alnum:]_-]\+@[[:alnum:]]\+\.[[:alpha:]]\+$"

11、查找/var目錄下屬主為root,且屬組為mail的所有文件或目錄;

[root@localhost ~]# find /var -user root -a  -group mail -ls
67150904    0 drwxrwxr-x   2 root     mail           59 Sep 11 08:09 /var/spool/mail

12、查找當前系統上沒有屬主或屬組的文件;

[root@localhost ~]# find / -nouser -a -nogroup -ls
   135    0 drwx------   2 1004     1004           59 Sep 11 09:03 /home/user23
   136    4 -rw-r--r--   1 1004     1004           18 Nov 20  2015 /home/user23/.bash_logout
   137    4 -rw-r--r--   1 1004     1004          193 Nov 20  2015 /home/user23/.bash_profile
   138    4 -rw-r--r--   1 1004     1004          231 Nov 20  2015 /home/user23/.bashrc
find: ‘/proc/2667/task/2667/fd/6’: No such file or directory
find: ‘/proc/2667/task/2667/fdinfo/6’: No such file or directory
find: ‘/proc/2667/fd/6’: No such file or directory
find: ‘/proc/2667/fdinfo/6’: No such file or directory

     進一步:查找當前系統上沒有屬主或屬組,且最近3天內曾被訪問過的文件或目錄;

[root@localhost ~]# find / -nouser -a -nogroup -a -atime -3 -ls
   135    0 drwx------   2 1004     1004           59 Sep 11 09:03 /home/user23
   136    4 -rw-r--r--   1 1004     1004           18 Nov 20  2015 /home/user23/.bash_logout
   137    4 -rw-r--r--   1 1004     1004          193 Nov 20  2015 /home/user23/.bash_profile
   138    4 -rw-r--r--   1 1004     1004          231 Nov 20  2015 /home/user23/.bashrc
find: ‘/proc/2669/task/2669/fd/6’: No such file or directory
find: ‘/proc/2669/task/2669/fdinfo/6’: No such file or directory
find: ‘/proc/2669/fd/6’: No such file or directory
find: ‘/proc/2669/fdinfo/6’: No such file or directory

13、查找/etc目錄下所有用戶都有寫權限的文件;

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

14、查找/etc目錄下大于1M,且類型為普通文件的所有文件;

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

15、查找/etc/init.d/目錄下,所有用戶都有執行權限,且其它用戶有寫權限的文件;

[root@localhost ~]# find /etc -perm -113 -ls

16、查找/usr目錄下不屬于root、bin或hadoop的文件;

[root@localhost ~]# find /usr -not \( -user root -a -user bin -user hadoop \) -ls

17、查找/etc/目錄下至少有一類用戶沒有寫權限的文件;

[root@localhost scripts]# find /etc -not -perm -222 -ls

18、查找/etc目錄下最近一周內其內容被修改過,且不屬于root或hadoop的文件;

[root@localhost scripts]# find /etc/ -mtime -7 -a -not \( -user root -a -user hadoop \) -exec ls -l {} \;

原創文章,作者:mxb93,如若轉載,請注明出處:http://www.www58058.com/45577

(0)
mxb93mxb93
上一篇 2016-09-19 13:48
下一篇 2016-09-19 13:48

相關推薦

  • 文本處理grep

    grep:文本過濾(模式:pattern)工具grep, egrep, fgrep【適合處理比較大的文本】(不支持正則表達式搜索) sed:stream editor,文本編輯工具 awk:Linux上的實現gawk,文本報告生成器 grep(Global search 全局搜索 Regular expression 正則表達式 and Print out …

    Linux干貨 2017-05-09
  • Linux文本處理三劍客之GNU awk的使用

    awk: Aho, Weinberger, Kernighan,報告生成器,格式化文本輸出 有多種版本:New awk(nawk),GNU awk(gawk) gawk –模式掃描和處理語言 基本用法:     awk[options] ‘program’ var=value file…   &nb…

    Linux干貨 2016-10-06
  • Linux運維實戰之2-1:文件管理類命令

    本次博文我們來學習下Linux系統中使用頻率比較高的文件管理類命令哈。 主要內容:     1、文件管理的概述;     2、文件管理命令詳解; 上次博文,我們學習了Linux的哲學思想,其中之一就是:Linux中一切皆文件。由此,文件管理就是Linux系統的重要功能之一。 一、…

    Linux干貨 2016-11-06
  • RPM與YUM命令異同詳解

    RPM和YUM都是用來安裝程序的工具,但是它們有太多相似的用法以至于有事很難分清應該哪個那就來一起詳細的了解一下他們的功能及用法,以及他們的相同以及不同之處。 RPM 軟件包管理器功能:安裝,卸載,升級,查詢,校驗,打包,數據庫管理RPM在安裝時不能處理程序之間復雜的依賴關系RPM可以驗證軟件包來源的合法性、完整性。常用選項: -i:表示安裝。(常用:-iv…

    2017-06-18
  • 4

    1;復制/etc/skel目錄為/home/tuinser1, 要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 #   install -d -m 700 /etc/skel /home/tuser1  #  &nbsp…

    Linux干貨 2017-01-16
  • 文件查找工具locate和find的使用分析

    文件查找工具locate和find的使用分析 不管是在windows系統中還是在Linux系統中,我們經常會一些文件進行搜索查找,而在Linux系統中經常用到的搜索工具有locate和find,這兩種搜索工具的工具原理和用法都不相同,一下將這對這兩種搜索工具的使用進行分析。 1、locate工具的工作原理是對/var/lib/mlocate/mlocat.d…

    Linux干貨 2016-08-18

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-09-19 18:53

    ip地址匹配不對,沒有好好聽咱們的周日的分享吧,老師講過的

欧美性久久久久