前幾天學習了一下Linux的基本命令,在此分享出來,以作為總結。
環境:192.168.54.242
cd:
cd - 切換至上一次使用路徑;
cd .. 進入到父路徑
cd ~ 進入到root/目錄
cd 同上
cd ../ 相對目錄
mkdir:
mkdir a 創建目錄a
mkdir -p a/b/c 創建樹目錄
mkdir -m 777 a 創建目錄a並賦予最大權限
mkdir -m a=rwx a 同上
(關於權限:rwx分別指:read,write,execute,常用的權限對應的權限值:rwxrwxrwx 777,rwx--x--x 711, rwxr-xr-x 755)
mkdir -v -m a=--- d 創建目錄d並賦予最小權限(額...),並在創建時顯示信息
rmdir:刪除空目錄
rmdir a 刪除空目錄a,a目錄必為空
rmdir -p d/e/f 刪除樹目錄,前提每個目錄都是空的
ls:常用-la,-lh,
ls 列出當前目錄下檔案,排序列出
ls /var/www/html 列出指定目錄下檔案
ls -a 列出全部檔案,包括隱藏和.以及..
ls -A 列出全部檔案,包括隱藏
ls -d */ 列出所有目錄
(說明-d:僅是列出當前目錄本身,而非目錄中的檔案數據)
ls -d */*/ 列出下一目錄的所有目錄
ls -f 直接列出檔案,而不對檔案排序,包括隱藏和.以及..
ls -F 加上文件類型的指示符號*/=|,分別表示:可執行文件,目錄,Socket檔案,FIFO檔案
ls -l 詳細信息顯示:權限、使用者、群組、大小、時間等信息
ls -n 詳細信息顯示:UID、GID、群組、大小、時間等信息
ls -h -l -h與-l同時使用,以易於閱讀的格式輸出文件大小(例如 1K 234M 2G)
ls -i 列出inode號
ls -r 將結果反向輸出
ls -R 當前目錄和子目錄一並顯示
ls -s 按照容量大小排序
ls -t 按照時間排序
date:
date 顯示當前時間
date -d 16-5-30 顯示指定時間
date -r 33.png 顯示file的最後修改時間
date -s "17:50:03 2016-05-31" 設置日期和時間
date -s 12:23:23 設置具體時間,不會對日期做更改
date -s 20061010 設置年月日,會把具體時間設置成空00:00:00
date -u 顯示或設置全球時間(格林威治時間)
date +%y-%m-%d 按照此格式顯示年月日
date "+%y-%m-%d %H:%M:%S" 按照此格式輸出具體實現(HMS必為大寫)
cal:
cal 查看當前月日歷
cal -1 查看一個月內日歷
cal -2 查看三個月內日歷
cal -m 查看日歷以周一開始
cal -s 查看日歷以周日開始
cal -y 查看一整年的日歷
find:尋找特定檔案
find 查找當前目錄下所有
find /home -newer /home/temp/tst 按時間查詢,查找比/home/temp/下tst文件新的所有/home下的文件
find . -mtime +5 按時間查詢,查找當前目錄下5天以前修改的,-表示以內,+表示以前
find . -mmin -5 按時間查詢,查找當前目錄下5分鐘以內修改的
find . -name "*ma*" 按名稱查詢,查找當前目錄下包含ma的檔案
find . -name "*.png" -print 按名稱查詢,查找當前目錄下.png文件(區分大小寫哦,例如JPG和jpg是不一樣的)
find ~ -name "[0-9]*.png" 按名稱查找,查找root目錄下以數字開頭的.png文件([0-9]只表示一位數字哦)
find .money -name "[0-9]*.png" 同上,查找隱藏目錄.money下
find . -perm 755 -name "i*" 按權限查找,查找當前目錄下權限為755,名稱以i開頭的檔案
find . -type d 按類型查找,查找目錄(b塊設備文件; d目錄; c字符設備文件; p管道文件; l符號鏈接文件; f普通文件; s socket文件)
find . ! -type d 按類型查找,查找非目錄
find . -nouser/nogroup 按所屬用戶/用戶組查找,查找沒有歸屬的檔案
find . -user root -group root 按所屬用戶/用戶組查找,查找屬於root用戶,root用戶組的檔案
find . -size +1000b 按大小查找,+表示大於,-表示小於,b表示字節,c表示字符,默認是塊,一塊=512b
grep:
ps:
netstat:顯示網絡連接,路由表,接口狀態,偽裝連接,網絡鏈路信息和組播成員組
netstat 顯示打開的套接字. 如果不指定任何地址族,那麼打印出所有已配置地址族的有效套接字
netstat -r 顯示內核路由表,r指route
netstat -g 顯示IPv4 和 IPv6的IGMP組播組成員關系信息,g指groups
netstat -i 顯示所有網絡接口列表
netstat -s 顯示每種協議(IP、ICMP、TCP、UDP等)的統計信息,s指statistics
netstat -c 3 將使 netstat 不斷地每3秒輸出所選的信息
netstat -a | more 列出所有端口 (包括監聽和未監聽的)
netstat -at 列出所有TCP端口
netstat -au 列出所有UDP端口
netstat -tpnl 顯看已連接的TCP端口,以及PID.(t指tcp,p指PID,n指數字形式顯示地址,l指只顯示正在監聽的套接字)
netstat -anp | grep 3306 -c 查看3306(mysql)端口的連接數
netstat -alp | grep 8080 找出運行在指定端口的進程
top:顯示當前系統正在執行的進程的相關信息,包括進程ID、內存占用率、CPU占用率等
top -b 以批處理模式顯示程序信息
top -c 顯示完整
top -S 以累積模式顯示
top -u root 指定用戶名
top -p 10 指定進程號顯示
top -n 3 循環顯示的次數,更新顯示3次後停止
以下對top的結果信息作說明:
PID 進程id
PPID 父進程id
RUSER Real user name
UID 進程所有者的用戶id
USER 進程所有者的用戶名
GROUP 進程所有者的組名
PR 優先級
NI nice值。負值表示高優先級,正值表示低優先級
%CPU 上次更新到現在的CPU時間占用百分比
TIME 進程使用的CPU時間總計,單位秒
TIME+ 進程使用的CPU時間總計,單位1/100秒
%MEM 進程使用的物理內存百分比
VIRT 進程使用的虛擬內存總量,單位kb。VIRT=SWAP+RES
SWAP 進程使用的虛擬內存中,被換出的大小,單位kb。
RES 進程使用的、未被換出的物理內存大小,單位kb。RES=CODE+DATA
CODE 可執行代碼占用的物理內存大小,單位kb
DATA 可執行代碼以外的部分(數據段+棧)占用的物理內存大小,單位kb
SHR 共享內存大小,單位kb
nFLT 頁面錯誤次數
nDRT 最後一次寫入到現在,被修改過的頁面數。
S 進程狀態。
D=不可中斷的睡眠狀態
R=運行
S=睡眠
T=跟蹤/停止
Z=僵屍進程
COMMAND 命令名/命令行
free:顯示系統使用和空閒的內存情況,包括物理內存、交互區內存(swap)和內核緩沖區內存
free -b 顯示內存的單位為字節
free -k 顯示內存的單位為 KB(默認也是KB)
free -m 顯示內存的單位為 M
free -o 忽略緩沖區調節列
free -t 總和信息
free -s 3 每隔3秒執行一次命令,單位為s
free -h 以可讀形式顯示容量,需要free -V顯示版本大於3.3
free -V 版本信息(大寫的V)
vim使用:
詳見:http://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html
vim test.txt 打開文件(若文件不存在則創建並打開)
vim模式:
1.一般模式 按ESC或ctrl+[進入
2.編輯模式 在一般模式下通過:i/I o/O a/A進入
3.可視模式 在一般模式下通過v/V進入
vim test1.txt test2.html 同時打開多個文件
:bn 切換到上一下文件
:bp 切換到下一個文件
:open test4.txt 在當前vim窗口打開一個新的文件
:args 查看當前打開的文件,[]中為正在編輯的文件
/text 查找text,按n健查找下一個,按N健查找前一個。
?text 同上,查找隱藏目錄
x 刪除當前字符。dl=x
3x 刪除當前光標開始向後三個字符
X 刪除當前字符的前一個字符。X=dh
dd 刪除當前行
dj 刪除上一行
dk 刪除下一行
10d 刪除當前行開始的10行。
D 刪除當前字符至行尾。D=d$
:wq 保存並退出
ZZ 保存並退出
:q! 強制退出並忽略所有更改
:e! 放棄所有修改,並打開原來文件。
本文出自 “MySpace” 博客,請務必保留此出處http://wangzhaoli.blog.51cto.com/7607113/1785686