經常使用Linux服務器,但是對系統的一些常用命令不怎麼熟悉,在吃過多次虧之後決定將日常使用到的一些常用命令整理備份下,方便以後使用的時候查看:
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Linux系統常用命令
1.查看系統內存
free -g/m/k/b(按G/M/K/B顯示)
2.查看系統磁盤使用情況
df 按照位爲單位查看的
df -h 按照G爲單位查看的
fdisk -l
3.查看文件夾大小
du <文件夾名> 按照位爲單位查看的
du -h <文件夾名> 按照G爲單位查看的
4.查看進程
ps -ef|grep <進程名>
kill 進程號 殺死進程(可以加 -9 參數強制kill)
5.查看文件內容
cat <文件名>
6.查看日誌
tail -200f <文件名>
7.文件編輯
vi <文件名> 進入編輯模式
輸入 i 進入編輯狀態
Ctrl+C 退出編輯狀態
:q 退出文件編輯模式
:q! 強制退出文件編輯模式
:wq 保存並退出
/ 搜索模式
8.查看linux系統版本信息
uname -a(查看內核)
lsb_release -a(查看系統版本)
9.查看當前文件路徑
pwd
10.查看當前登陸賬戶
whoami
11.修改密碼
passwd(普通用戶下)
passwd <username> (root用戶下)
12.定時任務
crontab -l 查看定時任務列表
crontab -e 編輯定時任務
13.tar打包
tar -zcvf 文件名 打tar.gz包
單個文件壓縮打包 tar czvf my.tar file1
多個文件壓縮打包 tar czvf my.tar file1 file2,...
單個目錄壓縮打包 tar czvf my.tar dir1
多個目錄壓縮打包 tar czvf my.tar dir1 dir2
解包至當前目錄:tar xzvf my.tar
tar -zxvf 文件名 解壓tar.gz包
14.大文件截取內容
用sed好了,sed是按行處理的,不會將整個文件加載到內存中,可以放心使用
要切出從2012-02-09到2012-09-10的所有數據行,(假設你的日誌文件以yyyy-MM-dd的日期格式開頭)只需要
sed -n '/^2765068861/,/^2765287411/p' server.log >test.txt
15.統計文件中出現的字符個數
grep -o ‘keyword’ my_file.txt | wc -l
16.用戶創建
useradd -g oracle -G oracle -d /home/oracle/ -m -s/bin/bash oracle
17.查找並刪除幾天前的文件
find /usr/local/backups -mtime +10 -exec rm -rf {} \;
18.鏈接製作
創建文件夾軟連接 ln -s path(文件鏈接路徑) 連接名(軟鏈接名)
在需要做鏈接的目錄下輸入命令:ln -s -f path(鏈接文件路徑) 鏈接名
ln -s -f /usr/local/mpc-0.9/lib/libmpc.so.2 libmpc.so.2
19.用戶創建
useradd -g telstar -G telstar -d /home/telstar -m -s/bin/csh telstar
20.查看端口占用進程
lsof -i:<端口號> 或 netstat -anp|grep <端口號>
21.下載/上傳
sz <file name>
rz <file name>
22.在所有文件中搜索關鍵字
find .|xargs grep -ri "12351"
23.查看某文件夾下文件個數
ls -lR <dir>|grep "^-"|wc -l
24.linux統計文件夾某一些文件的大小總和
使用如下命令,-m 代表MB
du -m 20140507155000* | awk '{sum += $1}; END{print sum}'
25.卸載RPM包
rpm -e <包名>
26.安裝RPM包
rpm -ivh <rpm包>
27.升級RPM包
rpm -Uvh <rpm包>
28.查看CPU信息
# 總核數 = 物理CPU個數 X 每顆物理CPU的核數
# 總邏輯CPU數 = 物理CPU個數 X 每顆物理CPU的核數 X 超線程數
# 查看物理CPU個數
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
# 查看每個物理CPU中core的個數(即核數)
cat /proc/cpuinfo| grep "cpu cores"| uniq
# 查看邏輯CPU的個數
cat /proc/cpuinfo| grep "processor"| wc -l
查看CPU信息(型號)
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
29.釋放緩存(需要root權限)
sync
echo 3 > /proc/sys/vm/drop_caches
上面echo 3是清理所有緩存
echo 0 是不釋放緩存
echo 1 是釋放頁緩存
echo 2 是釋放dentries和inodes緩存
echo 3 是釋放1和2中說到的全部緩存
30.FTP批量上傳,下載
mput
mget
在使用之前,可以使用prompt off命令關閉ftp確認
31.查看以刪除但並未釋放空間的文件
lsof | grep deleted
32.zip文件解壓
unzip 文件.zip -d 指定目錄 (解壓文件到指定目錄)
33.統計一類文件總大小
du -m *_MREMRO_*|awk '{sum += $1}; END{print sum}'