Linux面試題彙總
linux 作業系統
一.linux 作業系統概述
1.常見作業系統
- 服務端作業系統 : linux、unix、windows server
- 單機作業系統 : windows(dos 、ucdos、win95、win98、win2000、xp、vista、win7、win8)
MAC 、linux(ubuntu)
- 移動作業系統 Android、IOS 、Windows phone
2.linux作業系統介紹
- 為什麼要學習linux作業系統
1. 大部分服務端都採用linux ,JEE部署到伺服器中
2. 一些企業和學校採用linux研發和教學
3. 很多嵌入式開發 用linux
4. 雲端計算、大資料 是叢集網 linux : centos
- 特點
1. 開放、開源、多使用者的網路作業系統
2. 基於unix(unix-->minix-->linux(linus :林納斯 芬蘭 )),可以定製核心
3. 假如了GNU組織(自由軟體組織 ,copyLeft) ,通過GPL(通用公共許可) 許可對外發布
- linux組成
1. linux核心(linus 團隊管理)
2. shell :使用者與核心互動的介面
3. 檔案系統 : ext3、ext4 等 windows 有 fat32 、ntfs
4. 第三方應用軟體
- linux作業系統版本
1. 核心版本 (linus 團隊管理) 3.8
2. 發行版本 :一些軟體公司以核心為基礎,再新增一些軟體和文件形成發行版本
- red hat : rhel ,centos
- debian : debian,ubuntu(桌面)
- android
二.安裝linux系統
1. vmware安裝 : 建立虛擬機器的軟體
vitual box :oracle 公司提供
2. 虛擬機器安裝
- 直接安裝
- 建立虛擬機器
- 安裝ubuntu映象
- 開啟虛擬機器映象: 虛擬機器+作業系統(ubuntu)
1. 開啟*.vmx 檔案
2. 使用者名稱 itcast 密碼 123
三.linux系統環境
預設有6個命令互動通道和一個圖形介面互動通道,預設進入到的是圖形介面通道
命令互動模式切換:ctrl+alt+f1---f6
圖形互動介面 ctrl+alt+f7
1.圖形介面互動模式
- terminal: 圖形介面的命令終端,它是圖形介面互動通道的延伸,要依賴於圖形介面
2.命令互動模式
命令提示符:
itcast@ubuntu:~$
- itcast:使用者名稱
- ubuntu :主機名
- ~ :路徑 ,假如當前的路徑正好是 該使用者存放資料的根目錄 ,則顯示~
- $ :使用者的型別 $代表普通使用者 # 代表 超級使用者
3.linux檔案系統
- 目錄結構
- 檔案許可權分析
w :可寫 r: 只讀 x:可執行 - :無許可權
檔案許可權
1. 字元表示法
drwxr-xr-x
第一個字元 :檔案的型別 d :普通檔案 - :資料夾 c :串列埠檔案 l :連線檔案
2-4 字元 : 該檔案的屬主使用者的許可權
5-7 字元 : 與屬主使用者同一組的其他使用者的許可權
8-10 字元 : 不同組的其他使用者的許可權
2. 數字表示法
-rw-r--r-- :檔案的預設許可權 644
drwxr-xr-x : 目錄的預設許可權 755
四、linux的常用命令
1.登出、關機、重啟
- 登出 :logout :登出 、exit
- 關機 :
shutdown - h 時間
- h :關機
- 時間 :
1. now :馬上
2. 12.30 :指定具體時間
3. 3 :幾分鐘以後
sudo : superuser do :由超級使用者來執行該命令
要配置sudo 命令 : 授權 哪些使用者能執行哪些命令
由超級使用者配置 sudo
/etc/sudoers
sudo shutdown -h now 當前賬號:itcast
- 重啟 :
shutdown -r 時間
-r :restart
2.linux基本命令 :檔案操作命令
1. ls : 檢視目錄內容
- l :檢視詳細資訊
- a :檢視所有檔案(隱藏)
man :manual : 手工,幫助 ,幫助命令,好比windows help
命令: man ls
2. mkdir :建立目錄
Desktop:
- java
- JEE : aa.txt bb.txt
- Android
3. cd 切換目錄
- cd .. 記得要加空格
- cd ./java 進入當前目錄的子目錄
- cd ../xxx 進入上一級目錄的子目錄
tab :自動補全
4. touch :建立一個空白的普通檔案
touch aa.txt
5. echo :把內容重定向到指定的檔案中 ,有則開啟,無則建立
6. cat、more :檢視檔案內容
- cat :檢視檔案內容
- more :分頁檢視檔案內容,按空格鍵換頁
7. cp、mv、rm
- cp :複製
cp bj.txt ./java/jee
- mv :剪下、重新命名
1. 剪下 :mv aa.txt ../android/
2. 重新命名 :假如剪下的檔案 存放在同一個目錄中 ,則是重新命名
mv bb.txt cc.txt
- rm :刪除檔案或者資料夾
-f : 假如要刪除的檔案不存在,也不提示
-i : 刪除前提示 ,預設不刪除,要刪除,輸入y
-d : 刪除空白目錄
-r :遞迴刪除
8. wc :word count :統計字元數
154 233 3418
- 154 :行數
- 233 :單詞數
- 3418 :字元數
命令: wc bj.txt
9. ln :建立連線檔案
- 預設建立的是硬連線,好比複製 ,但是兩個檔案會同步
命令:ln ./java/android/aa.txt aaa
- s :建立的是軟連線
10. pwd :檢視當前目錄的絕對路徑
11. 管道命令 |
命令: ls -la | wc
12. 重定向
- > :覆蓋模式
命令: echo "ww">aaa
- >>:追加模式
命令: echo "ww">>aaa
13. passwd :設定密碼 ,ubuntu預設 root賬號是沒有開啟 ,只要設定root密碼即可開啟
sudo passwd root
14. su 切換目錄
su root
root使用者切換到其他賬號不需要密碼
3.linux 系統命令
1.stat :檢視檔案的詳細資訊
stat bj.txt
2.who與whoami
who : 檢視線上的使用者
whoami :檢視當前自己的使用者
3.hostname : 顯示主機名
hostname
4.uname :顯示系統資訊
-a :顯示完整的系統資訊
5.top :顯示當前耗時的進行的資訊 ,每3秒重新整理一次
cltr+c 中斷
6.ps :顯示當前程式的快照
- axu
7.du :顯示檔案的大小資訊
8.df :磁碟使用情況 disk free
9.ifconfig :檢視或者配置網路卡資訊 ,好比windows 的ipconfig
ipv4:32位 2-32次方 ipv6 128位 是 ipv4 2-96次方倍數
設定虛擬機器ip地址:
1. 設定vmware的連線方式
- 共享宿主機的ip地址,在網路上的芳鄰找不到
- 橋接方式,需要單獨設定ip,可以在網路上的芳鄰查詢
2. 圖形介面設定ip地址
edit connection --》ipv4--》manual(手工設定)--》add (ip地址,子網掩碼)
3.命令方式設定ip地址
靜態設定ip:
sudo ifconfig eth0 192.168.15.122 netmask 255.255.255.0
10.ping 測試與目標主機連線情況
11.clear : 清除螢幕 windows: cls
12.man :幫助命令
man 命令
13.kill :殺死程式
kill pid
14.netstat :網路連線詳細資訊
15. useradd
- 檢視使用者資訊
sudo cat /etc/passwd
itcast:x:1000:1000:UbuntuA,,,:/home/itcast:/bin/bash
- itcast:使用者名稱
- x :密碼 :已經加密 ,密碼存放在 /etc/shadow
- 1000: 賬號id ,userId
- 1000: 組id ,group id
- UbuntuA,,, :賬號描述
- /home/itcast :該賬號存放檔案的預設位置 ~
- /bin/bash:該使用者的shell指令碼的解析方式 ,sh 、bash、rbash
- 建立使用者
sudo useradd lijun -d /home/lijun -s /bin/bash
-d :指定該使用者的home 路徑
- s :該使用者的shell解析方式
步驟:
1. 建立 /home/lijun 目錄
2. 執行 useradd 命令
3. 用 passwd 設定密碼
4. su 切換使用者
五、打包、壓縮檔案
windows : zip、rar
linux :gz ,bzip,zip
1.tar :打包、拆包命令
tar - cxzjvf <打包後的檔案> <欲打包的目錄>
- c :建立的一個歸檔檔案 ,即打包資料夾
- x :拆包
- z :以gzip 格式壓縮,預設壓縮倍數 6倍 (0-9)
- j :以bzip2格式壓縮
- v :顯示打包或者拆包的檔案資訊
- f : 後面緊接一個 歸檔檔案
- 打包檔案
tar -cvf news.tar ./java 摘要
- 拆包檔案
tar -xvf news.tar
2.gzip 、bzip2 壓縮與解壓
1. 壓縮檔案
gzip news.tar
2. 解壓檔案
gzip -d news.tar.gz
-d :解壓
3.打包及壓縮
- 打包及壓縮
tar -czvf news.tar.gz ./java
- 拆包及壓解縮
tar -xzvf news.tar.gz
六、軟體管理
windows : .exe 安裝 、解除安裝
安裝: mysql.exe cc.exe
解除安裝 : 該軟體唯一的標識 ,包名 alibaba
android : *.apk 解除安裝 包名
red hat :*.rpm
ubuntu : 對debian的升級 *.deb 格式
1.安裝軟體
- dpkg :debian package
離線安裝:
安裝 : sudo dpkg - i <檔名>
-i :install
命令:sudo dpkg -i ./tree_1.6.0-1_i386.deb
解除安裝 : sudo dpkg - r <包名>
-r :remove
命令:sudo dpkg -r tree
- apt-get :advance package tools
對dpkg命令的升級,線上安裝
安裝 : sudo apt-get -install <包名>
解除安裝 : sudo apt-get -remove <包名>
2.vim 軟體 :好比記事本 ,但是比記事本要強大
1. 安裝vim
2. 使用vim
操作模式:
1. 一般模式 ,預設進入的一般模式,該模式不能編輯文件 ,只能檢視
按 i(insert) 進入 插入模式
2. 編輯模式、插入模式
該模式可以編輯文件,按esc 退出插入模式,進入到一般模式
3. 命令模式 :在 一般模式中按:進入命令模式
- q: 安全退出,當沒有操作該文件,則直接按q退出vim
- q!:當修改了內容,但是不想儲存,則q!強制退出
- wq :儲存退出
- set number 顯示行號
- set nonumber 取消行號顯示
七、搭建Java伺服器,並且實現遠端安全訪問linux系統
1.通過ssh實現安全遠端訪問linux系統
ssh :secure shell
加密:
1. 對稱加密 (加密金鑰與解密金鑰相同)
des 、aes
2. 非對稱加密(加密金鑰與解密金鑰不同)
RSA :公鑰、私鑰
數字摘要:
md5 \sha1
1. 檢視是否安裝了ssh服務端與客戶端
sudo apt-cache policy openssh-client openssh-server
2. 安裝ssh 服務端與客戶端軟體
sudo dpkg -i ./ssh/*
3. 通過windows ssh客戶端來訪問linux服務端
- putty :遠端登入
- winscp433setup.exe :檔案傳輸
2. 安裝jdk
進入 root使用者
實現步驟:
1. jdk 存放在哪裡 /opt
2. 把軟體拷貝到/opt
3. 綠色軟體,解壓
4.設定環境變數
vim /etc/profile
export JAVA_HOME="/opt/jdk1.6.0_39"
export PATH="$JAVA_HOME/bin:$PATH"
5. 重新整理配置 ,讓配置生效
source /etc/profile
6. 編寫Demo.java,測試
-javac Demo.java
- java Demo
3. 安裝tomcat
步驟:
1. 安裝在哪裡 /opt
2. 拷貝、解壓
tar -xzvf apache-tomcat.tar.gz
3. 執行
- ./startup.sh
- ./shutdown.sh
4. 安裝Eclipse
步驟:
1.安裝在/opt
2. 拷貝、解壓
cp eclipse.tar.gz /opt
tar -xzvf eclipse.tar.gz
重點:
1.linux系統環境
命令互動通道
命名提示符
2. linux 目錄結構、檔案許可權
drwxr-xr-x
3. linux 命令
- 開關機
- 檔案操作
- 系統命令
1. top 2. who 3. ifconfig 4. ping 5. kill 6. man 7.clear 8.netstat
4. 軟體管理
- dpkg :離線 .deb .rpm .apk
- apt-get :線上
5. 壓縮解壓
tar -cxgzvf 打包後的檔案 要打包的檔案
6. vim 的使用
三種模式
7. ssh理解 secure shell
8. java開發環境搭建
相關文章
- Linux面試題彙總答案Linux面試題
- iOS 面試題彙總iOS面試題
- mysql 面試題彙總MySql面試題
- vue面試題總彙Vue面試題
- java面試題彙總Java面試題
- LLM面試題彙總面試題
- 機器學習面試問題彙總機器學習面試
- Paycom 面試題彙總面試題
- Spring面試題彙總Spring面試題
- Java面試題彙總(一)Java面試題
- Android 面試題彙總Android面試題
- iOS 基礎面試題彙總iOS面試題
- 關於React面試題彙總React面試題
- 前端面試題整理彙總前端面試題
- 關於HTML面試題彙總HTML面試題
- BAT經典面試題彙總BAT面試題
- 25個Apache面試題彙總Apache面試題
- PHP 高階工程面試題彙總PHP面試題
- Spark 經典面試題彙總《一》Spark面試題
- 最新PHP面試題彙總(附答案)PHP面試題
- Web前端面試題目彙總Web前端面試題
- 前端工程師面試題彙總前端工程師面試題
- java面試筆試題大彙總Java面試筆試
- [面試倉庫]CSS面試題彙總--佈局篇CSS面試題
- ASP net core面試題彙總及答案面試題
- JavaScript常見面試題彙總(含答案)JavaScript面試題
- 2018 - iOS 面試題彙總iOS面試題
- Java常見面試題及答案彙總Java面試題
- Python面試基礎題小彙總Python面試
- 前端工程師面試題彙總(轉)前端工程師面試題
- 20個高階Java面試題彙總Java面試題
- 【Java 開發面試】Mysql 面試考點/考題彙總Java面試MySql
- Linux 面試題總結Linux面試題
- Linux 運維工程師面試真題-5-常考題目彙總Linux運維工程師面試
- 程式媛面試之高頻題型彙總(一)面試
- 程式媛面試之高頻題型彙總(二)面試
- 【彙總】Python爬蟲常見面試題!Python爬蟲面試題
- 經典Java面試題彙總及答案解析Java面試題