linux下運(yùn)行文件為什么要加./
原因是可執(zhí)行文件的目錄沒有包含在環(huán)境變量PATH中拯欧,linux系統(tǒng)只會搜索PATH變量晶密,而當(dāng)前目錄不再PATH環(huán)境變量中的話肩杈,就需要加上"./"來指定到當(dāng)前目錄下去查找應(yīng)用程序了径玖;而windows下卻可以瘪贱,是因?yàn)橄到y(tǒng)會搜索PATH變量和當(dāng)前目錄扬卷。
linux下如何查看某軟件是否已安裝
因?yàn)閘inux安裝軟件的方式比較多牙言,所以沒有一個通用的辦法能查到某些軟件是否安裝了」值茫總結(jié)起來就是這樣幾類:
- rpm包安裝的咱枉,可以用rpm -qa看到,如果要查找某軟件包是否安裝徒恋,用 rpm -qa | grep “軟件或者包的名字”蚕断。
[root@hexuweb102 ~] rpm -qa | grep ruby
- yum方法安裝的,可以用yum list installed查找入挣,如果是查找指定包亿乳,命令后加 | grep “軟件名或者包名”;
[root@hexuweb102 ~] yum list installed | grep ruby
- 以deb包安裝的,可以用dpkg -l能看到葛假。如果是查找指定軟件包障陶,用dpkg -l | grep “軟件或者包的名字”;
[root@hexuweb102~]dpkg -l | grep ruby
- 如果是以源碼包自己編譯安裝的聊训,例如.tar.gz或者tar.bz2形式的抱究,這個只能看可執(zhí)行文件是否存在了,
上面幾種方法都看不到這種源碼形式安裝的包带斑。如果是以root用戶安裝的鼓寺,可執(zhí)行程序通常都在/sbin:/usr/bin目錄下。
說明:其中rpm yum 是Redhat系linux的軟件包管理命令勋磕,dpkg是debian系列的軟件包管理命令
Linux編譯安裝中configure妈候、make和make install各自的作用
這些都是典型的使用GNU的AUTOCONF和AUTOMAKE產(chǎn)生的程序的安裝步驟。AUTOMAKE和AUTOCONF是非常有用的用來發(fā)布C程序的東西朋凉。
- ./configure是用來檢測你的安裝平臺的目標(biāo)特征的州丹。比如它會檢測你是不是有CC或GCC,并不是需要CC或GCC杂彭,它是個shell腳本墓毒。
- make是用來編譯的,它從Makefile中讀取指令亲怠,然后編譯所计。
- make install是用來安裝的,它也從Makefile中讀取指令团秽,安裝到指定的位置主胧。
1. configure
這一步一般用來生成 Makefile,為下一步的編譯做準(zhǔn)備习勤,你可以通過在 configure 后加上參數(shù)來對安裝進(jìn)行控制踪栋,比如代碼:
./configure --prefix=/usr
上面的意思是將該軟件安裝在 /usr 下面,執(zhí)行文件就會安裝在 /usr/bin (而不是默認(rèn)的 /usr/local/bin)图毕,資源文件就會安裝在 /usr/share(而不是默認(rèn)的/usr/local/share)夷都。
同時一些軟件的配置文件你可以通過指定 --sys-config= 參數(shù)進(jìn)行設(shè)定。有一些軟件還可以加上 --with予颤、--enable囤官、--without、--disable 等等參數(shù)對編譯加以控制蛤虐,你可以通過允許 ./configure --help 察看詳細(xì)的說明幫助党饮。
2. make
這一步就是編譯,大多數(shù)的源代碼包都經(jīng)過這一步進(jìn)行編譯(當(dāng)然有些perl或python編寫的軟件需要調(diào)用perl或python來進(jìn)行編譯)驳庭。
make 的作用是開始進(jìn)行源代碼編譯刑顺,以及一些功能的提供,這些功能由他的 Makefile 設(shè)置文件提供相關(guān)的功能,比如 make install 一般表示進(jìn)行安裝蹲堂,make uninstall 是卸載荞驴,不加參數(shù)就是默認(rèn)的進(jìn)行源代碼編譯。
使用make就是要將源碼編譯成為可以被執(zhí)行的可執(zhí)行文件贯城,而這個可執(zhí)行文件會放置在目前所在的目錄之下熊楼,尚未被安裝到預(yù)定安裝的目錄下。
3. make install
這條命令來進(jìn)行最后的安裝能犯,make會依據(jù)Makefile這個文件里面關(guān)于install的選項(xiàng)鲫骗,將之前所編譯完成的數(shù)據(jù)安裝到默認(rèn)的目錄中,這一步一般需要你有 root 權(quán)限(因?yàn)橐蛳到y(tǒng)寫入文件)踩晶。
shell命令:{AA} ] && echo "success" || echo "fail" )
如果變量AA存在执泰,將輸出 success 提示信息;否則輸出 fail 提示信息渡蜻。
如何在Linux下啟動Tomcat像Windows一樣把啟動信息打印到控制臺
可以通過運(yùn)行./catalina.sh run啟動术吝,就可以像windows中一樣查看tomcat啟動信息了。
查看Linux端口占用茸苇,并kill掉相關(guān)進(jìn)程
方式一:lsof命令
- 查看占用端口進(jìn)程的PID:
lsof -i:{端口號}
- 根據(jù)PID kill掉相關(guān)進(jìn)程:
kill -9 {PID}
方式二:netstat命令
- 查看占用端口進(jìn)程的PID:
netstat -tunlp|grep {port}
- kill方法如上
kill -9 {PID}
補(bǔ)充:根據(jù)程序名查看對應(yīng)的PID
- 用ps命令(zb專用):
ps -ef | grep {programName}
kill -9 {PID}
- 用pgrep命令:
pgrep命令的p表明了這個命令是專門用于進(jìn)程查詢的grep排苍。
pgrep {programName}
kill -9 {PID}