1. 程式人生 > >linux 運維習題

linux 運維習題

shell


1. linux如何掛在windows下的共享目錄?

#匿名共享
[[email protected] ~]# mount.cifs //192.168.174.1/isos /media/
[[email protected] media]# ls
CentOS-6.8-x86_64-bin-DVD1.iso                             ubuntu-16.04.2-desktop-amd64.iso
CentOS-7-x86_64-Everything-1511.iso                        win_7激活工具.exe
coreos_production_iso_image.iso                            系統映像WindowsServer2003SP2EnterpriseEdition.iso
SW_DVD5_Win_Pro_7w_SP1_64BIT_ChnSimp_-2_MLF_X17-59526.iso
#認證共享
[[email protected]
/* */ /]# umount /media/ [[email protected] /]# cd /media/ [[email protected] media]# ls [[email protected] media]# cd .. [[email protected] /]# mount.cifs //192.168.174.1/isos /media/ -o username=ftp1 Password for ftp1@//192.168.174.1/isos: ********* [[email protected] /]# cd /media/ [[email protected]
/* */ media]# ls CentOS-6.8-x86_64-bin-DVD1.iso ubuntu-16.04.2-desktop-amd64.iso CentOS-7-x86_64-Everything-1511.iso win_7激活工具.exe coreos_production_iso_image.iso 系統映像WindowsServer2003SP2EnterpriseEdition.iso SW_DVD5_Win_Pro_7w_SP1_64BIT_ChnSimp_-2_MLF_X17-59526.iso [[email protected]
/* */ media]#


2.使用for循環在/oldboy目錄下通過隨機小寫10個字母加固定字符串oldboy批量創建10個html文件,名稱例如為:

[[email protected] ~]# sh create_html.sh 
[[email protected] ~]# ls /oldboy/
bdjcfhebff_oldboy.html  dffgcabcci_oldboy.html  fgjeaafbaf_oldboy.html  iadfffigib_oldboy.html
bjggfdaafa_oldboy.html  dfhbffaaaa_oldboy.html  gfbabcadjc_oldboy.html
cbdeaacfdd_oldboy.html  efeaffhgab_oldboy.html  hbcdjicacg_oldboy.html
[[email protected] ~]# cat create_html.sh 
#!/bin/bash
for i in {1..10}
do
    name=`echo $RANDOM|md5sum|cut -c 1-10 |tr ‘[0-9]‘ ‘[a-z]‘`
    touch /oldboy/"$name"‘_oldboy.html‘
done
[[email protected] ~]#


3.請使用兩種方法將上題的oldboy改成oldgirl並將html該為HTML。

#方法一
[[email protected] ~]# sh modify_html.sh 
[[email protected] ~]# ll /oldboy/
total 0
-rw-r--r-- 1 root root 0 Jul 27 19:47 bdjcfhebff_oldgirl.HTML
-rw-r--r-- 1 root root 0 Jul 27 19:47 bjggfdaafa_oldgirl.HTML
-rw-r--r-- 1 root root 0 Jul 27 19:47 cbdeaacfdd_oldgirl.HTML
-rw-r--r-- 1 root root 0 Jul 27 19:47 dffgcabcci_oldgirl.HTML
-rw-r--r-- 1 root root 0 Jul 27 19:47 dfhbffaaaa_oldgirl.HTML
-rw-r--r-- 1 root root 0 Jul 27 19:47 efeaffhgab_oldgirl.HTML
-rw-r--r-- 1 root root 0 Jul 27 19:47 fgjeaafbaf_oldgirl.HTML
-rw-r--r-- 1 root root 0 Jul 27 19:47 gfbabcadjc_oldgirl.HTML
-rw-r--r-- 1 root root 0 Jul 27 19:47 hbcdjicacg_oldgirl.HTML
-rw-r--r-- 1 root root 0 Jul 27 19:47 iadfffigib_oldgirl.HTML
[[email protected] ~]# cat modify_html.sh 
#!/bin/bash
cd /oldboy/
for name in `ls`
do
    x=`echo $name |sed ‘s/html$/HTML/g‘`
    y=`echo $x | sed ‘s/boy/girl/g‘`
    mv "$name" "$y"
done
[[email protected] ~]#

#方法二
[[email protected] ~]# cat modify_html_2.sh
#!bin/bash
cd /oldboy/
rename ‘html‘ ‘HTML‘ *
rename ‘boy‘  ‘girl‘ *
[[email protected] ~]#


4.批量創建10個賬號oldboy01-oldboy10 密碼為隨機8個字符串。

[[email protected] ~]# sh useradd_batch.sh
Changing password for user oldboy01.
passwd: all authentication tokens updated successfully.
Changing password for user oldboy02.
passwd: all authentication tokens updated successfully.
Changing password for user oldboy03.
passwd: all authentication tokens updated successfully.
Changing password for user oldboy04.
passwd: all authentication tokens updated successfully.
Changing password for user oldboy05.
passwd: all authentication tokens updated successfully.
Changing password for user oldboy06.
passwd: all authentication tokens updated successfully.
Changing password for user oldboy07.
passwd: all authentication tokens updated successfully.
Changing password for user oldboy08.
passwd: all authentication tokens updated successfully.
Changing password for user oldboy09.
passwd: all authentication tokens updated successfully.
Changing password for user oldboy10.
passwd: all authentication tokens updated successfully.
[[email protected] ~]# cat useradd_batch.sh 
#!/bin/bash
for i in {01..10}
do
    PassWord=`echo $RANDOM|md5sum|cut -c 1-8`
    UserName=‘oldboy‘"$i"
    useradd -M $UserName
    echo $PassWord |passwd --stdin $UserName
done
[[email protected] ~]# grep ‘oldboy‘ /etc/passwd
oldboy01:x:1000:1000::/home/oldboy01:/bin/bash
oldboy02:x:1001:1001::/home/oldboy02:/bin/bash
oldboy03:x:1002:1002::/home/oldboy03:/bin/bash
oldboy04:x:1003:1003::/home/oldboy04:/bin/bash
oldboy05:x:1004:1004::/home/oldboy05:/bin/bash
oldboy06:x:1005:1005::/home/oldboy06:/bin/bash
oldboy07:x:1006:1006::/home/oldboy07:/bin/bash
oldboy08:x:1007:1007::/home/oldboy08:/bin/bash
oldboy09:x:1008:1008::/home/oldboy09:/bin/bash
oldboy10:x:1009:1009::/home/oldboy10:/bin/bash
[[email protected] ~]#



5.寫一個腳本,判斷192.168.174.0/24 有多少在線IP?

[[email protected] ~]# sh ping_batch_2.sh
UP: 4 DOWN: 250

#單進程的ping耗時太長
#本來想用命名管道的,但是沒有成功
#借助一個文件來實現並發的ping,但是這個文件沒有加鎖,這樣不安全
[[email protected] ~]# cat ping_batch_2.sh  
#!/bin/bash
ip=192.168.174
UP=0
DOWN=0
for i in {1..254}
do
    IP="$ip"‘.‘"$i"
    ping -c 3 $IP >/dev/null 2>&1 && echo "1 $IP" >> .npipe_ping || echo "0 $IP" >> .npipe_ping &
done
wait
cat .npipe_ping |awk ‘{host[$1]++;} END{print "UP: "host[1],"DOWN: "host[0];}‘
rm -f .npipe_ping
[[email protected] ~]#


6.請用兩種方法實現for循環打印下面這句話字母數不大於 6的單詞。

I am oldboy teacher welcome to oldboy training class
[[email protected] ~]# x="I am oldboy teacher welcome to oldboy training class"
[[email protected] ~]# echo $x | awk ‘END{for(i=1;i<=NF;i++){if(length($i)<=6){print $i}}}‘
I
am
oldboy
to
oldboy
class
[[email protected] ~]# for((i=1;;i++));do split=`echo $x|cut -d" " -f$i`;if [ "$split" == "" ];then break;fi; echo $split;done
I
am
oldboy
teacher
welcome
to
oldboy
training
class


7.提取文件test.log中FAILD與SUCCESSFUL的字符但不包括DONE的行,然後以:為隔符,提取第三列

[[email protected] ~]# cat text.log 
FAILD:SUCCESSFUL:DONE:CRITICAL
FAILD:SUCCESSFUL:NO:GOOD
FAILD:NO:DO:QINGYUN
SUCCESSFUL:DONE:CRITICAL::CRITICAL

[[email protected] ~]# cat text.log |grep -E "(SUCCESSFUL|FAILD)"|grep -v "DONE" |cut -d":" -f3
NO
DO
[[email protected] ~]# cat text.log |grep -E "(SUCCESSFUL|FAILD)"|grep -v "DONE" |awk -F‘:‘ ‘{print $3}‘
NO
DO
[[email protected] ~]#




本文出自 “Chauncey” 博客,請務必保留此出處http://cqwujiang.blog.51cto.com/10808946/1952097

linux 運維習題

相關推薦

linux 習題

shell1. linux如何掛在windows下的共享目錄?#匿名共享 [[email protected]/* */ ~]# mount.cifs //192.168.174.1/isos /media/ [[email protected]/* */ media]# ls Cen

Linux常用命令

second prev tin -html root repl rep amp pan propos word 顯示和word相關的命令 which command 顯示命令的完整路徑名 time command 計算命令運行的時間 time cat 開始計時. Ctr

Linux工程師的一天是如何度過的

數據庫備份 登錄系統 服務器 工程師 操作系統 下面先簡單介紹一下個人這幾年從事運維工作以來得出的感悟與體會1.操作系統狀況檢查與告警登錄系統或者通過監控報警平臺查看系統運轉的負載磁盤空間狀態,內存使用狀態,有無報錯日記, 查看報警記錄等。2.操作系統故障處理 根據檢查與監控的情況,對

《跟老男孩學Linux

mem 介紹 keepal 共享 web inux運維 alived emca 應用 Linux 介紹 Linux 安裝 Linux 調優 Web 基礎 Nginx 應用 LNMP 應用 PHP 緩存加速 Nginx 調優 MySQL 應用 NFS 網

Linux面試題

linux運維 面試題總結一下遇到的面試題: 如有錯誤,請讀者指出,感謝!1、使用iptbales如何將本地80端口的請求轉發到8080端口,當前主機ip為192.168.2.1 1)、DNAT實現: iptables -t nat -A PREROUTING -d 192.168.2

老男孩教育每日一題-第60天-一道實用Linux問題的9種Shell解答方法!

awk shell腳本 每日一題 2017-06-041.問題為:已知:/etc/hosts的內容為192.168.1.11 oldboy11.etiantian.org 192.168.1.21 oldboy21.etiantian.org 192.168.1.31 oldboy31.et

免費分享! linux基礎視頻教程

linux運維即linux運維工程師;Linux是一套免費使用和自由傳播的類Unix操作系統,是一個基於POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的UNIX工具軟件、應用程 序和網絡協議。它支持32位和6

決心書-馬洪彬-老男孩教育Linux脫產班38期

linux 老男孩 決心書 我是馬洪彬, 88年的, 來自河北保定.之前做運維監控的時候才開始接觸Linux, 感覺就像打開了另一個世界的大門. 先是買書看, 後來找視頻跟著學. 然而自學的過程痛苦而低效, 新鮮感很快就沒了, 漸漸開始懷疑自己是否適合走運維這條路. 可是再一想, 年齡已經不小

提供跟老男孩學LinuxShell編程實戰的第四、第五章源代碼

linux shell 第四章是講Shell變量知識進階與實踐;第五章是講變量的數值計算實踐;附件中包括源碼,請下載。該兩章在學習時要註意相關事項:1.註意標點符號的使用:例如,單引號,反引號,雙引號等;2.註意該要留空格的留空格;3.註意特殊變量的作用;4.內置變量的使用;5.算術運算任的使用。本文

如何快速成為一名Linux工程師

linux 安全 如今的互聯網,絕大多數的網站、服務、遊戲均是跑在Linux上面的,雖說Linux發行版眾多,只要玩熟了一種發行版,了解了Linux精髓、基本架構、設計原理,其他都是觸類旁通的,千萬不要在選擇哪一發行版而浪費很多時間,不值當的,這就如同我是上清華好,還是上北大好呢?統稱為[清北謎題]了

Linux基礎原理匯總

linux運維基礎知識01. 前言介紹 初始運維的小夥伴,有些技術概念原理還是需要掌握的。有些原理概念一旦理解透徹,首先, 對運維技術工作大有幫助;其次,在遇到一些技術交流會上,也可以裝一裝,不會顯得沒話說, 最重要的是,在面試環節是吳悠面試官的最好手段。 下面

20170705L07-09-03老男孩Linux實戰培訓-Sersync實時同步軟件實戰應用指南06

sersync這一節接說的是如何給sersync做性能壓力測試主要是讓人知道怎麽做壓力測試報告壓力報告第一條1寫明硬件環境,全用的操作系統2使用的sersync軟件的版本3壓力測試的大體訪求4測試的數據20170705L07-09-03老男孩Linux運維實戰培訓-Sersync實時同步軟件實戰應用指南06

Linux工程師必備(命令)

linux 運維 工程師 如何過濾出以下目錄的中的所有一級目錄[[email protected]/* */ ~]# lltotal 16-rw-r--r-- 1 root root 0 Jul 5 11:43 111-rw-r--r-- 1 root root 0 Ju

20170710L07-09-03老男孩Linux實戰培訓-Sersync實時同步軟件實戰應用指南07

sersync接上一節的sersync壓力測試這一節主要是對著上一節的壓力測試文本做真實的壓力測試測試出到底sersync的壓力極限是多少從每秒10個到100個# tree |wc -l #查看寫了多少文件# uptime #查看負載下面是測試腳本#!/bin/shcount=100while truedo

2017年Linux人員必會開源工具體系總結

sersync cal rfs cas pup res atlas ansi ats 操作系統:Centos,Ubuntu,Redhat,suse,Freebsd 網站服務:nginx,apache,lighttpd,php,tomcat,resin數據庫:MySQL,Ma

20170710L07-09-03老男孩Linux實戰培訓-Sersync實時同步軟件實戰應用指南08

sersync還是說的sersync的壓力測試for n in ‘seq 100‘ ; do mkdir -p test/$n:done #創建100目錄還是壓力測試的實際測試。這次好像加入了一個腳本去記錄同步的延時20170710L07-09-03老男孩Linux運維實戰培訓-Sersync實

20170713L08-00老男孩Linux實戰培訓-DELL R710服務器RAID配置實戰演示

raid講解各種RAIDRAID0:一般是用兩塊盤來做的把一個文件分別寫在兩塊盤上這樣提高了讀寫速度但並不冗余,數據丟失後無法通過備份找回RAID1:也是用兩塊盤做就是一般所說的鏡像互為備份一塊的數據丟失後能通過另一塊找回RAID5:至少需要三塊盤RAID5是RAID0和RAID1的一種折中的方案所以是10/

20170714L08-00老男孩Linux實戰培訓-DELL R710新服務器多硬盤Raid5後容量大於2TB如何分區講解

raid如果硬盤總容量大於2T的話是不能用MBR格式安裝系統的這時候要用GPT格式這個時候也不能使用fdisk來分區了要使用parted來分區大於2t硬盤分區,老男孩視頻裏用到了5塊600G的硬盤安裝系統的時候有幾種方法我只記住了兩種方法一:拿2塊做RAID 1 剩下的3塊做RAID5方法二:全部做成RAID

長沙求職記-Linux面試

linux面試前言: Linux運維面試是前天的,面試我的估計不是HR,而是某個技術人員或主管,問了幾個簡歷上的問題,然後拿了一張面試題給我做。然後就說讓我回去等消息,等到現在也沒消息。面試: 一上來,公司前臺妹子,就拿給我一張求職表單讓我填,填好了,有個人讓我過去面試(不知道是不是老板),看了看我的求職

20170721L08-02-02老男孩Linux實戰培訓初級第八節課課前【上機實戰】考試講解

sersync主要還是講rsync的實踐上機實驗還有寫一些腳本下面是自動備份的腳本#bak site and logscd /var/html && tar zcf /backup/www_$(date +%F).tar.gz ./wwwcd /app && tar zc