linux基礎命令:java
命令格式:命令 -選項 參數 1)關機命令: shutdown # -h 關機 # -r 重啓 # -c 取消前一個關機命令 # -now 當即關機 halt poweroff init 0 2)重啓命令: reboot init 6 3)文件處理命令: pwd # 功能:顯示當前工做目錄(print working directory) mkdir 目錄 # 功能:(make directoriy)建立目錄 # -p 父目錄不存在的狀況下先生成父目錄 touch # 功能:建立空文件 rm fileName # 功能:刪除文件 # -r(recursive) 同時刪除該目錄下的全部文件 # -f(force) 強制刪除文件或目錄 rmdir # 功能:刪除空目錄 cp 原文件或目錄 目標文件 # 功能:複製文件或目錄 # -r 複製目錄; # -p 保留文件屬性; ln 原文件 目標文件 # 功能:創建連接文件 # -s(symbolic) 對源文件創建符號鏈接,而非硬鏈接 mv 原文件 目標目錄 # 功能:移動文件、文件更名 cat fileName # 功能:(catenate)顯示文件的內容 # -n 顯示行號 cat file1 >> file2 # 把file1的內容輸出追加到file2的末尾 tac fileName # 功能:從最後一行開始顯示文件的內容 more fileName # 功能:分頁顯示文件的內容 less fileName # 功能:分頁顯示文件的內容(可向上翻頁) head fileName # 功能:查看文本中開頭的幾行 # -n 指定行數 tail fileName # 功能:查看文件的最後的幾行 # -n 指定行數 # -f 動態顯示文件末尾內容(滾動式) eg: tail -f fileName # 等同於tail --follow=descriptor fileName # 根據文件描述符進行追蹤(動態顯示文件末尾內容),當文件更名或被刪除,追蹤中止。 tail -F fileName # 等同於tail --follow=name --retry fileName # 根據文件名進行追蹤(動態顯示文件末尾內容),並保持重試,當文件更名或被刪除後,若是再次建立相同名稱的文件,會繼續追蹤。 wc fileName #功能:(word count)統計文本文件的行數、字數、字符數 # -l 統計行數 # -c 統計字節數 # -m 統計字符數,不能與-c同時使用 # -w 統計字數,一個字被定義爲由空白、跳格或換行字符分隔的字符串。 rz # 運行該命令會彈出一個文件選擇窗口,從本地選擇文件上傳到Linux服務器 # 說明:rz、sz是Linux/Unix同Windows進行ZModem文件傳輸的命令行工具 # 注意:rz、sz須要終端支持(XShell、SecureCRT),若是是在虛擬機中安裝的linux系統上直接使用rz、sz則會出現一行亂碼,而且沒法輸入指令,超時後便可恢復到正常狀況。 # 安裝命令:yum install lrzsz eg:rz 文件名 注意:若是文件名中包含空格,則使用反斜槓\轉義。eg: 中國 的偉大.txt ===> rz 中國\ 的偉大.txt sz fileName # 將指定的文件保存到本地機器 4)文件搜索命令 find [搜索範圍] [匹配條件] 舉例:find /home/jxn -name man 從指定目錄開始搜索名字爲man的文件或目錄 grep [指定字串] fileName # 功能:在指定的文件中查找包含特定字符串的文本行 # -i 不區分大小寫 # -v 查詢不包含特定字符串的文本行(反向查找) # -o 查詢結果的文本行中只顯示指定的字符串(show only the part of a line matching PATTERN), # 即:結果中每一個文本行的內容都是指定的字符串,若是指定的字符串在文件的一行中出現屢次,則將其分紅多行進行展現。 # --color=auto 搜索出的關鍵字用顏色顯示 eg: grep -o word catalina.out.xxxx-xx-xx | wc -l # 查詢字符串"word"在catalina.out.xxxx-xx-xx文件中出現的次數。 whereis command # 功能:搜索命令所在目錄及幫助文檔路徑 which command # 功能:搜索命令所在目錄及別名信息 locate fileName # 功能:在文件資料庫中查找文件 5)系統管理命令 stat # 功能:顯示文件的相關信息,比ls命令顯示的更詳細 who # 功能:顯示在線登陸用戶 whoami # 功能:顯示用戶本身的身份 hostname # 功能:顯示主機名稱 uname # 功能:顯示系統信息 top # 功能:系統監視器(至關於windows下的任務管理器),查看每一個進程的狀況 # 查看每一個CPU的性能數據:輸入top並回車後,再輸入數字1 ps # 功能:顯示瞬間的進程狀態 # -a 顯示全部用戶的全部進程(包括其它用戶) # -u 顯示啓動這個進程的用戶和它啓動的時間 # -x 顯示系統中屬於本身的進程 ps -ef # 顯示全部的進程,顯示的項目有:UID,PID,PPID,C,STIME,TTY,TIME,CMD ps aux # 顯示全部的進程,顯示的項目有:USER,PID,%CPU,%MEM,VSZ,RSS,TTY,STAT,START,TIME,COMMAND kill # 功能:殺死一個進程 free # 功能:顯示當前內存和交換空間的使用狀況 6)文件系統管理命令 mount [-t 文件系統] 設備文件名 掛載點 # 功能:掛載設備 # -t (type)文件系統的類型 # 文件系統: # ext二、ext三、ext4:linux目前經常使用的文件系統 # msdos、MS-DOS的fat(fat16) # vfat、U盤及windows98經常使用的fat32 # nfs:網絡文件系統 # iso9660:CD-ROM光盤標準文件系統 df # 功能:查看文件系統磁盤空間的使用狀況 # -a 顯示全部的文件系統信息 # -h(human-readable) 使用KB、MB、GB等顯示容量 # -k、-m 以KB、MB顯示容量 # -T顯示文件系統類型 eg: df -h # 查看文件系統磁盤空間的使用狀況 du 目錄或文件名 # 功能:顯示指定的文件或目錄已使用的磁盤空間的總量 # -h:以人類可讀的方式顯示,即自動選取合適單位(G、M、K)來顯示大小 # -a 顯示每一個子文件的磁盤佔用量 # -s(summarize) 統計總佔用量,而不列出子目錄和子文件 fdisk -l # 功能:查看硬盤列表 fdisk /dev/sdb # 功能:使用fdisk命令分區 #fdisk交互指令說明 # -a 設置可引導標記 # -b 編輯bsd磁盤標籤 # -c 設置DOS操做系統兼容標記 # -d 刪除一個分區 # -l 顯示已知的文件系統類型。82爲Linux swap分區,83爲Linux分區 # -m 顯示幫助菜單 # -n 新建分區 # -o 創建空白DOS分區表 # -p 顯示分區列表 # -q 不保存退出 # -s 新建空白SUN磁盤標籤 # -t 改變一個分區的系統ID # -u 改變顯示記錄單位 # -v 驗證分區表 # -w 保存退出 # -x 附加功能(僅專家) mkfs -t ext4 /dev/sdb1 # 功能:格式化分區 fsch 分區設備文件名 # 功能:修復文件系統 7)網絡命令 ping IP地址 # 功能:測試網絡連通性 # -c 指定發送次數 ifconfig 網卡名稱 IP地址 # 功能:(interface configure)查看和設置網絡接口(網卡)信息 netstat # 功能:顯示網絡狀態信息 # -a 顯示全部鏈接和監聽端口 # -t(tcp) 僅顯示tcp相關選項 # -u(udp) 僅顯示udp相關選項 # -l 監聽 # -r 路由 # -n 以數字的形式顯示;顯示IP地址和端口號 # -p 顯示創建相關連接的程序名 setup # 配置網絡 mail userName # 查看發送電子郵件 write userName # 給用戶發信息,以Ctrl+D保存結束 wall message # 發廣播信息,wall(即write all) last # 列出目前與過去登入系統的用戶信息 8)用戶和組帳戶管理 概念:linux操做系統是一個多用戶操做系統,它容許多用戶同時登陸到系統上並使用資源。 說明:系統會根據帳戶來區分每一個用戶的文件,進程,任務和工做環境,使得每一個用戶工做都不受干擾。 1)用戶命令: useradd 用戶名 # 功能:添加用戶 # -d 指定用戶的家目錄 # -u 指定UID # -g 指定所屬的組GID # -G 指定多個組,用逗號分開 # -p 密碼 # -c (comment)用戶描述 # -e (expire date)失效時間 passwd 用戶名 # 功能:修改密碼 usermod 新用戶名 舊用戶名 # 功能:修改用戶 # -l (login)修改登陸名 # -L 鎖定用戶帳密碼 # -U 解鎖用戶帳號 userdel 用戶名 # 功能:刪除用戶 # -r (recursive)刪除用戶時連同目錄一併刪除 2)用戶組命令: groups # 功能:顯示用戶所屬的組 groupadd 組名 # 功能:添加組 # -g 指定GID groupmod # 功能:修改組 # -n (name)修改組名 groupdel # 功能:刪除組 3)用戶相關配置文件: /etc/passwd 說明:保存用戶信息的文件 查看:man 5 passwd 格式:account:password:UID:GID:GECOS:directory:shell 用戶名: 登錄系統的用戶名 密碼: 密碼位 UID: 用戶標識號 GID: 默認組標識號 描述信息: 用戶的描述信息 宿主目錄: 用戶登錄系統的默認目錄,默認是在/home/下 命令解析器:用戶使用的Shell,默認是bash /etc/shadow 說明:保存密碼的文件 查看:man 5 shadow 格式: 用戶名: 登錄系統的用戶名 密碼: 加密密碼 最後一次修改時間: 用戶最後一次修改密碼距如今的天數,從1970-1-1起 最小時間間隔: 兩次修改密碼之間的最小天數 最大時間間隔: 密碼有效天數 警告時間: 從系統警告到密碼失效的天數 帳號閒置時間: 帳號閒置時間 失效時間: 密碼失效的天使 標誌: 標誌 /etc/group 說明:保存用戶組的文件 格式: 組名: 用戶所在的組 組密碼: 密碼位,通常不使用 GID: 組標識號 組內用戶列表: 屬於該組的用戶列表 /etc/gshadow 說明:保存用戶組密碼的文件 /etc/default/useradd 說明:用戶配置文件 4)用戶的分類: 超級用戶: root(UID=0) 普通用戶: UID:500~60000 僞用戶: UID:1~499 說明:僞用戶不能登陸系統,並且沒有宿主目錄。 9)文件的權限管理: 1)三種基本權限: r (rean)讀權限 w (write)寫權限 x (execute)執行權限 - 表示沒有任何權限 s 特殊權限 2)文件的屬性: 第一部分(權限屬性): 第1位: 文件的類型(d表示目錄、-表示普通文件、l表示連接文件) 第2-4位: 所屬用戶權限, 用u表示(user) 第5-7位: 所屬組權限, 用g表示(group) 第8-10位: 其餘用戶權限, 用o表示(other) 第2-10位: 表示全部用戶的權限,用a表示(all) 第二部分:文件的連接數 第三部分:文件的擁有者 第四部分:文件所屬的組 第五部分:文件的大小 第六部分:文件最後被修改的時間 第七部分:文件的名稱 3)命令: chown 用戶名 文件名 # 功能:(change owner)修改文件的擁有者 # -R (recursive)下面的文件和子目錄作相同的權限操做 chgrp 組名 文件名 # 功能:(change group)修改文件的所屬的組 chmod # 功能:(change mode)修改文件的權限 # 說明:權限有兩種表示方法: 1)用符號表示權限: chmod 權限的範圍(u、g、o、a) 操做符(+、-、=) 文件名 # 權限的範圍:u表示所屬用戶的權限,g表示組權限,o表示其它用戶的權限、a表示全部用戶的權限 # 操做符:+表示添加,-表示除去,=表示重置 # 舉例:chmod u+x jdk-6u45-linux-x64.bin 2)用數字表示權限: chmod 表明權限的三位數字 文件名 # r用4來表示,w用2來表示,x用1來表示,-用0來表示;即:rwx=7,rw-=6,r-x=5,r--=4,-w-=2,--x=1,---=0 # 舉例:chmod 760 test.txt 例子: chmod u+s nginx # 爲了方便普通用戶執行一些特權命令,SUID/SGID程序容許普通用戶以root身份暫時執行該程序,並在執行結束後再恢復身份。 # chmod u+s 就是給某個程序的全部者以suid權限,能夠像root用戶同樣操做 10)RPM軟件包管理 概念: 1)RPM即RedHat Package Manager(RedHat軟件包管理工具)的縮寫。 2)YUM(Yellow dog Updater, Modified),是一個shell前段軟件包管理器。 說明:YUM基於RPM包管理,可以從指定的服務器自動下載RPM包而且安裝,能夠自動處理依賴性關係,而且一次安裝全部依賴的軟件包。 rpm命令: rpm 包名 # -i 安裝。注意:安裝的時候須要使用包的全限定名。 # -e (erase)卸載 # -v (verbose)顯示詳細信息 # -h (hash)顯示進度條 # -q (query) 查詢該包是否安裝 # -qa (query all)查詢全部已安裝的軟件包 # -l (list)use a long listing format # -R (requires) 查詢軟件包的依賴性 # -p (package) 查詢未安裝包信息 # --nodeps 不檢測依賴性 eg:查詢軟件安裝的目錄:rpm -qal | grep 軟件名 yum命令: yum install gcc-c++ yum update gcc-c++ yum remove gcc-c++ 經常使用工具: yum -y install wget 更新163 yum源 cd /etc/yum.repos.d/ mv CentOS-Base.repo CentOS-Base.repo.backup wget http://mirrors.163.com/.help/CentOS6-Base-163.repo yum clean all yum makecache yum update 11)Linux下的壓縮命令: tar 壓縮後的文件名 要壓縮的目標文件 # -c (create)創建一個新打包文件 # -C 指定文件解壓後存儲的目錄 # -f file 指出須要打包的文件 # -z 打包同時用gzip壓縮(與-x並存時,表示解壓xxx.tar.gz) # -j 打包同時用bzip2壓縮(與-x並存時,表示解壓xxx.tar.bzip2) # -x extract(提取) 解包*.tar文件 # -v verbose 以詳細模式顯示命令執行過程 # -t 查看壓縮文件中的內容 # 說明: 1)在參數列表中:c、x、t 僅能存在一個,不可同時存在! 2)通常以.tar後綴名來標示打包後的文件,以.tar.gz或.tgz來標示gzip壓縮過的tar文件,以.tar.bz2來標示bzip2壓縮過的tar文件。 # 舉例:將/home/jxn/familyA目錄下的全部文件所有打包爲/home/jxn/familyA.tar 1)僅打包,不壓縮:tar -cf /home/jxn/familyA.tar /home/jxn/familyA 2)打包後,以gzip壓縮:tar -zcf /home/jxn/familyA.tar.gz /home/jxn/familyA 3)打包後,以bzip2壓縮:tar -jcf /home/jxn/familyA.tar.bz2 /home/jxn/familyA 4)查看壓縮文件中的內容: tar -tf familyA.tar tar -tf familyA.tar.gz 或 tar -ztf familyA.tar.gz tar -tf familyA.tar.bz2 或 tar -jtf familyA.tar.gz 5)解壓: tar -xf familyA.tar tar -xf familyA.tar.gz 或 tar -zxvf familyA.tar.gz tar -xf familyA.tar.bz2 或 tar -jxvf familyA.tar.bz2 經常使用:tar -zxvf jdk-7u55-linux-i586.tar.gz -C /usr/java/ zip 壓縮後的文件名 要壓縮的目標文件 unzip 要解壓的壓縮文件 # -d 文件解壓後存儲的目錄 # eg:unzip -d /data/tempFile test.war 將test.war解壓到/data/tempFile目錄下 # 使用jdk提供的jar命令也能夠解壓war包:jar -xvf test.war gzip 目標文件名 # gzip即:GNU zip # -c 壓縮後將結果輸出到標準輸出,並保留到原始文件;因爲選項c會將壓縮結果輸出到標準輸出,所以須要使用重定向方式保存壓縮結果 # -d (decompress)解壓。或者:gunzip 要解壓的.gz文件名 # -l 顯示壓縮文件的詳細信息:壓縮文件的大小、未壓縮文件的大小、壓縮比等。 # -r 遞歸地壓縮目錄中的全部文件:只壓縮目錄下的全部文件以及其子目錄下的全部文件,而目錄和子目錄並無壓縮。 # -0→9:表示壓縮率,1表示最小壓縮率,壓縮速度最快;默認值是6 # 舉例: 1)把/home/jxn目錄下的familyA目錄下全部文件壓縮成.gz文件 tar -cvf /home/jxn/familyA.tar /home/jxn/familyA gzip familyA.tar 進行壓縮 # 說明:gzip不能直接對目錄進行壓縮,所以必須先打包 2)gzip -c9 test.tar > test.tar.gz bzip2 目標文件名 # -k 壓縮、解壓縮完成以後,保留原始文件 # -d (decompress)解壓。或者:bunzip2 要解壓的.tar.bz2文件名 # 舉例:把/home/jxn目錄下的familyA目錄下全部文件壓縮成.bz2文件 tar -cvf /home/jxn/familyA.tar /home/jxn/familyA bzip2 familyA.tar # 說明:bzip2不能直接對目錄進行壓縮,所以必須先打包