Linux14天入門丨老男孩IT教育

虛擬機的安裝所需要的軟件
1.VMware Workstation Pro
2.CentOS7
3.Xshell7(可有可無)
linux虛擬機的安裝
1.創(chuàng)建新的虛擬機
2.典型(高手選自定義)
3.稍后安裝操作系統(tǒng)
4.客戶安裝系統(tǒng):linux
5.版本:Red Hat Enterprise Linux 7 x 64
6.虛擬機名稱自定義
7.位置自定義
8.硬盤大小默認即可
將虛擬磁盤拆分成多個文件
9.編輯虛擬機設置
10.CD/DVD(SATA)
11.使用ISO映像文件下,地址為CentOS7的路徑
基本設置
CPU的總數(shù)不能超過宿主機的總數(shù)
虛擬機的內存不要超過物理內存數(shù)量
硬盤分為虛擬文件和本地磁盤,建議虛擬文件,方便備份與遷移
網(wǎng)絡設置
橋接:虛擬機網(wǎng)絡和真機在同一網(wǎng)格,虛擬機與真機設置同一個ip
NAT(網(wǎng)絡地址轉化):虛擬機上網(wǎng)需要真機輔助才能使上網(wǎng),虛擬機待定網(wǎng)絡,上網(wǎng)走NAT模式,就是說虛擬機把數(shù)據(jù)包傳給真機,真機經過處理后再發(fā)出去,然后再回來。
局域網(wǎng)模式:在真機上創(chuàng)建一個局域網(wǎng),把所有的虛擬機放到局域網(wǎng)里運行即可,但是不能上外網(wǎng)。
快照管理
快照就是虛擬機的還原點,也就是說虛擬機運行到一個階段后保存一個快照,如果下次虛擬機壞了可以還原到之前的這個點,快照可以新建恢復與刪除,相當于存檔。

克隆
克隆的好處就是只要點一下克隆就會直接復制出一個虛擬機,一個是虛擬機克隆一個是快照克隆。
點擊虛擬機(M),點擊管理(M),點擊克?。–),可以從當前虛擬機的狀態(tài)或快照狀態(tài)克隆,鏈接克隆是對原始虛擬機的引用,相當于一個鏈接方式,用處不大,好處是占用空間少,要想一個虛擬機用作兩個虛擬機使用就選完整克隆??寺】梢宰屛覀兌虝r間內擁有大量的虛擬機。
開啟虛擬機后
Install CentOS7 是指安裝Centos 7系統(tǒng)
Test this modia & install CentOS 7 是指測試光盤并安裝CentOS 7系統(tǒng)(不放心的話可以測試一下)
Troublesshooting 是指故障修復系統(tǒng)
下載語言建議選擇中文
系統(tǒng)里有個安裝位置(D)點進去之后再退出即可,退出之后就看到感嘆號消失,里面可以選擇自動分區(qū)與手動分區(qū),新手建議之間選自動分區(qū),如果不是新手選擇手動分區(qū),那么點擊后完成會進入手動分區(qū)的界面,先建立一個200M的/boot,boot是用來放啟動文件的,這個是標準分區(qū),xfs。然后再建立一個4個G的swap,是虛擬內存,一般來說是內存的二倍,并不能當真是內存。再創(chuàng)建一個/,這個是根,剩下的容量都給這個根。然后點完成后接受更改。
軟件選擇(S)是圖形界面,對于新手而言建議安裝,初學者建議選上里面的待GUI的服務器。
KDUMP是內核崩了的時候會把崩的信息存儲再這里,不太需要,關閉即可。
網(wǎng)絡的主機名是用來設置IP地址的,主機名自定義,可以設置為:node1.jesus.com,在配置里可以取手動設置速度,也可以選擇忽略讓他自己取運算,然后點擊IPv4去添加IP地址,純小白直接點擊自動(DHCP)。不斷開鏈接,點打開。
安全鏈接也可以關掉。
然后設置ROOT密碼,最低六位,自己設置。
VMware Tools種包含一系列服務和模塊,可以在使用VMware Tools產品種實現(xiàn)多種功能,從而使用戶更好地管理客戶端,如果安裝的linux版本是7,那么就自動安裝上了。7以下的版本需要自己手動安裝。
如何判斷自己是否安裝了VMware,可以通過在linux桌面上創(chuàng)建一個文件夾,測試是否可以從虛擬機上拖到windows上。同時也可以從windows上拖到linux上。或者單機虛擬機會看到重新安裝VMware tools
linux可以用圖形界面也可以用文本界面
linux有兩種圖形界面,一種叫Gnome,一種叫KDE
個人版的linux一般是圖形界面,服務器一般而言是文本界面,因爲服務器連顯示器都沒有,且圖形界面比文本界面更加浪費資源。
文本界面友好度比較差,上手的話需要懂得linux命令、命令行操作、節(jié)省資源。
前期建議小白先使用圖形界面,熟悉了之後再選擇文本界面。
界面切換(圖形界面與文本界面的切換)

圖形頁面也提供了輸入命令的接口,也就是終端。
終端:用戶和計算機進行命令交互的窗口,類似於windows cmd窗口
【儅發(fā)現(xiàn)輸入密碼進入不了,思考一下自己的密碼是否有數(shù)字,在linux的終端下默認小鍵盤是關閉狀態(tài),無法使用小鍵盤】
ctrl + l 清屏
確保計算機有網(wǎng):ping +網(wǎng)站
照貓畫虎環(huán)節(jié):
yum grouplist
yum -y groupinstall "KDE Plasma Workspaces"
KDE的桌面(原來那個桌面叫Gnome桌面)

linux目錄介紹(設計思想)
linux認爲程序應該是小而專一,程序儘量小,且只專注於一件事情上。
程序不要考慮性能,程序的可移植性更重要。
一切皆文件,盡量使用文本來存儲數(shù)據(jù),避免使用二進制文件,因爲文本文件可讀性強,且已經有很多工具來處理,eg:awk,sed,grep等
每個程序都成爲過濾器,程序需要與其他工具一起配合使用,管道的支持是非常重要的
任何的程序都需要考慮被批處理執(zhí)行。盡量避免強制用戶交互或界面
linux常用目錄介紹(類似於倉庫)
boot 存放啓動文件
dev 存放設備文件(光驅、硬盤)
etc 存放配置文件
home 普通用戶家目錄,以/home/$userbane的方式存放(eg:張三,home下的張三,李四,home下的李四)
opt 三方軟件安裝目錄(類似於windows下的c盤)
proc 內存系統(tǒng)文件
root 管理員家目錄
run 裏賣弄的東西是系統(tǒng)運行時需要的,不能隨便刪除,但是重啓的時候應該拋棄,下次系統(tǒng)運行時重新生成
tmp 臨時文件夾(類似於回收站,有一個特殊屬性,誰放的誰刪,大家都可以往裏放)
usr 存放庫文件、文檔、命令、用戶數(shù)據(jù)等
var 日志存放
lib 庫文件
media 移動存儲自動掛載目錄,以/media/$device_name的方式來存放
mnt 手動掛載記錄
Linux命令格式
命令[命令選項][參數(shù)]
eg:ls -a /tmp 等價于 ls --all /tmp
ls 是命令 -a是命令選項,簡寫用-,全寫用--(多個命令的情況下可以共用一個減號) /tmp是參數(shù)
命令選項有兩種寫法,一種是簡寫,一個-加上首字母就好,全寫是兩個-,加上全稱
命令選項和命令,命令選項和參數(shù)之間要加空格
linux命令分為:
內部命令:內部命令linux內核自帶的,執(zhí)行效率高
外部命令:外部命令需要安裝以后才能使用,但是系統(tǒng)默認已經為你安裝了很多外部命令供大家使用
使用type命令來區(qū)分命令是內部還是外部命令:
[jesus@node1 ~]$ type type
type 是 shell 內嵌
[jesus@node1 ~]$ type ls
ls 是 `ls --color=auto' 的別名
[jesus@node1 ~]$ type clear
clear 是 /usr/bin/clear
[jesus@node1 ~]$ type open
open 是 /usr/bin/open
如果反饋是shell內嵌,那就是內部命令,如果不是則是外部命令。(使用率低,作參考時會用到)
外部命令放在那里呢?
echo 是打印輸出的意思,外部命令在/usr下
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
區(qū)別:bin的命令任何人都可以使用,sbin的命令稱為特權命令,只能管理使用
linux基本命令
1.清屏命令:clear 快捷鍵:ctrl + l
2.幫助命令:man
3.進入文件夾命令:cd
4.列出當前目錄內容命令:ls [-a -l -d]
5.顯示主機名:hostname
6.顯示日期時間:date [-s %F]
7.顯示日歷:cal
8.計算器:bc
9.重啟命令:reboot
shutdown -r (管理員才能用)
init 6 (管理員才能用)
10.注銷命令:logout
11.關機命令:halt
shutdown -h (管理員才能用)
init 0 (管理員才能用)
12.顯示當前操作系統(tǒng)和機器的信息:uname
13.顯示當前路徑:pwd
黑色的代表文件
藍色的代表文件夾
綠色的代表可執(zhí)行文件
ls -F 文件后加/顯示
ls -x 按水平對齊方式列出檔案
ls -m 以","隔開檔案
ls -t 按時間排序檔案
ls -a 顯示隱含檔案
ls -l 顯示詳細信心,此命令等同于ll
ls -d 顯示目錄而不是其內容
ls -h 以K、M、B的形式進行顯示
用date可以來查看時間
用cal可以查看年月(查看某一年的月時月在前,年在后) cal 10 1582
用uname顯示系統(tǒng)
用uname顯示完整的系統(tǒng)
用bc來打開計算機進行計算
用exit來退出
文件管理
新建:touch命令
刪除:rm命令
改名:mv命令
查看:ls命令
touch命令
新建文件和修改文件或者文件的時間戳
語法命令:touch 【選項】 【文件名】
touch的兩個作用:一個是創(chuàng)建文件,一個是修改文件的3Time
eg:創(chuàng)建一個名為123的文件(創(chuàng)建多個文件用空格隔開)
[root@node1 桌面]# touch 123 456 789?
[root@node1 桌面]# ls
123?456?789
創(chuàng)建的文件在Linux是如何存儲的呢?
兩部分,文件的源數(shù)據(jù)存在i節(jié)點(indoe)里,文件的數(shù)據(jù)存在block塊上,我們可用通過stat查看存儲的數(shù)據(jù)。
三Time分別為atime mtime ctime
最近訪問:2021-09-22 21:50:53.049080097 +0800
最近更改:2021-09-22 21:50:53.049080097 +0800
最近改動:2021-09-22 21:50:53.049080097 +0800
atime是最近訪問。當我們打開這個文件后,最近訪問就會更新成你打開的那個時間點。
可以用gedit來打開123這個文件,gedit是個圖形編輯器,類似于windows里的文本框。
最近訪問:2021-09-22 21:58:35.761088373 +0800
最近更改:2021-09-22 21:50:53.049080097 +0800
最近改動:2021-09-22 21:50:53.049080097 +0800
此時可以發(fā)現(xiàn)atime發(fā)生了改變,這就是atime。
mtime是最近更新。在123這個文件里加入文字,文件的內容是發(fā)生了變化,也就會導致mtime變化。
最近訪問:2021-09-22 22:05:40.111550184 +0800
最近更改:2021-09-22 22:05:40.114550146 +0800
最近改動:2021-09-22 22:05:40.115550134 +0800
ctime是最近改動。文件發(fā)生變化,i節(jié)點就會發(fā)生變化,i節(jié)點發(fā)生變化ctime就會放生變化。例如我們修改文件的名字,i節(jié)點就會發(fā)生變化。
最近訪問:2021-09-22 21:58:35.761088373 +0800
最近更改:2021-09-22 21:50:53.049080097 +0800
最近改動:2021-09-22 22:02:37.396881982 +0800
找到123這個文件右擊改名后觀察ctime的值會發(fā)生變化。
此時我們發(fā)現(xiàn)不僅mtime發(fā)生變化,ctime和atime都發(fā)生了變化。因為輸入了內容之后文件的大小發(fā)生了變化,所以i節(jié)點也發(fā)生了變化,所以ctime也發(fā)生了變化,而修改文件需要打開文件,所以文件的atime也發(fā)生了變化。
touch的命令選項
- a會修改文件的access(訪問)時間
eg: touch -a mini
- c不會創(chuàng)建不存在的文件
eg: touch -c mini
- d使用指定的時間,而非現(xiàn)在的時間,可以修改3time的年月日。但是不能修改ctime,因為你動人家的mtime和atime了。
eg: touch -d 2018-10-10 mini
- m指定更改時間(將更改時間,也就是將mtime恢復當前時間)
eg: touch -m mini
- ffile使用指定file文件的時間戳(相當于復制,只復制時間,不復制內容)
eg:?touch -f mini hope
- t將時間修改為參數(shù)指定的日期(注意沒有年份)
eg: touch -t 01290700 mini
刪除文件:rm命令
命令語法:rm name...
命令選項:-i 刪除前逐一詢問確認
[root@node1 桌面]# rm -i 456
rm:是否刪除普通空文件 "456"?y
-f 即使原檔案屬性設為只讀,亦直接刪除,無需逐一確認
[root@node1 桌面]# rm -f 789
-r 將目錄及以下之檔案亦逐一刪除
文件改名:mv命令
mv old_file new_file
[root@node1 桌面]# mv hope viper
文件查看
- 普通文件
[root@node1 桌面]# ls -l
總用量 4
-rw-r--r--. 1 root root?0 9月?22 22:26 01290700
-rw-r--r--. 1 root root?0 9月?22 22:19 2011-8-5
-rw-r--r--. 1 root root?0 9月?22 22:18 2059-8-5
-rw-r--r--. 1 root root 20 9月?22 22:30 mini
-rw-r--r--. 1 root root?0 9月?22 22:26 t
-rw-r--r--. 1 root root?0 9月?22 22:23 viper
d 目錄
l 鏈接文件
[root@node1 /]# ls -l
總用量 32
lrwxrwxrwx.??1 root root???7 9月?21 16:39 bin -> usr/bin
dr-xr-xr-x.??5 root root?4096 9月?21 16:49 boot
drwxr-xr-x.?20 root root?3340 9月?22 22:41 dev
drwxr-xr-x. 149 root root 12288 9月?23 23:07 etc
drwxr-xr-x.??3 root root??19 9月?21 17:36 home
lrwxrwxrwx.??1 root root???7 9月?21 16:39 lib -> usr/lib
lrwxrwxrwx.??1 root root???9 9月?21 16:39 lib64 -> usr/lib64
drwxr-xr-x.??2 root root???6 4月?11 2018 media
drwxr-xr-x.??2 root root???6 4月?11 2018 mnt
drwxr-xr-x.??3 root root??16 9月?21 16:43 opt
dr-xr-xr-x. 273 root root???0 9月?22 21:43 proc
dr-xr-x---.?19 root root?4096 9月?22 21:50 root
drwxr-xr-x.?44 root root?1340 9月?23 23:09 run
lrwxrwxrwx.??1 root root???8 9月?21 16:39 sbin -> usr/sbin
drwxr-xr-x.??2 root root???6 4月?11 2018 srv
dr-xr-xr-x.?13 root root???0 9月?22 21:43 sys
drwxrwxrwt.?25 root root?4096 9月?23 23:08 tmp
drwxr-xr-x.?13 root root??155 9月?21 16:39 usr
drwxr-xr-x.?21 root root?4096 9月?21 22:07 var
b 設備文件(dev下:實實在在存在的設備,硬盤)
c 字符設備(在dev文件下,虛擬設備)
s 套接字文件
p 管道文件
linux文件顏色意義
綠色文件:可執(zhí)行文件,可執(zhí)行的程序
紅色文件:壓縮文件或者包文件
[root@node1 桌面]# ls
01290700?2011-8-5?2011-8-5.tar.gz?
2059-8-5?mini?t?viper
藍色文件:目錄
白色文件:一般性文件,如文本文件,配置文件
淺藍色文件:鏈接文件,主要是使用ln命令建立
紅色閃爍:表示鏈接的文件有問題
黃色:表示設備文件
灰色:表示其他文件
移動(mv)
文件移動
命令語法:mv 源文件或目錄 目標文件或目錄(如果目標是系統(tǒng)中的某個目錄,則執(zhí)行移動,如果目標是不存在的目錄,則執(zhí)行改名)
命令選項
-b:若需覆蓋文件,則覆蓋前先行備份。
[root@node1 桌面]# touch mom
[root@node1 桌面]# cd family
[root@node1 family]# touch mom
[root@node1 family]# cd ..
[root@node1 桌面]# mv -b mom family
mv:是否覆蓋"family/mom"? y
[root@node1 桌面]# cd family
[root@node1 family]# ls
mom?mom~
-i :若制定目錄已有同名文件,則先詢問是否覆蓋舊文件。
[root@node1 family]# ls
dad?daughter?daughter~?mom?mom~?son
[root@node1 family]# cd ..
[root@node1 桌面]# ls
family
[root@node1 桌面]# touch dad
[root@node1 桌面]# mv -i dad family
mv:是否覆蓋"family/dad"? y
[root@node1 桌面]# cd family
[root@node1 family]# ls
dad?daughter?daughter~?mom?mom~?son
[root@node1 family]#?
-f :force強制的意思,如果目標文件已經存在,不會詢問而直接覆蓋
[root@node1 family]# touch son
[root@node1 family]# cd?
[root@node1 桌面]# touch son
[root@node1 桌面]# mv -f son family
[root@node1 桌面]# cd family
[root@node1 family]# ls
dad?mom?mom~?son
[root@node1 family]# cd ..
[root@node1 桌面]# ls
family
-u :若目標文件已經存在,且source比較新,才會更新(不僅根據(jù)mtime,還根據(jù)ctime)
拷貝(cp)
命令語法:cp 源文件或目錄 目標目錄
-a 復制目錄時使用
-d 復制時保留鏈接
-f 復制已存在的目標文件而不該出提示
-i 與 -f選項相反,在復制已存在的目標文件該處提示
-p 除復制文件的內容外,還把修改時間和訪問權限也復制到新文件中。
-r 若給出的源文件是一個目錄文件,此時將復制改目錄下的所有子目錄和文件
-l 不復制文件,只是生成鏈接文件
查看文件的內容
文件查看的命令:cat head tall
cat命令用于鏈接文件并打印到標準輸出設備上,會把所有的文件內容輸入到內存,再輸出到屏幕上
命令語法:cat 命令選項 對應文件名
常用命令選項:/n:每一行加行號
/b:對于每一行的空行也加行號
head命令用于輸出文件的開始部分,cat打印文件的所有內容到屏幕,而head打印文件的前一段文字到屏幕(不規(guī)定行數(shù)的情況下默認10行)
命令語法:head 命令選項 對應文件名
常用命令選項:/n:打印行數(shù)
[root@node1 etc]# head -3 passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
[root@node1 etc]# head -n1 passwd
root:x:0:0:root:/root:/bin/bas
tail命令用于打印文件的末尾部分(不規(guī)定行數(shù)的情況下默認10行)
命令語法:tail 命令選項 對應文件名
常用命令選項:/n:打印行數(shù)
/f:循環(huán)讀取
/-n + x:從第五行開始打印到最后
目錄的創(chuàng)建 mkdir
命令語法:mkdir 選項 目錄名
命令選項:-v:顯示信息(說白了就是告訴你一聲已經創(chuàng)建了目錄
-p:遞歸創(chuàng)建(創(chuàng)建目錄下的目錄一個一個地創(chuàng)建。
[root@node1 桌面]# mkdir -pv water/a/b/c
mkdir: 已創(chuàng)建目錄 "water"
mkdir: 已創(chuàng)建目錄 "water/a"
mkdir: 已創(chuàng)建目錄 "water/a/b"
mkdir: 已創(chuàng)建目錄 "water/a/b/c"
文件的刪除 rmdir 刪除空目錄
命令語法:rmdir 選項 目錄名
命令選項:-p 遞歸刪除空目錄
-v:顯示信息
[root@node1 桌面]# rmdir -pv water/a/b/c
rmdir: 正在刪除目錄 "water/a/b/c"
rmdir: 正在刪除目錄 "water/a/b"
rmdir: 正在刪除目錄 "water/a"
rmdir: 正在刪除目錄 "water
VIM介紹
gedit是圖形界面下的文本編輯器(eg:gedit a.txt)
vim編輯器:它可以執(zhí)行輸出、刪除、查找、替換、塊操作等眾多文本操作。(類似于winodws上右擊新建創(chuàng)建寫字板)
vim編輯器
命令模式:用戶可以輸入命令來進行文件存盤、移動光標、刪除字符、撤銷命令和重復命令等操作,還可以設置vim的編輯環(huán)境
插入模式:用來編輯文檔,可以刪除字符,插入字符。
末行模式:可以進行文件的保存、退出vim、進行查找和替換等操作
替換模式:替換字符

vim使用的格式就是命令+文檔
默認的情況下打開文檔后光標會停在行首
上下左右分別是k z h l,也可以用小鍵盤的上下左右
光標回到行首:gg
光標移到末位:G
光標移動到本行末位:end
光標移動到本行開頭:home
保存退出:ZZ
粘貼復制:復制一行 yy復制n行,nyy
粘貼 p
刪除
刪除字符x向后刪除X向前刪除
刪除一行 dd ndd
刪除一個單詞 dw
撤銷
撤銷操作 u 向上一步,重復上一次操作
查找
查找(使用斜杠加要查找的內容)/string define \ 轉義字符 查找 “/bin/bash”/VbinVbash
用戶和組
在linux下有三種用戶:root、系統(tǒng)用戶、普通用戶
(系統(tǒng)用戶UID小于1000,普通用戶UID大于999。普通用戶權限較小,可以登錄)
組:其實就是一個用戶容器,用來裝用戶的,無特殊意義
默認情況下,新建用戶的同時,系統(tǒng)會創(chuàng)建一個同名組裝載該用戶
在linux中的每個用戶必須屬于一個組,不能獨立于組外
在linux中每個文件所有者、所在組、其他組的概念
管理員組 普通組
用戶是用來登錄和管理系統(tǒng)的



