說明
此文列出的是最基本的、程序員需要知道的 linux 命令,大神勿踩。
基本命令
cd 切換工作目錄
pwd 當前工作目錄 pwd -P 顯示實際路徑而非鏈接路徑
ls -lht 列出文件,以長列表形式,以kb,mb 等顯示大小,以修改時間排序,最新的顯示在最前面
rm -rf 強制刪除目錄或文件
mkdir mdir 創建目錄 mkdir -pv 創建多級目錄並顯示創建的目錄 mkdir -pv /manager/{service,mapper,controller}
cp 複製文件或目錄
file 顯示文件類型
history 顯示最近使用過的命令 history 10 顯示最近 10 條
!ps 執行最近執行過的 ps 命令
文本操作基本用於看日誌
tail -f 以滾動形式查看日誌
less 查看日誌 less -N 查看的時候顯示行數 ,快捷鍵見文章末尾
grep <match> 文件列表可用通配符
grep --color=auto 對於查找到的信息以高亮標出
grep -C rownum 顯示查找到的附近多少行 grep -A rownum 後面多少行 grep -B rownum 前面多少行
grep -v <match> 排除匹配的行
grep -E "a|b" 匹配 a 或者 b -E 表示擴展正則 a/b 可使用正則
sed -n '/09:00:00/,/10:[0-9][0-9]:[0-9][0-9]/p' jvm-default.log | less 打印 9. 到 10 點的日誌,並使用 less 查看 // 裏面包含的是正則
網絡信息相關
ping ip
hostname -i 顯示本機 ip
telnet ip port 測試 ip port 是否可通
netstat -tlnp | grep port 查看端口進程號
查找文件或命令或端口
locate filename 常用於查找某個文件位置配合 grep 可以方便的查找文件位置
which cmd 查找命令位置或 type cmd
# 我們的項目的目錄層級一般者比較深,使用 cd 一層一層進會很累,這裏可以使用 find 來查找文件
find . -name filename*
# 使用端口找到程序位置 netstat 配合 ps 即可快速找到,前提你有權限
netstat -tlnp | grep port
ps -o 'cmd' --width=10000 pid
# 當然你可以可以直接用 ps 來查找位置
ps -ef | grep port
# 看當前目錄是被什麼程序佔用
ps -ef | grep `pwd`
常用壓縮解壓縮命令
tar -zx -f file.tar.gz 解壓縮 tgz 包
tar -zc -f fileordir target.tar.gz 打包並壓縮
unzip -o file.zip 解壓並覆蓋文件,用於解壓 zip 壓縮包
一些系統相關參數查詢
# 看當前系統是多少位的
getconf LONG_BIT
# 查看當前 CPU 核心數
cat /proc/cpuinfo | grep 'core id' | uniq | wc -l
# 也可以這樣看 CPU 核心數,使用 top 命令 ,然後按數字 1 ,即可知道 cpu 核心數
# 查看內存,以 M 顯示,目前都是以 G 爲單位 ,所以用 m 顯示最好
free -m
# 查看磁盤使用
df -h
df -h path 可以顯示路徑所在磁盤空間使用
# 查詢內核信息
uname -a
附錄
less 快捷鍵,基本和 vi 差不多
- gg 跳到開頭
- G 到結尾
- /<match> 向後搜索
- /?<match> 向前搜索
top 快捷鍵
- M 以內存排序
- P 以 cpu 排序
- 1 顯示 cpu 內核數
- T 根據累記時間排序
linux 的快捷鍵
- ctrl+l 相當於 clear 命令,清除屏幕
- ctrl+w 住前刪除一個單詞,比退格好用
- ctrl+a 回到開頭,當寫一個很長的命令,發現前面寫錯了可快速回到開頭
- ctrl+c 取消執行
- ctrl+z 丟到後臺執行
- ctrl+s crt 的鎖定模式,使用 ctrl+q 解鎖; 其它工具不清楚
- shift+insert 粘貼
<TAB>