1.開始
Linux,全稱GNU/Linux,是一種免費使用和自由傳播的類UNIX作業系統,其內核由林納斯·本納第克特·托瓦茲于1991年10月5日首次發布,它主要受到Minix和Unix思想的啟發,是一個基于POSIX的多用戶、多任務、支持多執行緒和多CPU的作業系統,它能運行主要的Unix工具軟體、應用程式和網路協議,它支持32位和64位硬體,Linux繼承了Unix以網路為核心的設計思想,是一個性能穩定的多用戶網路作業系統,Linux有上百種不同的發行版,如基于社區開發的debian、archlinux,和基于商業開發的Red Hat Enterprise Linux、SUSE、Oracle Linux等

Linux系統是一個以命令列為基礎的作業系統他不同與windows系統,因為面向人群不同,windows系統針對的是非計算機領域的人員,
因為Linux系統主要應用于服務器作業系統,過多的圖形界面會嚴重的影響系統的運行速度,
2.Linux操作檔案
Linux檔案系統層次結構

根目錄是系統檔案的存盤目錄,所以用戶產生的資料最好不要存盤在根目錄所在盤符,相當于windows中的c盤,根目錄檔案過多會影響系統的運行速度,
接下來介紹根目錄中的子目錄存放內容:
/bin:bin是二進制檔案的縮寫,此目錄存放最常用的可執行檔案,主要有:cat,chmod(修改權限), chown, date, mv, mkdir, cp, bash等等常用的指令,
/boot:主要存放啟動linux的核心檔案Linux kernel常用的檔名為:vmlinuz ,如果使用的是grub這個開機管理程式,則還會存在/boot/grub/這個目錄,
/dev:在Linux系統上,任何裝置與周邊設備都是以檔案的型態存在于這個目錄當中,
/etc:系統主要的設定檔幾乎都放置在這個目錄內,例如人員的帳號密碼檔、各種服務的啟始檔等等, 一般來說,這個目錄下的各檔案屬性是可以讓一般使用者查閱的,但是只有root有權力修改, FHS建議不要放置可執行檔(binary)在這個目錄中,
/home:這是用戶的家目錄, 在你新增一個用戶時,用戶的家目錄會在這里被創建,家目錄有兩種:~ :代表當前使用者的家目錄,而 ~guest:則代表用戶名為guest的家目錄,
/lib:系統的函式庫非常的多,而/lib放置的則是在開機時會用到的函式庫,以及在/bin或/sbin底下的指令會呼叫的函式庫而已 ,
/media:linux 系統會自動識別一些設備,例如U盤、光驅等等,當識別后,Linux 會把識別的設備掛載到這個目錄下,
/mnt:系統提供該目錄是為了讓用戶臨時掛載別的檔案系統的,我們可以將光驅掛載在 /mnt/ 上,然后進入該目錄就可以查看光驅里的內容了,
/opt:這個是給第三方協力軟體放置的目錄 ,
/root:系統管理員(root)的家目錄,
/sbin:Linux有非常多指令是用來設定系統環境的,這些指令只有root才有使用權限,
/srv:srv可以視為service的縮寫,是一些網路服務啟動之后,這些服務所需要取用的資料目錄, 常見的服務例如WWW, FTP等等,
/tmp:這是讓一般使用者或者是正在執行的程式暫時放置檔案的地方,
基礎命令
linux命令格式
[root@localhost ~]# 命令[選項][引數]
在linux系統中每一個應用都有相應的命令符 [ ] 代表可選項 有些命令不寫選項和引數也能執行,是因為程式有默認引數 例如 ls 命令之后不加選項和引數也能執行,不過只能執行最基本的功能,即顯示當前目錄下的檔案名,
選項和引數的作用:選項和引數可以使程式執行一些相應的功能,或者為程式提供一些介面以供輸出,
cd命令
cd 命令,是 Change Directory 的縮寫,用來切換作業目錄,
Linux 命令按照來源方式,可分為兩種,分別是 Shell 內置命令和外部命令,所謂 Shell 內置命令,就是 Shell 自帶的命令,這些命令是沒有執行檔案的;而外部命令就是由程式員單獨開發的,所以會有命令的執行檔案,Linux 中的絕大多數命令是外部命令,而 cd 命令是一個典型的 Shell 內置命令,所以 cd 命令沒有執行檔案所在路徑,
[root@localhost ~]# cd [相對路徑或絕對路徑]
此外cd命令后可以跟一些特殊符號:
cd ~ 表示切換到當前用戶的主目錄
cd ~用戶名 表示切換到指定用戶的主目錄
cd - 代表上次所在的目錄
cd . 代表當前目錄
cd .. 代表切換到上級目錄
pwd命令
pwd 命令,是 Print Working Directory (列印作業目錄)的縮寫,功能是顯示用戶當前所處的作業目錄,
whoami 命令
用于確定當前登錄的用戶,
ls 命令
ls 命令,list 的縮寫,是最常見的目錄操作命令,其主要功能是顯示當前目錄下的內容,此命令的基本格式為:
[root@localhost ~]# ls [選項] 目錄名稱
表 1 列出了 ls 命令常用的選項以及各自的功能,
| 選項 | 功能 |
|---|---|
| -a | 顯示全部的檔案,包括隱藏檔案(開頭為 . 的檔案)也一起羅列出來,這是最常用的選項之一, |
| -A | 顯示全部的檔案,連同隱藏檔案,但不包括 . 與 .. 這兩個目錄, |
| -d | 僅列出目錄本身,而不是列出目錄內的檔案資料, |
| -f | ls 默認會以檔案名排序,使用 -f 選項會直接列出結果,而不進行排序, |
| -F | 在檔案或目錄名后加上檔案型別的指示符號,例如,* 代表可運行檔案,/ 代表目錄,= 代表 socket 檔案,| 代表 FIFO 檔案, |
| -h | 以人們易讀的方式顯示檔案或目錄大小,如 1KB、234MB、2GB 等, |
| -i | 顯示 inode 節點資訊, |
| -l | 使用長格式列出檔案和目錄資訊, |
| -n | 以 UID 和 GID 分別代替檔案用戶名和群組名顯示出來, |
| -r | 將排序結果反向輸出,比如,若原本檔案名由小到大,反向則為由大到小, |
| -R | 連同子目錄內容一起列出來,等於將該目錄下的所有檔案都顯示出來, |
| -S | 以檔案容量大小排序,而不是以檔案名排序, |
| -t | 以時間排序,而不是以檔案名排序, |
| --color=never --color=always --color=auto |
never 表示不依據檔案特性給予顏色顯示, always 表示顯示顏色,ls 默認采用這種方式, auto 表示讓系統自行依據配置來判斷是否給予顏色, |
| --full-time | 以完整時間模式 (包含年、月、日、時、分)輸出 |
| --time={atime,ctime} | 輸出 access 時間或改變權限屬性時間(ctime),而不是內容變更時間 |
Linux mkdir命令
mkdir 命令,是 make directories 的縮寫,用于創建新目錄,此命令所有用戶都可以使用,mkdir 命令的基本格式為:
[root@localhost ~]# mkdir [-mp] 目錄名
- -m 選項用于手動配置所創建目錄的權限,而不再使用默認權限,
- -p 選項遞回創建所有目錄,以創建 /home/test/demo 為例,在默認情況下,你需要一層一層的創建各個目錄,而使用 -p 選項,則系統會自動幫你創建 /home、/home/test 以及 /home/test/demo,
Linux rmdir命令
和 mkdir 命令(創建空目錄)恰好相反,rmdir(remove empty directories 的縮寫)命令用于洗掉空目錄,此命令的基本格式為:[root@localhost ~]# rmdir [-p] 目錄名
-p 選項用于遞回洗掉空目錄,Linux cp命令
cp 命令,主要用來復制檔案和目錄,同時借助某些選項,還可以實作復制整個目錄,以及比對兩檔案的新舊而予以升級等功能,cp 命令的基本格式如下:
[root@localhost ~]# cp [選項] 源檔案 目標檔案
選項:- -a:相當于 -d、-p、-r 選項的集合,這幾個選項我們一一介紹;
- -d:如果源檔案為軟鏈接(對硬鏈接無效),則復制出的目標檔案也為軟鏈接;
- -i:詢問,如果目標檔案已經存在,則會詢問是否覆寫;
- -l:把目標檔案建立為源檔案的硬鏈接檔案,而不是復制源檔案;
- -s:把目標檔案建立為源檔案的軟鏈接檔案,而不是復制源檔案;
- -p:復制后目標檔案保留源檔案的屬性(包括所有者、所屬組、權限和時間);
- -r:遞回復制,用于復制目錄;
- -u:若目標檔案比源檔案有差異,則使用該選項可以更新目標檔案,此選項可用于對檔案的升級和備用,
需要注意的是,源檔案可以有多個,但這種情況下,目標檔案必須是目錄才可以,
Linux rm命令
當 Linux 系統使用很長時間之后,可能會有一些已經沒用的檔案(即垃圾),這些檔案不但會消耗寶貴的硬碟資源,還是降低系統的運行效率,因此需要及時地清理,rm 是強大的洗掉命令,它可以永久性地洗掉檔案系統中指定的檔案或目錄,在使用 rm 命令洗掉檔案或目錄時,系統不會產生任何提示資訊,此命令的基本格式為:
[root@localhost ~]# rm[選項] 檔案或目錄
選項:- -f:強制洗掉(force),和 -i 選項相反,使用 -f,系統將不再詢問,而是直接洗掉目標檔案或目錄,
- -i:和 -f 正好相反,在洗掉檔案或目錄之前,系統會給出提示資訊,使用 -i 可以有效防止不小心洗掉有用的檔案或目錄,
- -r:遞回洗掉,主要用于洗掉目錄,可洗掉指定目錄及包含的所有內容,包括所有的子目錄和檔案,
注意,rm 命令是一個具有破壞性的命令,因為 rm 命令會永久性地洗掉檔案或目錄,這就意味著,如果沒有對檔案或目錄進行備份,一旦使用 rm 命令將其洗掉,將無法恢復,因此,尤其在使用 rm 命令洗掉目錄時,要慎之又慎,
Linux mv命令
mv 命令(move 的縮寫),既可以在不同的目錄之間移動檔案或目錄,也可以對檔案和目錄進行重命名,該命令的基本格式如下:[root@localhost ~]# mv 【選項】 源檔案 目標檔案
選項:- -f:強制覆寫,如果目標檔案已經存在,則不詢問,直接強制覆寫;
- -i:互動移動,如果目標檔案已經存在,則詢問用戶是否覆寫(默認選項);
- -n:如果目標檔案已經存在,則不會覆寫移動,而且不詢問用戶;
- -v:顯示檔案或目錄的移動程序;
- -u:若目標檔案已經存在,但兩者相比,源檔案更新,則會對目標檔案進行升級;
需要注意的是,同 rm 命令類似,mv 命令也是一個具有破壞性的命令,如果使用不當,很可能給系統帶來災難性的后果,
3.Linux操作文本
什么是vim ?
Vim 是從 vi 發展出來的一個文本編輯器,代碼補全、編譯及錯誤跳轉等方便編程的功能特別豐富,在程式員中被廣泛使用,
簡單的來說, vi 是老式的字處理器,不過功能已經很齊全了,但是還是有可以進步的地方, vim 則可以說是程式開發者的一項很好用的工具,
連 vim 的官方網站 (https://www.vim.org/) 自己也說 vim 是一個程式開發工具而不是文字處理軟體,
vi/vim 的使用
基本上 vi/vim 共分為三種模式,分別是命令模式(Command mode),輸入模式(Insert mode)和底線命令模式(Last line mode), 這三種模式的作用分別是:
命令模式:
用戶剛剛啟動 vi/vim,便進入了命令模式,
此狀態下敲擊鍵盤動作會被Vim識別為命令,而非輸入字符,比如我們此時按下i,并不會輸入一個字符,i被當作了一個命令,
以下是常用的幾個命令:
- i 切換到輸入模式,以輸入字符,
- x 洗掉當前游標所在處的字符,
- : 切換到底線命令模式,以在最底一行輸入命令,
若想要編輯文本:啟動Vim,進入了命令模式,按下i,切換到輸入模式,
命令模式只有一些最基本的命令,因此仍要依靠底線命令模式輸入更多命令,
輸入模式
在命令模式下按下i就進入了輸入模式,
在輸入模式中,可以使用以下按鍵:
- 字符按鍵以及Shift組合,輸入字符
- ENTER,回車鍵,換行
- BACK SPACE,退格鍵,洗掉游標前一個字符
- DEL,洗掉鍵,洗掉游標后一個字符
- 方向鍵,在文本中移動游標
- HOME/END,移動游標到行首/行尾
- Page Up/Page Down,上/下翻頁
- Insert,切換游標為輸入/替換模式,游標將變成豎線/下劃線
- ESC,退出輸入模式,切換到命令模式
底線命令模式
在命令模式下按下:(英文冒號)就進入了底線命令模式,
底線命令模式可以輸入單個或多個字符的命令,可用的命令非常多,
在底線命令模式中,基本的命令有(已經省略了冒號):
- q 退出程式
- w 保存檔案
按ESC鍵可隨時退出底線命令模式,
4.軟體的下載安裝
更換源鏡像
因為Linux自帶的預案服務器在國外訪問速度較慢,建議更換國內源鏡像,以減少不必要的麻煩,
源鏡像的更換方法非常簡單,只需要將/etc/apt/sources.list中的檔案與下列國內鏡像替換即可,
#清華源(推薦) deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free deb-src http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free #阿里云 deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib #中科大 deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib #浙大 deb http://mirrors.zju.edu.cn/kali kali-rolling main contrib non-free deb-src http://mirrors.zju.edu.cn/kali kali-rolling main contrib non-free #重慶大學 deb http://http.kali.org/kali kali-rolling main non-free contrib deb-src http://http.kali.org/kali kali-rolling main non-free contrib
Linux apt命令
apt(Advanced Packaging Tool)是一個在 Debian 和 Ubuntu 中的 Shell 前端軟體包管理器,
apt 命令提供了查找、安裝、升級、洗掉某一個、一組甚至全部軟體包的命令,而且命令簡潔而又好記,
apt 命令執行需要超級管理員權限(root),
apt 語法
apt [options] [command] [package ...]
- options:可選,選項包括 -h(幫助),-y(當安裝程序提示選擇全部為"yes"),-q(不顯示安裝的程序)等等,
- command:要進行的操作,
- package:安裝的包名,
apt 常用命令
-
列出所有可更新的軟體清單命令:sudo apt update
-
升級軟體包:sudo apt upgrade
列出可更新的軟體包及版本資訊:apt list --upgradeable
升級軟體包,升級前先洗掉需要更新軟體包:sudo apt full-upgrade
-
安裝指定的軟體命令:sudo apt install <package_name>
安裝多個軟體包:sudo apt install <package_1> <package_2> <package_3>
-
更新指定的軟體命令:sudo apt update <package_name>
-
顯示軟體包具體資訊,例如:版本號,安裝大小,依賴關系等等:sudo apt show <package_name>
-
洗掉軟體包命令:sudo apt remove <package_name>
-
清理不再使用的依賴和庫檔案: sudo apt autoremove
-
移除軟體包及組態檔: sudo apt purge <package_name>
-
查找軟體包命令: sudo apt search <keyword>
-
列出所有已安裝的包:apt list --installed
-
列出所有已安裝的包的版本資訊:apt list --all-versions
Linux yum 命令
yum( Yellow dog Updater, Modified)是一個在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端軟體包管理器,
基于 RPM 包管理,能夠從指定的服務器自動下載 RPM 包并且安裝,可以自動處理依賴性關系,并且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝,
yum 提供了查找、安裝、洗掉某一個、一組甚至全部軟體包的命令,而且命令簡潔而又好記,
yum 語法
yum [options] [command] [package ...]
- options:可選,選項包括-h(幫助),-y(當安裝程序提示選擇全部為 "yes"),-q(不顯示安裝的程序)等等,
- command:要進行的操作,
- package:安裝的包名,
yum常用命令
-
1. 列出所有可更新的軟體清單命令:yum check-update
-
2. 更新所有軟體命令:yum update
-
3. 僅安裝指定的軟體命令:yum install <package_name>
-
4. 僅更新指定的軟體命令:yum update <package_name>
-
5. 列出所有可安裝的軟體清單命令:yum list
-
6. 洗掉軟體包命令:yum remove <package_name>
-
7. 查找軟體包命令:yum search <keyword>
-
8. 清除快取命令:
- yum clean packages: 清除快取目錄下的軟體包
- yum clean headers: 清除快取目錄下的 headers
- yum clean oldheaders: 清除快取目錄下舊的 headers
- yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除快取目錄下的軟體包及舊的 headers
5.Linux操作磁盤
磁盤管理
Linux 磁盤管理好壞直接關系到整個系統的性能問題,
Linux 磁盤管理常用三個命令為 df、du 和 fdisk,
- df(英文全稱:disk full):列出檔案系統的整體磁盤使用量
- du(英文全稱:disk used):檢查磁盤空間使用量
- fdisk:用于磁盤磁區
df命令
df命令引數功能:檢查檔案系統的磁盤空間占用情況,可以利用該命令來獲取硬碟被占用了多少空間,目前還剩下多少空間等資訊,
語法:
df [-ahikHTm] [目錄或檔案名]
選項與引數:
- -a :列出所有的檔案系統,包括系統特有的 /proc 等檔案系統;
- -k :以 KBytes 的容量顯示各檔案系統;
- -m :以 MBytes 的容量顯示各檔案系統;
- -h :以人們較易閱讀的 GBytes, MBytes, KBytes 等格式自行顯示;
- -H :以 M=1000K 取代 M=1024K 的進位方式;
- -T :顯示檔案系統型別, 連同該 partition 的 filesystem 名稱 (例如 ext3) 也列出;
- -i :不用硬碟容量,而以 inode 的數量來顯示
du命令
Linux du 命令也是查看使用空間的,但是與 df 命令不同的是 Linux du 命令是對檔案和目錄磁盤使用的空間的查看,還是和df命令有一些區別的,這里介紹 Linux du 命令,
語法:
du [-ahskm] 檔案或目錄名稱
選項與引數:
- -a :列出所有的檔案與目錄容量,因為默認僅統計目錄底下的檔案量而已,
- -h :以人們較易讀的容量格式 (G/M) 顯示;
- -s :列出總量而已,而不列出每個各別的目錄占用容量;
- -S :不包括子目錄下的總計,與 -s 有點差別,
- -k :以 KBytes 列出容量顯示;
- -m :以 MBytes 列出容量顯示;
fdisk命令
fdisk 是 Linux 的磁盤磁區表操作工具,
語法:
fdisk [-l] 裝置名稱
選項與引數:
- -l :輸出后面接的裝置所有的磁區內容,若僅有 fdisk -l 時, 則系統將會把整個系統內能夠搜尋到的裝置的磁區均列出來,
磁盤格式化
mkfs命令
磁盤分割完畢后自然就是要進行檔案系統的格式化,格式化的命令非常的簡單,使用 mkfs(make filesystem) 命令,
語法:
mkfs [-t 檔案系統格式] 裝置檔案名
選項與引數:
- -t :可以接檔案系統格式,例如 ext3, ext2, vfat 等(系統有支持才會生效)
磁盤檢驗
fsck命令
fsck(file system check)用來檢查和維護不一致的檔案系統,
若系統掉電或磁盤發生問題,可利用fsck命令對檔案系統進行檢查,
語法:
fsck [-t 檔案系統] [-ACay] 裝置名稱
選項與引數:
- -t : 給定檔案系統的型式,若在 /etc/fstab 中已有定義或 kernel 本身已支援的則不需加上此引數
- -s : 依序一個一個地執行 fsck 的指令來檢查
- -A : 對/etc/fstab 中所有列出來的 磁區(partition)做檢查
- -C : 顯示完整的檢查進度
- -d : 列印出 e2fsck 的 debug 結果
- -p : 同時有 -A 條件時,同時有多個 fsck 的檢查一起執行
- -R : 同時有 -A 條件時,省略 / 不檢查
- -V : 詳細顯示模式
- -a : 如果檢查有錯則自動修復
- -r : 如果檢查有錯則由使用者回答是否修復
- -y : 選項指定檢測每個檔案是自動輸入yes,在不確定那些是不正常的時候,可以執行 # fsck -y 全部檢查修復,
磁盤掛載與卸除
mount命令
Linux 的磁盤掛載使用 mount 命令,卸載使用 umount 命令,
磁盤掛載語法:
mount [-t 檔案系統] [-L Label名] [-o 額外選項] [-n] 裝置檔案名 掛載點
21:29:38
——文章內容為作者總結,如有錯誤,歡迎指正
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/422969.html
標籤:Linux
上一篇:DTO中一個物體的兩個驗證器
