工作中經(jīng)常會(huì)用到一些計(jì)算機(jī)等指令谦絮,下面鵬哥統(tǒng)計(jì)了一下指令說明题诵,方便自己以及大家平時(shí)工作中用。
【dos常見指令】
基礎(chǔ)命令
1 dir
無參數(shù):查看當(dāng)前所在目錄的文件和文件夾层皱。
/s:查看當(dāng)前目錄已經(jīng)其所有子目錄的文件和文件夾性锭。
/a:查看包括隱含文件的所有文件。
/ah:只顯示出隱含文件奶甘。
/w:以緊湊方式(一行顯示5個(gè)文件)顯示文件和文件夾篷店。
/p:以分頁方式(顯示一頁之后會(huì)自動(dòng)暫停)顯示祭椰。
|more:前面那個(gè)符號(hào)是“\”上面的那個(gè)臭家,叫做重定向符號(hào),就是把一個(gè)命令的結(jié)果輸出為另外一個(gè)命令的參數(shù)方淤。more也是一個(gè)命令钉赁,dir /w |more得到的結(jié)果和dir /w /p的結(jié)果是一樣的。其他的參數(shù)大家可以用:dir/?查看携茂。
2 cd
cd 目錄名:進(jìn)入特定的目錄你踩。如果看到有個(gè)目錄顯示為:abcdef ghi 就輸入:cdabcdef.ghi進(jìn)入該目錄。
cd\ 退回到根目錄讳苦。
cd..退回到上一級(jí)目錄带膜。
【git操作指令】
git help <command> # 顯示command的help
git show # 顯示某次提交的內(nèi)容 git show $id
git co -- <file> # 拋棄工作區(qū)修改
git co . # 拋棄工作區(qū)修改
git add <file> # 將工作文件修改提交到本地暫存區(qū)
git add . # 將所有修改過的工作文件提交暫存區(qū)
git rm <file> # 從版本庫中刪除文件
git rm <file> --cached # 從版本庫中刪除文件,但不刪除文件
git reset <file> # 從暫存區(qū)恢復(fù)到工作文件
git reset -- . # 從暫存區(qū)恢復(fù)到工作文件
git reset --hard # 恢復(fù)最近一次提交過的狀態(tài)鸳谜,即放棄上次提交后的所有本次修改
git ci <file> git ci . git ci -a # 將git add, git rm和git ci等操作都合并在一起做 git ci -am "some comments"
git ci --amend # 修改最后一次提交記錄
git revert <$id> # 恢復(fù)某次提交的狀態(tài)膝藕,恢復(fù)動(dòng)作本身也創(chuàng)建次提交對(duì)象
git revert HEAD # 恢復(fù)最后一次提交的狀態(tài)
查看文件diff
git diff <file> # 比較當(dāng)前文件和暫存區(qū)文件差異 git diff
git diff <id1><id1><id2> # 比較兩次提交之間的差異
git diff <branch1>..<branch2> # 在兩個(gè)分支之間比較
git diff --staged # 比較暫存區(qū)和版本庫差異
git diff --cached # 比較暫存區(qū)和版本庫差異
git diff --stat # 僅僅比較統(tǒng)計(jì)信息
查看提交記錄
git log git log <file> # 查看該文件每次提交記錄
git log -p <file> # 查看每次詳細(xì)修改內(nèi)容的diff
git log -p -2 # 查看最近兩次詳細(xì)修改內(nèi)容的diff
git log --stat #查看提交統(tǒng)計(jì)信息
tig
Mac上可以使用tig代替diff和log,brew install tig
Git 本地分支管理
查看咐扭、切換芭挽、創(chuàng)建和刪除分支
git br -r # 查看遠(yuǎn)程分支
git br <new_branch> # 創(chuàng)建新的分支
git br -v # 查看各個(gè)分支最后提交信息
git br --merged # 查看已經(jīng)被合并到當(dāng)前分支的分支
git br --no-merged # 查看尚未被合并到當(dāng)前分支的分支
git co <branch> # 切換到某個(gè)分支
git co -b <new_branch> # 創(chuàng)建新的分支,并且切換過去
git co -b <new_branch> <branch> # 基于branch創(chuàng)建新的new_branch
git co $id # 把某次歷史提交記錄checkout出來蝗肪,但無分支信息袜爪,切換到其他分支會(huì)自動(dòng)刪除
git co $id -b <new_branch> # 把某次歷史提交記錄checkout出來,創(chuàng)建成一個(gè)分支
git br -d <branch> # 刪除某個(gè)分支
git br -D <branch> # 強(qiáng)制刪除某個(gè)分支 (未被合并的分支被刪除的時(shí)候需要強(qiáng)制)
** 分支合并和rebase**
git merge <branch> # 將branch分支合并到當(dāng)前分支
git merge origin/master --no-ff # 不要Fast-Foward合并薛闪,這樣可以生成merge提交
git rebase master <branch> # 將master rebase到branch辛馆,相當(dāng)于: git co <branch> && git rebase master && git co master && git merge <branch>
** Git補(bǔ)丁管理(方便在多臺(tái)機(jī)器上開發(fā)同步時(shí)用)**
git diff > ../sync.patch # 生成補(bǔ)丁
git apply ../sync.patch # 打補(bǔ)丁
git apply --check ../sync.patch #測試補(bǔ)丁能否成功
Git暫存管理
git stash # 暫存
git stash list # 列所有stash
git stash apply # 恢復(fù)暫存的內(nèi)容
git stash drop # 刪除暫存區(qū)
Git遠(yuǎn)程分支管理
git pull # 抓取遠(yuǎn)程倉庫所有分支更新并合并到本地
git pull --no-ff # 抓取遠(yuǎn)程倉庫所有分支更新并合并到本地,不要快進(jìn)合并
git fetch origin # 抓取遠(yuǎn)程倉庫更新
git merge origin/master # 將遠(yuǎn)程主分支合并到本地當(dāng)前分支
git co --track origin/branch # 跟蹤某個(gè)遠(yuǎn)程分支創(chuàng)建相應(yīng)的本地分支
git co -b <local_branch> origin/<remote_branch> # 基于遠(yuǎn)程分支創(chuàng)建本地分支豁延,功能同上
git push # push所有分支
git push origin master # 將本地主分支推到遠(yuǎn)程主分支
git push -u origin master # 將本地主分支推到遠(yuǎn)程(如無遠(yuǎn)程主分支則創(chuàng)建昙篙,用于初始化遠(yuǎn)程倉庫)
git push origin <local_branch> # 創(chuàng)建遠(yuǎn)程分支, origin是遠(yuǎn)程倉庫名
git push origin <local_branch>:<remote_branch> # 創(chuàng)建遠(yuǎn)程分支
git push origin :<remote_branch> #先刪除本地分支(git br -d <branch>)术浪,然后再push刪除遠(yuǎn)程分支
Git遠(yuǎn)程倉庫管理
GitHub
git remote -v # 查看遠(yuǎn)程服務(wù)器地址和倉庫名稱
git remote show origin # 查看遠(yuǎn)程服務(wù)器倉庫狀態(tài)
git remote add origin git@ github:robbin/robbin_site.git # 添加遠(yuǎn)程倉庫地址
git remote set-url origin git@ github.com:robbin/robbin_site.git # 設(shè)置遠(yuǎn)程倉庫地址(用于修改遠(yuǎn)程倉庫地址) git remote rm <repository> # 刪除遠(yuǎn)程倉庫
創(chuàng)建遠(yuǎn)程倉庫
git clone --bare robbin_site robbin_site.git # 用帶版本的項(xiàng)目創(chuàng)建純版本倉庫
scp -r my_project.git git@ git.csdn.net:~ # 將純倉庫上傳到服務(wù)器上
mkdir robbin_site.git && cd robbin_site.git && git --bare init # 在服務(wù)器創(chuàng)建純倉庫
git remote add origin git@ github.com:robbin/robbin_site.git # 設(shè)置遠(yuǎn)程倉庫地址
git push -u origin master # 客戶端首次提交
git push -u origin develop # 首次將本地develop分支提交到遠(yuǎn)程develop分支瓢对,并且track
git remote set-head origin master # 設(shè)置遠(yuǎn)程倉庫的HEAD指向master分支
也可以命令設(shè)置跟蹤遠(yuǎn)程庫和本地庫
git branch --set-upstream master origin/master
git branch --set-upstream develop origin/develop
【linux常見指令說明】
ls 顯示文件或目錄
-l 列出文件詳細(xì)信息l(list)
-a 列出當(dāng)前目錄下所有文件及目錄,包括隱藏的a(all)
mkdir 創(chuàng)建目錄
-p 創(chuàng)建目錄胰苏,若無父目錄硕蛹,則創(chuàng)建p(parent)
cd 切換目錄
touch 創(chuàng)建空文件
echo 創(chuàng)建帶有內(nèi)容的文件。
cat 查看文件內(nèi)容
cp 拷貝
mv 移動(dòng)或重命名
rm 刪除文件
-r 遞歸刪除,可刪除子目錄及文件
-f 強(qiáng)制刪除
find 在文件系統(tǒng)中搜索某文件
wc 統(tǒng)計(jì)文本中行數(shù)法焰、字?jǐn)?shù)秧荆、字符數(shù)
grep 在文本文件中查找某個(gè)字符串
rmdir 刪除空目錄
tree 樹形結(jié)構(gòu)顯示目錄,需要安裝tree包
pwd 顯示當(dāng)前目錄
ln 創(chuàng)建鏈接文件
more埃仪、less 分頁顯示文本文件內(nèi)容
head乙濒、tail 顯示文件頭、尾內(nèi)容
ctrl+alt+F1 命令行全屏模式
系統(tǒng)管理命令
stat 顯示指定文件的詳細(xì)信息卵蛉,比ls更詳細(xì)
who 顯示在線登陸用戶
whoami 顯示當(dāng)前操作用戶
hostname 顯示主機(jī)名
uname 顯示系統(tǒng)信息
top 動(dòng)態(tài)顯示當(dāng)前耗費(fèi)資源最多進(jìn)程信息
ps 顯示瞬間進(jìn)程狀態(tài) ps -aux
du 查看目錄大小 du -h /home帶有單位顯示目錄信息
df 查看磁盤大小 df -h 帶有單位顯示磁盤信息
ifconfig 查看網(wǎng)絡(luò)情況
ping 測試網(wǎng)絡(luò)連通
netstat 顯示網(wǎng)絡(luò)狀態(tài)信息
man 命令不會(huì)用了颁股,找男人 如:man ls
clear 清屏
alias 對(duì)命令重命名 如:alias showmeit="ps -aux" ,另外解除使用unaliax showmeit
kill 殺死進(jìn)程傻丝,可以先用ps 或 top命令查看進(jìn)程的id甘有,然后再用kill命令殺死進(jìn)程。
打包壓縮相關(guān)命令
gzip:
bzip2:
tar: 打包壓縮
-c 歸檔文件
-x 壓縮文件
-z gzip壓縮文件
-j bzip2壓縮文件
-v 顯示壓縮或解壓縮過程 v(view)
-f 使用檔名
例:
tar -cvf /home/abc.tar /home/abc 只打包葡缰,不壓縮
tar -zcvf /home/abc.tar.gz /home/abc 打包亏掀,并用gzip壓縮
tar -jcvf /home/abc.tar.bz2 /home/abc 打包,并用bzip2壓縮
當(dāng)然泛释,如果想解壓縮滤愕,就直接替換上面的命令 tar -cvf / tar -zcvf / tar -jcvf 中的“c” 換成“x” 就可以了。
關(guān)機(jī)/重啟機(jī)器
shutdown
-r 關(guān)機(jī)重啟
-h 關(guān)機(jī)不重啟
now 立刻關(guān)機(jī)
halt 關(guān)機(jī)
reboot 重啟
Linux管道
將一個(gè)命令的標(biāo)準(zhǔn)輸出作為另一個(gè)命令的標(biāo)準(zhǔn)輸入怜校。也就是把幾個(gè)命令組合起來使用间影,后一個(gè)命令除以前一個(gè)命令的結(jié)果。
例:grep -r "close" /home/* | more 在home目錄下所有文件中查找韭畸,包括close的文件宇智,并分頁輸出。
Linux軟件包管理
dpkg (Debian Package)管理工具胰丁,軟件包名以.deb后綴随橘。這種方法適合系統(tǒng)不能聯(lián)網(wǎng)的情況下。
比如安裝tree命令的安裝包锦庸,先將tree.deb傳到Linux系統(tǒng)中机蔗。再使用如下命令安裝。
sudo dpkg -i tree_1.5.3-1_i386.deb 安裝軟件
sudo dpkg -r tree 卸載軟件
注:將tree.deb傳到Linux系統(tǒng)中甘萧,有多種方式萝嘁。VMwareTool,使用掛載方式扬卷;使用winSCP工具等牙言;
APT(Advanced Packaging Tool)高級(jí)軟件工具。這種方法適合系統(tǒng)能夠連接互聯(lián)網(wǎng)的情況怪得。
依然以tree為例
sudo apt-get install tree 安裝tree
sudo apt-get remove tree 卸載tree
sudo apt-get update 更新軟件
sudo apt-get upgrade
將.rpm文件轉(zhuǎn)為.deb文件
.rpm為RedHat使用的軟件格式咱枉。在Ubuntu下不能直接使用卑硫,所以需要轉(zhuǎn)換一下。
sudo alien abc.rpm
vim使用
vim三種模式:命令模式蚕断、插入模式欢伏、編輯模式。使用ESC或i或:來切換模式亿乳。
命令模式下:
:q 退出
:q! 強(qiáng)制退出
:wq 保存并退出
:set number 顯示行號(hào)
:set nonumber 隱藏行號(hào)
/apache 在文檔中查找apache 按n跳到下一個(gè)硝拧,shift+n上一個(gè)
yyp 復(fù)制光標(biāo)所在行,并粘貼
h(左移一個(gè)字符←)葛假、j(下一行↓)障陶、k(上一行↑)、l(右移一個(gè)字符→)
用戶及用戶組管理
/etc/passwd 存儲(chǔ)用戶賬號(hào)
/etc/group 存儲(chǔ)組賬號(hào)
/etc/shadow 存儲(chǔ)用戶賬號(hào)的密碼
/etc/gshadow 存儲(chǔ)用戶組賬號(hào)的密碼
useradd 用戶名
userdel 用戶名
adduser 用戶名
groupadd 組名
groupdel 組名
passwd root 給root設(shè)置密碼
su root
su - root
/etc/profile 系統(tǒng)環(huán)境變量
bash_profile 用戶環(huán)境變量
.bashrc 用戶環(huán)境變量
su user 切換用戶桐款,加載配置文件.bashrc
su - user 切換用戶咸这,加載配置文件/etc/profile 夷恍,加載bash_profile
更改文件的用戶及用戶組
sudo chown [-R] owner[:group] {File|Directory}
例如:還以jdk-7u21-linux-i586.tar.gz為例魔眨。屬于用戶hadoop,組hadoop
要想切換此文件所屬的用戶及組酿雪《舯可以使用命令。
sudo chown root:root jdk-7u21-linux-i586.tar.gz
文件權(quán)限管理
三種基本權(quán)限
R 讀 數(shù)值表示為4
W 寫 數(shù)值表示為2
X 可執(zhí)行 數(shù)值表示為1
jdk-7u21-linux-i586.tar.gz文件的權(quán)限為-rw-rw-r--
-rw-rw-r--一共十個(gè)字符指黎,分成四段朋凉。
第一個(gè)字符“-”表示普通文件;這個(gè)位置還可能會(huì)出現(xiàn)“l(fā)”鏈接醋安;“d”表示目錄
第二三四個(gè)字符“rw-”表示當(dāng)前所屬用戶的權(quán)限杂彭。 所以用數(shù)值表示為4+2=6
第五六七個(gè)字符“rw-”表示當(dāng)前所屬組的權(quán)限。 所以用數(shù)值表示為4+2=6
第八九十個(gè)字符“r--”表示其他用戶權(quán)限吓揪。 所以用數(shù)值表示為2
所以操作此文件的權(quán)限用數(shù)值表示為662
更改權(quán)限
sudo chmod [u所屬用戶 g所屬組 o其他用戶 a所有用戶] [+增加權(quán)限 -減少權(quán)限] [r w x] 目錄名
例如:有一個(gè)文件filename亲怠,權(quán)限為“-rw-r----x” ,將權(quán)限值改為"-rwxrw-r-x",用數(shù)值表示為765
sudo chmod u+x g+w o+r filename
上面的例子可以用數(shù)值表示
sudo chmod 765 filename
以上柠辞,結(jié)束团秽。