⑴ 是怎麼讀取配置文件的
<!-- 正文開始 -->
一般來說。我們會將一些配置的信息放在。properties文件中。
然後使用${}將配置文件中的信息讀取至spring的配置文件。
那麼我們如何在spring讀取properties文件呢。
1.首先。我們要先在spring配置文件中。定義一個專門讀取properties文件的類.
例:
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath*:jdbc.properties</value>
<!--要是有多個配置文件,只需在這里繼續添加即可 -->
</list>
</property>
</bean>
這里為什麼用locations(還有一個location)
是因為。一般來說。我們的項目裡面。配置文件可能存在多個。
就算是只有一個。那將來新添加的話。只需在下面再加一個value標簽即可。
而不必再重新改動太多。(當然。性能上是否有影響,這個以當前這種伺服器的配置來說。是基科可以忽略不計的)。
然後我們就可以在jdbc.properties文件中填寫具體的配置信息了。
<!-- 配置C3P0數據源 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass">
<value>${jdbc.driverClassName}</value>
</property>
<property name="jdbcUrl">
<value>${jdbc.url}</value>
</property>
<property name="user">
<value>${jdbc.username}</value>
</property>
<property name="password">
<value>${jdbc.password}</value>
</property>
</bean>
jdbc.properties文件寫的信息。
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test
jdbc.username=root
jdbc.password=root
附加一個列子:
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>file:/data/pc-config/passport.properties</value>
<value>classpath:memcached.properties</value>
</list>
</property>
</bean>
classpath:是指的當前類文件的目錄下。
file:在window下是指的當前分區(比如你的項目是放在d盤,則是在d:/data/pc-config/passport.properties)
在linux下,則是當前路徑下的文件/data/pc-config/passport.properties
⑵ linux 系統配置文件
一般的配置文件都是放在/etc目錄下的 (你可以通過輸入:ll /etc命令來列出etc目錄下的具體內容專)
不同的服務對應屬不同的文件。如:
/etc/httpd.conf對應apache服務
/etc/named.conf對應DNS服務
/etc/dhcpd.coonf對應DHCP服務
/etc/samba/smb.conf對應文件共享
/etc/passwd 對應用戶名
/etc/shadow 對應用戶密碼
/etc/ypserv.conf 對應NIS服務
/etc/vsftpd/vsftpd.conf 對應FTP服務
/etc/hosts 對應主機名和IP地址關系
/etc/resolv.conf 對應DNS伺服器的設置
如果你要有所改動的話要根據你的實際需要修改一下相關的配置文件就可以了!不過有的文件的位置是不能修改的!
⑶ linux中怎麼添加或修改配置文件
1、首先輯配置文件,添加下面的這一行 。
⑷ linux下用c讀取配置文件問題
我想問下你的形參char *buf,是做什麼的?,保存讀取下來的字元串用的?回
但是你下面要求答轉換進制,也就是說這些數據是數字性質,那應該是用int來保存阿 ?
另外你要保存的數據是len行吧,那就應該是int **才對咯
詳細說明一下我的疑惑哈,現在已經幫你把數據都能夠讀出來了,就看你要怎麼處理這些數據了
還有就是最後的轉換,是要10進制保存下來,還是只需要以10進制輸出到屏幕或者文件中即可
以字元串輸出還是int輸出,都要說明白
⑸ linux設置文件的許可權
mkdir /test
setfacl -m user:u1:rwx /test
setfacl -m user:xh:r-x /test
⑹ Linux下環境變數配置文件
環境變數配置的兩個方法:
在/etc/profile里設置系統環境變數時,路徑末尾不能以"/"結尾,否則將導致整個PATH變數出錯
各個配置文件作用
家目錄中配置文件裡面默認有shell來判斷如果父配置文件不存在才讀取此文件
/etc/profile: 此文件為系統的每個用戶設置環境信息,當用戶第一次登錄時,該文件被執行.並從/etc/profile.d目錄的配置文件中搜集shell的設置.
/etc/bashrc: 為每一個運行bash shell的用戶執行此文件.當bash shell被打開時,該文件被讀取.
~/.bash_profile: 每個用戶都可使用該文件輸入專用於自己使用的shell信息,當用戶登錄時,該文件僅僅執行一次!默認情況下,他設置一些環境變數,執行用戶的.bashrc文件.
~/.bashrc: 該文件包含專用於你的bash shell的bash信息,當登錄時以及每次打開新的shell時,該該文件被讀取.
~/.bash_logout: 當每次退出系統(退出bash shell)時,執行該文件.
另外,/etc/profile中設定的變數(全局)的可以作用於任何用戶,而~/.bashrc等中設定的變數(局部)只能繼承/etc/profile中的變數,他們是"父子"關系.
⑺ linux下修改完配置文件如何保存
小時候我們都聽過阿拉丁神燈的故事,擦下神燈便可以向燈神許三個願望,那麼現在我想問,如果真的給你實現三個願望,你會要什麼。富可敵國的財富?一手遮天的權利?傾國傾城的美女?健康的身體抑或是長命百歲的壽命?可能三個願望可以勉強達到你內心的慾望需求,你既可以顧及這個又可以得到另一個,那麼如果只能許一個願望呢。花花世界,你想要的東西太多了,亂花漸欲迷人眼,你這個也想要,那個也覺得好,總都不是你想放棄的,患得患失到最後迷茫了,糾結忐忑到最後抑鬱了。好了,有了剛才那些問題後,那麼現在想想什麼最重要,你最想要的又是什麼。這個問題很多人回答不上來,年輕人尤甚。我曾經也一度迷失自己,不明白人活一世到底要追求什麼,想要什麼樣的人生,我嚮往過大都市的繁華與紙醉金迷,嚮往過呼風喚雨的權利游戲,之心美麗的靈魂伴侶。但是隨著時間的推移,慢慢的腦海中那些燈紅酒綠退去了,漸漸浮現於腦海中的卻是小橋流水人家,閑雲野鶴古剎。最後明白,原來那些夢幻泡影退去後,要的不過就是內心中片刻的寧靜。或許有的人,活一世直至死亡時才能幡然醒悟,或許有些人至死還在被慾望支使著執著那些虛幻的「美夢」。
⑻ linux環境變數配置
Shell變數有局部變數、環境變數之分。局部變數就是指在某個Shell中生效的變數,只在此次登錄中有效。環境變數通常又稱「全局變數」,雖然在Shell中變數默認就是全局的,但是為了讓子Shall繼承當前Shell的變數,需要使用export內建命令將其導出為環境變數。
按變數的生存周期劃分:
永久的:需要修改配置文件,變數永久生效。
臨時的:使用export命令聲明即可,變數在關閉shell時失效。
在配置永久的環境變數時,又可以按照作用范圍分為:
用戶環境變數
系統環境變數。
系統環境變數對所有系統用戶都有效,用戶環境變數僅僅對當前的用戶有效。
全局(公有)配置,不管是哪個用戶,登錄時都會讀取該文件。
它也是全局(公有)的 bash執行時,不管是何種方式,都會讀取此文件。
不要輕易修改此文件
用戶環境變數通常被存儲在下面的文件中:
若bash是以login方式執行時,讀取 ~/.bash_profile ,若它不存在,則讀取 ~/.bash_login ,若前兩者不存在,讀取 ~/.profile 。
若bash是以login方式執行時,讀取 ~/.bash_profile ,若它不存,則讀取 ~/.bash_login ,若前兩者不存在,讀取 ~/.profile 。
只有bash是以login形式執行時,才會讀取.bash_profile,Unbutu默認沒有此文件,可新建。 通常該配置文件還會配置成去讀取 ~/.bashrc 。
當bash是以non-login形式執行時,讀取此文件。若是以login形式執行,則不會讀取此文件。
~/.bash_profile 是互動式、login 方式進入 bash 運行的
~/.bashrc 是互動式 non-login 方式進入 bash 運行的通常二者設置大致相同,所以通常前者會調用後者。
如想將一個路徑加入到環境變數(例如$PATH)中,可以像下面這樣做(修改/etc/profile):
你可以自己加上指定的路徑,中間用冒號隔開。環境變數更改後,在用戶下次登陸時生效,如果想立刻生效,則可執行下面的語句:
bash會在用戶登錄時,讀取下列四個環境配置文件:
全局環境變數設置文件: /etc/profile 、 /etc/bashrc 。 用戶環境變數設置文件: ~/.bash_profile 、 ~/.bashrc 。
讀取順序:① /etc/profile 、② ~/.bash_profile 、③ ~/.bashrc 、④ /etc/bashrc 。
2 .bashrc 和 .bash_profile 的區別
.bash_profile 會用在登陸shell, .bashrc 使用在互動式非登陸 shell 。簡單說來,它們的區別主要是 .bash_profile 是在你每次登錄的時候執行的; .bashrc 是在你新開了一個命令行窗口時執行的。
當通過控制台進行登錄(輸入用戶名和密碼):在初始化命令行提示符的時候會執行.bash_profile 來配置你的shell環境。但是如果已經登錄到機器,在Gnome或者是KDE也開了一個新的終端窗口(xterm),這時,.bashrc會在窗口命令行提示符出現前被執行。當你在終端敲入/bin/bash時.bashrc也會在這個新的bash實例啟動的時候執行。
所以對於我自己,我寫了一個 .pathrc 文件
然後在 .bashrc , .zshrc , .bash_profile , /etc/profile 中都加了
下面是 .pathrc 文件
現在,當你從控制台登錄機器的時候,.bashrc就會被執行。
四、常用的環境變數
BASH Bash Shell的全路徑
CDPATH 用於快速進入某個目錄。
PATH 決定了shell將到哪些目錄中尋找命令或程序
HOME 當前用戶主目錄
HISTSIZE 歷史記錄數
LOGNAME 當前用戶的登錄名
HOSTNAME 指主機的名稱
SHELL 當前用戶Shell類型
LANGUGE 語言相關的環境變數,多語言可以修改此環境變數
MAIL 當前用戶的郵件存放目錄
PS1 基本提示符,對於root用戶是#,對於普通用戶是$
Reference
[1] /etc/profile、/etc/bashrc、 /.bash_profile、 /.bashrc
http://blog.chinaunix.net/uid-26435987-id-3400127.html
[2] Linux如何修改env看到的環境變數? .bashrc和.bash_profile區別
http://blog.csdn.net/xifeijian/article/details/13355031
[3] linux環境變數,bashrc與bashprofile
http://blog.sina.com.cn/s/blog_43e5ad4e0101ei43.html
⑼ linux中的.conf文件是怎麼被讀取的
init.d下的都是開機時啟動的後台進程執行腳本,腳本配置里會有執行程序版的定義,這個執權行的程序就會去讀取相關配置文件。比如你說的/etc/init.d/dnsmasq腳本里定義的dnsmasq程序運行後就會去讀取/etc/dnsmasq.conf文件.
⑽ linux 下java讀取配置文件
linux下也是文件系統,同樣的也可以使用file對象來讀取配置文件信息,示例如下:
import java.io.*;
public class FileToString {
public static String readFile(String fileName) {
String output = "";
File file = new File(fileName);//建立file對象
if(file.exists()){//判斷是否存在
if(file.isFile()){//判斷是否文件
try{
BufferedReader input = new BufferedReader (new FileReader(file));
StringBuffer buffer = new StringBuffer();
String text;
while((text = input.readLine()) != null)
buffer.append(text +"/n");//讀取內容進行拼接。
output = buffer.toString();
}
catch(IOException ioException){
System.err.println("File Error!");
}
}
else if(file.isDirectory()){//是否為文件夾
String[] dir = file.list();
output += "Directory contents:/n";
for(int i=0; i<dir.length; i++){
output += dir[i] +"/n";
}
}
}
else{
System.err.println("Does not exist!");
}
return output;
}
}