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

下載本文檔

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

文檔簡介

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

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

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

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

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

6、作為命令處理2.echo my hostname is hostname3.echo the current directory is $(pwd) 1.touch file1,3,5防擴展 1.防后面的一個字符擴展 單引號 1.里面的內(nèi)容都是普通字符,當成字符串打印出來 雙引號 1.除$ ,!外的字符作為普通字符使用。這四個符號還是有擴展含義的。本地變量 暫時存儲在內(nèi)存中 存放數(shù)據(jù)或命令的輸出 本地變量只有在當前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è)置了別名后想使用命令本身,可使用(反斜杠)防擴展Shell腳本基礎(chǔ) 腳本是存有命令的文本文件 腳本的用處:1. 用于系統(tǒng)的管理和維護2. 用于自動化的任務(wù)3. 創(chuàng)建一個簡單的應(yīng)用程序創(chuàng)建shell腳本 首行聲明解釋器1. #!/bin/bash 注釋以#開頭 賦予shell腳本執(zhí)行權(quán)限1. chmod u+x test.sh 執(zhí)行腳本1./ test.sh2.source test.sh3.bash test.sh運行命

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

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

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

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

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

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

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

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

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

17、。例如:$git update-index -force -remove foo.c添加所有未跟蹤文件用 git add -A, 添加所有未跟蹤文件并且提交用 git commit -a。(注意大小寫)git commit提交內(nèi)容到版本庫$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命令用于將本地分支的更新,推送到遠程主機。它的格式與git pull命令相仿。$ git push :注意,分支推送順序的寫法是:,所以git pull是:,而git push是:。如果省略遠程分支名,則表示將本地分支推送與之存在”追蹤關(guān)系”的遠程分支(通常兩者同名),如果該遠程分支不存在,則會被新建。git rm 從資源庫中刪除此文件。 git commit -a -m Removed ex

溫馨提示

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

評論

0/150

提交評論