linux系統(tǒng)入門介紹以及git使用_第1頁(yè)
linux系統(tǒng)入門介紹以及git使用_第2頁(yè)
linux系統(tǒng)入門介紹以及git使用_第3頁(yè)
linux系統(tǒng)入門介紹以及git使用_第4頁(yè)
linux系統(tǒng)入門介紹以及git使用_第5頁(yè)
已閱讀5頁(yè),還剩38頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、入職培訓(xùn)之linux和Git什么是LINUXLinux的起源 1983年:GUN計(jì)劃創(chuàng)立 為了發(fā)展一個(gè)完全免費(fèi)、自由的Unix-like操作系統(tǒng) 創(chuàng)建了開(kāi)源版本的unix工具 創(chuàng)建了General Public License(GPL):為保證GNU軟件可以自由的“使用、復(fù)制、修改和發(fā)布” 1991年:Linux核心發(fā)布 1992年:Linux與其他GNU軟件結(jié)合,完全自由的操作系統(tǒng)正式誕生 1994年:第一個(gè)正式版本Linux 1.0發(fā)布Linux的起源 1983年:GUN計(jì)劃創(chuàng)立 為了發(fā)展一個(gè)完全免費(fèi)、自由的Unix-like操作系統(tǒng) 創(chuàng)建了開(kāi)源版本的unix工具 創(chuàng)建了General P

2、ublic License(GPL):為保證GNU軟件可以自由的“使用、復(fù)制、修改和發(fā)布” 1991年:Linux核心發(fā)布 1992年:Linux與其他GNU軟件結(jié)合,完全自由的操作系統(tǒng)正式誕生 1994年:第一個(gè)正式版本Linux 1.0發(fā)布Linux的原則和理念 Everything is a file(including hardware) 所有的程序追求體積小、功能單一 能夠整合一些程序去完成復(fù)雜的任務(wù) 所有的配置文件都存儲(chǔ)在文本文件中核心的組件 /boot/vmlinuz-version1. 核心二進(jìn)制文件 /boot/initrd-version.img1. 給核心提供一些重要的模

3、塊2.系統(tǒng)在添加或刪除硬件后需要重建initrd-version.img文件3. mkinitrd/boot/initrd-$(uname -r ).img $(uname -r) 4.使用上述命令式還可以使用-with選項(xiàng)來(lái)介入必要的模塊 /lib/modules/version/kernel1. 核心的模塊、與核心的版本相關(guān)核心模塊的分類 arch :和硬件平臺(tái)有關(guān) 如CPU等級(jí) crypto :核心所支持的加密技術(shù) 如md5 drives:硬件的驅(qū)動(dòng)程序 fs :核心所支持的文件系統(tǒng) lib:函數(shù)庫(kù) net :網(wǎng)絡(luò)協(xié)議,防火墻模塊 sound :與音效有關(guān)的模塊使用/proc,/sys監(jiān)

4、控配置核心 /proc,/sys為虛擬文件系統(tǒng) 不占磁盤空間掛載在內(nèi)存 /proc主要顯示進(jìn)程信息和核心參數(shù) /sys主要顯示硬件信息 /proc/運(yùn)行中的進(jìn)程信息 /proc/cpuinfo處理器信息 /proc/mdstat軟件raid的信息 /proc/memnfo系統(tǒng)內(nèi)存的使用情況 /proc/modules: 動(dòng)態(tài)加載模塊的信息 /proc/mounts 已掛載的文件系統(tǒng)的信息 /proc/partitions分區(qū)信息 /proc/sys/kernel/hostname 主機(jī)名 sysinit 去network中調(diào)用hostname /proc/sys/net/ipv4/ip-for

5、ward IP地址跳轉(zhuǎn)一些簡(jiǎn)單的命令 date 顯示系統(tǒng)日期和時(shí)間 date +%T cal:顯示日歷 cal -y :顯示一年的日歷 cal -j :日歷的樣式為距離當(dāng)年的第一天的天數(shù) cal 9 2012 :顯示2012年9月的日歷shell的認(rèn)識(shí) shell是用戶和Kernel之間的翻譯器 /etc/shells:記錄了系統(tǒng)上已安裝的shell類型 Bash的優(yōu)點(diǎn):tab補(bǔ)全、歷史命令調(diào)用正則表達(dá)式 ?:匹配一個(gè)字符 * :匹配0個(gè)或多個(gè)字符 0-9:匹配任意一個(gè)數(shù)字 abc:匹配a、b、c中任意一個(gè)字母 abc:匹配除a、b、c以外的字符命令行擴(kuò)展 $()或者 1.()或反引號(hào)里的內(nèi)容

6、作為命令處理2.echo my hostname is hostname3.echo the current directory is $(pwd) 1.touch file1,3,5防擴(kuò)展 1.防后面的一個(gè)字符擴(kuò)展 單引號(hào) 1.里面的內(nèi)容都是普通字符,當(dāng)成字符串打印出來(lái) 雙引號(hào) 1.除$ ,!外的字符作為普通字符使用。這四個(gè)符號(hào)還是有擴(kuò)展含義的。本地變量 暫時(shí)存儲(chǔ)在內(nèi)存中 存放數(shù)據(jù)或命令的輸出 本地變量只有在當(dāng)前shell有效 設(shè)置變量VARIABLE=VALUE 引用變量$VARIABLE環(huán)境變量 設(shè)置變量:export VARIABLE=VALUE set :顯示所有變量 env :查看

7、所有環(huán)境變量別名 設(shè)置別名 : alias 別名=原命令1.alias rm=rm -i 查看別名 : alias 刪除別名 : unalias 別名 rm -r * 1.若設(shè)置了別名后想使用命令本身,可使用(反斜杠)防擴(kuò)展Shell腳本基礎(chǔ) 腳本是存有命令的文本文件 腳本的用處:1. 用于系統(tǒng)的管理和維護(hù)2. 用于自動(dòng)化的任務(wù)3. 創(chuàng)建一個(gè)簡(jiǎn)單的應(yīng)用程序創(chuàng)建shell腳本 首行聲明解釋器1. #!/bin/bash 注釋以#開(kāi)頭 賦予shell腳本執(zhí)行權(quán)限1. chmod u+x test.sh 執(zhí)行腳本1./ test.sh2.source test.sh3.bash test.sh運(yùn)行命

8、令 command options arguments1.每一部分由空格分開(kāi) 選項(xiàng)改變了一個(gè)命令的行為1.-a -b -c -abc 2.-help 參數(shù)是命令的輸入 多個(gè)命令可由;分割 常用命令 ls: 列出目錄 cd:切換目錄 pwd:顯示目前的目錄 mkdir:創(chuàng)建一個(gè)新的目錄 rmdir:刪除一個(gè)空的目錄 cp: 復(fù)制文件或目錄 rm: 移除文件或目錄常用命令2 Locate Find Grep awk Ps killlocate 查找速度快 需要依賴數(shù)據(jù)庫(kù) /var/lib/mlocate/mlocate.db 更新數(shù)據(jù)庫(kù):updatedb 不光查找文件名,目錄也會(huì)匹配 locate

9、 passwd1.-i 大小寫不敏感2.-n x 只列出前x個(gè)符合條件的find 實(shí)際掃描硬盤 查找速度慢 可以對(duì)查找的內(nèi)容執(zhí)行額外的命令 find /etc/ -name passwd -exec rm -rf ; 1.若沒(méi)有指定查找路徑就從當(dāng)前目錄查找2.-ok 會(huì)有確認(rèn)提示3.-name 查找文件名符合的文件grep 一種強(qiáng)大的文本搜索工具,它能使用正則表達(dá)式搜索文本,并把匹配的行打印出來(lái)。grep -acinv -color=auto 搜尋字符串 filename 選項(xiàng)與參數(shù): -a :將 binary 文件以 text 文件的方式搜尋數(shù)據(jù) -c :計(jì)算找到 搜尋字符串 的次數(shù) -i

10、:忽略大小寫的不同,所以大小寫視為相同 -n :順便輸出行號(hào) -v :反向選擇,亦即顯示出沒(méi)有 搜尋字符串 內(nèi)容的那一行! -color=auto :可以將找到的關(guān)鍵詞部分加上顏色的顯示喔awkawk是一個(gè)強(qiáng)大的文本分析工具,相對(duì)于grep的查找,sed的編輯,awk在其對(duì)數(shù)據(jù)分析并生成報(bào)告時(shí),顯得尤為強(qiáng)大。簡(jiǎn)單來(lái)說(shuō)awk就是把文件逐行的讀入,以空格為默認(rèn)分隔符將每行切片,切開(kāi)的部分再進(jìn)行各種分析處理。awk pattern + action filenamespattern 表示 AWK 在數(shù)據(jù)中查找的內(nèi)容,而 action 是在找到匹配內(nèi)容時(shí)所執(zhí)行的一系列命令。awk -F field-s

11、eparator commands input-file(s)psps 為我們提供了進(jìn)程的一次性的查看,它所提供的查看結(jié)果并不動(dòng)態(tài)連續(xù)的;如果想對(duì)進(jìn)程時(shí)間監(jiān)控,應(yīng)該用 top 工具。ps 提供了很多的選項(xiàng)參數(shù),常用的有以下幾個(gè):l 長(zhǎng)格式輸出;u 按用戶名和啟動(dòng)時(shí)間的順序來(lái)顯示進(jìn)程;j 用任務(wù)格式來(lái)顯示進(jìn)程;f 用樹形格式來(lái)顯示進(jìn)程;a 顯示所有用戶的所有進(jìn)程(包括其它用戶);x 顯示無(wú)控制終端的進(jìn)程;r 顯示運(yùn)行中的進(jìn)程;kill發(fā)送指定的信號(hào)到相應(yīng)進(jìn)程。終止一個(gè)前臺(tái)進(jìn)程可以使用Ctrl+C鍵,但是,對(duì)于一個(gè)后臺(tái)進(jìn)程就須用kill命令來(lái)終止命令參數(shù):命令參數(shù):-l 信號(hào),若果不加信號(hào)的編號(hào)參

12、數(shù),則使用“-l”參數(shù)會(huì)列出全部的信號(hào)名稱-a 當(dāng)處理當(dāng)前進(jìn)程時(shí),不限制命令名和進(jìn)程號(hào)的對(duì)應(yīng)關(guān)系-p 指定kill 命令只打印相關(guān)進(jìn)程的進(jìn)程號(hào),而不發(fā)送任何信號(hào)-s 指定發(fā)送信號(hào)-u 指定用戶 徹底殺死進(jìn)程徹底殺死進(jìn)程kill 9 進(jìn)程號(hào)獲得幫助 whatis1.剛安裝的軟件不能顯示幫助 2.使用makewhatis手動(dòng)更新數(shù)據(jù)庫(kù)/由系統(tǒng)計(jì)劃任務(wù)自動(dòng)完成更新3./var/cache/man/whatis -help man info /usr/share/doc :所有命令的說(shuō)明書GIT-分布式版本控制系統(tǒng)分布式版本控制系統(tǒng) Git是一款免費(fèi)、開(kāi)源的分布式版本控制系統(tǒng),用于敏捷高效地處理任何或

13、小或大的項(xiàng)目。 Git是一個(gè)開(kāi)源的分布式版本控制系統(tǒng),用以有效、高速的處理從很小到非常大的項(xiàng)目版本管理。 Git 是 Linus Torvalds 為了幫助管理 Linux 內(nèi)核開(kāi)發(fā)而開(kāi)發(fā)的一個(gè)開(kāi)放源碼的版本控制軟件。 分布式相比于集中式的最大區(qū)別在于開(kāi)發(fā)者可以提交到本地,每個(gè)開(kāi)發(fā)者通過(guò)克?。╣it clone),在本地機(jī)器上拷貝一個(gè)完整的Git倉(cāng)庫(kù)。Git的功能特性:從一般開(kāi)發(fā)者的角度來(lái)看,git有以下功能:1、從服務(wù)器上克隆完整的Git倉(cāng)庫(kù)(包括代碼和版本信息)到單機(jī)上。2、在自己的機(jī)器上根據(jù)不同的開(kāi)發(fā)目的,創(chuàng)建分支,修改代碼。3、在單機(jī)上自己創(chuàng)建的分支上提交代碼。4、在單機(jī)上合并分支。5

14、、把服務(wù)器上最新版的代碼fetch下來(lái),然后跟自己的主分支合并。6、生成補(bǔ)?。╬atch),把補(bǔ)丁發(fā)送給主開(kāi)發(fā)者。7、看主開(kāi)發(fā)者的反饋,如果主開(kāi)發(fā)者發(fā)現(xiàn)兩個(gè)一般開(kāi)發(fā)者之間有沖突(他們之間可以合作解決的沖突),就會(huì)要求他們先解決沖突,然后再由其中一個(gè)人提交。如果主開(kāi)發(fā)者可以自己解決,或者沒(méi)有沖突,就通過(guò)。8、一般開(kāi)發(fā)者之間解決沖突的方法,開(kāi)發(fā)者之間可以使用pull 命令解決沖突,解決完沖突之后再向主開(kāi)發(fā)者提交補(bǔ)丁。從主開(kāi)發(fā)者的角度(假設(shè)主開(kāi)發(fā)者不用開(kāi)發(fā)代碼)看,git有以下功能:1、查看郵件或者通過(guò)其它方式查看一般開(kāi)發(fā)者的提交狀態(tài)。2、打上補(bǔ)丁,解決沖突(可以自己解決,也可以要求開(kāi)發(fā)者之間解決以

15、后再重新提交,如果是開(kāi)源項(xiàng)目,還要決定哪些補(bǔ)丁有用,哪些不用)。3、向公共服務(wù)器提交結(jié)果,然后通知所有開(kāi)發(fā)人員。git init 創(chuàng)建一個(gè)版本庫(kù) $mkdir gittutorcn $cd gittutorcn $git initGit Cloneclone將會(huì)克隆一個(gè)本地廠庫(kù)下面是個(gè)取得 遠(yuǎn)程版本庫(kù)的命令例子: git clone https:/ pull 執(zhí)行g(shù)it pull命令遠(yuǎn)程命令來(lái)同步自己的本地倉(cāng)庫(kù)。git rebase 你對(duì)當(dāng)前分支所作的任何改變都被保存到一個(gè)臨時(shí)區(qū)域,因此你的分支將會(huì)和改變之前一樣干凈。如果你用git pull -rebase,git將會(huì)獲取遠(yuǎn)程的改變,遍歷當(dāng)前

16、本地分支,然后替換你當(dāng)前分支的所有改動(dòng)。git add增加內(nèi)容跟蹤信息我們創(chuàng)建兩個(gè)文件作為練習(xí):$echoHelloworldhello$echoSnakeZerosnake我們?cè)儆?git add 命令將這兩個(gè)文件加入到版本庫(kù)文件索引當(dāng)中:$git add hello snakegit add 實(shí)際上是個(gè)腳本命令,它是對(duì) git 內(nèi)核命令 git update-index 的調(diào)用。因此上面的命令和下面的命令其實(shí)是等價(jià)的:$git update-index -add hello snake如果你要將某個(gè)文件從 git 的目錄跟蹤系統(tǒng)中清除出去,同樣可以用 git update-index 命令

17、。例如:$git update-index -force -remove foo.c添加所有未跟蹤文件用 git add -A, 添加所有未跟蹤文件并且提交用 git commit -a。(注意大小寫)git commit提交內(nèi)容到版本庫(kù)$git commit -m “XXXXX”$ git commit -a* Please tell me who you are.Run git config -global user.email git config -global Your Nameto set your accounts default identity.Omit

18、-global to set the identity only in this repository.fatal: empty ident name (for ) not allowed git pushgit push命令用于將本地分支的更新,推送到遠(yuǎn)程主機(jī)。它的格式與git pull命令相仿。$ git push :注意,分支推送順序的寫法是:,所以git pull是:,而git push是:。如果省略遠(yuǎn)程分支名,則表示將本地分支推送與之存在”追蹤關(guān)系”的遠(yuǎn)程分支(通常兩者同名),如果該遠(yuǎn)程分支不存在,則會(huì)被新建。git rm 從資源庫(kù)中刪除此文件。 git commit -a -m Removed ex

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論