學習Linux系統,命令是最基礎的一部分,有著很重要的地位,所以入門必須掌握好常用命令。下面由我為大家整理了Linux系統常用的基本命令入門篇,希望對大家有幫助!
Linux系統常用的基本命令入門篇一、基礎命令
1.Linu x的進 入與退出系統
進入Linux系統:
必須要輸入用戶的賬號,在系統安裝過程中可以創建以下兩種帳號:
1.root--超級用戶帳號(系統管理員),使用這個帳號可以在系統中做任何事情。
2.普通用戶--這個帳號供普通用戶使用,可以進行有限的操作。
一般的Linux使用者均為普通用戶,而系統管理員一般使用超級用戶帳號完成一些系統管理的工作。如果只需要完成一些由普通帳號就能完成的任務,建議不要使用超級用戶帳號,以免無意中破壞系統。影響系統的正常運行。
用戶登錄分兩步:第一步,輸入用戶的登錄名,系統根據該登錄名識別用戶;第二步,輸入用戶的口令,該口令是用戶自己設置的一個字元串,對其他用戶是保密的,是在登錄時系統用來辨別真假用戶的關鍵字。
當用戶正確地輸入用戶名和口令後,就能合法地進入系統。屏幕顯示:
[root@loclhost/root] #
這時就可以對系統做各種操作了。注意超級用戶的提示符是“#”,其他用戶的提示符是“$”。
2.修改口令
為了更好的保護用戶帳號的安全,Linux允許用戶隨時修改自己的口令,修改口令的命令是passwd,它將提示用戶輸入舊口令和新口令,之後還要求用戶再次確認新口令,以避免用戶無意中按錯鍵。如果用戶忘記了口令,可以向系統管理員申請為自己重新設置一個。
3.虛擬控制台
Linux是一個真正的多用戶 操作系統 ,它可以同時接受多個用戶登錄。Linux還允許一個用戶進行多次登錄,這是因為Linux和UNIX一樣,提供了虛擬控制台的訪問方式,允許用戶在同一時間從控制台進行多次登錄。虛擬控制台的選擇可以通過按下Alt鍵和一個功能鍵來實現,通常使用F1-F6例如,用戶登錄後,按一下Alt-F2鍵,用戶又可以看到"login:"提示符,說明用戶看到了第二個虛擬控制台。然後只需按Alt-F1鍵,就可以回到第一個虛擬控制台。 一個新安裝的Linux系統默認允許用戶使用Alt-F1到Alt-F6鍵來訪問前六個虛擬控制台。虛擬控制台可使用戶同時在多個控制台上工作,真正體現Linux系統多用戶的特性。用戶可以在某一虛擬控制台上進行的工作尚未結束時,切換到另一虛擬控制台開始另一項工作。
退出系統
不論是超級用戶,還是普通用戶,需要退出系統時,在shell提示符下,鍵入exit命令即可。
4.查看命令幫助信息
man命令
man命令用於查詢命令和程序的使用 方法 和參數。
例如:
man ls
將顯示ls命令的基本格式和使用方法
Linux系統常用的基本命令入門篇二、關機重啟命令
首先,是關機/重啟命令,僅在虛擬機時使用,實際工作中用不到
reboot 一般不跟參數使用,輸入指令即可重啟
shutdown 一般需要跟參數,例:
shutdown -r 延時多少分鍾重啟,一般使用now
shutdown -r now 立即重啟
shutdown -f 強制重啟
跟windows一樣,linux也存在注銷功能
exit
1)halt
halt 可不接參數
halt -f 強制關機
2)poweroff
poweroff 可不接參數使用
poweroff -f 強制關機
3)init 0
4)shutdown 不可單獨使用
shutdown -h 分鍾數 延時多久關機
shutdown -h now 立即關機
Linux系統常用的基本命令入門篇三、vi編輯
vi命令是UNIX操作系統和類UNIX操作系統中最通用的全屏幕純文本編輯器。
Linux中的vi編輯器叫vim,它是vi的增強版(vi Improved),與vi編輯器完全兼容,而且實現了很多增強功能。
vi編輯器支持編輯模式和命令模式,編輯模式下可以完成文本的編輯功能,命令模式下可以完成對文件的操作命令,要正確使用vi編輯器就必須熟練掌握著兩種模式的切換。
默認情況下,打開vi編輯器後自動進入命令模式。從編輯模式切換到命令模式使用“esc”鍵,從命令模式切換到編輯模式使用“A”、“a”、“O”、“o”、“I”、“i”鍵。
vi編輯器提供了豐富的內置命令,有些內置命令使用鍵盤組合鍵即可完成,有些內置命令則需要以冒號“:”開頭輸入。常用內置命令如下:
1 Ctrl+u:向文件首翻半屏;
2 Ctrl+d:向文件尾翻半屏;
3 Ctrl+f:向文件尾翻一屏;
4 Ctrl+b:向文件首翻一屏;
5 Esc:從編輯模式切換到命令模式;
6 ZZ:命令模式下保存當前文件所做的修改後退出vi;
7 :行號:游標跳轉到指定行的行首;
8 :$:游標跳轉到最後一行的行首;
9 x或X:刪除一個字元,x刪除游標後的,而X刪除游標前的;
10 D:刪除從當前游標到游標所在行尾的全部字元;
11 dd:刪除游標行正行內容;
12 ndd:刪除當前行及其後n-1行;
13 nyy:將當前行及其下n行的內容保存到寄存器?中,其中?為一個字母,n為一個數字;
14 p:粘貼文本操作,用於將緩存區的內容粘貼到當前游標所在位置的下方;
15 P:粘貼文本操作,用於將緩存區的內容粘貼到當前游標所在位置的上方;
16 /字元串:文本查找操作,用於從當前游標所在位置開始向文件尾部查找指定字元串的內容,查找的字元串會被加亮顯示;
17 ?name:文本查找操作,用於從當前游標所在位置開始向文件頭部查找指定字元串的內容,查找的字元串會被加亮顯示;
18 a,bs/F/T:替換文本操作,用於在第a行到第b行之間,將F字元串換成T字元串。其中,“s/”表示進行替換操作;
19 a:在當前字元後添加文本;
20 A:在行末添加文本;
21 i:在當前字元前插入文本;
22 I:在行首插入文本;
23 o:在當前行後面插入一空行;
24 O:在當前行前面插入一空行;
25 :wq:在命令模式下,執行存檔退出操作;
26 :w:在命令模式下,執行存檔操作;
27 :w!:在命令模式下,執行強制存檔操作;
28 :q:在命令模式下,執行退出vi操作;
29 :q!:在命令模式下,執行強制退出vi操作;
30 :e文件名:在命令模式下,打開並編輯指定名稱的文件;
31 :n:在命令模式下,如果同時打開多個文件,則繼續編輯下一個文件;
32 :f:在命令模式下,用於顯示當前的文件名、游標所在行的行號以及顯示比例;
33 :set nu:在命令模式下,用於在最左端顯示行號;
34 :set nonu:在命令模式下,用於在最左端不顯示行號;
35 :1,3y 復制第一行到第三行
36 :1,3d 刪除第一行到第三行
37 :1,3s/str/str_new/g 替換第一行到第三行中的字元串
38 :1,3s/str/str_new 替換第一行到第三行中的字元串第一個字元
39 :1,3 g/str /d 刪除第一行到第三行中含有這個字元串的行
Linux常用命令一、查詢相關
find
按規則查找某個文件或文件夾,包括子目錄
find . -name '_sh' -- 以.sh結尾的文件
find . -name '_hannel_ -- 包含channel字元的文件
find . -name 'build_ -- 以build開頭的文件
find . -name 'abc??' -- abc後面有兩個字元的文件
grep
查找內容包含指定的範本樣式的文件,Global Regular Expression Print
grep -n pattern files -- 規則 -n表示顯示行號
grep -n 'PostsActivity' AndroidManifest.xmlgrep -n 'd' AndroidManifest.xmlgrep 'aapt' build-channel.xml -- 文件中包含字元串的所有地方
grep -n 'aapt' build-channel.xml -- 文件中包含字元串的所有地方,並顯示行號
ps -e | grep java -- 所有java進程
ps -e | grep -i qq --所有qq進程,不區分大小寫
find . -name '_hannel.xml' | xargs grep -n 'aapt' -- 在以channel.xml結尾的文件中查找包含‘aapt’關鍵字的地方
ls | grep 'channel' -- 包含channel關鍵字的文件
which
在PATH變數指定的路徑中,搜索某個系統命令的位置,並且返回第一個搜索結果
which zipwhich grep
Linux常用命令二、查看命令
tail
tail [-f] [-c Number | -n Number | -m Number | -b Number | -k Number] [File]
從指定點開始將文件寫到標准輸出。使用tail命令的-f選項可以方便的查閱正在改變的日誌文件,tail -f filename會把filename里最尾部的內容顯示在屏幕上,並且不斷刷新,使你看到最新的文件內容。
tail -f test.log,循環查看文件內容,Ctrl+c來終止
tail -n 5 test.log,顯示文件最後5行內容
tail -n +5 test.log,從第5行開始顯示文件
more
more [-dlfpcsu] [-num] [+/ pattern] [+linenum] [file...]
more命令和cat的功能一樣都是查看文件里的內容,但有所不同的是more可以按頁來查看文件的內容,還支持直接跳轉行等功能。
more +3 test.log,顯示文件中從第3行起的內容
more -5 test.log,設定每屏顯示行數
ls -l | more -5,每頁顯示5個文件信息
more +/day3 test.log,查找第一個出現"day3"字元串的行,並從該處前兩行開始顯示輸出
less
less [options] [file...]
與more命令一樣,less命令也用來分屏顯示文件的內容。但是二者存在差別:less命令允許用戶向前或向後瀏覽文件,而more命令只能向前瀏覽。用less命令顯示文件時,用PageUp鍵向上翻頁,用PageDown鍵向下翻頁。要退出less程序,應按Q鍵。
less test.log,查看文件
ps -ef | less,查看進程信息並通過less分頁顯示
history | less,查看命令歷史使用記錄並通過less分頁顯示
less test1.log test2.log,瀏覽多個文件,n和p切換文件
watch
watch [options] command
每隔一段時間重復運行一個命令,默認間隔時間是2秒。要運行的命令直接傳給shell(注意引用和轉義特殊字元)。結果會展示為全屏模式,這樣你可以很方便的觀察改變
watch -n 60 date,執行date命令每分鍾一次,輸入^C 退出
watch -d ls -l,查看目錄變化
watch -d ’ls -l | fgrep joe’,想找joe用戶的文件
watch -d 'ls -l|grep scf',監測當前目錄中 scf' 的文件的變化
watch -n 10 'cat /proc/loadavg',10秒一次輸出系統的平均負載
watch -n 1 -d netstat -ant,每隔一秒高亮顯示網路鏈接數的變化
watch -n 1 -d 'pstree | grep http',每隔一秒高亮顯示http鏈接數的變化
Linux常用命令三、文件相關
vi
vi file
按i鍵,進入編輯模式
按esc鍵,進入命令模式
:w 保存文件但不退出vi
:w file 將修改另外保存到file中,不退出vi
:w! 強制保存,不推出vi
:wq 保存文件並退出vi
:wq! 強制保存文件,並退出vi
q: 不保存文件,退出vi
:q! 不保存文件,強制退出vi
:e! 放棄所有修改,從上次保存文件開始再編輯
chmod
change mode,變更文件或目錄的讀、寫、運行許可權
chmod [-cfvR] [--help] [--version] mode file...
mode:許可權設定字串,格式如下 : [ugoa...][[+-=][rw xX ]...][,...]
u 表示該檔案的擁有者,g 表示與該檔案的擁有者屬於同一個群體(group)者,o 表示其他以外的人,a 表示這三者皆是
+ 表示增加許可權、- 表示取消許可權、= 表示唯一設定許可權。
r 表示可讀取,w 表示可寫入,x 表示可執行,X 表示只有當該檔案是個子目錄或者該檔案已經被設定過為可執行。
chmod也可以用數字來表示許可權,語法為:chmod abc file,如chmod 777 file
其中a,b,c各為一個數字,分別表示User、Group、及Other的許可權。 r=4,w=2,x=1
chmod 777 file,等同於 chmod a=rwx file
chmod ug=rwx,o=x file,等同於 chmod 771 file
chmod 4755 filename,可使此程序具有root的許可權
ls -l 可以查看列出當前用戶的文件許可權
zip
zip -r filename.zip filesdir
zip -r test.zip ./_把當前所有文件壓縮到test.zip
zip -r test.zip test,把test文件所有文件及目錄,要是到test.zip
zip -d test.zip test.txt,刪除壓縮文件中test.txt文件
zip -m test.zip ./test.txt,向壓縮文件中test.zip中添加test.txt文件
zip -r test.zip file1 file2 file3 filesdir,處理多個文件和目錄,空格隔開
unzip
unzip zip-file,解壓到當前目錄
unzip -d dst-dir zip-file,解壓到指定的目錄,-d後為指定目錄
unzip -n zip-file,不覆蓋已經存在的文件,-n為不要覆蓋原有的文件
unzip -n -d dst-dir zip-file,解壓到指定的目錄,不覆蓋已經原有的文件
unzip -o -d dst-dir zip-file,-o不必先詢問用戶覆蓋原有文件
unzip -l zip-file,僅查看壓縮文件內所包含的文件
tar
tar cvf test.tar test,把test下所有文件和目錄做備份tar czvf test.tar.gz test,把test下所有文件和目錄做備份並進行壓縮tar xzvf test.tar.gz,把這個備份文件還原並解壓縮tar tvf test.tar | more,查看備份文件的內容,並以分屏方式顯示在 顯示器 上
tar czvf test.tar.gz test --exclude=test/svn,備份壓縮並排除目錄
touch
B. linux下svn命令錯誤command not find
會不會是環境變數的問題
echo $PATH 查看下是否有/sbin
PATH=$PATH:/sbin
試試??
或者 輸入命令 /sbin/svn
剛剛試了下,不是上面的問題- -
我的環境變數沒有/sbin 都可以使用svn
C. linux上svn服務怎麼提交修改後的文件
1、首先,連接相應linux主機,進入到linux命令行狀態下,等待輸入shell指令。
D. linux下svn客戶端訪問windows下的svn伺服器
一,安裝svn伺服器
在Linux中安裝了服務端,
$ yum install subversion
二,在Windows中安裝客戶端(TortoiseSVN-1.9.4.27285-x64-svn-1.9.4.msi)
三,基本的SVN伺服器配置
1,新建一個目錄用於存儲SVN所有文件
$ mkdir /svn
2,新建一個版本倉庫$ svnadmin create /svn/project
3,添加用戶
要添加SVN用戶非常簡單,只需在/svn/project/conf/passwd文件添加一個形如「username=password」的 賬號為username和密碼為password
[users]
mysj = mysj
test = test
5,修改用戶訪問策略
/svn/project/conf/authz記錄用戶的訪問策略,以下是參考:
[groups]
admin=mysj //將用戶進行分組
user=test
[project:/] //進行授權
@admin = rw //r表示讀,w表示寫
@user = r
* =
6,修改svnserve.conf文件,讓用戶和策略配置升效.
svnserve.conf內容如下:
此處切記要注意空格,不然會導致svn配置不成功
[general]
anon-access = none
auth-access = write
password-db = /svn/project/conf/passwd
authz-db = /svn/project/conf/authz
7,啟動伺服器
# svnserve -d -r /svn
注意:如果修改了svn配置,需要重啟svn服務,步驟如下:
$ ps -aux|grep svnserve
$ kill -9 ID號 殺死服務
$ svnserve -d -r /svn
四,在Windows系統中檢出svn的文件,此時的地址也應該為 svn://Linux的ip地址/project/文件夾名(你自己創建的)。
E. 如何在linux伺服器上搭建svn
linux下SVN伺服器如何搭建和使用?說到SVN伺服器,想必大家都知道,可以是在LINUX下如何搭建SVN伺服器呢?那麼今天給大家分享一下LINUX下搭建SVN伺服器的思路!
1,首先安裝好LINUX系統,然後YUM安裝:
#yum -y install svnversion
2,安全完成之後我們來配置:
創建版本庫目錄:
#mkdir -p /banbenku/svn/
3,然後啟用:
#svnserve -d -r /banbenku/svn
然後查看是否啟動了!
ps -ef|grep svn;
[root@207 conf]# lsof -i:3690
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
svnserve 8454 root 3u IPv4 1346200 0t0 TCP *:svn (LISTEN)
4,然後我們來新建版本:
mkdir -p /banbenku/svn/zhoujie/
cd /banbenku/svn/zhoujie/conf
在這里有三個文件:authz passwd svnserve.conf
svnserve.conf是主要配置文件;
vi svnserve.conf
修改如下:
anon-access = read
auth-access = write
password-db = /banbenku/svn/zhoujie/conf/passwd
authz-db = /banbenku/svn/zhoujie/conf/authz
wq!
保存退出:
然後修改passwd:
建立用戶名與密碼內容如下:
zhoujie = 123456
wq
保有存退出:
然後修改:authz:
內容如下:
[groups]
admin = zhoujie
[zhoujie:/]
@admin =rw
wq
保存退出!
這樣我們便配置好了;要使用啟生效,重啟SVN:
ps -ef|grep svn
kill -9 PID
svnserve -d -r /banbenku/svn
然後再檢測:
[root@207 conf]# lsof -i:3690
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
svnserve 8454 root 3u IPv4 1346200 0t0 TCP *:svn (LISTEN)
如果如上所示,那便沒有問題了;
F. 如何設置才能讓Linux開機自動啟動SVN
如何設置才能讓Linux開機自動啟動SVN
本節主要講解一下Linux開機自啟動SVN,上節我們講解了Windows下開機自動啟動SVN服務,通過本節的介紹你可以做一個對比,看一下在兩種操作系統中開機自動啟動SVN服務的區別,希望本節對你學習有所幫助。
在Redhat上配置好svnserve,通過Myeclipse訪問,實現版本控制。但是開啟svn服務是手工輸入命令來啟動,這樣每次重啟伺服器後都得重新輸一次命令,太麻煩。於是就有了新問題:如何讓SVN隨著伺服器開機自己啟動? 先了解一下Linux的自動運行程序,以下分割線內為轉自
http://hi..com/wangtao8899/blog/item/dd7365c41c5423a18226ace1.html的內容。 *********************************華麗的分割線**************************************************** 在RedHatLinux中自動運行程序 1.開機啟動時自動運行程序
Linux載入後,它將初始化硬體和設備驅動,然後運行第一個進程init。init根據配置文件繼續引導過程,啟動其它進程。通常情況下,修改放置在 /etc/rc或/etc/rc.d或/etc/rc?.d目錄下的腳本文件,可以使init自動啟動SVN其它程序。例如:編輯/etc/rc.d /rc.local文件,在文件最末加上一行"xinit"或"startx",可以在開機啟動後直接進入X-Window。 2.登錄時自動運行程序
用戶登錄時,bash首先自動執行系統管理員建立的全局登錄script:/ect/profile。然後bash在用戶起始目錄下按順序查找三個特殊文 件中的一個:/.bash_profile、
/.bash_login、/.profile,但只執行最先找到的一個。因此,只需根據實際需要在上述文件 中加入命令就可以實現用戶登錄時自動運行某些程序(類似於DOS下的Autoexec.bat)。 3.退出登錄時自動運行程序
退出登錄時,bash自動執行個人的退出登錄腳本/.bash_logout。例如,在/.bash_logout中加入命令"tar-cvzfc.source.tgz*.c",則在每次退出登錄時自動執行"tar"命令備份*.c文件。
4.定期自動運行程序
Linux有一個稱為crond的守護程序,主要功能是周期性地檢查/var/spool/cron目錄下的一組命令文件的內容,並在設定的時間執行這些 文件中的命令。用戶可以通過crontab命令來建立、修改、刪除這些命令文件。例如,建立文件crondFile,內容 為"00923Jan*HappyBirthday",運行"crontabcronFile"命令後,每當元月23日上午9:00系統自動執 行"HappyBirthday"的程序("*"表示不管當天是星期幾)。
wk_ad_begin({pid : 21});wk_ad_after(21, function(){$('.ad-hidden').hide();}, function(){$('.ad-hidden').show();});
5.定時自動運行程序一次
定時執行命令at與crond類似(但它只執行一次):命令在給定的時間執行,但不自動重復。at命令的一般格式為:at[-ffile]time,在指定的時間執行file文件中所給出的所有命令。也可直接從鍵盤輸入命令:
1.$at12:00
2.at>mailtoRoger-s″Havealunch″Ctr-D3.Job1at2000-11-0912:00
4.
2000-11-0912:00時候自動發一標題為"Havealunch",內容
為plan.txt文件內容的郵件給Roger。
5.#!/bin/bash6.RESTART="........"#裡面寫相應服務代碼
7.START="......."8.STOP=".........."9.
case"$1"in10.restart)
11.$RESTART12.echo"......";;13.start)14.$START
15.echo"......";;16.STOP)
17.$STOP
18.echo"......";;
19.*)
20.echo"Usage:$0{restart¦start¦stop}"21.exit122.esac23.
exit1
腳本寫完要修改一下許可權chmo+xtest.sh 首先,linux隨機啟動SVN的服務程序都在/etc/init.d這個文件夾里,裡面的文件全部都是腳本文件(腳本程序簡單的說就是把要運行的程序寫 到一個文件里讓系統能夠按順序執行,類似windows下的autorun.dat文件),另外在/etc這個文件夾里還有諸如名為 rc1.d,rc2.d一直到rc6.d的文件夾,這些都是
linux不同的runlevel,我們一般進入的Xwindows多用戶的運行級別是第5 級,也就是rc5.d,在這個文件夾下的腳本文件就是運行第5級時要隨機啟動的服務程序。需要注意的是,在每個rc(1-6).d文件夾下的文件其實都是 /etc/init.d文件夾下的文件的一個軟連接(類似windows中的快捷方式),也就是說,在/etc/init.d文件夾下是全部的服務程序, 而每個rc(1-6).d只鏈接它自己啟動需要的相應的服務程序!要啟動scim(某一程序),我們首先要知道scim程序在哪裡,用locate命令可 以找到,scim在/usr/bin/scim這里,其中usr表示是屬於用戶的,bin在linux里表示可以執行的程序。這樣,我就可以編寫一個腳本 程序,把它放到/etc/init.d里,然後在rc5.d里做一個相應的軟鏈接就可以了。這個腳本其實很簡單,就兩行: #!/bin/bash /usr/bin/scim 第一行是聲明用什麼終端運行這個腳本,第二行就是要運行的命令。還需要注意的一點是,在rc5.d里,每個鏈接的名字都是以S或者K開頭的,S開頭的表示 是系統啟動是要隨機啟動的,K開頭的是不隨機啟動的。這樣,你就可以知道,如果我要哪個服務隨機啟動,就把它名字第一個字母K改成S就可以了,當然,把S 改成K後,這個服務就不能隨機啟動sVN了。因此,我這個鏈接還要起名為SXXX,這樣系統才能讓它隨機啟動。 *********************************華麗的分割 線**************************************************** 了解這些後,(計算機基礎知識) 作法就很簡單了。 1.創建執行腳本svn.sh(/root路徑下),其內容很簡單,如下: #!/bin/bash svnserve-d--listen-port8080-r/home/svnroot/repository 2.添加可執行許可權命令行運行#chmog+x/root/svn.sh 3.添加自動運行打開(vi或gedit)/etc/init.d/rc.d/rc.local,在最後添加一行內容如下:/root/svn.sh保存 退出http://www.woaidiannao.com。 4.檢查重啟伺服器,使用ps-ef看看svn進程是否啟動了。哈哈,輕松解決,以後開機就自動啟動svn了。
G. 怎麼在linux伺服器上部署svn
1. 安裝SVN伺服器:
檢查是否已安裝
# rpm -qa subversion
安裝SVN伺服器
# yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql
驗證安裝
# cd /etc/httpd/moles
# ls | grep svn
mod_authz_svn.so
mod_dav_svn.so
查看版本
# svnserve --version
2. 代碼庫創建:
安裝完成後要建立SVN庫
# mkdir -p /opt/svn/repositories
# svnadmin create /opt/svn/repositories
執行後,自動建立repositories庫,查看/opt/svn/repositories文件夾包含了conf,db,format,hooks,locks,README.txt等文件,說明一個SVN庫已經建立。
3. 配置版本庫:
進入上面conf文件夾下,進行配置:
a. 用戶密碼passwd配置:
# vi + passwd //+表示游標放在文件最低端
修改passwd為一下內容:
[users]
# harry = harryssecret
# sally = sallyssecret
zhoulf=123456
b. 許可權控制authz配置:
# vi + authz
設置哪些用戶可以訪問哪些目錄,向authz文件追加以下內容:
[/]
zhoulf=rw //給該用戶訪問所有庫的許可權
或
[repositories:/project] //repository庫的根目錄許可權
zhoulf=rw
/ 表示根目錄及以下,根目錄是svnserve啟動時指定的,我們指定的是/opt/svn;/ 就是指對全部版本庫都具有許可權
repositories:/ 表示對庫repositories的根目錄設置許可權
PS:
* 許可權配置文件中出現的用戶名必須已在用戶配置文件中定義。
* 對許可權配置文件的修改立即生效,不必重啟svn。
c. 服務svnserve.con配置:
# vi + svnserve.conf
添加一下內容:
[general]
#匿名訪問的許可權,可以是read,write,none,默認為read
anon-access=none
#使授權用戶有寫許可權
auth-access=write
#密碼資料庫的路徑
password-db=passwd
#訪問控制文件
authz-db=authz
#認證命名空間,subversion會在認證提示里顯示,並且作為憑證緩存的關鍵字
realm=/opt/svn/repositories
這里注意各標簽不能錯,也不能有重復,不然無法連接。
d. 配置防火牆埠(如果需要):
不一定每個人都需要設置,可以先測試後再看是否需要打開埠
# vi /etc/sysconfig/iptables
添加一下內容:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
保存後重啟防火牆
# service iptables restart
4. 查看:
a. 啟動SVN
# svnserve -d -r /opt/svn/repositories
b. 查看SVN進程
# ps -ef|grep svn|grep -v grep
root 12538 1 0 14:40 ? 00:00:00 svnserve -d -r /opt/svn/repositories
c. 檢測SVN埠
# netstat -ln |grep 3690
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN
5. 停止重啟SVN:
# killall svnserve //停止
# svnserve -d -r /opt/svn/repositories // 啟動
6. 測試連接:
使用TortoiseSVN進行測試:
1. SVN服務啟動後,需要使用客戶端測試連接:
客戶端連接地址:svn://192.168.15.231;然後,輸入用戶名密碼;
2. 新建一個文件夾,即本地的庫文件夾,右鍵checkout,將會得到一個隱藏文件夾.svn;
3. 在此文件夾中放入項目內容,然後右鍵點擊commit,就可以上傳本地項目了。
H. 怎麼用linux命令啟動伺服器svn服務
先轉到SVN的安裝目錄,比如,你安裝在/home/svn 下面。
然後轉到bin目錄下,在這里可以看見一個叫svnserve的文件,我們需要用這個來啟動SVN服務。
試一下svnserve --help,看看這個命令的幫組,其中有-d和-r,分別表示後台運行和數據倉庫目錄。
數據倉庫目錄表示你保存數據的地方,如你將工程的信息保存在/home/svndata下面,這個svndata就是你的數據倉庫目錄。
弄清楚了這些就可以來啟動了:
輸入命令:
svnserve -d -r /home/svndata
後面那個要跟你自己的數據倉庫目錄。
這樣我們就啟動了SVN了,SVN默認監聽的是3690。有時候我們需要更改一下監聽的埠,這時就需要設定一下監聽埠了,按照如下命令來進行:
svnserve --listen-port 9999 -d -r /opt/svndata
這樣我們就把監聽埠改成了9999了,當然你也可以可以把9999改成你自己想監聽的埠~
I. linux設置svn開機啟動
首先,我也沒徹底解決這個問題。我也遇到這個現象,這個現象發生在使用開機自動啟動SVN,但是手工啟動卻正常(CentOS)。然後我的臨時解決方案是關閉SELinux就可以正常訪問。
關閉SELinux方法有臨時關閉:setenforce 0 。永久關閉,修改文件(請繼續網路)。
但是這個方案本質上沒有徹底解決,因為啟用SELinux後,還是要手工啟動SVN才能正常訪問。
J. linux SVN開機啟動有進程,但是不可用,需要kill -9 殺掉進程,重新啟動才可以使用求大神指教!
把svnserve -d -r /data/svndata/ 放到/etc/rc.local裡面