linux命令持續整合ing

2021-10-01 22:05:49 字數 2701 閱讀 6375

切換工作目錄

格式:ls [option]

檢視當前目錄下的檔案和目錄,它有很多引數可以選,常用的引數如下:

[option]

-a:顯示所有檔案和資料夾,包括隱藏檔案和當前目錄(.)以及上級目錄(..)

-h:以易於理解的方式顯示檔案大小,通常和-l組合使用,h是--human-readable的簡寫

-l:列出檔案的詳細資訊,每行顯示乙個

-r:排序時反向排序,是--reverse的簡寫

-r:同時遞迴的列出子目錄下的檔案

-s:按檔案大小排序,最大的在前面,

-t:按修改時間排序,最新的在前面,

一般組合使用:

ls -ahl
格式:find [path] [option] [action]

find命令引數比較多,下面之列出常用幾種:

find [path] -size [±]size:在目錄path找出大於(+)或小於(-)size檔案,size可以為10k、10m、10g等

find [path] -name 'fname':找出檔名為fname的檔案,檔名全匹配才能找到,若不確定檔名可以加萬用字元,*fname*

格式:grep [option]... pattern [file]...

在每個檔案中搜尋pattern

例如:grep -i 'hello world' menu.h main.c

[option]

-c:列印出匹配的次數

-i:忽略大小寫

-n:列印匹配結果的行數

-r:遞迴查詢,此引數後可以跟目錄

-v:反向選擇,列印未匹配的行

-w:整詞匹配

一般組合使用:

grep -nr 'function' ./
格式:cp [option]... source... directory

例如: cp -file1 file1.bak; cp file1 file2 directory1

[option]

-i :如果目標檔案已經存在,在copy時會先詢問是否覆蓋

-r 或-r:遞迴copy,用於目錄

--parents:在目錄下使用完整的源檔名

-u:只有目標檔案不存在或者原始檔更新時才會copy

說明:

cp --parents dir1/dir2/file1 dir3   得到的目標檔案為dir3/dir1/dir2/file1

cp -r --parents dir1 dir3 將dir1整個目錄copy到dir3下

格式:mv [option]... source... dest

如果dest不是已存在目錄,則表示重新命名;其他情況表示移動source

[option]

-f:如果目標檔案已經存在,強制覆蓋

-i :如果目標檔案已經存在,在move時會提示是否覆蓋

-u:只有目標檔案不存在或者原始檔更新時才會copy

-v:將列印出目前正在進行的操作

格式:rm [option]... [file]...

[option]

-f:強制remove,file不存在時也不會提示

-i :在刪除前會先提示是否remove

-r 或-r:遞迴remove,用於目錄,此引數慎用

-v:將列印出目前正在進行的操作

可以看到,mv、cp、rm的option非常相似,這樣記住乙個就可以了,舉一反三;

格式:tar [option...] [file]...

[option]

-c:建立乙個壓縮檔案

-c:指定壓縮或解壓縮的目錄

-f:指定壓縮檔案

-j:對應bzip2檔案的處理

-t:列出壓縮包的內容

-v:將列印出目前正在進行的操作

-x:從壓縮包中提取檔案

-z:對應gzip檔案的處理

一般組合使用:

解壓bzip2檔案:tar -jxvf file.tar.bz2 -c directory

製作bzip2壓縮檔案:tar -jcvf file.tar.bz2 file/directory

預覽bzip2壓縮檔案的內容:tar -jtvf file.tar.bz2

注:gzip檔案需要將j修改為z

格式:cat [option]... [file]...

[option]

-e:每一行的結尾顯示為$

-n:顯示行號

-t:將tab顯示為^i

-a:等同於-vet

cat file後常跟管道|,接其他處理命令

格式:echo [option]... [string]...

[option]

-e:啟用反斜槓轉義,預設是禁用反斜槓轉義的

-n:不輸出末尾的換行符

舉個例子:

[root@localhost ~]# echo "\n"

\n[root@localhost ~]# echo -e "\n"     注釋:輸出兩個空行是因為除了\n還有字串結尾的換行符​​

[root@localhost ~]# echo -ne "\n" 注釋:輸出乙個空行是因為除了字串結尾的換行符被忽略

​[root@localhost ~]#

持續整合(一)

一 提出 整合軟體 的過程不是新問題,如果專案開發的規模比較小,比如乙個人的專案,如果它對 外部系統 的依賴很小,那麼軟體整合不是問題,但是隨著軟體專案複雜度的增加 即使增加乙個人 就會對整合和確保 軟體元件 能夠在一起工作提出了更多的要求 要早整合,常整合 早整合,頻繁的整合幫助專案在早期發現專案...

持續整合簡介

想起我剛畢業後,進入一家以軟體外包為主的外企做開發。它使用傳統的瀑布式的軟體開發流程,沒有使用任何的敏捷實踐。我每天上班開啟電腦,拿到自己的任務,然後從版本控制更新 開啟工程按下build,準備進行今天的開發任務。突然發現build失敗 通常是編譯不過 大喊一聲 誰break build啦 也沒有人...

持續整合 CI

引子 記得剛加入趨勢開始開發工作 的時候曾被告知,趨勢有一套auto build的系統,會每天夜裡自動把當天check in的 進行構建,生成qa可測試 的build。每個rd都得小心提交code,因為專案結束的時候會看auto build的失敗率。可是構建失敗總是在所難免,尤其是每次要提交cand...