1、bc
這個Linux命令用於精度比較高的數學運算。如:開平方根等。下面利用bc命令寫個腳本(文件名:sqrt)
#!/bin/bashif [ $then echo 'Usage: sqrt number' exit 1else echo -e "sqrt($1) quit " | bc -q -ifi
接著,可使用這個腳本進行平方根運算:
[hchen@RHELSVR5]$ ./sqrt 366[hchen@RHELSVR5]$ ./sqrt 2.00001.4142[hchen@RHELSVR5]$ ./sqrt 10.00003.1622
2、split
如果你的文件很大,卻接到命令要把它分割成小文件,那麼這個命令就派上用場了。
[hchen@RHELSVR5 applebak]# ls -l largefile.tar.gz-rw-r--r-- 1 hchen hchen 436774774 04-17 02:00 largefile.tar.gz[hchen@RHELSVR5 applebak]# split -b 50m largefile.tar.gz LF_[hchen@RHELSVR5]# ls -l LF_*-rw-r--r-- 1 hchen hchen 52428800 05-10 18:34 LF_aa-rw-r--r-- 1 hchen hchen 52428800 05-10 18:34 LF_ab-rw-r--r-- 1 hchen hchen 52428800 05-10 18:34 LF_ac-rw-r--r-- 1 hchen hchen 52428800 05-10 18:34 LF_ad-rw-r--r-- 1 hchen hchen 52428800 05-10 18:34 LF_ae-rw-r--r-- 1 hchen hchen 52428800 05-10 18:35 LF_af-rw-r--r-- 1 hchen hchen 52428800 05-10 18:35 LF_ag-rw-r--r-- 1 hchen hchen 52428800 05-10 18:35 LF_ah-rw-r--r-- 1 hchen hchen 17344374 05-10 18:35 LF_ai。
反而來,合並也只需要簡單的合並就行,如:
[hchen@RHELSVR5]# cat LF_* >largefile.tar.gz。
3、pgrep
pgrep名字前有個p,可以猜想它可能和grep有關,確實這是進程相關的grep命令。不過,這個命令主要是用來列舉進程ID的。如:
$ pgrep -u hchen2244122444
這個命令相當於:
ps -ef | egrep '^hchen' | awk '{print $2}'。
4、nl
nl命令其它和cat命令很像,只不過它會打上行號。如下所示:
[hchen@RHELSVR5 include]# nl stdio.h | head -n 10 1 /* Define ISO C stdio on top of C++ iostreams. 2 Copyright (C) 1991,1994-2004,2005,2006 Free Software Foundation, Inc. 3 This file is part of the GNU C Library. 4 The GNU C Library is free software; you can redistribute it and/or 5 modify it under the terms of the GNU Lesser General Public 6 License as published by the Free Software Foundation; either 7 version 2.1 of the License, or (at your option) any later version. 8 The GNU C Library is distributed in the hope that it will be useful。
5、ldd
這個命令,用來可執行文件所使用了動態鏈接庫。如:
[hchen@RHELSVR5 ~]# ldd /usr/bin/java linux-gate.so.1 => (0x00cd9000) libgij.so.7rh => /usr/lib/libgij.so.7rh (0x00ed3000) libgcj.so.7rh => /usr/lib/libgcj.so.7rh (0x00ed6000) libpthread.so.0 => /lib/i686/nosegneg/libpthread.so.0 (0x00110000) librt.so.1 => /lib/i686/nosegneg/librt.so.1 (0x009c8000) libdl.so.2 => /lib/libdl.so.2 (0x008b5000) libz.so.1 => /usr/lib/libz.so.1 (0x00bee000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00aa7000) libc.so.6 => /lib/i686/nosegneg/libc.so.6 (0x0022f000) libm.so.6 => /lib/i686/nosegneg/libm.so.6 (0x00127000) /lib/ld-linux.so.2 (0x00214000)。
關於Linux實用命令有哪些,青藤小編就和您分享到這里了。如果你對大數據工程有濃厚的興趣,希望這篇文章能夠對你有所幫助。如果您還想了解更多數據分析師、大數據工程師的技巧及素材等內容,可以點擊本站的其他文章進行學習。
㈡ java程序里調用linux命令
Java 可以通過 Runtime 調用Linux命令,形式如下:
Runtime.getRuntime().exec(command)
但是這樣執行時沒有任何輸出,因為調用 Runtime.exec 方法將產生一個本地的進程,並返回一個Process子類的實例(注意:Runtime.getRuntime().exec(command)返回的是一個Process類的實例)該實例可用於控制進程或取得進程的相關信息。
由於調用 Runtime.exec 方法所創建的子進程沒有自己的終端或控制台,因此該子進程的標准IO(如stdin,stdou,stderr)都通過 Process.getOutputStream(),Process.getInputStream(), Process.getErrorStream() 方法重定向給它的父進程了。
用戶需要用這些stream來向子進程輸入數據或獲取子進程的輸出,下面的代碼可以取到 linux 命令的執行結果:
try {
String[] cmd = new String[]{」/bin/sh」, 「-c」, 」 ls 「};
Process ps = Runtime.getRuntime().exec(cmd);
BufferedReader br = new BufferedReader(new InputStreamReader(ps.getInputStream()));
StringBuffer sb = new StringBuffer();
String line;
while ((line = br.readLine()) != null) {
sb.append(line).append(」 」);
}
String result = sb.toString();
System.out.println(result);
} catch (Exception e) {
e.printStackTrace();
}
㈢ linux 上面怎麼搭建java開發環境
在Linux上面搭建java開發環境的步驟如下:
1、JDK的安裝:
執行下面命令安裝JDK(首先創建/opt/java目錄)
tar -xvf jdk-7u9-linux-i586.tar.gz -C /opt/java
ln -s /opt/java/jdk1.7.0_09 /opt/java/jdk 創建一個鏈接
vi /etc/frofile 設置環境變數
exort JAVA_HOME=/opt/java/jdk
exprot PATH=$JAVA_HOME/bin:$PATH
相當於重新設置PATH=JAVA_HOME/bin+PATH
配置好之後要用命令source /etc/profile
執行java -version 命令測試一下jdk是否安裝成功。
2、tomcat的安裝:
解壓安裝
tar -xvf apache-tomcat-6.0.10.tar.gz -C /opt/tomcat/
ln -s /opt/tomcat/apache-tomcat-6.0.10 /opt/tomcat/tomcat6.0 創建一個鏈接
然後 cd /opt/tomcat/tomcat6.0/bin
執行./startup.sh
再打開瀏覽器測試一下,輸入地址訪問tomcat,看有沒有tomcat貓的頁面出來,有的話就說明安裝成功了。
3、eclipse的安裝:
解壓,gunzip eclipse-java-juno-SR2-linux-gtk.tar.gz
安裝 tar -xvf eclipse-java-juno-SR2-linux-gtk.tar -C /opt
然後去圖形界面進入/opt/eclipse目錄,運行eclipse,就可以打開eclipse界面了。
以上步驟就完成了在Linux上搭建java環境的步驟了。
㈣ 關於Linux下的java編程
[root@linux
root]#
vi
/etc/profile
export
JAVA_HOME=/usr/java/j2sdk1.4.2_04
←修改成你自己的版本
export
PATH=$PATH:$JAVA_HOME/bin
export
CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
[root@linux
root]#
source
/etc/profile
以上是設置環境變數.
[root@linux
root]#
vi
HelloWorld.java
public
class
HelloWorld
{
public
static
void
main(String[]
args)
{
System.out.println("Hello
World");
}
}
寫個小程序.
[root@linux
root]#
javac
HelloWorld.java
←
編譯
[root@linux
root]#
ls
-al
合計
16
-rw-rw-r--
1
fedora
fedora
425
3月
11
22:22
HelloWorld.class
←作成了
-rw-rw-r--
1
fedora
fedora
115
3月
11
22:22
HelloWorld.java
[root@linux
root]#
java
HelloWorld
Hello
World
満意嗎?
㈤ java在linux環境下的配置
純java開發的軟體在linux下面也可以應用自如。那麼首先就需要配置好linux下的java環境,具體說來,就是配置jdk環境變數。
介紹在linux下配置jdk環境變數的幾種常用方法。
首先在linux下安裝jdk,如果出現提示許可權不夠(且root下也提示許可權不夠),可用#ls -l filename命令查看一下,如果顯示類似如:
則表示任何用戶都沒有可執行許可權(即使是root用戶)。
解決方法:
#chmod a+x filename
這樣,安裝好後,就可以接下來進行環境變數的配置了。這里給出三種可選方法:
一、修改/etc/profile文件
當本機僅僅作為開發使用時推薦使用這種方法,因為此種配置時所有用戶的shell都有權使用這些環境變數,可能會給系統帶來安全性問題。
用文本編輯器打開/etc/profile,在profile文件末尾加入:
JAVA_HOME=/usr/share/jdk1.5.0_05
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
重新登錄即可。
二、修改.bashrc文件
這種方法更為安全,它可以把使用這些環境變數的許可權控制到用戶級別,如果需要給某個用戶許可權使用這些環境變數,只需要修改其個人用戶主目錄下的.bashrc文件就可以了。
用文本編輯器打開用戶目錄下的.bashrc文件,在.bashrc文件末尾加入:
set JAVA_HOME=/usr/share/jdk1.5.0_05
export JAVA_HOME
set PATH=$JAVA_HOME/bin:$PATH
export PATH
set CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export CLASSPATH
重新登錄。
三、直接在shell下設置變數
不推薦使用這種方法,因為換個shell,該設置就無效了。這種方法僅僅是臨時使用,以後要使用的時候又要重新設置,比較麻煩。
只需在shell終端執行下列命令:
export JAVA_HOME=/usr/share/jdk1.5.0_05
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
注意:
1.要將 /usr/share/jdk1.5.0_05jdk 改為jdk安裝目錄
2. linux下用冒號」:」來分隔路徑
3. $PATH / $CLASSPATH / $JAVA_HOME 是用來引用原來的環境變數的值在設置環境變數時特別要注意不能把原來的值給覆蓋掉了。
4. CLASSPATH中當前目錄」.」不能丟掉。
5. export是把這三個變數導出為全局變數。
6. 大小寫必須嚴格區分。
(引用資料,僅作交流)
㈥ Java開發人員應掌握Linux哪些方面
1在linux配置java,tomcat環境變數,因為j2ee一般服務都是架設在linux上面的
2簡單的shell操作(相當於dos命令行),比如刪除,查找文件,進入某一個目錄基本操作等等
3會設置linux開機自啟動程序,因為mysql等服務安裝完後,開機自動啟動服務需要自己設置的
4懂得linux下的一些常用程序vi,gedit,telnet,openoffice等的常用執行命令和程序
㈦ java面試讓說幾個你常用的linux命令,怎麼說
照實說,告訴你幾個工作的時候常用的linux命令
cd
ls
tail -f
cat
more
ps -ef
grep
find
vi
chmod
基本就這些了,了解一下,面試說幾個就好了
㈧ Linux常用命令總結
ps 命令的作用是顯示進程信息的;
| 符號,是個管道符號,表示ps 和 grep 命令同時執行;
grep 命令是查找(Global Regular Expression Print),能使用正則表達式搜索文本,然後把匹配的行顯示出來;
ps命令有一些參數:
-e : 顯示所有進程
-f : 全格式
-h : 不顯示標題
-l : 長格式
-w : 寬輸出
a :顯示終端上的所有進程,包括其他用戶的進程。
r :只顯示正在運行的進程。
u :以用戶為主的格式來顯示程序狀況。
x :顯示所有程序,不以終端機來區分。
結果信息從前到後依次是:
UID PID PPID C STIME TTY TIME CMD
zzw 14124 13991 0 00:38 pts/0 00:00:00 grep –color=auto dae
Linux中的top命令顯示系統上正在運行的進程。它是系統管理員最重要的工具之一。被廣泛用於監視伺服器的負載。top命令是一個交互命令。在運行top的時候還可以運行很多命令。
N – 以 PID 的大小的順序排列表示進程列表
P – 以 CPU 佔用率大小的順序排列進程列表
M – 以內存佔用率大小的順序排列進程列表
q – 退出 top
h – 幫助
1 系統運行時間和平均負載
這些欄位顯示:當前時間、系統已運行的時間、當前登錄用戶的數量、相應最近5、10和15分鍾內的平均負載。
2 任務
第二行顯示的是任務或者進程的總結。進程可以處於不同的狀態。這里顯示了全部進程的數量。除此之外,還有正在運行、睡眠、停止、僵屍進程的數量(僵屍是一種進程的狀態)。這些進程概括信息可以用』t』切換顯示。
3 CPU 狀態
下一行顯示的是CPU狀態。 這里顯示了不同模式下的所佔CPU時間的百分比。這些不同的CPU時間表示:
us, user: 運行(未調整優先順序的) 用戶進程的CPU時間
sy,system: 運行內核進程的CPU時間
ni,niced:運行已調整優先順序的用戶進程的CPU時間
wa,IO wait: 用於等待IO完成的CPU時間
hi:處理硬體中斷的CPU時間
si: 處理軟體中斷的CPU時間
st:這個虛擬機被hypervisor偷去的CPU時間(譯註:如果當前處於一個hypervisor下的vm,實際上hypervisor也是要消耗一部分CPU處理時間的)。
4 內存使用
接下來兩行顯示內存使用率,有點像』free』命令。第一行是物理內存使用,第二行是虛擬內存使用(交換空間)。
物理內存顯示如下:全部可用內存、已使用內存、空閑內存、緩沖內存。相似地:交換部分顯示的是:全部、已使用、空閑和緩沖交換空間。
5 各列的意思
PID 進程ID,進程的唯一標識符
USER 進程所有者的實際用戶名。
PR 進程的調度優先順序。這個欄位的一些值是』rt』。這意味這這些進程運行在實時態。
NI 進程的nice值(優先順序)。越小的值意味著越高的優先順序。
VIRT 進程使用的虛擬內存。
RES 駐留內存大小。駐留內存是任務使用的非交換物理內存大小。
SHR SHR是進程使用的共享內存。
S 這個是進程的狀態。它有以下不同的值:
D – 不可中斷的睡眠態。
R – 運行態
S – 睡眠態
T – 被跟蹤或已停止
Z – 僵屍態
%CPU 自從上一次更新時到現在任務所使用的CPU時間百分比。
%MEM 進程使用的可用物理內存百分比。
TIME+ 任務啟動後到現在所使用的全部CPU時間,精確到百分之一秒。
COMMAND 運行進程所使用的命令。
注意 :不同發行版的top命令在各種細節有不同,如果發現不同時,請讀你的幫助手冊和命令內的幫助。)
kill、kill-15、kill-9區別:
執行kill(默認kill -15)命令,系統會發送一個SIGTERM信號給對應的程序,大部分程序接收到SIGTERM信號後,會先釋放自己的資源,然後再停止。用法kill pid。
kill -15 pid。
kill -9命令,系統給對應程序發送的信號是SIGKILL,即exit。exit信號不會被系統阻塞,所以kill -9能順利殺掉進程。用法kill -9 pid。
tail -n 1000:顯示最後1000行
tail -n +1000:從1000行開始顯示,顯示1000行以後的
head -n 1000:顯示前面1000行
cat a.txt 顯示文件
vim xx.conf 編輯文件
打開文件後,按insert鍵進入編輯模式;編輯完後,按esc建退出編輯模式;按shift+冒號後,輸入wq保存退出,wq!保存強制退出,q不保存退出
在根目錄模糊查找名字含java的文件
伺服器端常有很多壓縮過的日誌文件,當需要查找日誌中某些特定信息的時候,為了避免解壓文件,可以使用zgrep,zcat等命令查找、查看壓縮文件中的信息
zgrep ' 輸入你要查找的東東' /目錄 /文件 .gz 或者.log (當日)
grep ' 輸入你要查找的東東' /目錄 /文件 .gz 或者.log (非當日的壓縮文件)
例如: zgrep 'callMktCamLoad' app.log.2019-12-03-*.gz
rpm包安裝的,可以用 rpm -qa 看到,如果要查找某軟體包是否安裝,用 rpm -qa | grep "軟體或者包的名字"
以deb包安裝的,可以用 dpkg -l 看到。如果是查找指定軟體包,用 dpkg -l | grep "軟體或者包的名字"
yum方法安裝的,可以用 yum list installed 查找,如果是查找指定包,用 yum list installed | grep "軟體名或者包名"
㈨ java開發人員 可以不懂linux命令嗎
1.查找文件
find / -name filename.txt
根據名稱查找/目錄下的filename.txt文件。
2.查看一個程序是否運行
ps –ef|grep tomcat
查看所有有關tomcat的進程
3.終止線程
kill -9 19979
終止線程號位19979的線程
4.查看文件,包含隱藏文件
ls -al
5.當前工作目錄
pwd
6.復制文件包括其子文件到自定目錄
cp -r sourceFolder targetFolder
7.創建目錄
mkdir newfolder
8.刪除目錄(此目錄是空目錄)
rmdir deleteEmptyFolder
9.刪除文件包括其子文件
rm -rf deleteFile
10.移動文件
mv /temp/movefile /targetFolder
擴展重命名 mv oldNameFile newNameFile
11.切換用戶
su -username
12.修改文件許可權
chmod 777 file.java
//file.java的許可權-rwxrwxrwx,r表示讀、w表示寫、x表示可執行
13.壓縮文件
tar -czf test.tar.gz /test1 /test2
14.列出壓縮文件列表
tar -tzf test.tar.gz
15.解壓文件
tar -xvzf test.tar.gz
16.查看文件頭10行
head -n 10 example.txt
17.查看文件尾10行
tail -n 10 example.txt
18.查看日誌文件
tail -f exmaple.log
//這個命令會自動顯示新增內容,屏幕只顯示10行內容的(可設置)。
19.啟動Vi編輯器
vi