拷貝光標所在當前行的命令為 yy , 拷貝當前行向下的 5 行 的命令為5yy,粘貼的快捷鍵為 p。(一般模式下使用)
刪除光標所在當前行的命令為 dd , 刪除當前行向下的 5 行 5dd。(一般模式下使用)
在文件中查找某個單詞 (命令行模式下 /關鍵字 , 回車 查找 , 輸入 n 就是查找下一個 )。
設置文件的行號(命令行下 : set nu),取消文件的行號.(命令行下 :set nonu)
編輯 /etc/profile 文件,使用快捷鍵到底文檔的最末行(G)和最首行(gg) 。(一般模式下使用)
在一個文件中輸入 「在一個文件中輸入 「hello」 ,然後又撤銷這個動作 u (一般模式下使用)
編輯 /etc/profile 文件,並將光標移動到 20 行 shift+g
Linux 系統是一個多用戶多任務的作業系統,任何一個要使用系統資源的用戶,都必須首先向系統管理員申請一個帳號,然後以這個帳號的身份進入系統。
在Linux中,一個用戶屬於一個組。
當我們創建一個用戶的時候,默認會在/home 目錄下創建一個和用戶名相同的目錄,以後每次用該用戶登錄時,都會默認切換到/home/用戶名下。
一個用戶默認是不能進入到其他用戶目錄的
用戶的不同權限的體現就是對於文件的操作權限不同。
1. useradd + 用戶名 :創建新用戶(默認在home下創建文件夾)
2. passwd + 用戶名 :給新創建的用戶名設置密碼,如果沒有帶用戶名就是給當然用戶修改密碼。
3. userdel + 用戶名 :刪除用戶,保留家目錄
userdel -r + 用戶名 :刪除用戶,不保留家目錄
4. id + 用戶名 :查詢用戶信息。
5. su - + 用戶名 :切換到指定用戶(高權限到低權限不需要密碼,反之需要輸入密碼)
用戶組指的是將有共性的多個用戶劃分到一個組內統一管理。
1. groupadd + 組名 : 增加一個組
2. useradd -g 組名 用戶名 :新添加一個用戶並指定到哪個組中
3. groupdel + 組名 :刪除組(組內必須沒有用戶才能刪除)
4. usermod -g 新的組名 用戶名 : 修改用戶到另外一個組中
1. ls -ahl : 查看文件的所有者
2. chown 用戶名 文件名 :change owner,修改文件所有者
3. chgrp + 組名 + 文件名 :修改文件所在的組
4. usermod -g + 組名 用戶名 :修改用戶所在的組
權限介紹:
第0位的含義 :(-:普通文件)、(d :目錄)、(l : 連接文件)、(c : 字符設備文件,鍵盤滑鼠等)、(b :塊設備文件,磁碟等)
第1-3位的含義:確定文件所有者對文件的操作權限(r:讀權限 ,w :寫權限 , x :執行權限)
第4-6位的含義 : 確定所屬的組擁有該用戶的權限
第7-9位的含義 : 確定其他用戶擁有該文件的權限
數字1 : 如果是文件,表示硬連結的數目,如果是目錄,表示子目錄的個數
1228/107 :表示文件大小
ps : 對於文件和目錄來說,rwx是不同的
對於文件來說:r表示可以讀取和查看,w表示可以修改(不一定可以刪除,但是刪除文件必須要有修改的權限),x表示可以被執行。
對於目錄來說:r表示可以讀取,ls可以查看目錄內容,w表示可以修改(目錄內可以增刪改),x表示可以進入改目錄。
修改權限的命令如下:(u :所有者 、g :所有組 、o:其他人、a:所有人(a = u+g+o))
1. gzip (壓縮文件,只能將文件壓縮為*.gz 文件) 和 gunzip :(解壓縮文件命令)
2. zip + 選項 + XXX.zip 壓縮文件內容為XXX.zip
unzip + (-d + 目錄) + XXX.zip 將XXX.zip 解壓到指定目錄
3. tar +選項 + XXX.tar.gz + 要打包的內容/目錄 :最常用的打包命令
-c : 產生.tar 打包文件
-v :顯示詳細信息
-f :指定壓縮後的文件名
-z : 打包後同時壓縮
-x : 解壓.tar文件
進程的基本介紹:
在 在 LINUX 中,每個執行的程序(代碼)都稱為一個進程。每一個進程都分配一個 ID 號
每一個進程,都會對應一個父進程,而這個父進程可以複製多個子進程。例如 每一個進程,都會對應一個父進程,而這個父進程可以複製多個子進程。例如 www 伺服器
每個進每個進程都可能以兩種方式存在的。前臺 與後臺,所謂前臺進程就是用戶目前的屏幕上可以進行操作的。後臺進程則是實際在操作,但由於屏幕上無法看到的進程,通常使用後臺方式執行[sshd , crond]
一般系統的一般系統的服務都是以後臺進程的方式存在,而且都會常駐在系統中。直到關機才才結束
1. ps -aux :顯示所有的進程
2. ps -aux | grep sshd :查看sshd進程,grep為過濾的意思
3. kill + 進程號 :殺死進程
4. killall + 進程名稱 : 通過進程名稱殺死進程(支持通配符,當系統負載過大的時候可以很好的使用)
5. pstree + 選項 :更直觀的看到進程的信息
服務管理:
服務(service) 本質就是進程,但是是運行在後臺的,通常都會監聽某個埠,等待其它程序的請求,比如(mysql , sshd 防火牆等),因此我們又稱為守護進程。
6. service + 服務名 + [start | stop | restart | reload | status]
分別代表不同的意思
7. top :動態的監控進程
交互操作 :
P :以CPU利用率排序,默認使用
M :以內存利用率排序
N :以PID排序
u : 輸入用戶名查找特定用戶
k : 輸入進程號結束進程
q :退出監控
8. netstat + 選項 :查看系統網絡情況
-an : 按一定順序排列輸出
-p : 顯示哪個進程在調用
基本的Linux命令已經說完了,其實還有很多很多。。大家以後遇到了再補吧,把這兩節的命令敲熟練了入門應該沒啥問題了,同時推薦大家看看鳥叔的Linux相關的書籍,如果有時間的話,但感覺面試的時候不是重點~
以下面試題來源於牛客網:
Linux命令:查看進程、殺死進程、查看文件
Linux 文件系統架構是怎麼樣的?
Linux如何找文件,查看埠?
Linux和windows比有什麼優勢?
Linux系統監控怎麼看(dstat--系統監控工具)
Linux如何查看網絡狀況
Linux是怎樣殺死進程的(原理)
Linux中系統cpu佔用率過高,如何查看?
總結:Linux在面試中的佔比不高,但是如果不會的話顯得比較掉分,面試官也知道大家在校園中很少使用Linux系統,所以問的都比較的淺顯,大部分都是一些指令的詢問,比較工作中更多的也就是指令的使用(面試造火箭,進去擰螺絲哈哈),有條件的可以用MBP來試試,好像可以兼容很多命令,沒條件的就裝個虛擬機玩玩吧~,大家加油!!!