1、Linux操做系統知識html
1.常見的Linux發行版本都有什麼?你最擅長哪個?它的官網網站是什麼?說明你擅長哪一塊?node
答:RHEL、CentOS、烏班圖、紅旗、debian等。我是從centos6.6打基礎的,www.centos.org。(7月4號我去面試,面試官問我:「你對Linux內核哪部分最熟悉?」,我一時懵逼答的進程管理。我特麼哪塊都不擅長啊!下次再被問到說iptables)mysql
##類Unix有:FreeBSD 、HP-UX、AIX、solarislinux
2.Linux開機啓動流程詳細步驟是什麼?系統安裝完,忘記密碼如何破解?面試
答:BIOS加電自檢,決定從硬盤、光驅、仍是從網絡中啓動——讀取MBR,加載boot-loader——出現grub菜單、加載內核——啓動初始進程init,讀取/etc/inittab文件決定從哪一個運行級別驅動——偵測硬件,加載驅動程序——硬件完成後,開始執行/etc/rc.sysinit,準備系統初始化環境,如時區、網絡等——執行該運行級別下的自啓服務——運行/etc/rc.local自啓腳本——運行mingetty程序,出現用戶登陸界面,驗證成功便能使用操做系統啦sql
3.企業中Linux服務器系統分區標準是什麼?(硬盤爲300G,內存16G)shell
答:boot:200MB swap:8G 根分區:60G(20%左右) 家分區:剩下的所有空間(/home 主要用於存放我的數據,要是服務器用戶不少,這個分區得要大)數據庫
##理論上:在小於2GB物理內存的系統中,交換分區大小應該設置爲內存大小的兩倍,若是內存大小多於2GB,交換分區大小應該是物理內存大小加上2GBapache
##生產狀況下,物理內存 交換分區(SWAP)windows
<= 4G 至少4G
4~16G 至少8G
16G~64G 至少16G
64G~256G 至少32G
4.某一天忽然發現Linux系統文件只讀,該怎麼辦呢?完整操做步驟。
答:mount -t ext4 -o romount,rw / ###從新掛載根分區
##若是上面不成功的話,按F2設置光盤啓動進入救援模式(linux rescue)修復,執行"fsck.ext4 -y /dev/sda2" (假如只讀的分區類型爲ext4,分區爲/dev/sda2)
5.安裝一臺系統使用DVD光盤安裝,如何安裝50臺Linux系統如何安裝呢?思考一下。
答:kickstart無人值守安裝,須要配置apache、tftp、PXE、DHCP等服務
6.用虛擬機安裝了一臺Linux系統,忽然想克隆一臺服務器,克隆後發現沒法上網,如何解決?
答:首先點擊VMWARE的虛擬網絡編輯器,移除全部VMNET,從新添加VMNET0,設置爲橋接模式,再把虛擬機操做系統的網卡設置橋接便可。(親身感覺,可能由於物理主機沒有長時間關機有關,重啓一下試試)
##克隆後的地址衝突也是一個緣由
7.Linux網卡配置文件路徑是什麼?要使服務器上外網,必須知足的條件有哪些?須要配置什麼?
答:在Centos 7如下是/etc/sysconfig/network-scripts/ifcfg-eth0,IP地址、子網掩碼、網關、DNS服務器或者hosts文件記錄
8.通常可使用什麼軟件遠程linux服務器?經過什麼上傳文件和下載文件?
答:軟件:putty、secure-CRT、xshell、VNC(圖形化)。 windows和Linux互傳文件能夠用winscp,Linux與Linux互傳文件使用scp命令,也能夠搭建FTP服務器
9./mnt目錄主要用於什麼?/root目錄跟root用戶有什麼關係?/根目錄與/boot目錄有什麼聯繫?
答:/mnt主要用來掛載外部設備,/root根目錄是root用戶的家目錄,/boot目錄是/根目錄的子目錄
10.某一天誤操做,執行了rm??-rf??* ,會有哪些狀況發生?請舉例。
答:文件被完全乾掉,很難恢復。嚴重點系統癱瘓,數據所有丟失
2、Linux命令及文件操做
1.在/tmp/目錄下建立test.txt文件,內容爲: Hello,World! ,用一個命令寫出來。
答:cd /tmp | echo "Hello,World" > test.txt
2.給test.txt文件除全部者以外增長執行權限,最終以數字寫出文件的權限。
答:chmod 655 test.txt ##普通文件默認權限爲655
3.用vi命令編輯test.txt,如何跳轉到末行,首行,行首、行末,如何在光標行下一行插入,如何複製5行,刪除10行,查找jingfeng的字符、把jingfeng替換爲jfedu.NET
答:末行:G 首行:gg 行首:^ 行尾:$ 光標下插入一行: o 複製5行:5yy(包括當前行)
刪除10行:10dd(包括當前行) 替換::%s/jingfeng/jfedu.Net/g
4.查找linux系統下以txt結尾,30天沒有修改的文件大小大於20K同時具備執行權限的文件並備份到/data/backup/目錄下。
答:find / -name *txt -mtime +30 -type f -size +20k -perm a=x -exec cp {} /data/backup/ \;
5.當前test.txt所屬的用戶爲root,組爲abc,請將test.txt使擁有者爲abc,組爲root,寫出命令。
答:chown abc.root test.txt ##或者chown abc test.txt ,chgrp root test.txt
6.如何修改Linux啓動級別爲字符模式並永久生效,如何臨時、永久關閉selinux及防火牆,請分別寫出操做方法。
答:vi /etc/inittab ;id:3:initdefault: 臨時關閉selinux:setenforce 0 (permissive),永久:vi /etc/sysconfig/selinux,selinux=disabled
臨時關閉防火牆:service iptables stop。永久關閉防火牆:chkconfig iptables off ##不讓它開機自啓
7.每次開機在/tmp目錄下建立一個當天的日期文件夾(提示:當前日期表示的方法爲:`date +%Y%m%d`)
答:vi /etc/rc.local ,mkdir -p /tmp/`date +%Y%m%d`
8.如何查看文件內容,命令有哪些?查看文件第1行到3行,查看文件最後一行。
答:cat 、more 、less,sed '1,3p' test.txt 或者head -3 test.txt ,最後一行:tail -1 test.txt
9.查看linux服務器IP的命令,同時只顯示包含ip所在的行打印出來。
答:ifconfig ,ifconfig |grep "inet addr:"
10.將普通用戶test加入root組的命令是?
答:usermod -G root test
3、Linux磁盤及軟件管理操做
1.如何添加一塊新的50G硬盤到linux服務器系統做爲單獨的分區,並正在使用?須要哪些操做步驟?
答:fdisk /dev/sdb ,p鍵進行分區,n劃分區號,分區大小能夠默認,w寫入分區表,partprobe可使kernel從新讀取分區信息,從而避免重啓系統
格式化mkfs.ext4 /dev/sdb ,最後vi /etc/fstab, 開機自動掛載
2.有個金士頓U盤,須要往服務器/var/www/html/目錄下上傳一個index.html文件,如何操做並完成。
答:fdisk -l查看U盤所屬盤名,mount -t vfat /dev/sdb mnt/usb , cd /mnt/usb,cp index.html /var/www/html/ (拔優盤的時候以前要umont,不然U盤多半被損壞!)
##用winscp軟件將Windows中U盤的文件,遠程鏈接拷貝到Linux對應目錄中
3.有一塊移動硬盤,上面有300G數據,如何快速cp到linux服務器?
答:???不知道,有人說掛載,這不合題意啊
4.光盤裏面有一個httpd-2.2.15.xx.rpm包,如何掛載並安裝呢?
答:mount /dev/cdrom /mnt/cdron ,cd /mnt/cdrom/Packages,rpm -ivh httpd-2.2.15.xx.rpm
5.使用rpm命令安裝、卸載、更新ntp-0.7.12.x86_64.rpm這個軟包。
答:rpm -ivh ,rpm -e ,rpm -uvh
6./var/www/html/是網站的發佈目錄,如何天天凌晨0點30對其進行自動備份,寫出操做步驟?
答:crontab -e ; 30 0 * * * /bin/cp /var/www/html/* /backup/
##或者crontab -e ;30 0 * * * /bin/tar zcvf /backup/html.tar.gz /var/www/html/* &>/dev/null
7.使用tar命令打包並壓縮/root目錄,而後移動到/tmp下,將其權限設置其餘人只讀。
答:tar zcvf /tmp/root.tar.gz /* ; chmod o=r-- /tmp/root.tar.gz
8.Yum命令與rpm命令的區別?如何使用rpm安裝一個有依賴的包?
答:yum可以解決rpm包安裝的依賴性問題,而且yum是在線安裝,須要配置yum倉庫; rpm -ivh *.rpm --nodeps
##--nodeps就是安裝時不檢查依賴關係,好比你這個rpm須要A,可是你沒裝A,這樣你的包就裝不上,用了--nodeps你就能裝上了。--force就是強制安裝,好比你裝過這個rpm的版本1,若是你想裝這個rpm的版本2,就須要用--force強制安裝
9.在這個月內,天天的早上 6 點到 12 點中,每隔 2 小時建立一個test.txt文件,內容爲ok,如何實現?
答:crontab -e ;0 6-12/2 * * * /bin/echo "ok" >>test.txt
##chkconfig crond on
10.將/usr/local/test目錄下大於100K 的文件轉移到/tmp 目錄下。
答:find /usr/local/test -size +100k -a -type f -exec {} /tmp \;
11.簡述 raid0 raid1 raid5三種工做模式的工做原理及特色。
答:raid0:將數據分佈在全部磁盤中,利用率爲100%,可是沒有冗餘能力,最少須要2塊磁盤
raid1:採用鏡像功能,每份數據都拷貝一份,利用率爲50%,成本過高,冗餘能力好,讀性能佳,最少須要2塊磁盤
raid5:最少須要3塊磁盤,其中兩塊硬盤用來存放數據,另外一塊磁盤用來奇偶校驗碼,當其中一塊磁盤數據丟失,能夠經過奇偶校驗碼進行恢復數據
12.如何查看佔用端口 8080 的進程。
答:lsof -i:8080 ###-i是IPv四、IPv6協議
4、Linux服務配置及管理
1.請寫出 apache2.X 版本的兩種工做模式,以及各自工做原理。如何查看apache 當前所支持的模塊,而且查看是工做在哪一種模式下?
答:prefork:一個進程處理一個請求,root主進程建立若干個子進程後,在請求到來的時候根據須要1秒鐘建立2個進程,再過1秒鐘建立4個子進程,直到知足最終的須要,這種預派生的模式,能夠在請求到來時已經建立好處理進程,從而提升訪問效率
worker:一個進程中的多個線程處理多個請求,因爲線程之間共享地址空間,從而系統消耗比較小,資源利用率高,可是一個線程崩潰會牽連到其餘線程
httpd -M 查看已經使用的模塊,httpd -l查看工做模式(httpd -V也行)
2.Linux下nfs在客戶端沒法掛載,請寫出排查步驟?
答:NFS是網絡通訊的文件系統,在服務端showmout-e查看是否服務端正常共享,客戶端showmount -e IP 看是否能檢測到,檢查配置文件/etc/exports是否正確,
還有ping一下看是否能互通。
3.Linux下已經部署了dhcp服務器,客戶端沒法獲取的IP,如何解決?
答:在客戶端檢查/etc/sysconfig/network-scripts/ifcfg-eth0看BOOTPRO=DHCP與否,ping命令測試客戶端和服務端是否能互通,檢查服務端的配置文件/etc/dhcpd.conf 是否有語法錯誤
4.常見的FTP軟件有哪些?Linux最經常使用的是?如何共享一個資源讓他人使用用戶名和密碼訪問?
答:Serv-U,vsftpd; vi /etc/vsftpd/vsftpd.conf 使anonymous_enable=NO
5.如何禁止FTP使用匿名用戶登陸?命令行如何訪問ftp服務器?
答: vi /etc/vsftpd/vsftpd.conf 使anonymous_enable=NO ;ftp IP地址
6.ApacheWEB服務器的發佈目錄在哪裏?
答:rpm包安裝的httpd服務,靜態網頁是在/var/www/html,動態網頁是在/var/www/cgi-bin
源碼包安裝的httpd服務,網頁是在/usr/local/apache2/htdocs
7.ApacheWEB服務器有幾種工做模式,每種模式的簡單區別?
答:prefork和worker
8.MySQL服務器的用途是?Apache和mysql能夠安裝在一臺機器嗎?如何查看apache和mysql端口和進程?
答:數據庫存儲和查詢數據;能夠安裝在同一臺機器,可是負載和磁盤IO率會影響系統總體性能,ps aux |grep httpd 或者mysqld
9.如何在虛擬機上面部署4個網站,訪問的域名分別爲www.a1.com??test.a1.comwww.a2.com??test.a2.com?
答:基於域名的虛擬主機,在/var/www/html創建各自相應的網頁目錄,
vi /etc/httpd/conf.d/vhosts.conf ##由於在/etc/httpd/conf/httpd.conf文件中含有Include conf.d/*.conf字段,表明包含該內容
NameVirtualHost 192.168.0.6:80
<VirtualHost 192.168.0.6:80>
ServerName www.a1.com
ServerAdmin 2424013264@qq.com
DocumentRoot /var/www/html/
<Directory "/a1.com/1.html">
Options Indexs FollowSymlinks
AllowOverride None
Order allow deny
Allow from all
CustomLog "/var/log/httpd/a1.com/access_log combined"
ErrorLog "/var/log/httpd/a1.com/error_log"
</Directory>
</VirtualHost>
...
10.假設 Apache 產生的日誌文件名爲access_log,在 apache 正在運行時,執行命令 mv access_log access_log.bak,執行完後,請問新的 apache的日誌會打印到哪裏,爲何?
答:依舊會打印到access_log中(默認建立一個新文件),由於Apache的配置文件裏邊指定的爲這個文件名,當沒有的時候會自動建立
11.咱們都知道 FTP 協議有兩種工做模式,說說它們的大概的一個工做流程?
答:主動模式:客戶端打開一個控制端口N,同時開啓一個數據端口N+1,控制端口N與服務端的21端口創建鏈接,併發送Port命令告知對方服務端個人數據端口是N+1,因而服務端用20端口和客戶端的數據端口N+1創建TCP鏈接,從而開始傳輸數據
被動模式:也是客戶端打開一個控制端口N,同時開啓另外一個數據端口N+1,發送port命令告知服務端個人數據端口是N+1,請你連過來,然而服務端發送一個PASV命令,同時開啓本身服務端的數據端口P,客戶端收到這條命令後,用它的N+1端口和服務端P創建鏈接,完畢後便可傳輸數據。
12.Linux內核引導時,從哪一個文件中讀取要加載的文件系統。
答:/etc/fstab
13.寫出下面服務的經常使用端口ftp http dns snmp pop三、dhcp、nfs、mysql、samba等服務。
答:ftp:21 20 http:80 dns:53 snmp:25 pop3:110 dhcp:67 nfs:111 mysql:3306 samba:137 138 139
14.Mysql建立數據庫的命令,建立表的命令,插入語句的命令?
答:create database test_db; use test_db ; create table tb_name;insert into table_name values ( );
15.Mysql備份命令?Mysql如何給root用戶對jfedu受權訪問,密碼爲jfedu.net,請寫出命令?
答:mysqldump -uroot -p123456 -h127.0.0.1 >> back_sql; mysql>grant all privileges on *.jfedu to root@'192.168.0.1' identified by jfedu.net;
16.Mysql忘記密碼該如何操做呢?
答:[root@localhost log]# mysqladmin -uroot -h127.0.0.1 password "123456"
##中止mysql服務,編輯/etc/my.cnf,在mysqld選項中加一行 --skip-grant-start保存後啓動mysql,此時無需密碼。進去以後執行
mysql> use mysql;
mysql> update user set password=password('newpass') where user='root';
mysql> flush privileges;
17.Linux運維工程師都須要具有哪些技能和職業品質?
答:技能:(1)足夠專業的知識面儲備(2)憑熟悉程度+相關文檔結合配置服務,以便提升工做效率又防止漏配
品質:(1)學會去積累,網絡、系統、數據庫領域知識多如牛毛,以便於跟不一樣人士進行交流
(2)對排錯過程,問題以及解決方法作好筆記,等下個問題來了的時候,能記着最好,記不着就來查看筆記,以最快速度去解決問題,而把時間精力拿來研究下一個問題
(3)謹慎,有可能誤操做讓公司損失慘重,我的信心受到影響
(4)責任心,主人翁意識,這片區域歸我管!