[root@localhost ~]#
root 表明當前登陸用戶,Linux當中管理員帳號是 rootphp
localhost 表明主機名前端
~ 表明當前所在目錄(家目錄),對於管理員來講他的家目錄就是 /root ,普通用戶家目錄就是 /home/用戶名 這個目錄下,好比 test ,那麼他的家目錄就是 /home/testnode
# 表明超級用戶的提示符,普通用戶的提示符是 $linux
pwd
pwd 命令能夠查看當前所在目錄的位置信息git
cd /home/local/src/
cd 命令就是進入指定目錄github
命令 [選項] [參數]
注意:web
1.個別命令使用不遵循此格式;正則表達式
2.當有多個選項時,能夠寫在一塊兒;好比某個命令既有 -a 也有 -l ,那麼就能夠寫成 -al ;shell
3.簡化選項和完整選項,-a 等於 --all數據庫
ls [選項] [文件或目錄] 選項: -a 顯示全部文件,包含隱藏文件 -l 顯示詳細信息 -d 查看目錄屬性 -h 人性化顯示文件大小 -i 顯示inode
[root@localhost ~]# ls
anaconda-ks.cfg
[root@localhost ~]# ls -l 總用量 4 -rw-------. 1 root root 1615 10月 21 05:16 anaconda-ks.cfg
解釋下權限
-rw-r--r-- - 文件類型( - : 文件, d : 目錄, l : 軟連接文件 ) rw- r-- r-- u全部者 g全部組 o其餘人 r讀 w寫 x執行
第一位來區分文件類型,除開(-、d、l)還有其餘的四種:塊設備文件、字符設備文件、套接字文件和管道文件。
除開第一位,還有九位,每三位爲一組,好比這裏(rw-(u全部者)、r--(g全部組)、r--(o其餘人))。
而後後面 「.」 表明ACL權限
而後後面 「1」 數字1表明引用計數,表明這個文件被調用幾回
而後後面 「root」 表明文件的u全部者
而後後面 「root」 表明文件的g全部組
而後後面 「1615」 表明文件的大小,單位是字節,可使用 ls -lh,-h表示人性化顯示大小,後面統計大小的命令基本都支持 -h
而後後面 「10月 21 05:16」 最後一次修改時間
而後最後一列表示文件名
另外擴展:Linux裏面隱藏文件通常都用 「.」 開頭,可使用 ls -a 進行查看隱藏文件;ls -d 只是查看目錄自己的屬性,而不是查看目錄下的文件信息;ls -i 查看當前目錄下全部的inode的id號,id號就是爲了系統能快速找到文件索引設置的。ll 命令至關於 ls -l 。
創建目錄:mkdir
mkdir -p [目錄名] -p 遞歸建立 命令英文願意:make directories
-p 是選項,表示建立多級目錄都不存在的時候須要使用-p來進行遞歸建立,好比 mkdir -p /a/b/c
切換所在目錄:cd
cd [目錄] 命令英文原意:change directory 簡化操做
cd 進入當前用戶的家目錄 cd ~ 進入當前用戶的家目錄 cd - 進入上次目錄 cd .. 進入上一級目錄 cd . 進入當前目錄
擴展提高:Ctr+L進行清屏
相對路徑:參照當前所在目錄,進行查找,如:[root@localhost ~]# cd ../usr/local/src/
絕對路徑:從根目錄開始指定,一級一級遞歸查找。在任何目錄下,都能進入指定位置,如:[root@localhost ~]# cd /etc/
使用Tab來進行目錄文件補全,也可使用命令補全
查詢所在目錄位置:pwd
pwd
命令英文原意:print working directory
刪除空目錄:rmdir(通常不會用)
rmdir [目錄名]
命令英文原意:remove empty directories
刪除文件或目錄:rm(推薦使用)
rm -rf [文件或目錄] 命令英文原意:remove 選項: -r 刪除目錄或者文件 -f 強制
rm 文件,只能刪除文件
rm -r 目錄名,可是會詢問是否刪除,若是肯定都須要刪除,那麼就能夠直接使用 rm -rf 目錄名,會強制刪除下面全部
複製命令:cp
cp [選項] [原文件或目錄] [目標目錄] 命令英文原意:copy 選項: -r 複製目錄 -p 連帶文件屬性複製 -d 若源文件是連接文件,則複製連接屬性 -a 相對於 -pdr
cp 文件 目標文件,只能複製文件
cp -r 目錄名 目標目錄
cp -a xxx xxx,-a 等同於 -pdr ,與源文件或者目錄日期時間都如出一轍了。
剪切或更名命令:mv
mv [原文件或目錄] [目標目錄]
命令英文原意:move
同一個目錄mv就能夠進行更名,不一樣目錄使用mv就進行剪切。
經常使用目錄的做用
/ 根目錄 /bin 命令保存目錄(普通用戶就能夠讀取的命令) /boot 啓動目錄,啓動相關文件 /dev 設備文件保存目錄 /etc 配置文件保存目錄
/root 超級用戶的家目錄 /home 普通用戶的家目錄 /lib 系統庫保存目錄 /mnt 系統掛載目錄 /media 掛載目錄
/tmp 臨時目錄
/sbin 命令保存目錄(超級用戶才能使用的目錄)
/proc 直接寫入內存的
/sys
/usr 系統軟件資源目錄
/usr/bin/ 系統命令(普通用戶)
/usr/sbin/ 系統命令(超級用戶)
/var 系統相關文檔內容
根目錄下的bin和sbin,usr目錄下的bin和sbin,這四個目錄都是用來保存系統命令的。
根目錄下的bin和usr目錄下的bin下的命令,任何用戶均可以去使用並執行。
根目錄下的sbin和usr目錄下的sbin下的命令,只有root才能執行的命令。
根目錄下的lib目錄下,都是一些函數庫,不是全部功能都寫到了linux系統裏,有些是經過函數庫來進行動態調用使用的,提高Linux系統效率。
根目錄下的mnt、media、misc都表示外接存儲設備的盤弧,misc通常是外接磁帶機的掛載目錄,media通常是外接光盤的掛載目錄,mnt通常是外接u盤或者移動硬盤的掛載目錄。老版的linux系統下沒有media和misc的,因此習慣性將全部的掛載點都放入mnt目錄了。
根目錄下的proc和sys目錄不能直接操做,這兩個目錄保存的是內存的過載點。
通常推薦使用目錄有:能夠在家目錄root 或者 home,以及tmp目錄下隨便放內容。
連接命令:ln
ln -s [原文件] [目標文件]
命令英文原意:link
功能描述:生成連接文件
選項:-s 建立軟連接
硬連接特徵:
1. 擁有相同的i節點和存儲block塊,能夠看作是同一個文件
2. 可經過i節點識別
3.不能跨分區
4.不能針對目錄使用
ln /root/xxx.cfg /tmp/硬連接名稱,使用以後引用計數爲增長1,並且經過 ls -i /root/xxx.cfg /tmp/硬連接名稱 發現它們的 i 節點相關,不管你是否重命名仍是刪除均可以正常使用。
軟連接特徵:
1. 相似Windows快捷方式
2. 軟連接擁有本身的i節點和Block塊,可是數據塊中只保存原文件的文件名和i節點號,並無實際的文件數據
3. lrwxrwxrwx l軟連接(是l 不是大寫 i),軟連接文件權限都爲rwxrwxrwx
4. 修改任意文件,另外一個都改變
5. 刪除原文件,軟連接不能使用
ln -s /root/xxx.cfg /tmp/軟連接名稱
echo 1111 >> /root/xxx.cfg cat /tmp/軟連接名稱 cat /tmp/硬連接名稱
echo 2222 >> /tmp/軟連接名稱
cat /tmp/硬連接名稱
cat /root/xxx.cfg
echo 3333 >> /tmp/硬連接名稱
cat /root/xxx.cfg
cat /tmp/軟連接名稱
rm -rf /root/xxx.cfg
這裏不管修改軟、硬連接都會使文件進行改變,都能看到改變的值。刪除原文件,硬連接沒有任何變化,軟連接失效。
ln -s /root/csb /tmp/
ln -s sb /tmp/
前往/tmp/目錄發現,csb能夠,可是sb卻找不到,說明軟連接通常要指定絕對路徑。
locate 文件名 在後臺數據庫中按文件名搜索,搜索速度比較快 /var/lib/mlocate #locate命令所搜索的後臺數據庫 updatedb 更新數據庫
locate xxx.log ,在mlocate數據庫搜索 xxx.log 文件,能夠找到;可是若是 touch yyy.log,你再使用locate yyy.log 發現找不到對應的文件了,緣由:由於locate命令不會直接在系統中搜索,而是在/var/lib/mlocate這個數據庫進行搜索,又因爲mlocate數據庫不是實時更新的,每一天更新一次,因此新建文件須要使用locate進行搜索,必須使用updatedb進行手動更新mlocate數據庫。
locate locate
搜索跟locate相關的文件。可能根據Linux系統不一樣,locate數據庫的名字可能不一樣:好比 slocate、mlocate、locatedb。
locate 只能按照文件名進行搜索。
touch /tmp/yyy.log
updatedb
locate yyy.log
locate yyy.log 發現只能找到 /root/yyy.log,而找不到 /tmp/yyy.log,緣由:locate 命令是按照 /etc/updatedb.conf 配置文件進行配置搜索的,發現 /tmp 在不搜索路徑裏面。
PRUNE_BIND_MOUNTS = "yes" # 開啓搜索限制,yes的時候,下面三個配置所有生效,反之亦然 PRUNEFS = # 搜索時,不搜索文件系統 PRUNENAMES = # 搜索時,不搜索文件類型 PRUNEPATHS = # 搜索時,不搜索的路徑
注意了:centos7默認是沒有安裝mlocate的,因此沒法使用這兩個命令 locate,updatedb
yum install mlocate
whereis 和 which 只能搜索外部安裝的一些命令,不能搜索系統命令
whereis 命令名 # 搜索命令所在路徑及幫助文檔所在位置 選項: -b : 只查找可執行文件 -m : 只查找幫助文件
[root@localhost ~]# whereis ls ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
ls的運行路徑在 /usr/bin/ls ,幫助文檔:/usr/share/man/man1/ls.1.gz
whoami 查詢我是誰,whatis ls 查看ls命令是幹什麼的
which 文件名
# 搜索命令所在路徑及別名
[root@localhost ~]# which ls alias ls='ls --color=auto' /usr/bin/ls [root@localhost ~]# which pwd /usr/bin/pwd
PATH環境變量
PATH環境變量:定義的是系統搜索命令的路徑 [root@localhost ~]# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
環境變量就是爲了讓系統能夠去這些路徑去尋找相應可執行命令,若是上述環境變量的路徑中未找到相關命令就會提示 -bash: lsss: command not found
find [搜索範圍] [搜索條件] # 搜索文件 find / -name install.log # 避免大範圍搜索,會很是耗費系統資源 # find是在系統當中搜索符合條件的文件名。若是需匹配,使用通配符匹配,通配符是徹底匹配
Linux 中的通配符 * 匹配任意內容 ? 匹配任意一個字符 [] 匹配任意一箇中括號內的字符
find /root -name "install.log*",會匹配出install.log和install.log.syslog
find /root -name "ab[cd]",會匹配出abc和abd
find /root -name "*[cd]",會匹配出以c或者d結尾的文件
find /root -iname install.log # 不區分大小寫 find /root -user root # 按照全部者搜索 find /root -nouser # 查找沒有全部者的文件
find /root -nouser 搜索沒有全部者的文件,通常能夠認爲是垃圾文件,可是有兩種狀況:一是內核產生的文件好比proc和sys裏面的文件可能沒有全部者,二是插入U盤可能會不存在全部者。
find /var/log/ -mtime +10 # 查找10天前修改的文件 -10 10天內修改的文件 10 10天當天修改的文件 +10 10天前修改的文件 atime 文件訪問時間 ctime 改變文件屬性 mtime 修改文件內容
find /var/log -mtime +10 ,搜索10天前的日誌,若是不須要就能夠進行刪除了。
find . -size 25k # 查找文件大小是25kb的文件 -25K 小於25KB的文件 25K 等於25KB的文件 +25K 大於25KB的文件 find . -inum 262422 # 查找i節點是262422的文件
find . -size 2M,表示查找文件大小是2MB的文件。不能是小寫m,只能是大寫M。並且必須帶單位,若是不帶單位會按照扇區塊512KB進行查找。
find /etc -size +20k -a -size -50k # 查詢/etc/目錄下,大於20KB而且小於50KB的文件 -a and 邏輯與,兩個條件都知足 -o or 邏輯或,兩個條件知足一個便可 find /etc -size +20k -a -size -50k -exec ls -lh {} \; # 查找/etc/目錄下,大於20KB而且小於50KB的文件,並顯示詳細信息 # -exec/-ok命令{}\;對搜索結果執行操做
grep [選項] 字符串 文件名 # 在文件當中匹配符合條件的字符串 選項: -i 忽略大小寫 -v 排除指定字符串
grep "size" xxx.log,包含size關鍵字的信息
grep -v "size" xxx.log,不包含size關鍵字的信息
1. find 命令:在系統當中搜索符合條件的文件名,若是須要匹配,使用通配符匹配,通配符是徹底匹配
2. grep命令:在文件當中搜索符合條件的字符串,若是須要匹配,使用正則表達式進行匹配,正則表達式時包含匹配
man 命令
# 獲取指定命令的幫助
man ls
# 查看ls的幫助
若是要搜索關鍵字,好比這裏搜索 -d,只須要 /-d 進行搜索,而後使用 n 鍵進行下一個,shift+n(也就是大寫 N) 進行上一個。
man命令它幾個幫助級別:
1 : 查看命令的幫助 2 : 查看可被內核調用的函數的幫助 3 : 查看函數和函數庫的幫助 4 : 查看特殊文件的幫助(主要是/dev目錄下的文件) 5 : 查看配置文件的幫助 6 : 查看遊戲的幫助 7 : 查看其餘雜項的幫助 8 : 查看系統管理員可用命令的幫助 9 : 查看和內核相關文件的幫助
查看命令擁有那個級別的幫助
man -f 命令 至關於 whatis 命令 舉例: man -5 passwd man -4 null man -8 ifconfig
查看和命令相關的全部幫助
man -k 命令
至關於
apropos 命令
例如:
apropos passwd
man -k passwd 輸出全部有passwd關鍵字的命令和命令幫助文檔
選項幫助
命令 --help
# 獲取命令選項的幫助
例如:
ls --help
shell內部命令幫助
help shell 內部命令
# 獲取shell 內部命令的幫助
例如:
whereis cd
# 肯定是不是shell內部命令
help cd
# 獲取內部命令幫助
shell 實際上是Linux的解釋器,好比說將 ls 翻譯成 0101進行執行
怎麼判斷一個命令是系統自帶的仍是後來安裝的,只須要使用whereis 命令進行查看,若是找到了就證實是系統自帶的,若是找不到就是後來安裝的。
詳細命令幫助info
info 命令 - 回車:進入子幫助頁面(帶有*號標記) - u:進入上層頁面 - n:進入下一個幫助小節 - p:進入上一個幫助小節 - q:退出
.zip格式壓縮
zip 壓縮文件名 源文件 # 壓縮文件 zip -r 壓縮文件名 源目錄 # 壓縮目錄
.zip格式解壓縮
unzip 壓縮文件
# 解壓縮.zip文件
這種格式和windows是通用的,能夠解壓windows下的xxx.zip,windows也能夠解壓縮linux的xxx.zip文件。
centos7mini版沒有zip和unzip命令,須要安裝下:
yum install zip unzip
.gz格式壓縮
gzip 源文件 # 壓縮爲.gz格式的壓縮文件,源文件會消失 gzip -c 源文件 > 壓縮文件 # 壓縮爲.gz格式,源文件保留 # 例如:gzip -c xxxx > xxxx.gz gzip -r 目錄 # 壓縮目錄下全部的子文件,可是不能壓縮目錄
「>」是將命令的結果寫入指定文件
.gz格式解壓縮
gzip -d 壓縮文件
# 解壓縮文件
gunzip 壓縮文件
# 解壓縮文件
gunzip -r 目錄
# 解壓縮目錄下面的文件
.bz2格式壓縮
bzip2 源文件 # 壓縮爲.bz2格式,不保留源文件 bzip2 -k 源文件 # 壓縮以後保留源文件 注意:bzip2命令不能壓縮目錄
.bz2格式解壓縮
bzip2 -d 壓縮文件 # 解壓縮,-k保留壓縮文件 bunzip2 壓縮文件 # 解壓縮,-k保留壓縮文件
打包命令tar
tar -cvf 打包文件名 源文件 選項: -c : 打包 -v : 顯示過程 -f : 指定打包後的文件名 例如: tar -cvf xxxx.tar xxxx
這裏打包後變成xxxx.tar,而後可使用 gzip xxxx.tar 進行壓縮就能夠壓縮成 xxxx.tar.gz 的格式了。而後可使用 bzip2 xxxx.tar 進行壓縮就能夠壓縮成 xxxx.tar.bz2 的格式了。
解打包命令
tar -xvf 打包文件名 選項: -x : 解打包 例如: tar -xvf xxxx.tar
.tar.gz壓縮格式
其實.tar.gz格式是先打包爲.tar格式,再壓縮爲.gz格式 tar -zcvf 壓縮包名.tar.gz 源文件 選項: -z : 壓縮爲.tar.gz格式 tar -zxvf 壓縮包名.tar.gz 選項: -x : 解壓縮.tar.gz格式
.tar.bz2壓縮格式
tar -jcvf 壓縮包名.tar.bz2 源文件 選項: -z:壓縮爲.tar.bz2格式 tar -jxvf 壓縮包名.tar.bz2 選項: -x:解壓縮.tar.bz2格式
能夠指定解壓縮到某個目錄下:
tar -jxvf xxxx.tar.bz2 -C /tmp/
壓縮的時候能夠指定多個目錄和文件:
tar -zcvf test.tar.gz 目錄名 文件名
若是要指定壓縮到某個目錄下:
tar -zcvf /tmp/test.tar.gz 目錄名 文件名
若是隻是想查看下壓縮文件的內容,不解壓出來:
tar -ztvf xxxx.tar.gz
-t 就是測試的意思,不解壓
[root@localhost ~]# shutdown [選項] 時間 選項: -c : 取消前一個關機命令 -h : 關機 -r : 重啓
shutdown -r now 當即重啓,能夠用 date 查看當前系統時間
# 當前05:30進行重啓 shutdwn -r 05:30 # 這裏會一直等待重啓,什麼操做都不能夠了,須要加一個後臺符,讓它在後臺進行運行 shutdown -r 05:30 &
若是我想取消此次重啓操做,就可使用:
shutdown -c
2.其餘關機命令
halt poweroff init 0
3.其餘的重啓命令
reboot init 6
4.系統運行級別
0 關機 1 單用戶 2 不徹底多用戶,不含NFS服務 3 徹底多用戶 4 未分配 5 圖形界面 6 重啓
系統運行級別
cat /etc/inittab # 修改系統默認運行級別 id:3:initdefault: runlevel # 查詢系統運行級別
5.退出登陸命令
logout
1.查詢與自動掛載
mount # 查詢系統中已經掛載的設備 mount -a # 依據配置文件/etc/fstab的內容,自動掛載
2.掛載命令格式
mount [-t 文件系統] [-o 特殊選項] 設備文件名 掛載點 選項: -t 文件系統:加入文件系統類型來指定掛載的類型,能夠ext三、ext四、xfs等文件系統 -o 特殊選項:能夠指定掛載的額外選項
光盤用的文件系統類型是:iso9660
-o 特殊選項以下:
參數 | 說明 |
atime/noatime | 更新訪問時間/不更新訪問時間。訪問分區文件時,是否更新文件的訪問時間,默認爲更新 |
async/sync | 異步/同步,默認爲異步 |
auto/noauto | 自動/手動,mount -a命令執行時,是否會自動安裝/etc/fstab文件內容掛載,默認爲自動 |
defaults | 定義默認值,至關於rw,suid,dev,exec,auto,nouser,async這七個選項 |
exec/noexec | 執行/不執行,設定是否容許在文件系統中執行可執行文件,默認是exec容許 |
remount | 從新掛載已經掛載的文件系統,通常用於指定修改特殊權限 |
rw/ro | 讀寫/只讀,文件系統掛載時,是否具備讀寫權限,默認是rw |
suid/nosuid | 具備/不具備SUID權限,設定文件系統是否具備SUID和SGID權限,默認具備 |
user/nouser | 容許/不容許普通用戶掛載,設定文件系統是否容許普通用戶掛載,默認是不容許,只有root能夠掛載分區 |
usrquota | 寫入表明文件系統支持用戶磁盤配額,默認不支持 |
grpquota | 寫入表明文件系統支持組磁盤配額,默認不支持 |
cd /home/
vi hello.sh
#!/bin/bash echo "hello world"
賦予執行權限: chmod 755 hello.sh,就能夠直接執行該腳本
mount -o remount,noexec /dev/mapper/centos-home /home/
# 從新掛載 /home 分區,並使用noexec權限
從新掛載/home分區以後,因爲noexec權限,因此前面的hello.sh就不能直接進行執行,權限不夠了。
這裏必須改回來:
mount -o remount,exec /dev/mapper/centos-home /home/
3.掛載光盤
mkdir /mnt/cdrom/ # 創建掛載點 mount -t iso9660 /dev/cdrom /mnt/cdrom/ # 掛載光盤 mount /dev/sr0 /mnt/cdrom/
# 因爲 /dev/cdrom 是 /dev/sr0 的軟連接,均可以寫,可是建議寫 /dev/sr0,並且默認系統知道光盤的文件類型爲iso9660,因此能夠不用寫
若是你是真實機就須要找一張光盤放入,這裏用虛擬機進行演示則須要雙擊光盤選項。
4. 卸載命令
umount 設備文件名或掛載點
umount /mnt/cdrom
若是當前正在這個目錄進行操做或者在這個目錄中,卸載會報錯:設備正忙。須要退出該目錄再進行卸載。
5.掛載U盤
fdisk -l # 查看硬盤設備文件名 mount -t vfat /dev/sdb1 /mnt/usb/ 注意:Linux默認是不支持NTFS文件系統的
vfat 文件系統指的是windows下的fat32文件系統,fat32基本淘汰了,只支持不超過4G的單個文件,若是非要用NTFS文件系統,須要安裝 NTFS-3G 的軟件。
查看登陸用戶信息
w 用戶名
命令輸出:
USER : 登陸的用戶名;
TTY : 登陸終端;
FROM : 從哪一個IP地址登陸
LOGIN@ : 登陸時間
IDLE : 用戶閒置時間
JCPU : 指的是和該終端鏈接的全部進程佔用的時間。這個時間裏並不包括過去的後臺做業時間,但卻包括當前正在運行的後臺做業所佔用的時間;
PCPU : 是指當前進程所佔用的時間;
WHAT : 當前正在運行的命令
who
who 命令輸出: -用戶名 -登陸終端 -登陸時間(登陸來源IP地址)
查詢當前登陸和過去登陸的用戶信息
last last命令默認是讀取 /var/log/wtmp文件數據 命令輸出: -用戶名 -登陸終端 -登陸IP -登陸時間 -退出時間(在線時間)
查詢全部用戶的最後一次登陸時間
lastlog lastlog命令默認是讀取/var/log/lastlog文件內容 命令輸出: -用戶名 -登陸終端 -登陸IP -最後一次登陸時間
Yum: 即Yellowdog Update Modifier,是一種基於rpm的包管理工具
yum(全稱爲 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE中的Shell前端軟件包管理器。基於RPM包管理,可以從指定的服務器自動下載RPM包而且安裝,能夠自動處理依賴性關係,而且一次安裝全部依賴的軟體包,無須繁瑣地一次次下載、安裝。yum提供了查找、安裝、刪除某一個、一組甚至所有軟件包的命令,並且命令簡潔而又好記。
yum的命令形式通常是以下:
yum [options] [command] [package ...]
顯示全部倉庫
yum repolist all
顯示可用的倉庫
repolist enabled
顯示不可用的倉庫
repolist disabled
顯示全部的程序包
yum list 或 yum list all [vathe@localhost ~]$yum list tre? Installed Packages tree.x86_64 1.6.0-10.el7 @base 還支持通配符格式的查詢
顯示可安裝的程序包
yum list available [vathe@localhost ~]$yum list available php Available Packages php.x86_64 5.4.16-42.el7 base
顯示可更新或已安裝的程序包
yum list updates
yum list installed
顯示倉庫中最近增長的程序包
yum list recent
#安裝 tree 程序
yum install tree
yum update tree
yum remove tree
或
yum erase tree
yum info tree
查看某一文件來自於那個程序包
[vathe@localhost ~]$yum provides /bin/mv coreutils-8.22-18.el7.x86_64 : A set of basic GNU tools commonly used in shell scripts Repo : base Matched from: Filename : /bin/mv #表示/bin/mv文件來自於coreutils-8.22-18.el7.x86_64程序包
yum clean all
#清楚插件緩存
yum clean plugins
yum makecache
[vathe@localhost ~]$yum search php ============================================== N/S matched: php =============================================== graphviz-php.x86_64 : PHP extension for graphviz php.x86_64 : PHP scripting language for creating dynamic web sites php-bcmath.x86_64 : A module for PHP applications for using the bcmath library ...
[vathe@localhost ~]$yum deplist php package: php.x86_64 5.4.16-42.el7 dependency: httpd provider: httpd.x86_64 2.4.6-45.el7.centos ...
[root@localhost ~]# yum history Repository 'base' is missing name in configuration, using id ID | Login user | Date and time | Action(s) | Altered ------------------------------------------------------------------------------- 2 | Vathe Su <vathe> | 2017-04-17 17:07 | Install | 1 1 | System <unset> | 2017-03-23 22:19 | Install | 1405 history list
yum groupinstall # 安裝包組
yum groupupdate #更新包組
yum grouplist #顯示包組
yum groupremove #移除包組
yum groupinfo #查看包組信息
這些命令和上面的命令用法相似,只是針對於包組而言
使用yum安裝git,不必定是最新版本:
yum install -y git
此方法簡單,而且會自動安裝依賴的包,並且會從源裏安裝最新的版本(不過不必定是最新的git)。
源碼安裝能夠參考:http://www.javashuo.com/article/p-cvuvjawi-eq.html
順便講講git的簡單使用:
1.進入某一目錄,Linux直接用命令行,Windows右鍵使用「Git Bash Here」 2.拷貝遠端代碼到本地 git clone 地址 3.解決git pull/push每次都須要輸入密碼問題 和 HttpRequestException encountered git config --global credential.helper store 安裝git後 $ git config --global user.name "Your Name" $ git config --global user.email "email@example.com" $ ssh-keygen -t rsa -C "youremail@example.com" 建立ssh key,用於和github通訊 (祕鑰存儲於C:\Users\27634\.ssh,把公鑰id_rsa.pub存儲於github) 建立版本庫 $ pwd 命令用於顯示當前目錄(沒啥用) $ git init 把這個目錄變成Git能夠管理的倉庫(後續新建提交和ssh克隆須要) 操做版本庫 $ git add 文件名 添加文件(新增或者更改都須要先add) $ git commit -m "說明" 提交到本地版本庫 $ git status 查看倉庫狀態 $ git diff 文件名 查看修改的地方 版本回退(從一個commit恢復) $ git log 查看版本歷史 $ git reset --hard HEAD^ 回退到上個版本 $ git reset --hard 1094a 回退到特定版本號(commit之後回退) $ git reflog 記錄每一次命令 $ git checkout -- file 直接丟棄工做區的修改(add之前回退) $ git reset HEAD <file> 添加到了暫存區時,想丟棄修改(add之後回退) 刪除文件 $ git rm file(已經add/commit,在目錄中刪除) $ git checkout -- file 刪錯了回退 遠程倉庫 $ git remote add origin git@server-name:path/repo-name.git 關聯遠程庫 $ git push -u origin master 第一次的push $ git push origin master 經常使用的push,本地分支會在服務器上新建分支 $ git pull 須要有關聯的分支,第一次下拉最好新建一個空文件夾 $ git branch --set-upstream-to=origin/遠程分支 本地分支 關聯分支 $ git clone git@server-name:path/repo-name.git 克隆(不須要另建文件夾) 分支 $ git branch -a 查看全部分支 $ git branch -vv 查看分支關聯 $ git branch dev 建立分支 $ git checkout dev 切換分支 $ git merge dev 合併某分支到當前分支 $ git merge --no-ff -m "msg" dev 普通模式合併,合併後的歷史有分支 $ git branch -d dev 刪除分支 $ git checkout -b dev 建立並切換分支 合併分支,沒法merge $ git stash save 名字 暫存工做狀態 $ git pull origin dev 拉下來 $ git stash list 查看已經暫存的狀態 $ git stash pop stash@{0} 將暫存狀態merge到當前分支 還有衝突時,手動修改文件,而後add/commit $ git log --graph 分支合併圖 bug分支issue $ git stash 暫存工做狀態 $ git stash list 查看暫存工做狀態 $ git stash pop 恢復暫存狀態並刪除狀態 開發分支feature $ git branch -D <name> 強制刪除未合併的分支 rebase $ git rebase 本地未push的分叉提交歷史整理成直線 標籤 $ git tag 標籤名 打在最新提交的commit上 $ git tag 查詢全部標籤 $ git tag 標籤名 f52c633 給特定的commit打標籤 $ git tag -a 標籤名 -m "msg" commit的id 給標籤設置說明 $ git show 標籤名 查詢標籤內容 $ git tag -d 標籤名 刪除標籤 $ git push origin 標籤名 推送某個標籤到遠程 $ git push origin --tags 推送全部標籤 $ git push origin :refs/tags/<tagname> 能夠刪除一個遠程標籤。