Shell常用命令整理-自用(持續更新)

****文件操作命令****
ls #以默認方式顯示文件列表
-a 顯示所有文件
-l 顯示文件屬性
-lt 按照修改時間進行排序

cd #切換路徑
/ 根目錄
.. 上一級目錄
../.. 上二級目錄
~ 切換到用戶目錄

cp #拷貝文件
cp /root/source 將root目錄下的source文件複製到當前目錄
cp source target 將source文件複製爲target文件
cp -av source_dir target_dir 將source整個目錄複製到target目錄,完全一致

scp #遠程拷貝
scp test.txt [email protected]:/zx:textA.txt 將當前目錄下的test.txt複製到遠程111.12機器的/zx目錄下,並重命名爲textA.txt
scp -r remote_user@remote_ip:remote_folder local_path #從遠程複製到本地,-r用於遞歸整個目錄


mkdir #創建目錄
mkdir ./name 創建name目錄
mkdir -p ./name/p 遞歸創建目錄

rm #刪除文件或目錄
rm file 刪除某個文件
rm -rf dir 刪除當前目錄下dir目錄及其文件內容

mv #移動文件或改名
mv source.log target.txt 將文件source更名爲target
mv source.txt target 將source文件移動到target目錄中
mv * ../ 將當前文件夾下所有文件移動到上一級目錄

diff #比較文件內容
diff dir1 dir2 #比較兩個目錄下的文件列表是否相同
diff file1 file2 #比較兩個文件內容是否相同

in #建立鏈接
in source_path target_path #建立硬鏈接
in -s source_path target_path #建立軟連接
rm -rf ./gb 刪除軟連接,切記不要寫成rm -rf ./gb/ 這樣會刪除原有文件

find 查找文件或目錄
find / -name nginx*  從根目錄查找名稱以nginx開頭的目錄和文件
find / -size +100M 查找大小超過100M的文件
find /home/zx/  -mmin -10 查找指定目錄10分鐘內被修改過的文件
****查看文件內容命令****
cat #顯示文件的內容,和DOS的type相同

more #分頁顯示命令
more file #分頁顯示文件內容Space顯示下一屏,回車下一行,B鍵上一屏,q退出more命令
ls|more 通過管道符(|)與其他的命令一起使用

tail #顯示文件的最後幾行
tail -n 100 aaa.txt 顯示文件aaa.txt文件的最後100行

vi #編輯文件
vi file 編輯文件file
輸入命令的方式爲先按[ESC]鍵,然後輸入
:w  寫入文件
:w! 不詢問方式寫入文件
:wq 保存並退出
:q  退出 
:q! 不保存退出

touch #創建一個空文件
touch a.txt 創建一個空文件,文件名爲a.txt

stat #查看文件詳細信息

echo #輸入或打印
echo "abc" > test.txt 新建一個文件,並將abc寫入。這裏用到了重定向符

grep #文本搜索工具
grep "pattern" filename1,filename2 在多個文件中查找返回一個包含pattern的文本行
grep -v "pattern" file 輸出除包含pattern的所有行
grep -E "[1-9]+" 使用正則表達式搜索
grep -c "text" file 統計文本中包含text的行數
grep -n "text" filename 輸出包含該文本的第一個編號
grep -l "text" file1,file2 搜索多個文件並查找在哪幾個文件中
grep "text" . -r -n 在當前目錄中遞歸搜索
echo "hello world" | grep -i "HELLO" 忽略匹配樣式大小寫

****系統命令****
man #查看命令詳細幫助
man ls 查看ls命令幫助內容

who #顯示登陸用戶詳細信息

last #顯示最近登陸用戶

date #系統日期設定
data -s 20:20:20 設置系統時間爲20:20:20
date -s "060529 06:00:00" 設置系統時間爲2006年5月20日6點

uname #查看系統版本
uname -a 查看系統版本信息

shutdown #中斷運行
shutdown -r now 重新啓動計算機(停止服務後)== reboot
shutdown -h now 關閉計算機(停止服務後)== halt

su #切換用戶
su - 切換到root用戶
su hadoop 切換到hadoop用戶

top #查看系統cpu,內存使用情況

free #查看內存和swap分區使用情況

ps #顯示進程信息
ps ux 顯示當前用戶進程
ps uxwww 顯示當前用戶進程詳細信息
ps aux 顯示所有用戶進程
ps ef 顯示系統進程

kill #幹掉進程
kill -9 1000 將進程編號爲1000的進程幹掉
kill all -9 apa 將所有名字爲apa的程序幹掉

service #啓動或關停系統服務
service <service> start|stop|restart 啓動|關閉|重啓指定服務
service network #重啓網絡

chkconfig #查看系統服務
chkconfig <service> on|off 設置指定服務開機自啓動|關閉
chkconfig --list 查看系統服務列表及每個服務的運行級別

****磁盤操作****
df #查看硬盤佔用
df -a 列出全部目錄
df -Ta 列出全部目錄並顯示文件類型
df -B 顯示塊信息
df -h 按照日常習慣(K,M,G)顯示
****用戶命令****
groupadd #添加組
groupadd test 添加test組
groupadd -g 111 test 添加test組,id爲111

useradd #添加用戶
useradd hadoop 添加用戶hadoop,home對應/home/hadoop,組爲hadoop
useradd -g test1 -m -d /home/test1 test1 添加用戶test1,home爲/home/test1,組爲test1
user list 顯示已登陸的用戶列表

passwd #更改用戶密碼
passwd hadoop 修改用戶hadoop的密碼
passwd -d root 刪除root密碼

userdel #刪除用戶

chown #改變文件或者目錄的所有者
chown hadoop /dir 將dir目錄設置爲hadoop所有
chown -R user1.user1 /dir 將/dir目錄下的所有文件和目錄(遞歸)爲user1所有,組爲user1

chmod @改變用戶權限
chmod a+x file 將file文件設置可執行
chmod 666 file 將file文件設置爲可讀寫
chmod 750 file 將文件file設置爲所有者完全權限,同組可讀,執行,其他用戶無權限
****壓縮命令****
gzip #壓縮文件爲gz格式,覆蓋原文件
gzip -v file 壓縮文件,並且顯示進度
gzip -d file 解壓縮==gunzip

zip #壓縮文件爲zip格式
zip -q -r html.zip /home/html 將html目錄下的文件打包爲html.zip,
-q 不顯示指令執行過程 -r 遞歸處理
unzip file.zip 解壓縮文件

tar #歸檔與壓縮
-cvf file.tar ./* 打包文件或目錄
-xvf 解包
-czf 壓縮文件或目錄,格式爲tar.gz
-xzvf 解壓縮
c 建立包
x 解壓縮
v 動作顯示,顯示出每個解壓出來的文件,如果去掉該參數解壓過程會變得快些,只是不顯示動作而已
f 文件 f後面一定跟着壓縮文件的名稱,例如a.tgz或b.tar.gz等
z 有gzip屬性的
j 有bz2屬性的
-C 到指定目錄

 其他常見命令

****網絡相關命令****
ifconfig #顯示網絡信息
ifconfig eth0 顯示eth0網絡信息

netstat #顯示網咯狀態
-an 查看網絡端口信息
-nr 查看路由表信息

ping #查看網絡是否聯通
ping ip

nc #實現TCP/UDP端口偵聽,可作爲服務器偵聽端口
-l 用於指定nc將處於偵聽模式。指定該參數,則意味着nc被當作server,偵聽並接受連接,而非向其它地址        
發起連接。
-s 指定發送數據的源IP地址,適用於多網卡機 
-u 指定nc使用UDP協議,默認爲TCP
-v 輸出交互或出錯信息,新手調試時尤爲有用
-w 超時秒數,後面跟數字 
-z 表示zero,表示掃描時不發送任何數據

ssh #遠程登錄其他Unix主機
ssh -l hadoop 192.168.1.100 使用用戶名hadoop登錄到192.168.1.100

telnet #登錄遠程主機
telnet 192.168.1.100 登錄到192.168.1.100

apt-get #下載,通常與sudo配合使用
install xxx -y 下載xxx,無需確認
remove xxx 卸載但不卸載配置文件
purge xxx 全部卸載
update 提取最新的包來源信息

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章