價值10k的Linux面試題

來源:互聯網
上載者:User

標籤:linux面試題-10k

1、Linux掛載Winodws共用資料夾首先要安裝samba-client 掛載命令為mount -t cifs //ip/sharedir  /mnt -o username=user,password=passwd2、查看http的並發請求數及其TCP串連狀態:請求數: ps aux |grep -c httpd串連狀態: netstat -an |grep ‘:80‘3、用tcpdump嗅探80連接埠的訪問看看誰最高tcpdump -nn port 80 4、統計/var/log/下檔案個數find /var/log/ -type f |wc -l 5、查看當前系統每IP串連數netstat -n | awk ‘/^tcp/ {print $5}‘| awk -F: ‘{print $1}‘ | sort | uniq -c | sort -rn6、shell下32位隨機密碼產生mkpasswd -l 327、統計出apache的access.log中訪問量最多的5個IPawk ‘{print $1}‘access.log|sort -n |uniq -c |sort -nr |head -58、如何查看二進位檔案的內容xxd filename9、ps aux 中VSZ代表什麼意思 RSS代表什麼  VSZ表示為進程分配的虛擬記憶體,RSS表示進程實際使用的實體記憶體10、檢測並修複/dev/hda5fsck -y /dev/hda511、Linux開機啟動順序bios自檢 - MBR引導 - 載入核心 - 運行init - 系統初始化 - 建立終端 - 登陸系統12、符號連結和永久連結的區別符號連結可以連結檔案或者目錄,但永久連結不可以連結目錄;符號連結可以跨檔案系統跨分區,但永久連結不可以;符號連結是一個捷徑,永久連結是inode的資訊複製;13、儲存當前磁碟分割的分區表dd if=/dev/sda1 of=/mbr.bak  bs=446 count=115、手動安裝grubgrun-install /dev/sda16、改核心參數vim  /etc/sysctl.conf17、在1-39內取隨機數echo $[$RANDOM%39]18、限定apache每秒鐘串連數為1,峰值為3# iptables -A INPUT -d 172.16.100.1 -p tcp --dport 80 -m limit --limit 1/second --limit-burst 3 -j ACCEPT19、FTP主動與被動模式PORT(主動)方式的串連過程是:用戶端向伺服器的FTP連接埠(預設是21)發送串連請求,伺服器接受串連,建立一條命令鏈路。當需要傳送資料時,用戶端在命令鏈路上用PORT 命令告訴伺服器:“我開啟了XXXX連接埠,你過來串連我”。於是伺服器從20連接埠向用戶端的 XXXX連接埠發送串連請求,建立一條資料鏈路來傳送資料。     PASV(被動)方式的串連過程是:用戶端向伺服器的FTP連接埠(預設是21)發送串連請求,伺服器接受串連,建立一條命令鏈路。當需要傳送資料時,伺服器在命令鏈路上用PASV 命令告訴用戶端:“我開啟了XXXX連接埠,你過來串連我”。於是用戶端向伺服器的XXXX連接埠 發送串連請求,建立一條資料鏈路來傳送資料。從上面可以看出,兩種方式的命令鏈路串連方法是一樣的,而資料鏈路的建立方法就完 全不同。20、顯示/etc/inittab中以#開頭,且後面跟一個或多個空白字元,而後又跟了任意非空白字元的行;grep -E "^#\ +.*$" /etc/inittab grep "^# \{1,\}[^ ]" /etc/inittab21、顯示/etc/inittab中包含了:一個數字:(即兩個冒號中間一個數字)的行;grep ‘:[0-9]:‘ /etc/inittab22、怎麼把自己寫的指令碼添加到服務裡面,即可以使用service命令來調用    #!/bin/bash    # chkconfig: - 90 10    # description: just a test    echo "Hello,$1"    # mv test /etc/init.d/    # chmod +x /etc/init.d/test    # chkconfig --add test    # service test start 23、寫一個指令碼,實現大量新增20個使用者,使用者名稱為user1-20,密碼為user後面跟5個隨機字元#! /bin/bashfor i in `seq 1 20`; do    usern="user$i"    pas1=`mkpasswd -s 0 -d 1 -l 5`    pas2=user$pas1    useradd $usern    echo -e "$pas2\n$pas2\n" |passwd $userndone24、寫一個指令碼,實現判斷192.168.1.0/24網路裡,當前線上的IP有哪些,能ping通則認為線上#! /bin/bashfor i in `seq 1 255`; do    ip="192.168.1.$i"    echo $ip    los_pk=`ping -c 4 $ip |grep ‘packet loss‘ |awk ‘{print $6}‘ |cut -d% -f1`    if [ $los_pk -eq 0 ]; then        echo "$ip online"    else        echo "$ip not online"    fidone25、寫一個指令碼,判斷一個指定的指令碼是否是語法錯誤;如果有錯誤,則提醒使用者鍵入Q或者q無視錯誤並退出其它任何鍵可以通過vim開啟這個指定的指令碼;#! /bin/bashscript_f="./3.sh"sh -n $script_f >/dev/null 2>/dev/nulln=`echo $?`if [ $n -ne 0 ]; then    read -p "The script is a bad file, tap "q" or "Q" for quit or tap other key to edit the file." key    if [ $key == ‘q‘ -o $key == ‘Q‘ ]    then        exit    else        vim $script_f    fifi26、寫一個指令碼:1、建立一個函數,能接受兩個參數:1)第一個參數為URL,即可下載的檔案;第二個參數為目錄,即下載後儲存的位置;2)如果使用者給的目錄不存在,則提示使用者是否建立;如果建立就繼續執行,否則,函數返回一個51的錯誤值給呼叫指令碼;3)如果給的目錄存在,則下載檔案;下載命令執行結束後測試檔案下載成功與否;如果成功,則返回0給呼叫指令碼,否則,返回52給呼叫指令碼;#! /bin/bashfunction download() {    url=$1    dir=$2    while :; do    if [  -d $dir ]; then        cd $dir        wget $url        n=`echo $?`        if [ $n -eq 0 ]; then            return 0        else            return 52        fi    else        read -p "The directory is not exist, create or not? Y/N" k        if [ $k == ‘Y‘ -o $k == ‘y‘ ]; then            mkdir -p $dir            continue        else            return 51        fi    fi    done}download  http://www.lishiming.net/1forum.php 12327、寫一個指令碼:1、建立一個函數,可以接受一個磁碟裝置路徑(如/dev/sdb)作為參數;在真正開始後面步驟之前提醒使用者有危險,並讓使用者選擇是否繼續;   而後將此磁碟裝置上的所有分區清空(提示,使用命令dd if=/dev/zero of=/dev/sdb bs=512 count=1實現,注意其中的裝置路徑不要寫錯了   ;如果此步驟失敗,返回67給主程式;   接著在此磁碟裝置上建立兩個主要磁碟分割,一個大小為100M,一個大小為1G;如果此步驟失敗,返回68給主程式;   格式化此兩分區,檔案系統類型為ext3;如果此步驟失敗,返回69給主程式;   如果上述過程都正常,返回0給主程式;2、調用此函數;並通過接收函數執行的傳回值來判斷其執行情況,並將資訊顯示出來;#! /bin/bashfunction disk() {    read -p "Input the device you want to format. " dev    read -p "Waring! It will be format the device $dev, and the data on $dev will be deleted, are you sure to do this? Y/N " k    while :; do        if [ $k == ‘N‘ -o $k == ‘n‘ ]; then            exit        elif [ $k == ‘Y‘ -o $k == ‘y‘ ]; then            dd if=/dev/zero of=$dev bs=512 count=1            n1=`echo $?`            if [ $n1 -ne 0 ]; then                return 67            else                echo -e "n\np\n1\n1\n+100M\nn\np\n2\n\n+1G\nw\nquit\n" |fdisk $dev                n2=`echo $?`                if [ $n2 -ne 0 ]; then                    return 68                else                    mkfs.ext3 /dev/sdb1 && mkfs.ext3 /dev/sdb2                    n3=`echo $?`                    if [ $n3 == 0 ]; then                        return 0                    else                        return 69                    fi                fi            fi        else            continue        fi    done}diskn4=`echo $?`if [ $n4 == 67 ]; then    echo "Delete the partition table error."elif [ $n4 == 68 ]; then    echo "Reinstall the partition table error."elif [ $n4 == 69 ]; then    echo "Format the patition error."else    echo "The whole opration is successful!"fi


本文出自 “Linux_Config” 部落格,請務必保留此出處http://jialiang1026.blog.51cto.com/10119067/1632292

價值10k的Linux面試題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.