黑馬程式設計師Linux基礎和 vmware tools總結
昨天華為電話技術面試,感覺自己學的很粗糙,問的問題都知道大概,不能準確回答,本週目標,把課程
過一遍,學會點東西,而不是皮毛。遇到問題別放棄,敢於鬥爭。工業產品而不是學習隨意產品。 好習慣,別貪
開發環境搭建
由於我之前在一臺電腦安裝過虛擬機器,直接把它克隆到另外一臺電腦
兩臺電腦便於檔案傳輸:
5、虛擬機器相關
虛擬機器作用:虛擬硬體的驅動,滑鼠的無縫移出移入,剪貼簿共享,共享主機上的資料夾等功能。
1、直接與windows複製貼上,拖拽
2、在虛擬機器ubuntu中訪問主機共享資料夾的方法:在終端命令列輸入 cd /mnt/ + 按下兩次Tab鍵 ,回車即可進入主機中的共享資料夾。
調整虛擬機器視窗大小
1、在VMware裡安裝“VMware Tool”外掛
2、在VMware選單欄點選 檢視->自動調整大小->自動適應視窗
Linux 技巧及快捷鍵
最好不用rm命令,要刪除檔案,需要mv檔案到指定目錄/delete/,會有一個定時任務,每週清空/delete/下檔案。自制回收站
無論什麼時候,rm 命令用到萬用字元(除了仔細檢查輸入的內容外!),用ls 命令來測試萬用字元。這會讓你看到要刪除的檔案列表。然後按下上箭頭按鍵,重新呼叫剛剛執行的命令,用rm 替換ls。
ctrl+b(back) ctrl+f(front)
linux簡介
Linux=核心+發行(穩定、安全)
1、Linux核心版本又分為穩定版和開發版,核心”指的是一個提供硬體抽象層、磁碟及檔案系統控制、多工等功能的系統軟體。一個核心不是一套完整的作業系統。Linux核心的主要模組:儲存管理、CPU和程序管理、檔案系統、裝置管理和驅動、網路通訊,以及系統的初始化(引導)、系統呼叫等。
2、Linux發行版 (也被叫做 GNU/Linux 發行版,是在核心的基礎上,加入使用者介面,各種軟體的支援等定製) 通常包含了包括桌面環境、辦公套件、媒體播放器、資料庫等應用軟體。
字元介面的優勢:
因為佔用資源少,所以減少了出錯、被攻擊得的可能性;
Windows 重視應用性、可操作性; Linux 主要針對伺服器操作人員,所以更加重視穩定性、安全性;
Linux 目錄
- /:在Linux下有且只有一個根目錄。所有的東西都是從這裡開始。 cd /
- /bin、/usr/bin: 可執行二進位制檔案的目錄,如常用的命令ls、mv、cat等。
- /boot:放置linux系統啟動時用到的一些檔案,如Linux的核心檔案:/boot/vmlinuz。
- /dev:存放linux系統下的裝置檔案,訪問該目錄下某個檔案,相當於訪問某個裝置,常用的是掛載光碟機 mount /dev/mnt。
- /etc:系統配置檔案存放的目錄,不建議在此目錄下存放可執行檔案,重要的配置檔案有 /etc/inittab、/etc/fstab。
- /home:系統預設的使用者家目錄,新增使用者賬號時,使用者的家目錄都存放在此目錄下,~表示當前使用者的家目錄,~edu 表示使用者 edu 的家目錄。 cd /home
Linux 目錄與windows類比
/usr:可以理解為C:/Windows/,
/usr/lib理解為C:/Windows/System32。
/usr/local:可以理解為C:/Progrem Files/。使用者自己編譯的軟體預設會安裝到這個目錄下。 /opt:可以理解為D:/Software,這裡可以用於放置第三方大型軟體(或遊戲),當你不需要時,直接rm -rf掉即可。在硬碟容量不夠時,也可將/opt單獨掛載到其他磁碟上使用。原始碼放哪裡?/usr/src:系統級的原始碼目錄。 /usr/local/src:使用者級的原始碼目錄。
使用者目錄
位於/home/user,稱之為使用者工作目錄或家目錄
切換:使用su命令,su就是switch user切換使用者。 lichun*2
新增使用者:useradd -m 使用者名稱 然後設定密碼 passwd 使用者名稱
刪除使用者:userdel -r 使用者名稱
.代表當前的目錄,使用 ./ 來表示, ..代表上一層目錄, 用../ 來代表。
使用者管理
使用者:使用作業系統的人 使用者組:相同許可權的使用者使用者和使用者組資料夾 /etc/group/etc/passwd #使用者 /etc/shadow #密碼1.建立性感的妹子組:groupadd sexy(組名)2.修改使用者組的名稱:groupmod -n market(新組名) sexy(原組名)3.修改組編號:groupmod -g 668 market4.建立組名為boss的使用者組,組編號為888:groupadd -g 888 boss5.刪除使用者組:groupdel market6.使用者組裡新增使用者:useradd -g sexy(組名) sdf(使用者名稱)7.建立使用者時,指定使用者的個人資料夾:useradd -d /home/xxx imooc8.給使用者新增備註:usermod -c dgdzmx(備註資訊) sdf(使用者名稱)9.修改使用者名稱:usermod -l cls(新使用者名稱) sdf(原使用者名稱)10.給cls指定新資料夾:usermod -d /home/cls cls11.修改使用者所屬使用者組:usermod -g sexy(現在使用者組) imooc(使用者名稱)12.刪除使用者 userdel jzmb13.刪除使用者,同時刪除使用者的個人檔案 userdel -r jzmb14.暫時禁止普通使用者登入伺服器:touch /etc/nologin簡單來講。add是新增操作, 可以輸入初始屬性。
mod是更改屬性操作,可以更改某一使用者或使用者組的某一屬性。
訪問許可權
使用者能夠控制一個給定的檔案或目錄的訪問程度,一個檔案或目錄可能有讀、寫及執行許可權:
注意:通常,Unix/Linux系統只允許檔案的屬主(所有者)或超級使用者改變檔案的讀寫許可權。
第1個字母代表檔案的型別:“d” 代表資料夾、“-” 代表普通檔案…………。 後 9 個字母分別代表三組許可權:檔案所有者、使用者者、其他使用者擁有的許可權。
linux常用命令
基本命令
ls > test.txt ( test.txt 如果不存在,則建立,存在則覆蓋其內容 ) ls檢視檔案
cd跳轉主目錄(可絕對路徑) pwd使用者當前路徑(位置) tab自動補全命令 clear清空 mkdir建立目錄
rmdir刪除目錄 刪除檔案rm(-r引數遞迴) ctrl+c/z超級猛結束程序 touch 建立檔案 cat檢視或者合併檔案【內容】,cat 命令讀取一個或多個檔案,然後複製它們到標準輸出 cp複製 tree工具樹狀圖(根目錄慎用) 拷貝資料夾(-r)遞迴拷貝 mv移動或者【重新命名】 mv不用加-r shift+zz退出vi tar打包(不壓縮 )此命令可以把一系列檔案 歸檔到一個大檔案中,也可以把檔案檔案解開以恢復資料
刪除檔案:rm
可通過rm刪除檔案或目錄。使用rm命令要小心,因為檔案刪除後不能恢復。為了防止檔案誤刪,可以在rm後使用-i引數以逐個確認要刪除的檔案。
引數 含義 -i 以進行互動式方式執行 -f 強制刪除,忽略不存在的檔案,無需提示 -r 遞迴地刪除目錄下的內容,刪除資料夾時必須加此引數 檔案搜尋命令
locate 檔名 超級快
find [搜尋範圍] [搜尋檔案] 結合萬用字元最強大 系統中搜索
find /etc -size +20k -a -size -50k ,a表示與,o表示或
grep 在檔案中搜索字串 grep "size" anaconda-ks.cfg 檔案內包含size
find命令;在系統當中搜尋符合條件的檔名,完全匹配 vs grep命令;在檔案當中搜尋符合條件的字串,包含匹配
打包壓縮:
tar -cvf -c:打包 -v:顯示過程 -f:指定打包後的檔名
tar -zcvf : 壓縮成tgz的命令
-zxvf:解壓縮tgz的命令
tar -jcvf:壓縮成.tar.bz2的命令
-jxvf: 解壓縮tar.bz2的命令tar後的第一個字母代表格式,第二個字母c,v,t代表壓縮、解壓縮和測試解壓縮。vf必須跟
passwd設定密碼 su+lichun切換到我的目錄 ps檢視程序資訊 reboot重啟 ifconfig網絡卡 kill配合ps終止程序 PID程序號
使用“>” 重定向符來重定向輸出結果時,目標檔案總是從開頭被重寫。
使用“>>” 操作符,將導致輸出結果新增到檔案內容之後。如果檔案不存在,檔案會被建立,就如使用了’>’ 操作符。
硬連結和原檔案只佔一份空間,複製佔兩份空間。
wc(字計數)命令是用來顯示檔案所包含的行,字和位元組數。
命令 含義 cd 切換到當前使用者的主目錄(/home/使用者目錄),使用者登陸的時候,預設的目錄就是使用者的主目錄。 cd .. 切換到上級目錄 cd - 可進入上次所在的目錄
mkdir {2007..2009}-0{1..9} {2007..2009}-{10..12} 大括號能批量生成
echo 單引號禁止所有展開,雙引號,空格忽略。
鍵盤操作:快捷鍵,tab,history | less加上空格鍵翻頁,
chmod 600 foo.txt 意思是所有者可讀寫 6(所有者u)0(使用者組g)0(其他人o) 7==111 rwx
Linux命令-系統管理
cal命令用於檢視當前日曆,-y顯示整年日曆:
顯示或設定時間:date 檢視程序資訊:ps
關機重啟:reboot、shutdown、init
命令 | 含義 |
---|---|
reboot | 重新啟動作業系統 |
shutdown –r now | 重新啟動作業系統,shutdown會給別的使用者提示 |
shutdown -h now | 立刻關機,其中now相當於時間為0的狀態 |
shutdown -h 20:25 | 系統在今天的20:25 會關機 |
shutdown -h +10 | 系統再過十分鐘後自動關機 |
記事本:
關機:shutdown -h now
sudo -s切換超級使用者 exit回到上次使用者
User:lichun 密碼:lichun
開啟桌面終端 Ctrl+Alt+T (類似windows Dos)
開啟虛擬控制檯,應該用[CTRL]+[ALT]+F2,這樣就進入完全黑屏的操作,也就是象DOS那樣全屏的。。如果返回桌面,應該用 [CTRL]+{ALT]+F7
VIM文字編輯器
類似windows下面的高階記事本,vim支援多級撤銷--可以跨平臺執行--支援語法高亮--支援圖形介面
vim3種模式
1、啟動預設 command mode 命令模式:剪下,複製等;
2、insert mode 輸入模式:
3、last line mode 底行模式:儲存、退出等;(也屬於命令模式,不需要點選ENTER鍵)
4、vim abc :預設為命令模式無法輸入文字——> "i"——>由命令模式轉為輸入模式——>"ESC"——>切換為底行模式——>":wq"——>"Enter"正確儲存——>cat abc5、命令模式下 dd:刪除當前行
shell基礎
Shell基礎(linux外殼),同聲傳譯,哈哈
Shell是一個命令直譯器,它為使用者提供了一個向linux核心傳送請求以便執行程式的介面系統級程式,使用者可以用shell來啟動、掛起、停止甚至是編寫一些程式。
檢視系統所支援的shell版本。 vi /etc/shells
shell的工作原理:目前操作linux的字元介面就是shell。
當用戶執行linux命令時,比如ls, shell會將ls這個命令翻譯成二進位制數,傳遞給linux核心,因為機器只識
別2進位制碼,所以當linux核心接到2進位制碼時,進行處理執行。
核心執行完命令後,把結果還以2進位制形式傳遞給shell,shell再根據ASCII碼錶把二進位制碼翻譯成ABCD這樣的結果,傳給使用者。
管道符,多命令順序
命令1;命令2 無論命令1是否正確執行都執行命令2
命令1&&命令2 當命令1正確執行時執行命令2
命令1 || 命令2 當命令1正確執行時不執行命令2,當命令1錯誤執行時才執行命令2
命令1 | 命令2 執行命令1所產生的結果來作為命令2的引數進行執行。
磁碟管理
du命令:統計磁碟上的檔案大小
df磁碟管理命令
硬碟空間耗盡,新增新硬碟。
虛擬機器新增新硬碟:虛擬機器不支援熱插拔 關機-->新增硬碟-->確定開機,然後分割槽,格式化,掛載
軟體包管理
ap-get是ubuntu下的一個軟體安裝方式,它是基於debain 檢視所有安裝軟體:dpkg --list yum是redhat、centos下的一個軟體安裝方式,它基於Linux
的一個軟體安裝方式,它是基於debain 檢視所有安裝軟體:dpkg --list yum是redhat、centos下的一個軟體安裝方式,它基於Linuxlinux服務管理
所有服務 只要執行 就會產生程序 程序是指正在執行的程式
程序管理的作用:判斷伺服器的健康狀態;檢視系統中所有程序;殺死程序
ps aux:檢視所有程序
/sbin/int:的pid永遠是1,它是系統下所有程序的父程序,所有的程序都依賴於它
top 檢視健康狀態
buffer -> 緩衝 -> 用於加速寫入
cache -> 快取 -> 用於加速讀取
七個執行級別: 0 :關機 1 :單使用者模式,主要用於系統恢復2 :不完全的命令列,不含NFS服務 3 :完全的命令列4 :系統暴露 5 :圖形模式 6 :重啟
網路系統
ping命令會意味著網路的各個部件(網絡卡,電纜,路由,閘道器)都處於正常的工作狀態。沒路由器不能ping
traceroute 程式(一些系統使用相似的tracepath 程式來代替 windows【tracert】)會顯示從本地到指定主機要經過的所有“跳數”的網路流量列表。看通過幾個路由器,也可以輸入“tracert ”後面接一個網址(類似ping)
C:\Users\Administrator>tracert www.baidu.com 通過最多 30 個躍點跟蹤 到 www.baidu.com [180.97.33.108] 的路由: 1 2 ms 7 ms 2 ms Hiwifi.lan [192.168.199.1]【我路由器ip】 2 3 ms 3 ms 1 ms 192.168.1.1【閘道器】 3 11 ms 8 ms 6 ms 100.64.0.1 4 5 ms 4 ms 4 ms 220.167.85.93 5 7 ms 5 ms 5 ms 171.208.199.205 6 43 ms * * 202.97.29.241 7 34 ms 34 ms 36 ms 202.102.69.194 8 * * * 請求超時。 9 101 ms 40 ms 42 ms 180.97.32.78 10 * * * 請求超時。 11 43 ms 38 ms 41 ms 180.97.33.108【百度伺服器ip】
【我路由器ip】 2 3 ms 3 ms 1 ms 192.168.1.1【閘道器】 3 11 ms 8 ms 6 ms 100.64.0.1 4 5 ms 4 ms 4 ms 220.167.85.93 5 7 ms 5 ms 5 ms 171.208.199.205 6 43 ms * * 202.97.29.241 7 34 ms 34 ms 36 ms 202.102.69.194 8 * * * 請求超時。 9 101 ms 40 ms 42 ms 180.97.32.78 10 * * * 請求超時。 11 43 ms 38 ms 41 ms 180.97.33.108【百度伺服器ip】說明:左到右的5條資訊分別代表了“生存時間”(每途經一個路由器結點自增1)、“三次傳送的ICMP包返回時間”(共計3個,單位為毫秒ms)和“途經路由器的IP地址”(如果有主機名,還會包含主機名)。
SSH(Secure Shell)。SSH 解決了和遠端主機安全交流的問題。首先,它要認證遠端主機是否為它所知道的那臺主機(這樣就阻止了所謂的“中間人”的攻擊),其次,它加密了本地與遠端主機之間所有的通訊資訊。
SSH 由兩部分組成。SSH 伺服器執行在遠端主機上執行,在埠號22 上監聽將要到來的連線,而SSH 客戶端用在本地系統中,用來和遠端伺服器通訊。
計算機主機板
BIOS: Basic Input/Output System (基本輸入輸出系統)
EFI: Extensible Firmware Interface(可擴充套件韌體介面)EFI不支援32位系統U盤安裝windows(UEFI/uefi方式)
ubantu下面安裝軟體
1、sudo apt-get install
2、make install原始碼安裝apt-get install xxx 安裝xxx 。如果帶有引數,那麼-d 表示僅下載 ,-f 表示強制安裝 apt-get remove xxx 解除安裝xxx apt-get update 更新軟體資訊資料庫 apt-get upgrade 進行系統升級 apt-cache search 搜尋軟體包 Tips:建議您經常使用“apt-get update”命令來更新您的軟體資訊資料庫
1.解壓縮
2.進入目錄3、……