最強Linux和Mysql面試題套餐,讓你的面試無懈可擊!

引言:

大家好,我是一菲,在軟件測試當中linux 操作系統和Mysql數據庫的內容是十分的知識同時也是十分重要的。所以一菲這兩天通過查閱資料等其他方式爲大家梳理了liunx和Mysql面試題大禮包,我想我真的很用心了,看完這篇文章可能需要10分鐘的樣子,大家要做好心理準備。

最強Linux和Mysql面試題套餐,讓你的面試無懈可擊!

正文:

一. Linux面試題

1.Linux的文件系統目錄配置

要遵循FHS規範,規範定義的兩級目錄規範如下:
/home 每個賬號在該目錄下都有一個文件夾,進行數據的管理
/usr 有點像windows的program files和winNT結合的目錄,主要包括系統的主要程序、本機端額外安裝的軟件、圖形接口所需要的文檔、額外的函數庫、共享目錄與文件等
/bin /usr/bin /usr/local/bin 存放執行擋 如可執行的指令等
/boot 存放linux開機會用到的文件
/dev 存放linux的任何裝置和接口設備文檔
/etc 存放系統設定文檔 如賬號密碼文件、各種服務的起始檔等
/lib /usr/lib /usr/local/lib 系統使用的函數庫放置的目錄
/mnt /media 是軟盤和光盤預設掛載點的地方
/opt 主機額外安裝軟件所擺放的目錄
/proc 該目錄是一個虛擬檔案系統,他放置的數據都是在內存中,所 以本身不佔用任何的硬盤空間
/root 系統管理員的家目錄
/sbin /usr/sbin /usr/local/sbin 放置一些只有系統管理員才能動用 的執行指令
/srv 一些服務啓動之後,這些服務所需要取用的數據目錄
/tmp 讓一般使用者或者正在執行的程序暫時放置檔案的地方
/var 主要針對系統執行過程中,常態性變動檔案放置的目錄
文檔的路徑有:絕對路徑 (absolute) 與相對路徑 (relative)。
絕對路徑爲:由根目錄 (/) 開始寫起的文件名或目錄名稱
相對路徑爲相對於目前路徑的文件名寫法。 ./表示相對當前路徑,…/表示相對於上一級目錄的路徑,代表home目錄,account代表當前賬號的home目錄)

















2.文件系統命令

Linux的文件系統採用異步的方式,對文件的修改不會馬上寫入磁盤,一般可以人爲的使用sync命令進行手動的數據同步到磁盤

(1) linux可以掛載很多文件系統,查看命令
cat /proc/filesystems

(2) 查看目錄的使用情況命令
df -h //以G爲單位查看
df -m //以M爲單位查看

3.查看文件或目錄大小

du -sh

4.目錄的切換命令

cd …
cd ~
cd /home
cd ./home


5.打印當前的路徑

pwd

  1. 創建目錄

mkdir (-m 參數可以預設權限 -p參數可以遞歸的創建目錄)

7.刪除目錄

rmdir(只能刪除空目錄)
如果連同內容都刪除採用 rm -rf 命令

  1. 文檔的查詢

ls -al

  1. 文檔的複製

cp src des 若複製文件夾,加上-r參數

10.文件的刪除

rm -rf file

  1. 文檔的移動

mv file desdir

12.文檔重命名

mv desdir desdir2

13.取文件名

basename

14.取得路徑名

dirname

15.文檔內容的查閱

cat -n :顯示文件所有內容,-n表示打印行號

16.文件內容的擷取

head tail
head [-n number] file //顯示file的前number行
tail [-n number] file //顯示ifle的後number行

  1. 文件時間

linux的文檔有三個時間mtime(修改時間), atime(訪問時間),ctime(狀態修改時間)
touch命令可以用於創建新文檔或者修改linux文檔的時間

18.linux文檔的搜索

whereis locate(這兩者是直接搜索數據庫,速度快) find(搜索硬盤,速度較慢,但數據最齊全) which(用來搜索執行擋$Path設置的目錄)
which ls
whereis file //找出file的位置
locate file//查找所有目錄下的文件
find file//查看當前目錄下的所有文件



19.同時顯示兩個文件的差異

diff -c file1 file2
以並列的方式顯示兩個文件的差異
diff -y file1 file2

20.文檔鏈接

軟連接:源文件消失,目的文件也消失
硬連接: 其中一個修改,另一個也修改,但刪除源文件時,目的文件不刪除
In file1 file2 //建立file1的鏈接,命名爲file2
In -s file1 file2 //建立file1的軟連接


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

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


  1. 怎麼查看當前進程?怎麼執行退出?怎麼查看當前路徑?

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

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

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






  1. Ls 命令執行什麼功能? 可以帶哪些參數,有什麼區別?

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

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

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

26…目錄創建用什麼命令?創建文件用什麼命令?複製文件用什麼命令?

創建目錄: mkdir
創建文件:典型的如 touch,vi 也可以創建文件,其實只要向一個不存在的文件輸出,都會創建文件
複製文件: cp 7. 文件權限修改用什麼命令?格式是怎麼樣的?
文件權限修改: chmod


格式如下:
chmod 751 file 給 file 的屬主分配讀、寫、執行(7)的
權限,給 file 的所在組分配讀、執行(5)的權限,給其他用戶分配執行(1)的權限
chmod =r file 爲所有用戶分配讀權限
chmod a-wx,a+r file
同上例
$ chmod -R u+r directory 遞歸地給 directory 目錄下所有文件和子目錄的屬主分配讀的權限





  1. 查看文件內容有哪些命令可以使用?

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

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

寫文件命令:vi

29.終端是哪個文件夾下的哪個文件?黑洞文件是哪個文件夾下的哪個命令?

/dev/tty /dev/null

  1. 移動文件用哪個命令?改名用哪個命令?

mv mv

  1. 複製文件用哪個命令?如果需要連同文件夾一塊複製呢?如果需要有提示功能呢?

cp cp -r ????

  1. 刪除文件用哪個命令?如果需要連目錄及目錄下文件一塊刪除呢?刪除空文件夾用什麼命令?

rm rm -r rmdir

  1. Linux 下命令有哪幾種可使用的通配符?分別代表什麼含義?

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

  1. 用什麼命令對一個文件的內容進行統計?(行號、單詞數、字節數)
    wc 命令 - c 統計字節數。

l 統計行數。 - w 統計字數。

35.Grep 命令有什麼用? 如何忽略大小寫? 如何查找不含該串的行?

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

36.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死掉的進程








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

ps -ef (system v 輸出) ps -aux bsd 格式輸出
ps -ef | grep pid

39.哪個命令專門用來查看後臺任務?

job -l

40.終止進程用什麼命令? 帶什麼參數?

kill -9 pid

41.怎麼查看系統支持的所有信號?

kill -l

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

find dir -name “string*”

43.查看當前誰在使用該主機用什麼命令? 查找自己所在的終端信息用什麼命令?

w 用戶名稱;用戶的機器名稱或 tty 號;遠程主機地址;用戶登錄系統的時間;空閒時間(作用不大);
附加到 tty(終端)的進程所用的時間(JCPU 時間);當前進程所用時間(PCPU時間);用戶當前正在使用的命令.
who 用戶名、tty 號、時間日期、主機地址
whoami,id -un 命令用於顯示登入的用戶名
last 命令可用於顯示特定用戶登錄系統的歷史記錄(last jason):用戶名稱;tty 設備號;歷史登錄時間日期;登出時間日期;總工作時間.
查找自己所在終端信息:who am i




44.使用什麼命令查看用過的命令列表?

history

45.使用什麼命令查看磁盤使用空間? 空閒空間呢?

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


46.使用什麼命令查看網絡是否連通?

netstat

47…使用什麼命令查看 ip 地址及接口信息?

ifconfig

48.查看各類環境變量用什麼命令?

查看所有 env 查看某個,如 home: env $HOME
最強Linux和Mysql面試題套餐,讓你的面試無懈可擊!

在這裏推薦一個軟件測試交流羣,QQ:642830685,羣中會不定期的分享軟件測試資源,測試面試題以及測試行業資訊。大家可以在羣中積極技術,還有大佬爲你答疑解惑。

二.Mysql面試題

  1. 開啓MySQL服務

service mysqld start

/init.d/mysqld start

safe_mysql &

關閉mysql****服務

service mysqld stop

/etc/init.d/mysqld stop

mysqladmin -uroot -p123456 shutdown

  1. 檢測端口是否運行

lsof -i:3306

netstat -tunlp|grep 3306

ss -tulnp|grep 3306

  1. 爲MySQL設置密碼或者修改密碼。

方法一

mysqladmin -u root -p123456 password ‘abc123’ #比較常用

方法二(sql語句修改)

update mysql.user set password=password(123456) where user=‘root’ and host=‘localhost’;

flush privileges;

方法三(sql語句修改)

set password=password(‘abc123’);

  1. 登陸MySQL數據庫。

單實例登陸

mysql -uroot -p123456

多實例登陸

mysql -uroot -p123456 -S /data/3306/mysql.sock

5.查看當前數據庫的字符集

mysql> show variables like “%charac%”;

6.查看當前數據庫版本

mysql -V
mysql> select version();

  1. 查看當前登錄的用戶。

mysql> select user();

查看T1數據庫中有哪兒些表

mysql> use T1;

mysql> show tables;

8.創建GBK字符集的數據庫oldboy,並查看已建庫完整語句

mysql> create database oldboy default character set gbk;

mysql> show create database oldboy;

  1. 創建用戶oldboy,使之可以管理數據庫oldboy

mysql> grant select,update,insert,delete,alter on oldboy.* to oldboy@‘localhost’ identified by ‘123456’;

10.查看創建的用戶oldboy擁有哪些權限

mysql> show grants for oldboy@‘localhost’;

  1. 查看當前數據庫裏有哪些用戶

mysql> select user,host from mysql.user;

  1. 進入oldboy數據庫

mysql> use oldboy();

13… 查看建表結構及表結構的SQL語句

mysql> desc test;

mysql> show create table test\G

mysql> update test set name=‘oldgirl’ where id=1;

  1. 在字段name前插入age****字段,類型tinyint(2)

mysql> alter table test add age tinyint(2) after id;

15… 不退出數據庫,完成備份oldboy數據庫

mysql> system mysqldump -uroot -p123456 -B -x -F --events oldboy >/opt/bak.sql

16.刪除test表中的所有數據,並查看

mysql> delete from test;

  1. 刪除表test和oldboy****數據庫並查看

mysql> drop table test;

mysql> drop database oldboy;

18. 不退出數據庫恢復以上刪除的數據

mysql> system mysql -uroot -p123456 </opt/bak.sql

19.把庫表的GBK字符集修改爲UTF8

mysql> alter database oldboy default character set utf8;

mysql> alter table test default character set utf8;

  1. 把id列設置爲主鍵,在Name****字段上創建普通索引。

mysql> alter table test add primary key(id);

方法一:

mysql> alter table test add index index_name(name);

方法二:

mysql> create index index_name on test(name);

  1. 在字段name後插入手機號字段(shouji),類型char(11)。

mysql> alter table test add shouji char(11) after name;

  1. 所有字段上插入2條記錄(自行設定數據)

mysql> insert into test (id,age,name,shouji) values (‘4’,‘27’,‘wangning’,‘13833573773’);

mysql> insert into test (id,age,name,shouji) values (‘5’,‘30’,‘litao’,‘13833573773’);

  1. 在手機字段上對前8個字符創建普通索引

方法一:

mysql> alter table test add index index_shouji(shouji(8));

方法二:

mysql> create index index_shouji on test(shouji(8));

24.1 添加主鍵索引

mysql> alter table test add primary key id_name(id)

25. 查看創建的索引及索引類型等信息。

mysql> show index from test\G

  1. 刪除Name,shouji****列的索引。

mysql> alter table test drop index index_name;

mysql> alter table test drop index index_shouji;

27對Name列的前6個字符以及手機列的前8個字符組建聯合索引。

mysql> create index index_name_shouji on test(name(6),shouji(8));

  1. 查詢手機號以135開頭的,名字爲oldboy****的記錄(提前插入)。

mysql> select * from test where name=‘oldboy’ and shouji like “135%”;

29. 查詢上述語句的執行計劃(是否使用聯合索引等)。

mysql> explain select * from test where name=“oldboy” and shouji like “135%”\G

  1. 把test表的引擎改成MyISAM

mysql> alter table test engine=myisam; #myisam不區分大小寫

  1. 收回oldboy用戶的select****權限。

mysql> revoke select on oldboy.* from oldboy@‘localhost’;

  1. 刪除oldboy用戶。

mysql> drop user oldboy@‘localhost’;

  1. 刪除oldboy數據庫。

mysql> drop database oldboy;

  1. 使用mysqladmin關閉數據庫。

mysqladmin -uroot -p123456 shutdown

  1. MySQL密碼丟了,請找回?

pkill mysql #先關閉mysql服務
使用–skip-grant-tables啓動mysql,忽略授權登陸驗證
mysqld_safe --defaults-file=/etc/my.cnf --skip-grant-tables &
mysql #此時再登陸,已經不需要密碼了
mysql> update mysql.user set password=password(‘abc123’) where user=‘root’ and host=“localhost”; #設置新的密碼



mysql> flush privileges;

mysql -uroot -pabc123 #再次用新設置的密碼登陸即可

MySQL運維基礎知識面試問答題

36.請解釋關係型數據庫概念及主要特點?

概念:

關係型數據庫是支持採用了關係模型的數據庫,簡單來說,關係模型就是指二維表模型,而一個關係數據庫就是由二維表及其之間的聯繫所組成的一個數據組織。

特點:

最大的特點就是事務的一致性。

優點:容易理解、使用方便、易於維護、支持SQL。

缺點:

高併發讀寫需求:網站的用戶併發非常高,往往達到每秒上萬次讀寫請求,對於傳統關係型數據庫來說,硬盤I/O是一個很大的瓶頸。

海量數據的高效讀寫:對於數據量巨大的網站來說,關係型數據庫的查詢效率非常低。

三.寫在最後:

在這裏推薦一個我自己創建的軟件測試交流羣,QQ:642830685,羣中會不定期的分享軟件測試資源,測試面試題以及行業資訊,大家可以在羣中積極交流技術,還有行業大佬爲你答疑解惑。

最強Linux和Mysql面試題套餐,讓你的面試無懈可擊!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章