Linux面試題


  1. 絕對路徑用什么符號表示?當前目錄、上層目錄用什么表示?主目錄用什么表示? 切換目錄用什么命令?

    答案:
    絕對路徑:如/etc/init.d
    當前目錄和上層目錄:./ ../
    主目錄:~/
    切換目錄:cd

  2. 怎么查看當前進程?怎么執行退出?怎么查看當前路徑?

    答案:
    查看當前進程:ps
    執行退出:exit
    查看當前路徑:pwd

  3. 怎么清屏?怎么退出當前命令?怎么執行睡眠?怎么查看當前用戶 id?查看指定幫助用什么命令?

    清屏:clear
    退出當前命令:ctrl+c 徹底退出
    執行睡眠 :ctrl+z 掛起當前進程fg 恢復后台
    查看當前用戶 id:”id“:查看顯示目前登陸賬戶的 uid 和 gid 及所屬分組及用戶名
    查看指定幫助:如 man adduser 這個很全 而且有例子;adduser --help 這個告訴你一些常用參數;info adduesr;

  4. ls 命令執行什么功能?可以帶哪些參數,有什么區別?

    答案:
    ls 執行的功能:列出指定目錄中的目錄,以及文件
    哪些參數以及區別:a 所有文件l 詳細信息,包括大小字節數,可讀可寫可執行的權限等

  5. 建立軟鏈接(快捷方式),以及硬鏈接的命令。

    答案:
    軟鏈接:ln -s slink source
    硬鏈接:ln link source

  6. 目錄創建用什么命令?創建文件用什么命令?復制文件用什么命令?

    創建目錄:mkdir
    創建文件:典型的如 touch,vi 也可以創建文件,其實只要向一個不存在的文件輸出,都會創建文件

    復制文件:cp

  7. 文件權限修改用什么命令?格式是怎么樣的?
    文件權限修改:chmod
    格式如下:

    $ chmod u+x file 給 file 的屬主增加執行權限
    $ chmod 751 file 給 file 的屬主分配讀、寫、執行(7)的權限,給 file 的所在組分配讀、執行(5)的權限,給其他用戶分配執行(1)的權限
    $ chmod u=rwx,g=rx,o=x file 上例的另一種形式
    $ chmod =r file 為所有用戶分配讀權限
    $ chmod 444 file 同上例
    $ chmod a-wx,a+r file同上例
    $ chmod -R u+r directory 遞歸地給 directory 目錄下所有文件和子目錄的屬主分配讀的權限
    
  8. 查看文件內容有哪些命令可以使用?

    答案:
    vi 文件名 #編輯方式查看,可修改
    cat 文件名 #顯示全部文件內容
    more 文件名 #分頁顯示文件內容
    less 文件名 #與 more 相似,更好的是可以往前翻頁
    tail 文件名 #僅查看尾部,還可以指定行數
    head 文件名 #僅查看頭部,還可以指定行數

  9. 隨意寫文件命令?怎么向屏幕輸出帶空格的字符串,比如”hello world”?

    寫文件命令:vi

    向屏幕輸出帶空格的字符串:echo hello world

  10. 終端是哪個文件夾下的哪個文件?黑洞文件是哪個文件夾下的哪個命令?
    答案:
    終端 /dev/tty

    黑洞文件 /dev/null

  11. 移動文件用哪個命令?改名用哪個命令?
    答案:
    移動文件可以使用mv

    改名可以使用cp和mv

  12. 復制文件用哪個命令?如果需要連同文件夾一塊復制呢?如果需要有提示功能呢?
    答案:
    cp

    cp -r ????

  13. 刪除文件用哪個命令?如果需要連目錄及目錄下文件一塊刪除呢?刪除空文件夾用什么命令?
    答案:
    rm

    rm -r

    rmdir

  14. Linux 下命令有哪幾種可使用的通配符?分別代表什么含義?
    答案:
    “?”可替代單個字符。

    “*”可替代任意多個字符。

    方括號“[charset]”可替代 charset 集中的任何單個字符,如[a-z],[abABC]

  15. 用什么命令對一個文件的內容進行統計?(行號、單詞數、字節數)
    答案:

    wc 命令

    • c 統計字節數
    • l 統計行數
    • w 統計字數。
  16. grep 命令有什么用?如何忽略大小寫?如何查找不含該串的行?

    答案:
    是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹配的行打印出來。
    grep [stringSTRING] filename

    grep [^string] filename

  17. Linux 中進程有哪幾種狀態?在 ps 顯示出來的信息中,分別用什么符號表示的?

    答案:
    (1)、不可中斷狀態:進程處於睡眠狀態,但是此刻進程是不可中斷的。不可中斷, 指進程不響應異步信號。
    (2)、暫停狀態/跟蹤狀態:向進程發送一個 SIGSTOP 信號,它就會因響應該信號 而進入 TASK_STOPPED 狀態;當進程正在被跟蹤時,它處於 TASK_TRACED 這個特殊的狀態。
    “正在被跟蹤”指的是進程暫停下來,等待跟蹤它的進程對它進行操作。

    (3)、就緒狀態:在 run_queue 隊列里的狀態

    (4)、運行狀態:在 run_queue 隊列里的狀態
    (5)、可中斷睡眠狀態:處於這個狀態的進程因為等待某某事件的發生(比如等待 socket 連接、等待信號量),而被掛起
    (6)、zombie 狀態(僵屍):父親沒有通過 wait 系列的系統調用會順便將子進程的屍體(task_struct)也釋放掉
    (7)、退出狀態

    • D 不可中斷 Uninterruptible(usually IO)
    • R 正在運行,或在隊列中的進程
    • S 處於休眠狀態
    • T 停止或被追蹤
    • Z 僵屍進程
    • W 進入內存交換(從內核 2.6 開始無效)
    • X 死掉的進程
  18. 怎么使一個命令在后台運行?

    答案:
    一般都是使用 & 在命令結尾來讓程序自動運行。(命令后可以不追加空格)

  19. 利用 ps 怎么顯示所有的進程? 怎么利用 ps 查看指定進程的信息?

    答案:
    ps -ef (system v 輸出)

    ps -aux bsd 格式輸出

    ps -ef | grep pid

  20. 哪個命令專門用來查看后台任務?

    答案:

    job -l

  21. 把后台任務調到前台執行使用什么命令?把停下的后台任務在后台執行起來用什么命令?
    答案:
    把后台任務調到前台執行 fg

    把停下的后台任務在后台執行起來 bg

  22. 終止進程用什么命令? 帶什么參數?

    答案:

    kill [-s <信息名稱或編號>][程序] 或 kill [-l <信息編號>]

    kill-9 pid

  23. 怎么查看系統支持的所有信號?

    答案:

    kill -l

  24. 搜索文件用什么命令? 格式是怎么樣的?

    答案:

    find <指定目錄> <指定條件> <指定動作>

    whereis 加參數與文件名

    locate 只加文件名

    find 直接搜索磁盤,較慢。

    find / -name "string*"

  25. 查看當前誰在使用該主機用什么命令? 查找自己所在的終端信息用什么命令?
    答案:
    查找自己所在的終端信息:who am i

    查看當前誰在使用該主機:who

  26. 使用什么命令查看用過的命令列表?

    答案:

    history

  27. df -hl
    文件系統 容量 已用 可用 已用% 掛載點
    Filesystem Size Used Avail Use% Mounted on /dev/hda2 45G 19G 24G 44% /
    /dev/hda1 494M 19M 450M 4% /boot

  28. 使用什么命令查看網絡是否連通?
    答案:
    netstat

  29. 使用什么命令查看 ip 地址及接口信息?

    答案:

    ifconfig

  30. 查看各類環境變量用什么命令?

    答案:

    查看所有 env
    查看某個,如 home:env $HOME

  31. 通過什么命令指定命令提示符?

    • \u:顯示當前用戶賬號
    • \h:顯示當前主機名
    • \W:只顯示當前路徑最后一個目錄
    • \w:顯示當前絕對路徑(當前用戶目錄會以~代替)
    • $PWD:顯示當前全路徑
    • \(:顯示命令行’\)'或者’#'符號
    • \#:下達的第幾個命令
    • \d:代表日期,格式為week day month date,例如:"MonAug1"
    • \t:顯示時間為24小時格式,如:HH:MM:SS
    • \T:顯示時間為12小時格式
    • \A:顯示時間為24小時格式:HH:MM
    • \v:BASH的版本信息 如export PS1=’[\u@\h\w#]$‘
  32. 查找命令的可執行文件是去哪查找的? 怎么對其進行設置及添加?

    答案:

    whereis [-bfmsu][-B <目錄>...][-M <目錄>...][-S <目錄>...][文件...]

    補充說明:whereis 指令會在特定目錄中查找符合條件的文件。這些文件的烈性應屬於原始代碼,二進制文件,或是幫助文件。

    • b 只查找二進制文件。
    • B<目錄> 只在設置的目錄下查找二進制文件。-f 不顯示文件名前的路徑名稱。
    • m 只查找說明文件。
    • M<目錄> 只在設置的目錄下查找說明文件。-s 只查找原始代碼文件。
    • S<目錄> 只在設置的目錄下查找原始代碼文件。-u 查找不包含指定類型的文件。
      which 指令會在 PATH 變量指定的路徑中,搜索某個系統命令的位置,並且返回第一個搜索結果。
    • n 指定文件名長度,指定的長度必須大於或等於所有文件中最長的文件名。
    • p 與-n 參數相同,但此處的包括了文件的路徑。-w 指定輸出時欄位的寬度
    • V 顯示版本信息
  33. 通過什么命令查找執行命令?
    答案:
    which 只能查可執行文件

    whereis 只能查二進制文件、說明文檔,源文件等

  34. 怎么對命令進行取別名?
    答案:
    alias la='ls -a'

  35. du 顯示目錄或文件的大小

    df 顯示每個<文件>所在的文件系統的信息,默認是顯示所有文件系統。
    (文件系統分配其中的一些磁盤塊用來記錄它自身的一些數據,如 i 節點,磁盤分布圖,間接塊,超級塊等。這些數據對大多數用戶級的程序來說是不可見的,通常稱為 Meta Data。) du 命令是用戶級的程序,它不考慮 Meta Data,而 df 命令則查看文件系統的磁盤分配圖並考慮 Meta Data。
    df 命令獲得真正的文件系統數據,而 du 命令只查看文件系統的部分情況。

  36. awk 詳解。

    答案

    awk '{pattern + action}' {filenames}
    #cat /etc/passwd |awk -F ':' '{print $1"\t"$7}' //-F 的意思是以':'分隔 root /bin/bash
    daemon /bin/sh 搜索/etc/passwd 有 root 關鍵字的所有行
    
    #awk -F: '/root/' /etc/passwd root:x:0:0:root:/root:/bin/bash
    
  37. 當你需要給命令綁定一個宏或者按鍵的時候,應該怎么做呢?

    答案:

    可以使用bind命令,bind可以很方便地在shell中實現宏或按鍵的綁定。

    在進行按鍵綁定的時候,我們需要先獲取到綁定按鍵對應的字符序列。

    比如獲取F12的字符序列獲取方法如下:先按下Ctrl+V,然后按下F12 .我們就可以得到F12的字符序列 ^[[24~。

    接着使用bind進行綁定。

    [root@localhost ~]# bind ‘”\e[24~":"date"'

    注意:相同的按鍵在不同的終端或終端模擬器下可能會產生不同的字符序列。

    【附】也可以使用showkey -a命令查看按鍵對應的字符序列。

  38. 使用命令compgen ­-c,可以打印出所有支持的命令列表。

    [root@localhost ~]$ compgen -c
    l.
    ll
    ls
    which
    if
    then
    else
    elif
    fi
    case
    esac
    for
    select
    while
    until
    do
    done
    …
    
  39. 使用Linux 命令dirs可以將當前的目錄棧打印出來。

    [root@localhost ~]# dirs
    /usr/share/X11
    

    【附】:目錄棧通過pushd popd 來操作。

  40. 你的系統目前有許多正在運行的任務,在不重啟機器的條件下,有什么方法可以把所有正在運行的進程移除呢?

    答案:

    使用linux命令 ’disown -r ’可以將所有正在運行的進程移除。

  41. bash shell 中的hash 命令有什么作用?

    答案:

    linux命令’hash’管理着一個內置的哈希表,記錄了已執行過的命令的完整路徑, 用該命令可以打印出你所使用過的命令以及執行的次數。

    [root@localhost ~]# hash
    hits command
    2 /bin/ls
    2 /bin/su
    
  42. 哪一個bash內置命令能夠進行數學運算。

    答案:

    bash shell 的內置命令let 可以進行整型數的數學運算。

    #! /bin/bash
    …
    …
    let c=a+b
    …
    …
    
  43. 怎樣一頁一頁地查看一個大文件的內容呢?

    答案:

    通過管道將命令”cat file_name.txt” 和 ’more’ 連接在一起可以實現這個需要.

    [root@localhost ~]# cat file_name.txt | more

  44. 數據字典屬於哪一個用戶的?

    答案:

    數據字典是屬於’SYS’用戶的,用戶‘SYS’ 和 ’SYSEM’是由系統默認自動創建的

  45. 怎樣查看一個linux命令的概要與用法?假設你在/bin目錄中偶然看到一個你從沒見過的的命令,怎樣才能知道它的作用和用法呢?

    答案:

    使用命令whatis 可以先出顯示出這個命令的用法簡要,比如,你可以使用whatis zcat 去查看‘zcat’的介紹以及使用簡要。

    [root@localhost ~]# whatis zcat
    zcat [gzip] (1) – compress or expand files
    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM