linux常用shell命令=命令+選項+參數


linux常用shell命令=命令+選項+參數
 
find 查找文件/目錄
cd (change directory)切換目錄

cd           #root根目錄
 cd   /       #系統根目錄
 cd  ../../   #返回上上一層目錄

ls/dir (list)列出目錄下文件

ls  -a      (--all)                #列出所有文件
 ls  -d      (--directory)      #列出目錄
 ls  -i      (--inode)            #顯示每個文件的inode 號(索引節點號,可以理解為文件的存儲地址)
 ls  -l      (-long)               #較長格式列出
 ls  -lh     (--human-readable)與-l #人性化閱讀輸出

clear清屏

clear 清屏

dirs 顯示目錄記錄、

dirs    +n       #顯示從左邊算起第n筆的目錄。
dirs    -n        #退一級目錄的路徑
dirs    -l         #顯示目錄完整的記錄。

mv (move)移動或更名現有的文件或目錄

mv  -b       (--backup)+ 目標文件或路徑        #移動到目標目錄,若覆蓋文件,則先備份
mv  -f      (--force )+ 目標文件或路徑             #強制覆蓋,沒有目標文件時相當於備份
mv  -i      (--interactive)+ 目標文件或路徑   #覆蓋前先行詢問用戶
mv  -u      (--update)+ 目標文件或路徑       #在移動或更改文件名時,若目標文件已存在,且其文件日期比源文件新,則不覆蓋目標文件。
例子:
mv test /root 將test文件轉移到root路徑下
mv test /root/test1將test文件轉移到root 路徑下並重命名為test1

pwd (print working directory)顯示工作目錄

pwd          #顯示當前工作目錄
 

 rm (remove)刪除文件或目錄

rm  -d      (-directory)         #直接把欲刪除的目錄的硬連接數據刪成0,刪除該目錄
rm  -f      (--force)              #強制刪除文件或目錄
rm  -i      (interactive)        #刪除既有文件或目錄之前先詢問用戶
rm  -r或-R  (--recursive)    #遞歸刪除,防止目錄里面有文件不能刪除 
例子:rm test1 刪除test1文件
rm test/a 刪除test里面的a文件
rm -f test1 強制刪除test1,不會有進一步的提示
rm -r test/ 刪除名為test的文件夾
rm -r test/a 刪除test下的a文件夾
rm -rf test/ 強制刪除名為test的文件夾

mkdir (make directories) 建立目錄

mkdir            +文件名                                          #創建目錄
mkdir   -m      (--mode)+a=權限+目錄名         #設置目錄權限(rwx)例:mkdir -m a=rw bbb   創建目錄bbb,權限為rw(a是模式固定寫法)
mkdir   -p      (--parents)+父目錄/子目錄         #若所要建立目錄的上層目錄目前尚未建立,則會一並建立上層目錄  例1:mkdir -p 111/abc    創建abc目錄,111為子目錄  例2:mkdir -p /ms/{sales,hr,web}   創建一個名為/ms的目錄,其中有sales、hr、web的子目錄
mkdir   -pv      +目錄名                                         #批量創建目錄  例:mkdir -pv /tmp/test/{a1,b1}/{c1,d1}
mkdir   -v      (--verbose)                                  #創建目錄,並顯示詳細信息
例子:
mkdir a 在當前目錄創建名字為a的文件夾

 rmdir 刪除空目錄

rmdir            +目錄名             #刪除目錄,注意必須是空目錄
rmdir    -p      +目錄/目錄/目錄      #刪除指定目錄及其上級文件夾  例:rmdir -p a/b/c

echo 顯示一行文本 (可使用通配符,正則表達式)

echo            +文本內容                       #顯示文本  
echo   -n       +文本內容                      #顯示不帶尾部回車符的文本
echo   -e       +"文本內容"                    #允許使用轉義字符輸出文本  例:echo -e "a\nb\nc"
echo            +新文本內容 > 文件名     #重定向,清除源文件所有內容,並插入單行   例:echo "hello word" >jackonill.txt
echo            +新文本內容 >> 文件名   #追加重定向,在原有文件基礎上末尾插入一行文本逐行

ifconfig/ip addr(CentOS) 顯示或設置網絡設備

ifconfig              #處於激活狀態的網絡接口
ifconfig     -a      #所有配置的網絡接口,不論其是否激活

ping 檢測主機(127.0.0.1為主機,可以檢驗網卡,用於檢測內網

ping +ip/域名       #檢測外網

tar (tape archive)解壓縮文件
 

-c :新建打包文件 
 -t :查看打包文件的內容含有哪些文件名 
 -x :解打包或解壓縮的功能,可以搭配-C(大寫)指定解壓的目錄,注意-c,-t,-x不能同時出現在同一條命令中 
 -j :通過bzip2的支持進行壓縮/解壓縮 
 -z :通過gzip的支持進行壓縮/解壓縮 
 -v :在壓縮/解壓縮過程中,將正在處理的文件名顯示出來 
 -f filename :filename為要處理的文件 
 -C dir :指定壓縮/解壓縮的目錄dir
 壓縮:tar -jcv -f filename.tar.bz2 要被處理的文件或目錄名稱 
 查詢:tar -jtv -f filename.tar.bz2 
 解壓:tar -jxv -f filename.tar.bz2 -C 欲解壓縮的目錄 
 tar  -czvf   +壓縮文件名 源文件名    #將a1文件打包並且壓縮  例:tar -czvf a1 g.gz  
 tar  zxvf    +目標文件                       #解壓  例: tar zxvf ar_test.tar.gz         解壓ar_test.tar.gz壓縮包
 

date 顯示系統時間

date                                               #打印時間
date     -s      +時間                        #設置時間  例:date -s '14:35:40'
date     +%m%d%H%M%S           #按照格式輸出時間

su 切換用戶

su              +用戶名        #切換到用戶
sudo     +命令                 #在root用戶下執行一條命令
sudo su                          #下面的命令都用root用戶執行
su root                           #CentOS下切換root用戶的一種方式
 

cp (copy)拷貝文件

cp  -p      +文件名 路徑                          #將文件拷貝到指定路徑,並且保留原文件的屬性 例:cp -p test.rb /home/test  將test.rb拷貝到test目錄
cp  -r   +源目錄名 目標目錄名                #將某目錄copy到目標目錄下   例:cp -r Dir/ /home/test      將Dir目錄copy到test目錄下
cp  -fr  +源目錄下文件名 目標目錄名      #將源目錄下文件名文件強制copy到目標目錄下   例:cp -fr Dir/* /home/test        將Dir下面的所有文件強制copy到test目錄下
cp   test.rb{,.bak}                                    #備份test.rb,並在尾部加上.bak后綴
cp -u -v file1 file2                                    #復制文件,只有源文件較目的文件的修改時間新時,才復制文件
cp file1 file2                                            #將文件file1復制成文件file2
cp -i file1 file2                                         #采用交互方式將文件file1復制成文件file2
cp -p a.txt tmp/                                       #復制時保留文件屬性
例子:
cp test test1 復制一個test文件命名為test1
cp -r test test1 復制test文件夾命名為test1

chmod 改變文件/目錄的權限

chmod ugo+r    文件         #所有人皆可讀取
chmod a+r      文件           #所有人皆可讀取
chmod ug+w,o-w 文件      #設為該檔案擁有者,與其所屬同一個群體者可寫入,但其他以外的人則不可寫入
chmod u+x      文件          #創建者擁有執行權限
chmod a-x      文件           #收回所有用戶的對文件的執行權限
chmod 777      文件          #所有人可讀,寫,執行

cat 查看文件內容

cat          +目標文本          #普通輸出
cat -n 目標文本                 #開頭顯示行號
cat -E 目標文本                 #以$結束
cat -ns 目標文本                #去空行,加行號
tac       +目標文本              #反方向查看文件內容

touch 創建文件

touch            +文件名                 #將文件的創建時間改為當前時間,文件不存在則建之  例:touch test.php  將test.php的檔案時間改為,當前時間,文件不存在建之
touch   -c -t 時間 +文件名           #將檔案時間改為特定時間  例:touch -c -t 05061803 test.php     將檔案時間改為,5月6日18點3分
touch   -r                                     #參考文件名 目標文件名  將目標文件檔案改成跟參考文件一樣 例: touch -r abc.php test.php   將test.php檔案改成跟abc.php一樣
touch   d 時間 文件名                 #將文件日期改為特定天數時間  例:touch -d "2 days ago" test.php   將test.php日期修改為2天以前
例子:
touch test 在當前目錄創建名為test的文件

history 查看用戶歷史操作

history          #查看所有執行過的命令
history  n      #顯示n條歷史記錄
!n                  #執行編號歷史是n的命令,注意感嘆號       例:!4             執行編號是4的命令
history -c      #清除歷史記錄

id/who 查看用戶

id/who           #顯示當前用戶的信息
id   某用戶     #顯示某用戶的信息
who -a           #顯示目前登入系統的用戶詳細信息
who -b           #上次系統啟動時間

man 查看幫助文檔

man     +命令    #查看某命令手冊
 

vi/vim(vi增強工具) 編輯文本

vim 文本名              #編輯某文本
set nu(number)  #vi/vim模式下顯示行數
進入文檔后,點擊 i 進入insert模式,在文檔中輸入文字,在當前光標處編輯,文檔下面會有insert的標識
進入文檔后,點擊 a 可以編輯光標下一位
退出編輯狀態后,輸入Shift+g即可立刻跳轉到本文檔最后
點擊esc按鈕可以退出編輯狀態
:輸入冒號可以輸入文檔相關的指令
wq 表示保存並退出
q 表示退出
q! 強制退出,不保存修改的內容
退出編輯狀態,點擊 x 鍵可以刪除1個字符,一次有效
退出編輯狀態,點擊 dd 可以刪除一行字符
退出編輯狀態,點擊 r + 要替換的內容,即可將當前內容替換

sleep 休眠

sleep n;命令      #n秒后,執行某命令,注意分號
 

shutdown/poweroff/halt 關機/重啟命令

shutdown -h now或/poweroff或halt   #立刻關機
shutdown -h 時間                              #在特定時間關機
shutdown -H now                              #立刻停機
shutdown –r now或reboot                 #重啟

 diff 比較兩個文件的差異

diff    文件1 文件2                     #比較二個文件的不同
diff    文件夾1/ 文件夾2/            #比較二個文件夾的不同
diff    -r  文件夾1/ 文件夾2/        #遞歸比較二個文件夾的不同

apt-get/yum/dnf 下載軟件包命令

apt-get install  軟件/包              #安裝包
apt-get update   軟件/包           #更新軟件
apt-get remove   軟件/包          #卸載軟件
apt-get upgrade                        #更新已安裝的包
apt-get clean                            #清理無用的包

ssh

ssh 用戶@ip地址 #遠程ssh連接某主機

useradd 添加用戶

useradd     用戶名               #添加某用戶
用戶名       passwd              #為某用戶添加密碼
useradd -r      用戶名           #添加系統用戶
useradd -d 路徑 用戶名       #添加用戶,並且指定,home目錄

df 報告文件系統磁盤空間的使用情況

df          #列出各文件系統的磁盤空間使用情況
df -a       #顯示所有文件系統的磁盤使用情況
df -ia      #列出各文件系統ionde使用情況
df -h      (--human)#目前磁盤空間和使用情況 以更易讀的方式顯示

lsof (list open files)是一個列出當前系統打開文件的工具

lsof                       #列出所有正在使用文件
lsof    文件名        #找出誰在使用某個文件
lsof -c 程序           #查找某個程序打開的所有文件
lsof -i                    #列出所有網絡連接
lsof -i   TCP          #列出所有TCP網絡連接
lsof -i:端口號      #找到使用某個端口的進程

特殊裝逼特效命令

sl                              #跑火車
cmatrix                     #代碼雨   
cowsay +字符串       #小奶牛說你想說的話
命令 | lolcat              #彩虹效果展示命令效果

tail -f 滾動查看日志

tail -f tet 滾動查看名字為tet的文檔內容,不進入編輯界面
tail -f 1000 tet 滾動查看最后1000行文檔內容
 
echo aaaaa >>tet 將字符串“aaaaa”,追加到名為tet文檔的最后
echo dddd > tet 用字符串“dddd”替換原來tet中所有的文檔
ls >> tet 將ls指令顯示的內容追加到文檔tet中
ps -ef 查看linux下的所有進程
ps -ef | grep www* 查看所有帶www的進程
kill -9 進程號 可以關掉對應的進程
kill -15 進程號 等該進程運行完就關閉該進程
apt-get install 軟件包名 下載並安裝對應的軟件包名
useradd daxia 新增一個名為daxia的用戶
passwd daxia 設置daxia用戶的密碼
su daxia 切換到daxia用戶
whoami 查看當前用戶
history 查看歷史指令
chmod 修改文件權限詳解

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM