馬哥教育網絡20期+第五周練習博客

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

[root@localhost ~]# grep "^[[:space:]]\+" /boot/grub/grub.conf 
        root (hd0,0)
        kernel /vmlinuz-2.6.32-573.el6.x86_64 ro root=UUID=7b0461b9-cefa-4cf7-a614-e513eb00f316 rd_NO_LUKS rd_NO_LVM.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
        initrd /initramfs-2.6.32-573.el6.x86_64.img

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

[root@localhost ~]# grep "^#[[:space:]]\+[^[:space:]]" /etc/rc.d/rc.sysinit 
# /etc/rc.d/rc.sysinit - run once at boot time
# Taken in part from Miquel van Smoorenburg's bcheckrc.
# Check SELinux status
# Print a text banner.
# Only read this once.
# Initialize hardware
# Set default affinity
# Load other user-defined modules
# Load modules (for backward compatibility with VARs)
# Configure kernel parameters
# Set the hostname.
# Sync waiting for storage.
# Device mapper & related initialization
# Start any MD RAID arrays that haven't been started yet
# Remount the root filesystem read-write.
# Clean up SELinux labels
# If relabeling, relabel mount points.
# Mount all other filesystems (except for NFS and /proc, which is already
# mounted). Contrary to standard usage,
# filesystems are NOT unmounted in single user mode.
# The 'no' applies to all listed filesystem types. See mount(8).
# Update quotas if necessary
# Check to see if a full relabel is needed
# Initialize pseudo-random number generator
# Configure machine if necessary.
# Clean out /.
# Do we need (w|u)tmpx files? We don't set them up, but the sysadmin might...
# Clean up /var.
# Clean up utmp/wtmp
# Clean up various /tmp bits
# Make ICE directory
# Start up swapping.
# Set up binfmt_misc
# Boot time profiles. Yes, this should be somewhere else.
# Now that we have all of our basic modules loaded and the kernel going,
# let's dump the syslog ring somewhere so we can find it later
# create the crash indicator flag to warn on crashes, offer fsck with timeout
# Let rhgb know that we're leaving rc.sysinit

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

[root@localhost ~]# netstat -tan|grep "LISTEN[[:space:]]*$" 
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      
tcp        0      0 :::22                       :::*                        LISTEN      
tcp        0      0 ::1:631                     :::*                        LISTEN      
tcp        0      0 ::1:25                      :::*                        LISTEN

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 "^(\<[a-z]+\>).*\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:501:501::/home/bash:/bin/bash
nologin:x:504:504::/home/nologin:/sbin/nologin

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

[root@localhost ~]# grep -E '^(root|fedora|user1)' /etc/passwd |cut -d : -f 7
/bin/bash
/bin/bash
/bin/bash

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

[root@localhost ~]# grep -E "[a-z]+\(\)" / /etc/rc.d/init.d/functions 
grep: /: Is a directory
/etc/rc.d/init.d/functions:fstab_decode_str() {
/etc/rc.d/init.d/functions:checkpid() {
/etc/rc.d/init.d/functions:__readlink() {
/etc/rc.d/init.d/functions:__fgrep() {
/etc/rc.d/init.d/functions:__umount_loop() {
/etc/rc.d/init.d/functions:__umount_loopback_loop() {
/etc/rc.d/init.d/functions:__pids_var_run() {
/etc/rc.d/init.d/functions:__pids_pidof() {
/etc/rc.d/init.d/functions:daemon() {
/etc/rc.d/init.d/functions:killproc() {
/etc/rc.d/init.d/functions:pidfileofproc() {
/etc/rc.d/init.d/functions:pidofproc() {
/etc/rc.d/init.d/functions:status() {
/etc/rc.d/init.d/functions:echo_success() {
/etc/rc.d/init.d/functions:echo_failure() {
/etc/rc.d/init.d/functions:echo_passed() {
/etc/rc.d/init.d/functions:echo_warning() {
/etc/rc.d/init.d/functions:update_boot_stage() {
/etc/rc.d/init.d/functions:success() {
/etc/rc.d/init.d/functions:failure() {
/etc/rc.d/init.d/functions:passed() {
/etc/rc.d/init.d/functions:warning() {
/etc/rc.d/init.d/functions:action() {
/etc/rc.d/init.d/functions:action_silent() {
/etc/rc.d/init.d/functions:strstr() {
/etc/rc.d/init.d/functions:confirm() {
/etc/rc.d/init.d/functions:get_numeric_dev() {
/etc/rc.d/init.d/functions:is_ignored_file() {
/etc/rc.d/init.d/functions:is_true() {
/etc/rc.d/init.d/functions:is_false() {
/etc/rc.d/init.d/functions:apply_sysctl() {
/etc/rc.d/init.d/functions:key_is_random() {
/etc/rc.d/init.d/functions:find_crypto_mount_point() {
/etc/rc.d/init.d/functions:init_crypto() {

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

    擴展:取出其路徑名

[root@localhost network-scripts]# echo /etc/sysconfig/network-scripts | grep -o "[^/]*$"
network-scripts
[root@localhost network-scripts]# echo /etc/sysconfig/network-scripts | grep -oP "^.*(?=/)"
/etc/sysconfig

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

ifconfig |grep -E --color=auto '\<[1-9][0-9]\>|\<1[0-9]{2}\>|\<2[0-4][0-9]\>|\<25[0-5]\>'

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

[root@localhost ~]# ifconfig | egrep -o '(\b([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}\b([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\b'
192.168.10.161
192.168.10.255

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

 grep ^[a-zA-Z0-9_-]*@[A-Za-z0-9_-]*\.[a-zA-Z_-]*$  email.sh

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

ll -a /var/ | grep 'root mail'

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

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

 find / \( -nouser -a -nogroup \) -ls

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

find /etc -perm /222

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

find /etc -size +1M -type f

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

find /etc/init.d -perm -113

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

find /usr -not \( -user root -o -user bin -o -user hadoop \)

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

        find /etc/ -not -perm /222

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

        find /etc/ -mtime -7 -a -not \( -user root -o -user hadoop \)

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

(0)
huan918huan918
上一篇 2016-07-12 11:18
下一篇 2016-07-12 11:18

相關推薦

  • RAID解說

    RAID(RedundantArrays of Inexpensive Disks,RAID),又叫獨立的磁盤陣列。有“價格便宜具有冗余能力的磁盤陣列”之意。原理是利用數組方式來作磁盤組,配合數據分散排列的設計,提升數據的安全性。磁盤陣列是由很多價格較便宜的磁盤,組合成一個容量巨大的磁盤組,利用個別磁盤提供數據所產生加成效果提升整個磁盤系統效能。利用這項技術…

    2017-03-14
  • 遲來的選擇

         我叫鄧小林,來自廣西梧州岑溪市。經過一波三折,很高興加入馬哥教育參加linux 網絡班進行學習,目前在廣州一家通訊公司售后工作,本來想到北京參加面授班,但是由于家庭的壓力和種種煩惱,覺得脫產學不是很適合自己,所以選擇網絡班。          選擇linux緣起:&nb…

    2017-09-07
  • 磁盤管理,軟raid,腳本基礎

    1、創建一個10G分區,并格式為ext4文件系統; (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl; mke2fs -t ext4 -L MYDATA -m 2 /dev/sdb tune2fs -o acl /dev/sdb (2) 掛載至/data/mydata目錄,要求掛載時禁止程序自動運行…

    Linux干貨 2017-10-25
  • shell腳本作業

    1、編寫腳本/root/bin/systeminfo.sh,顯示當前主機系統信息,包括主機名, IPv4地址,操作系統版本,內核版本,CPU型號,內存大小,硬盤大小。 腳本代碼 #!/bin/bash #author:wzc         echo Hostname:…

    Linux干貨 2016-08-15
  • nmcli及網絡配置

    2017-09-10
  • Ansible簡介與實驗

    ansille簡單實現keepalived一主一備

    2018-08-08

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-07-12 13:59

    寫的很好,排版還可以在漂亮一點,加油

欧美性久久久久