Linux学习 命令部分
一:目錄結構
Bin: 全稱binary,含義是二進制。文件都是可運行的。
Dev:該目錄中主要存放的是外接設備,例如U盤,移動硬盤,光盤。在其中的外接設備是不能直接被使用的,需要掛載(類似于Windows下的分配盤符)。
? Etc:該目錄主要是存儲一些配置文件。
? Home:類似于User,除了Root意外的用戶目錄。
? Proc:全程process(進程),存儲Linux運行的進程。
? Root:該目錄是Root的家目錄;
? ? ? ? ? Sbin:全程 suber binary,該目錄也是存放一些可以執行的二進制文件,但是必須得有super權限的用戶才能執行
? Tmp:存放臨時文件;(類似于Windows的Temp)
? Usr:存放的用戶自己安裝的軟件;類似于program files;
? Var:存放是程序/系統的日志文件;
? Mnt:當外接設備如果需要掛載的時候就需要掛載到Mnt目錄下;
二 指令和選項
? Linux下指令通用的格式:
? ~$指令主題 [選項] [操作對象]
? ? ? ? ? 一個指令可以包含多個選項和多個操作對象。
列如:需要讓張三同學去留下小賣部去買一瓶肥宅快樂水和清風餐巾紙
? ? ? ? ? ? ?? 買東西是指令的主體 ,買的水和餐巾紙是操作對象,肥宅快樂水和清風是選項;
三 基礎命令
?
1.? ls (list) 列出
用法1:ls
含義:列出當前目錄所有文件
用法2 :ls 路徑
含義:列出給出路徑下面的文件
關于路勁:路徑可以分為兩種:相對路徑和絕對路徑
相對路徑:相對首先得有一個參照物(一般就是當前的工作路徑);
相對路勁的寫法:在相對路徑中通常會用到兩個符號
“./”[表示當前目錄下]
? ? ? ?? “../”[表示上一級目錄下]
絕對路徑:絕對路徑不需要參照物 直接從根“/”開始尋找對應路徑
用法3:ls 選項 路徑
含義:在列出路徑下的文件/文件夾的名稱,并以指定的格式進行顯示。
常見的語法 ls -l 路徑
?? ls -la 路徑
參數(選項): -l 表示 list,表示以詳細列表的形式進行展示;
? ? ?? 列表中的第一列字符表示文檔類型;
“-”表示該行文檔類型問文件:“d”表示文件夾
? ? ? ? ? ? ? ? ? ? ?? -a 表示顯示所有的文件和文件夾(包含了隱藏文件和文件夾)
? ? ?? 隱藏文件一般是以“.”開頭
用法4:ls -l[a]h 路徑
? ? ? ? 含義:列出指定路徑下的所有文件和文件夾的名稱以列表的形式并且在顯示文檔大小的時候以可讀性較高的形式來進行顯示;
?
2.pwd
用法:pwd (print working directory)打印當前工作目錄
3.cd 命令
cd 命令 (change directory 改變目錄)切換當前的工作目錄
語法:cd 路徑
補充: Linux中有一個“~”表示當前用戶的家目錄
4. mkdir 命令
用戶:mkdir (make directory 創建目錄)
用法1: mkdir [路徑] 文件名
案例:在當前路徑下創建目錄“yunwei” mkdir xx
注意:ls 列出結果顏色說明:其中藍色的名稱表示文件夾,黑色的表示文件,綠色的表示其權限未不是只讀擁有所有權限。
案例:指定的目錄下面創建? mkdir /root/xx
用法2:mkdir -p[文件路徑] 多層創建
案例:mkdir -p /root/yunwei/a/b/c/d
? ?? 查看 ls /root/yunwei/a/b/c/d
語法3: mkdir 路徑1 路徑2 路徑...
5. touch (創建指令)
指令:touch 創建文件
語法: touch 路徑
案例: 用touch在當前目錄下創建一個文件名,命名為Linux.txt; touch Linux.txt
? ?? 用touch在執行目錄Home下創建文件Linux123.txt ; touch /home/Linux123
注意:文件不能包含多層 所以沒有-p 但是可以創建多個文件
6.cp (copy 復制)
作用:復制文件/文件夾到指定的位置
語法 cp 被復制的文檔路徑 文檔被復制到的路徑
案例:使用cp來復制文件
注意:可以在復制過程中改名,cp在命令文件夾復制的時候添加 -r(遞歸復制)
7.mv 指令 (move 移動 剪切)
作用1:移動文檔位置
語法: mv 需要移動的文檔路徑 需要保存的位置路徑
主語:原始文件不在原位置
案例:mv移動命令一個文件
mv 文件 路徑
? ? ? ? ? ? ? mv -r移動命令一個文件夾
作用2:重命名
語法: mv 需要移動的文檔路徑 需要保存的位置路徑
8 rm 命令(移除 remove)
作用:移除刪除一個文檔
語法 rm 選項 移除的路徑
選項:
-f 再刪除時不想頻繁確認可以在指令中添加 表示 force(強制)
-r 刪除文件夾 遞歸刪除 一般 -rf聯合使用
案例:不用選項刪除文件 rm /路徑 ????沒提示/會提示是否刪除
? ? ? 刪除一個文件夾 rm -r /文件夾路徑
? ? ? 刪除文件夾和文件 rm -rf /路徑 路徑
? ? ? 刪除一個目錄下有公共特性的文件 例如Linux開頭 rm -f /關鍵詞 *(通配符)
9 vim 命令
指令:vim(vim是一款文本編輯器)
語法:vim 文件的路徑
作用:打開一個文件(可以存在也可以不存在)
在沒有按下其他命令的時候 :q(不保存退出) :wq(保存退出) :q!(強制退出)
10.輸出重定向
指令:一般的命令都會顯示在終端中,有時候講一些命令的執行結果保存到文件中進行后續的分析統計這個時候需要輸出重定向;
> 表示覆蓋輸出
>> 追加輸出
注意:文件不存在自動新建
案列:使用覆蓋重定向,保存ls -la的結果? ls -la > 文件
11.cat 指令
作用:cat 直接打開一個文件的功能 不同于vim
語法: cat 文件的路徑
作用2:cat還可以對文件進行合并
語法:cat 待合并的路徑1 待合并的路徑2 合并路徑n > 新文件路徑
案列 cat a b > c 配合輸出重定向
三? 進階命令
?
1. df指令(disk free)
?作用:查看磁盤的空間
語法: # df?
? # df -h 可讀性較高(顯示儲存單位)
???? # df -a? 包含全部的文件系統;
2.free指令
作用:查看內存使用情況
語法: # free
? ? ? # free -m 表示以MB為單位
???? # free -k:以KB為單位顯示內存使用情況;
3.head指令
作用:查看一個文件的前n行,如果不指定n,則默認顯示前10行
語法: #head -n 文件路徑
4.tail指令
作用1:查看一個文件的末n行,如果不指定n,則默認顯示后10行
語法: #tail -n 文件路徑
作用2:可以通過tail指令來查看一個文件的動態變化(文件不能為手動輸入)?? 顯示文件最新追加的內容
語法: #tail -f 文件路徑
該命令一般用于查看系統的日志比較多
5.less指令
作用:查看文件,以較少的內容進行輸出,按下輔助功能鍵(shift+: 后 數字+回車 , 空格+上下 )查看更多
語法: #less 文件路徑
退出按q
6.wc指令(?Word Count)
作用:統計文件內容信息(包含行數,單詞數,字節數)
語法: #wc -lwc 需要統計的文件路徑
? ? -l :表示lines ,行數
? ? -w :表示word? ,單詞數? 依照空格來判斷單詞數量
? ? -c :表示bytes ,字節數
7.date指令(重點)***
作用:表示操作時間日期(讀取,設置),shell
語法1:# date 查看當前時間? ?? 輸出的形式:2018年9月19日 星期三 19:30:50? ? ? ?? CST表示當地時間
語法2:# date +%F (等價于 #date +"%Y-%m-%d")? ? ? ? ? ?? 輸出的形式:2018-09-19
語法3: %date "+%F %T" 輸出的形式:2018-9-19 19:30:40? (引號表示讓年月日時分秒成為一個整體)
等價于 # date "+%Y-%m-%d %H:%M:%S"
語法4:獲取之前獲取之后的某個時間(備份)
# date -d "-1 day" "+%Y-%m-%d %H:%M:%S"?? 獲取一天前的時間
# date -d "+1 day" "+%Y-%m-%d %H:%M:%S"?? 獲取一天后的時間
時間單位:day(天),mouth(月),year(年)
-d<字符串>:顯示字符串所指的日期與時間。字符串前后必須加上雙引號;
-s<字符串>:根據字符串來設置日期與時間。字符串前后必須加上雙引號;
%F:表示完整的年月日
%T:表示完整的時分秒
%Y:表示四位年份
%m:表示兩位月份(帶前導0)
%d:表示日期(帶前導0)
%H:表示小時(帶前導0)
%M:表示分鐘(帶前導0)
%S:表示秒數((帶前導0)
8. cal指令
作用:操作日歷的
語法1:# cal 等價于 # cal -1? 直接輸出當前月份的日歷
語法2:# cal -3 ? ? 表示前一個月+當月+下個月的日歷
語法3:# cal -y 年份 表示輸出某一年月份的日歷
9.clear/ctrl + L指令
作用:清除終端中已經存在的命令和結果(信息)
語法: # clear? 或者 ctrl + L
10.管道(重要)***
管道符: |
作用:管道一般可以用于"過濾","特殊","擴展處理" .
語法:管道不能單獨使用,必須需要配合前面所講的一些指令來一起使用,起作用主要是輔助作用
①過濾案例(100%使用):需要通過管道查詢出根目錄下包含"y"字母的文檔名稱
#ls /|grep y
針對上面這個命令說明:
??? ?1.以管道作為分界線,前面的命令有個輸出 后面需要先輸入在過濾再輸出
???? ?通俗的講就是管道前面的輸出就是后面指令的輸入
????? 2.grep指令: 主要用于過濾
②特殊用法案例:通過管道的操作方法來實現less的等價效果(了解)
之前通過less查看一個文件,可以# less 路徑
現在可以通過管道還可以這么: # cat 路徑 | less
③擴展處理:請使用學過的命令,來統計某個目錄下的文檔的總個數
# ls / | wc -l
# ls / | wc -w? ?
五 、高級指令部分
1. hostname指令
作用:操作服務器的主機名(***讀取,設置)
語法1: # hostname? ? ? 含義:表示輸出完整的主機名
語法2: # hostname -f? 含義:表示輸出當前主機名的FQDM(全限定域名)
?
2. id指令
作用:查看一個用戶的基本信息(包含用戶id,用戶組id,附加組id...),該指令如果不指定用戶則默認當前用戶
語法1: # id? ? ? ? 默認顯示當前執行該命令的用戶
語法2: #id 用戶名? 顯示指定用戶的基本信息
驗證上述信息是否正確?
驗證用戶信息,通過文件/etc/passwd
驗證用戶組信息:通過文件/etc/group
3.whoami指令
作用:"我是誰?" 顯示當前登錄的用戶名,一般用于shell腳本,
用于獲取當前操作的用戶名方便記錄日志
語法: # whoami
4. ps -ef指令(重點***)(?Processes Status)
指令:ps? ?
作用:主要是查看服務器的進程信息
選項含義:
-e:等價于"-A" 表示列出全部的進程
-f:顯示全部的列(顯示全字段)
列的含義:
UID:該進程執行的用戶id;
***PID:進程id;
***PPID:該進程的父級進程id;如果一個程序的父級進程找不到,該程序的進程稱之為僵尸進程
***C: cpu的占用率,其形式是百分數
STIME:進行的啟動時間
TTY:終端設備,發起該進程的設備識別,如果顯示"?"則表示該進程不是由終端發起 ;
TIME:進程的執行時間;
CMD:該進程的名稱或者對應的路徑 ;
案例(100%使用的命令)在ps的結果中過濾出想要查看的進程狀態
# ps -ef | grep gnome-panel? ? ? ?? # 本身指令這條指令也算進程
5.top指令 (重點***)
作用:查看服務器的進程占的資源
語法:
進入命令: #top?? (動態顯示)
退出命令: 按q
表頭含義:
? PID:進程id;
? USER:該進程對應的用戶;
? PR(權重):優先級;
? NI(nice):用戶進程空間內改變過優先級的進程占用CPU百分比 (基本不會用)
?VIRT:虛擬內存;
??RES:常駐內存;
? SHR:共享內存;
計算一個進程實際使用的內存 = 常駐內存(RES) - 共享內存(SHR)
?S:表示進行的狀態(sleeping,其中S表示睡眠,R表示進行) ;
?%CPU:表示CPU的占用百分比
?%MEM:表示內存的占用百分比
TIME+ :執行的時間;
COMMAND:進程的名稱或者路徑 ;
例如chrome進行:
? 虛擬內存:申請500兆 實際使用了320MB 此時虛擬內存就是500兆
? 常駐內存:申請500兆 實際使用了320MB 此時常駐內存就是320兆
? 共享內存:申請500兆 實際使用了320MB,但是其中還包含對其他進程的調用開銷則需要扣除
在運行top的時候,可以按下方便的快捷鍵:
? M: 表示將結果按照內存(MEM)從高到低進行降序排列;
? ?P:表示將結果按照CPU使用率從高到低進行降序排列;
? 1:當服務器擁有多個CPU核心的時候可以使用"1"快捷鍵來切換是否展示顯示各個CPU核心的詳細信息
6.du -sh指令
作用:查看目錄的真實大小
選項含義:
-s:summaries ,只顯示匯總的大小
-h:表示以較高可讀性的形式進行顯示
案例:統計"/root/a"的實際大小
? # du -sh ?/root/a
8.service指令(重點***)
作用:用于控制一些軟件的服務啟動/停止/重啟
語法: # service 服務名 start/stop/restart
例如:需要啟動本機安裝的Apache(網站服務器軟件),其服務名叫httpd
???? # service httpd start
通過ps命令來檢查httpd是否啟動
?# ps -ef | grep httpd
9.kill指令(***重點)
作用: 表示殺死進程(當遇到僵尸進程或者處于某些原因需要關閉進程的時候)
語法1: # kill 進程id
語法2: killall 進程名稱
10.ifconfig指令(***重點)
語法: # ifconfig(獲取網卡信息)
11.reboot指令
作用:重新啟動計算機
語法1:# reboot? ? 重啟
語法2:# reboot -w? 模擬重啟,但是不重啟 (只寫關機與開機的日志信息)
12.shutdowm指令
作用:關機 (慎用)
語法1: # shutdown -h now (立即關機) 或者 # shutdowm -h 9:15 "提示信息"(9.15關機)
案例:設置Linux系統關機時間自9.15
想取消定時關機的話
? ①針對centos7.0x之前: ctrl+c
? ②針對centos7.0x(包含)之后: # shutdowm -c
除了shutdown關機以外,還有以下幾個關機命令:
?? # init 0
?? # halt
?? # poweroff
13.uptime指令
作用:輸出計算機的持續在線時間(計算機從卡機到現在運行的時間)
語法: # uptime
14.uname指令
作用:獲取計算機系統相關信息
語法1: # uname 獲取操作系統的類型
語法2: # uname -a? 表示獲取系統的全部信息(類型,全部主機名,內核版本,發布時間,開源計劃)
15.netstat -tnlp指令
作用:查看網絡連接狀態
語法: # netstat -tnlp
選項說明:
? -t:表示只列出tcp協議的連接;
? -n:表示將地址從字母組合轉化成ip地址,將協議轉化成端口號來顯示;
? -l:表示過濾"state(狀態)"列出其值為LINTEM(監聽)的連接;
? -p:表示顯示發起連接的進程pid和進程名稱;
16.man指令
作用:manual,手冊
語法:# man 命令? (退出按下q鍵)
案例:通過man命令查詢cp指令的用法(全是英文)
?
?
?
?
?
?
轉載于:https://www.cnblogs.com/liaohong123/p/9744496.html
總結
以上是生活随笔為你收集整理的Linux学习 命令部分的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: There is no getter f
- 下一篇: c模拟内存分配算法(首次适应算法,最佳适
