工作中經常會用到一些計算機等指令,下面鵬哥統計了一下指令說明,方便自己以及大家平時工作中用。
【dos常見指令】
基礎命令
1 dir
無參數:查看當前所在目錄的文件和文件夾。
/s:查看當前目錄已經其所有子目錄的文件和文件夾。
/a:查看包括隱含文件的所有文件。
/ah:只顯示出隱含文件。
/w:以緊湊方式(一行顯示5個文件)顯示文件和文件夾。
/p:以分頁方式(顯示一頁之后會自動暫停)顯示。
|more:前面那個符號是“\”上面的那個,叫做重定向符號,就是把一個命令的結果輸出為另外一個命令的參數。more也是一個命令,dir /w |more得到的結果和dir /w /p的結果是一樣的。其他的參數大家可以用:dir/?查看。
2 cd
cd 目錄名:進入特定的目錄。如果看到有個目錄顯示為:abcdef ghi 就輸入:cdabcdef.ghi進入該目錄。
cd\ 退回到根目錄。
cd..退回到上一級目錄。
【git操作指令】
git help <command> # 顯示command的help
git show # 顯示某次提交的內容 git show $id
git co -- <file> # 拋棄工作區修改
git co . # 拋棄工作區修改
git add <file> # 將工作文件修改提交到本地暫存區
git add . # 將所有修改過的工作文件提交暫存區
git rm <file> # 從版本庫中刪除文件
git rm <file> --cached # 從版本庫中刪除文件,但不刪除文件
git reset <file> # 從暫存區恢復到工作文件
git reset -- . # 從暫存區恢復到工作文件
git reset --hard # 恢復最近一次提交過的狀態,即放棄上次提交后的所有本次修改
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> # 恢復某次提交的狀態,恢復動作本身也創建次提交對象
git revert HEAD # 恢復最后一次提交的狀態
查看文件diff
git diff <file> # 比較當前文件和暫存區文件差異 git diff
git diff <id1><id1><id2> # 比較兩次提交之間的差異
git diff <branch1>..<branch2> # 在兩個分支之間比較
git diff --staged # 比較暫存區和版本庫差異
git diff --cached # 比較暫存區和版本庫差異
git diff --stat # 僅僅比較統計信息
查看提交記錄
git log git log <file> # 查看該文件每次提交記錄
git log -p <file> # 查看每次詳細修改內容的diff
git log -p -2 # 查看最近兩次詳細修改內容的diff
git log --stat #查看提交統計信息
tig
Mac上可以使用tig代替diff和log,brew install tig
Git 本地分支管理
查看、切換、創建和刪除分支
git br -r # 查看遠程分支
git br <new_branch> # 創建新的分支
git br -v # 查看各個分支最后提交信息
git br --merged # 查看已經被合并到當前分支的分支
git br --no-merged # 查看尚未被合并到當前分支的分支
git co <branch> # 切換到某個分支
git co -b <new_branch> # 創建新的分支,并且切換過去
git co -b <new_branch> <branch> # 基于branch創建新的new_branch
git co $id # 把某次歷史提交記錄checkout出來,但無分支信息,切換到其他分支會自動刪除
git co $id -b <new_branch> # 把某次歷史提交記錄checkout出來,創建成一個分支
git br -d <branch> # 刪除某個分支
git br -D <branch> # 強制刪除某個分支 (未被合并的分支被刪除的時候需要強制)
** 分支合并和rebase**
git merge <branch> # 將branch分支合并到當前分支
git merge origin/master --no-ff # 不要Fast-Foward合并,這樣可以生成merge提交
git rebase master <branch> # 將master rebase到branch,相當于: git co <branch> && git rebase master && git co master && git merge <branch>
** Git補丁管理(方便在多臺機器上開發同步時用)**
git diff > ../sync.patch # 生成補丁
git apply ../sync.patch # 打補丁
git apply --check ../sync.patch #測試補丁能否成功
Git暫存管理
git stash # 暫存
git stash list # 列所有stash
git stash apply # 恢復暫存的內容
git stash drop # 刪除暫存區
Git遠程分支管理
git pull # 抓取遠程倉庫所有分支更新并合并到本地
git pull --no-ff # 抓取遠程倉庫所有分支更新并合并到本地,不要快進合并
git fetch origin # 抓取遠程倉庫更新
git merge origin/master # 將遠程主分支合并到本地當前分支
git co --track origin/branch # 跟蹤某個遠程分支創建相應的本地分支
git co -b <local_branch> origin/<remote_branch> # 基于遠程分支創建本地分支,功能同上
git push # push所有分支
git push origin master # 將本地主分支推到遠程主分支
git push -u origin master # 將本地主分支推到遠程(如無遠程主分支則創建,用于初始化遠程倉庫)
git push origin <local_branch> # 創建遠程分支, origin是遠程倉庫名
git push origin <local_branch>:<remote_branch> # 創建遠程分支
git push origin :<remote_branch> #先刪除本地分支(git br -d <branch>),然后再push刪除遠程分支
Git遠程倉庫管理
GitHub
git remote -v # 查看遠程服務器地址和倉庫名稱
git remote show origin # 查看遠程服務器倉庫狀態
git remote add origin git@ github:robbin/robbin_site.git # 添加遠程倉庫地址
git remote set-url origin git@ github.com:robbin/robbin_site.git # 設置遠程倉庫地址(用于修改遠程倉庫地址) git remote rm <repository> # 刪除遠程倉庫
創建遠程倉庫
git clone --bare robbin_site robbin_site.git # 用帶版本的項目創建純版本倉庫
scp -r my_project.git git@ git.csdn.net:~ # 將純倉庫上傳到服務器上
mkdir robbin_site.git && cd robbin_site.git && git --bare init # 在服務器創建純倉庫
git remote add origin git@ github.com:robbin/robbin_site.git # 設置遠程倉庫地址
git push -u origin master # 客戶端首次提交
git push -u origin develop # 首次將本地develop分支提交到遠程develop分支,并且track
git remote set-head origin master # 設置遠程倉庫的HEAD指向master分支
也可以命令設置跟蹤遠程庫和本地庫
git branch --set-upstream master origin/master
git branch --set-upstream develop origin/develop
【linux常見指令說明】
ls 顯示文件或目錄
-l 列出文件詳細信息l(list)
-a 列出當前目錄下所有文件及目錄,包括隱藏的a(all)
mkdir 創建目錄
-p 創建目錄,若無父目錄,則創建p(parent)
cd 切換目錄
touch 創建空文件
echo 創建帶有內容的文件。
cat 查看文件內容
cp 拷貝
mv 移動或重命名
rm 刪除文件
-r 遞歸刪除,可刪除子目錄及文件
-f 強制刪除
find 在文件系統中搜索某文件
wc 統計文本中行數、字數、字符數
grep 在文本文件中查找某個字符串
rmdir 刪除空目錄
tree 樹形結構顯示目錄,需要安裝tree包
pwd 顯示當前目錄
ln 創建鏈接文件
more、less 分頁顯示文本文件內容
head、tail 顯示文件頭、尾內容
ctrl+alt+F1 命令行全屏模式
系統管理命令
stat 顯示指定文件的詳細信息,比ls更詳細
who 顯示在線登陸用戶
whoami 顯示當前操作用戶
hostname 顯示主機名
uname 顯示系統信息
top 動態顯示當前耗費資源最多進程信息
ps 顯示瞬間進程狀態 ps -aux
du 查看目錄大小 du -h /home帶有單位顯示目錄信息
df 查看磁盤大小 df -h 帶有單位顯示磁盤信息
ifconfig 查看網絡情況
ping 測試網絡連通
netstat 顯示網絡狀態信息
man 命令不會用了,找男人 如:man ls
clear 清屏
alias 對命令重命名 如:alias showmeit="ps -aux" ,另外解除使用unaliax showmeit
kill 殺死進程,可以先用ps 或 top命令查看進程的id,然后再用kill命令殺死進程。
打包壓縮相關命令
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壓縮
當然,如果想解壓縮,就直接替換上面的命令 tar -cvf / tar -zcvf / tar -jcvf 中的“c” 換成“x” 就可以了。
關機/重啟機器
shutdown
-r 關機重啟
-h 關機不重啟
now 立刻關機
halt 關機
reboot 重啟
Linux管道
將一個命令的標準輸出作為另一個命令的標準輸入。也就是把幾個命令組合起來使用,后一個命令除以前一個命令的結果。
例:grep -r "close" /home/* | more 在home目錄下所有文件中查找,包括close的文件,并分頁輸出。
Linux軟件包管理
dpkg (Debian Package)管理工具,軟件包名以.deb后綴。這種方法適合系統不能聯網的情況下。
比如安裝tree命令的安裝包,先將tree.deb傳到Linux系統中。再使用如下命令安裝。
sudo dpkg -i tree_1.5.3-1_i386.deb 安裝軟件
sudo dpkg -r tree 卸載軟件
注:將tree.deb傳到Linux系統中,有多種方式。VMwareTool,使用掛載方式;使用winSCP工具等;
APT(Advanced Packaging Tool)高級軟件工具。這種方法適合系統能夠連接互聯網的情況。
依然以tree為例
sudo apt-get install tree 安裝tree
sudo apt-get remove tree 卸載tree
sudo apt-get update 更新軟件
sudo apt-get upgrade
將.rpm文件轉為.deb文件
.rpm為RedHat使用的軟件格式。在Ubuntu下不能直接使用,所以需要轉換一下。
sudo alien abc.rpm
vim使用
vim三種模式:命令模式、插入模式、編輯模式。使用ESC或i或:來切換模式。
命令模式下:
:q 退出
:q! 強制退出
:wq 保存并退出
:set number 顯示行號
:set nonumber 隱藏行號
/apache 在文檔中查找apache 按n跳到下一個,shift+n上一個
yyp 復制光標所在行,并粘貼
h(左移一個字符←)、j(下一行↓)、k(上一行↑)、l(右移一個字符→)
用戶及用戶組管理
/etc/passwd 存儲用戶賬號
/etc/group 存儲組賬號
/etc/shadow 存儲用戶賬號的密碼
/etc/gshadow 存儲用戶組賬號的密碼
useradd 用戶名
userdel 用戶名
adduser 用戶名
groupadd 組名
groupdel 組名
passwd root 給root設置密碼
su root
su - root
/etc/profile 系統環境變量
bash_profile 用戶環境變量
.bashrc 用戶環境變量
su user 切換用戶,加載配置文件.bashrc
su - user 切換用戶,加載配置文件/etc/profile ,加載bash_profile
更改文件的用戶及用戶組
sudo chown [-R] owner[:group] {File|Directory}
例如:還以jdk-7u21-linux-i586.tar.gz為例。屬于用戶hadoop,組hadoop
要想切換此文件所屬的用戶及組??梢允褂妹睢?/p>
sudo chown root:root jdk-7u21-linux-i586.tar.gz
文件權限管理
三種基本權限
R 讀 數值表示為4
W 寫 數值表示為2
X 可執行 數值表示為1
jdk-7u21-linux-i586.tar.gz文件的權限為-rw-rw-r--
-rw-rw-r--一共十個字符,分成四段。
第一個字符“-”表示普通文件;這個位置還可能會出現“l”鏈接;“d”表示目錄
第二三四個字符“rw-”表示當前所屬用戶的權限。 所以用數值表示為4+2=6
第五六七個字符“rw-”表示當前所屬組的權限。 所以用數值表示為4+2=6
第八九十個字符“r--”表示其他用戶權限。 所以用數值表示為2
所以操作此文件的權限用數值表示為662
更改權限
sudo chmod [u所屬用戶 g所屬組 o其他用戶 a所有用戶] [+增加權限 -減少權限] [r w x] 目錄名
例如:有一個文件filename,權限為“-rw-r----x” ,將權限值改為"-rwxrw-r-x",用數值表示為765
sudo chmod u+x g+w o+r filename
上面的例子可以用數值表示
sudo chmod 765 filename
以上,結束。