linux簡單介紹以及常用命令--java程序員掌握

基本網絡配置

VMware三種網絡配置方式

  1. Bridged橋接模式(推薦):

VMWare虛擬出來的操作系統就像是局域網中的一臺獨立的主機,它可以訪問網內任何一臺機器,你需要手工爲虛擬系統配置IP地址、子網掩碼,而且還要和宿主機器處於同一網段,這樣虛擬系統才能和宿主機器進行通信,虛擬系統和宿主機器的關係,就像連接在同一個Hub上的兩臺電腦。

  1. NAT網絡地址轉換模式:

虛擬系統藉助NAT的功能,通過宿主機所在的網絡來訪問公網。在這種模式下宿主機成爲雙網卡主機,同時參與現有的宿主局域網和新建的虛擬局域網,但由於加設了一個虛擬的NAT服務器,使得虛擬局域網內的虛擬機在對外訪問時,使用的則是宿主機的IP地址,這樣從外部網絡來看,只能看到宿主機,完全看不到新建的虛擬局域網。

  1. Host-only主機模式:

新建了一個由所有虛擬機與宿主機所構成的局域網,但該局域網與宿主機本身所處的現有局域網是相互獨立的,如果不做額外路由設置,這兩個局域網之間不會連通,因此新建的局域網可以認爲是一個單獨從屬於當前宿主機的私有網絡,其成員爲當前宿主機和相關的所有虛擬機。

橋接模式網絡配置

  1. 配置ip地址等信息

在 /etc/sysconfig/network-scripts/ifcfg-eno16777736文件裏做如下配置

TYPE=Ethernet # 網絡類型爲以太網

BOOTPROTO=static # 手動分配ip

DEVICE=eno16777736 # 網卡設備名,設備名一定要跟文件名一致

ONBOOT=yes # 該網卡是否隨網絡服務啓動

IPADDR=192.168.0.60 # 該網卡ip地址

NETMASK=255.255.255.0 # 子網掩碼

GATEWAY=192.168.0.1 # 網關

DNS1=8.8.8.8 # DNS,8.8.8.8爲Google提供的免費DNS服務器的IP地址

  1. 配置網絡工作

在/etc/sysconfig/network文件裏增加如下配置

NETWORKING=yes # 網絡是否工作,此處一定不能爲no

  1. 配置公共DNS服務(可選)

在/etc/resolv.conf文件裏增加如下配置

nameserver 8.8.8.8

  1. 關閉防火牆

#systemctl stop firewalld # 臨時關閉防火牆

#systemctl disable firewalld # 禁止開機啓動

  1. 重啓網絡服務

#service network restart

Linux文件系統簡介

在Linux操作系統中,所有被操作系統管理的資源,例如網絡接口卡、磁盤驅動器、打印機、輸入輸出設備、普通文件或是目錄都被看作是一個文件。

也就是說在LINUX系統中有一個重要的概念:一切都是文件。其實這是UNIX哲學的一個體現,而Linux是重寫UNIX而來,所以這個概念也就傳承了下來。在UNIX系統中,把一切資源都看作是文件,包括硬件設備。UNIX系統把每個硬件都看成是一個文件,通常稱爲設備文件,這樣用戶就可以用讀寫文件的方式實現對硬件的訪問。

文件目錄結構

Linux的目錄結構如下:

Linux文件系統的結構層次鮮明,就像一棵倒立的樹,最頂層是其根目錄: 

 

常見目錄說明:

  • /bin: 存放二進制可執行文件(ls,cat,mkdir等),常用命令一般都在這裏;
  • /etc: 存放系統管理和配置文件;
  • /home: 存放所有用戶文件的根目錄,是用戶主目錄的基點,比如用戶user的主目錄就是/home/user,可以用~user表示;
  • /usr : 用於存放系統應用程序;
  • /opt: 額外安裝的可選應用程序包所放置的位置。一般情況下,我們可以把tomcat等都安裝到這裏;
  • /proc: 虛擬文件系統目錄,是系統內存的映射。可直接訪問這個目錄來獲取系統信息;
  • /root: 超級用戶(系統管理員)的主目錄(特權階級o);
  • /sbin: 存放二進制可執行文件,只有root才能訪問。這裏存放的是系統管理員使用的系統級別的管理命令和程序。如ifconfig等;
  • /dev: 用於存放設備文件;
  • /mnt: 系統管理員安裝臨時文件系統的安裝點,系統提供這個目錄是讓用戶臨時掛載其他的文件系統;
  • /boot: 存放用於系統引導時使用的各種文件;
  • /lib : 存放着和系統運行相關的庫文件 ;
  • /tmp: 用於存放各種臨時文件,是公用的臨時文件存儲點;
  • /var: 用於存放運行時需要改變數據的文件,也是某些大文件的溢出區,比方說各種服務的日誌文件(系統啓動日誌等。)等;
  • /lost+found: 這個目錄平時是空的,系統非正常關機而留下“無家可歸”的文件(windows下叫什麼.chk)就在這裏。

Linux基本命令

中文Linux命令幫助大全:http://man.linuxde.net/

目錄切換命令

  • cd usr: 切換到該目錄下usr目錄
  • cd ..(或cd../): 切換到上一層目錄
  • cd /: 切換到系統根目錄
  • cd ~: 切換到用戶主目錄
  • cd -: 切換到上一個所在目錄

5.2 目錄的操作命令(增刪改查)

  1. mkdir 目錄名稱: 增加目錄
  2. ls或者ll(ll是ls -l的縮寫,ll命令以看到該目錄下的所有目錄和文件的詳細信息):查看目錄信息
  3. find 目錄 參數: 尋找目錄(查)

示例:

    • 列出當前目錄及子目錄下所有文件和文件夾: find .
    • 在/home目錄下查找以.txt結尾的文件名:find /home -name "*.txt"
    • 同上,但忽略大小寫: find /home -iname "*.txt"
    • 當前目錄及子目錄下查找所有以.txt和.pdf結尾的文件:find . \( -name "*.txt" -o -name "*.pdf" \)或find . -name "*.txt" -o -name "*.pdf"
  1. mv 目錄名稱 新目錄名稱: 修改目錄的名稱(改)

注意:mv的語法不僅可以對目錄進行重命名而且也可以對各種文件,壓縮包等進行 重命名的操作。mv命令用來對文件或目錄重新命名,或者將文件從一個目錄移到另一個目錄中。後面會介紹到mv命令的另一個用法。

  1. mv 目錄名稱 目錄的新位置: 移動目錄的位置---剪切(改)

注意:mv語法不僅可以對目錄進行剪切操作,對文件和壓縮包等都可執行剪切操作。另外mv與cp的結果不同,mv好像文件“搬家”,文件個數並未增加。而cp對文件進行復制,文件個數增加了。

  1. cp -r 目錄名稱 目錄拷貝的目標位置: 拷貝目錄(改),-r代表遞歸拷貝

注意:cp命令不僅可以拷貝目錄還可以拷貝文件,壓縮包等,拷貝文件和壓縮包時不 用寫-r遞歸

  1. rm [-rf] 目錄: 刪除目錄(刪)

注意:rm不僅可以刪除目錄,也可以刪除其他文件或壓縮包,爲了增強大家的記憶, 無論刪除任何目錄或文件,都直接使用rm -rf 目錄/文件/壓縮包

5.3 文件的操作命令(增刪改查)

  1. touch 文件名稱: 文件的創建(增)
  2. cat /more/less/tail 文件名稱 文件的查看(查)
    • cat: 只能顯示最後一屏內容
    • more: 可以顯示百分比,回車可以向下一行, 空格可以向下一頁,q可以退出查看
    • less: 可以使用鍵盤上的PgUp和PgDn向上 和向下翻頁,q結束查看
    • head -10 : 查看文件的前10行,Ctrl+C結束
    • tail -10 : 查看文件的後10行,Ctrl+C結束

注意:命令 tail -f 文件 可以對某個文件進行動態監控,例如tomcat的日誌文件, 會隨着程序的運行,日誌會變化,可以使用tail -f catalina-2016-11-11.log 監控 文 件的變化

  1. vim 文件: 修改文件的內容(改)

vim編輯器是Linux中的強大組件,是vi編輯器的加強版,vim編輯器的命令和快捷方式有很多,這裏列出一些常用命令。

在實際開發中,使用vim編輯器主要作用就是修改配置文件和編寫shell腳本,下面是一般步驟:

vim 文件------>進入文件----->命令模式------>按i進入編輯模式----->編輯文件 ------->按Esc進入底行模式----->輸入:wq/q! (輸入wq代表寫入內容並退出,即保存;輸入q!代表強制退出不保存。)

    • 命令模式

用vim 打開一個文件剛開始進入的就是命令模式,在這個模式下我們可以控制光標的移動,字符,字或者行的刪除,移動複製某段區域,在該模式下可以進入插入模式也可以進入底行模式。

    • 編輯模式

在編輯模式下纔可以插入文字,按Esc進入底行模式.

    • 底行模式

在底行模式下保存文件或者退出vim

  1. vim常用命令:

1).移動光標

1.vim 可以使用小寫英文字母 h j k l 分別控制光標左 下 上 右移動,也可以使用箭頭

 2.Ctrl+b 屏幕往後移動一頁

 3.Ctrl+f 屏幕往前移動一頁

 4.Ctrl+u 屏幕往後移動半頁

 5.Ctrl+d 屏幕往前移動半頁

 6.Shift+g == G 移動到文章的最後

 7.Shift+4 == $ 移動到光標所在行的行尾

 8.Shift+6 == ^ 移動到光標所在行的行首

 9.w 光標跳到下個字的開頭

10.e 光標跳到下個字的字尾

11.b 光標回到上個字的開頭

12.#l  例如:5l ,56l 光標移動到該行的第'#'個位置

13.gg 進入到文本的開始

2).刪除文字

1.x 每按一次刪除光標所在位置的一個字符

   2.#x 栗子:6x 刪除光標所在位置的"後面"(包含自己在內)6個字符

   3.Shift+x == X 每按一次,刪除光標所在位置的前一個字符

   4.Shift+#x == #X 栗子 20X 刪除光標所在位置的前面20個字符

   5.dd 刪除光標所在行

   6.#dd 栗子 6dd 從光標所在行開始刪除6行

3).複製

1.yw 將光標所在之處到字尾的字符複製到緩衝區中

    2.#yw 栗子 6yw 複製6個字符到緩衝區

    3.yy 複製光標所在行到緩衝區

    4.#yy 栗子 6yy 拷貝從光標所在的該行"往下數"6行文字

    5.p 將緩衝區內的字符貼到光標所在位置

 注意:所有與y有關的複製命令都必須與p配合才能完成複製粘貼功能

4).替換

1.r 替換光標所在處的字符

    2.R 替換光標所到之處的字符,知道按下Esc鍵爲止.

5).撤銷上一次的操作

u 回到上一個操作,按動多次'u'可以執行多次回覆

6).更改

1.cw 更改光標所在處的字到字尾處

    2.c#w 栗子 c3w 表示更改三個字

7).跳至指定行

1.Ctrl+g 列出光標所在行的行號

  2.#G 栗子 15G 表示移動光標到文章的第15行行首

  1. rm -rf 文件: 刪除文件(刪)

同目錄刪除:熟記 rm -rf 文件 即可

8).查找

1、命令模式下輸入“/字符串”,例如“/Section 3”。

2、如果查找下一個,按“n”即可。

9).行號:

1、命令模式下(即:)輸入set number 顯示行號

2、命令模式下輸入set nonumber隱藏行號

3、命令模式下輸入行號即可,即:26

5.4 壓縮文件的操作命令

1)打包並壓縮文件:

Linux中的打包文件一般是以.tar結尾的,壓縮的文件一般是以.gz結尾的。

而一般情況下打包和壓縮是一起進行的,打包並壓縮後的文件的後綴名一般.tar.gz。 命令:tar -zcvf 打包壓縮後的文件名 要打包壓縮的文件 其中:

z:調用gzip壓縮命令進行壓縮

c:打包文件

v:顯示運行過程

f:指定文件名

比如:加入test目錄下有三個文件分別是 :aaa.txt bbb.txt ccc.txt,如果我們要打包test目錄並指定壓縮後的壓縮包名稱爲test.tar.gz可以使用命令:tar -zcvf test.tar.gz aaa.txt bbb.txt ccc.txt或:tar -zcvf test.tar.gz /test/

2)解壓壓縮包:

命令:tar [-xvf] 壓縮文件

其中:x:代表解壓

示例:

1 將/test下的test.tar.gz解壓到當前目錄下可以使用命令:tar -xvf test.tar.gz

2 將/test下的test.tar.gz解壓到根目錄/usr下:tar -xvf xxx.tar.gz -C /usr(- C代表指定解壓的位置)

5.5 Linux的權限命令

操作系統中每個文件都擁有特定的權限、所屬用戶和所屬組。權限是操作系統用來限制資源訪問的機制,在Linux中權限一般分爲讀(readable)、寫(writable)和執行(excutable),分爲三組。分別對應文件的屬主(owner),屬組(group)和其他用戶(other),通過這樣的機制來限制哪些用戶、哪些組可以對特定的文件進行什麼樣的操作。通過 ls -l 命令我們可以 查看某個目錄下的文件或目錄的權限

示例:在隨意某個目錄下ls -l

 

第一列的內容的信息解釋如下:

 

下面將詳細講解文件的類型、Linux中權限以及文件有所有者、所在組、其它組具體是什麼?

文件的類型:

  • d: 代表目錄
  • -: 代表文件
  • l: 代表鏈接(可以認爲是window中的快捷方式)

Linux中權限分爲以下幾種:

  • r:代表權限是可讀,r也可以用數字4表示
  • w:代表權限是可寫,w也可以用數字2表示
  • x:代表權限是可執行,x也可以用數字1表示

文件和目錄權限的區別:

對文件和目錄而言,讀寫執行表示不同的意義。

對於文件:

權限名稱

可執行操作

r

可以使用cat查看文件的內容

w

可以修改文件的內容

x

可以將其運行爲二進制文件

對於目錄:

權限名稱

可執行操作

r

可以查看目錄下列表

w

可以創建和刪除目錄下文件

x

可以使用cd進入目錄

在linux中的每個用戶必須屬於一個組,不能獨立於組外。在linux中每個文件有所有者、所在組、其它組的概念。

  • 所有者

一般爲文件的創建者,誰創建了該文件,就天然的成爲該文件的所有者,用ls ‐l命令可以看到文件的所有者 也可以使用chown 用戶名 文件名來修改文件的所有者 。

  • 文件所在組

當某個用戶創建了一個文件後,這個文件的所在組就是該用戶所在的組 用ls ‐l命令可以看到文件的所有組 也可以使用chgrp 組名 文件名來修改文件所在的組。

  • 其它組

除開文件的所有者和所在組的用戶外,系統的其它用戶都是文件的其它組

我們再來看看如何修改文件/目錄的權限。

修改文件/目錄的權限的命令:chmod

示例:修改/test下的aaa.txt的權限爲屬主有全部權限,屬主所在的組有讀寫權限, 其他用戶只有讀的權限

chmod u=rwx,g=rw,o=r aaa.txt

uploading.4e448015.gif正在上傳…重新上傳取消

上述示例還可以使用數字表示:

chmod 764 aaa.txt

補充一個比較常用的東西:

假如我們裝了一個zookeeper,我們每次開機到要求其自動啓動該怎麼辦?

  1. 新建一個腳本zookeeper
  2. 爲新建的腳本zookeeper添加可執行權限,命令是:chmod +x zookeeper
  3. 把zookeeper這個腳本添加到開機啓動項裏面,命令是:chkconfig --add zookeeper
  4. 如果想看看是否添加成功,命令是:chkconfig --list

5.6 Linux 用戶管理

Linux系統是一個多用戶多任務的分時操作系統,任何一個要使用系統資源的用戶,都必須首先向系統管理員申請一個賬號,然後以這個賬號的身份進入系統。

用戶的賬號一方面可以幫助系統管理員對使用系統的用戶進行跟蹤,並控制他們對系統資源的訪問;另一方面也可以幫助用戶組織文件,併爲用戶提供安全性保護。

Linux用戶管理相關命令:

  • useradd 選項 用戶名:添加用戶賬號
  • userdel 選項 用戶名:刪除用戶帳號
  • usermod 選項 用戶名:修改帳號
  • passwd 用戶名:更改或創建用戶的密碼
  • passwd -S 用戶名 :顯示用戶賬號密碼信息
  • passwd -d 用戶名: 清除用戶密碼
  • su - 用戶名:切換登錄用戶

useradd命令用於Linux中創建的新的系統用戶。useradd可用來建立用戶帳號。帳號建好之後,再用passwd設定帳號的密碼.而可用userdel刪除帳號。使用useradd指令所建立的帳號,實際上是保存在/etc/passwd文本文件中。該文件內容的解釋:用戶名:密碼:用戶id:組id:用戶說明:用戶的主目錄:用戶使用的shell環境(默認爲bash)

passwd命令用於設置用戶的認證信息,包括用戶密碼、密碼過期時間等。系統管理者則能用它管理系統用戶的密碼。只有管理者可以指定用戶名稱,一般用戶只能變更自己的密碼。

5.7 Linux系統用戶組的管理

每個用戶都有一個用戶組,系統可以對一個用戶組中的所有用戶進行集中管理。不同Linux 系統對用戶組的規定有所不同,如Linux下的用戶屬於與它同名的用戶組,這個用戶組在創建用戶時同時創建。

用戶組的管理涉及用戶組的添加、刪除和修改。組的增加、刪除和修改實際上就是對/etc/group文件的更新。

Linux系統用戶組的管理相關命令:

  • groupadd 選項 用戶組 :增加一個新的用戶組
  • groupdel 用戶組:要刪除一個已有的用戶組
  • groupmod 選項 用戶組 : 修改用戶組的屬性

5.8 其他常用命令

  • pwd: 顯示當前所在位置
  • grep 要搜索的字符串 要搜索的文件 --color: 搜索命令,--color代表高亮顯示
  • ps -ef/ps aux: 這兩個命令都是查看當前系統正在運行進程,兩者的區別是展示格式不同。如果想要查看特定的進程可以使用這樣的格式:ps aux|grep redis (查看包括redis字符串的進程)

注意:如果直接用ps((Process Status))命令,會顯示所有進程的狀態,通常結合grep命令查看某進程的狀態。

  • kill -9 進程的pid: 殺死進程(-9 表示強制終止。)

先用ps查找進程,然後用kill殺掉

  • 網絡通信命令:
    • 查看當前系統的網卡信息:ifconfig
    • 查看與某臺機器的連接情況:ping
    • 查看當前系統的端口:netstat
      • an 所有的連接和端口
      • tuln 查看正在監聽TCP(t)和UDP(u)的端口 ,例如:netstat -tuln | grep LISTEN
      • rn 查看網關 route -n
  • ln: 創建鏈接文件
    • 創建軟鏈接文件:ln -s [源文件] [目標文件] (硬鏈接不需-s選項)
      • 軟鏈接特點:權限是所有人都可以訪問,並且軟連接文件指向源文件。
      • 軟鏈接就像windows系統中的快捷方式一樣,特點也都類似。
      • 硬鏈接:類似copy,硬鏈接大小和源文件一樣,並且是同步更新的。
  • shutdown: shutdown -h now: 指定現在立即關機;shutdown +5 "System will shutdown after 5 minutes":指定5分鐘後關機,同時送出警告信息給登入用戶。
  • reboot: reboot: 重開機。reboot -w: 做個重開機的模擬(只有紀錄並不會真的重開機)。
  • scp /xxx/xxx(本系統中文件) [email protected](目標服務器ip地址):/xxx/xxx(目標服務器的位置) 兩臺centos服務器之間傳輸文件,例如我需要將redis.tar.gz發送到192.168.109.134這臺服務器的/opt目錄下,使用如下命令:scp redis-5.0.4.tar.gz [email protected]:/opt

六 安裝JDK

6.1 用JDK安裝包安裝

  1. 查看是否已經安裝JDK:rpm -qa | grep -i java
  2. 若有則刪除:rpm -e --nodeps java-xxx,刪除所有相關的java
  3. 下載jdk8安裝包,將gz壓縮文件放到指定目錄如/usr/local,解壓:tar -zxvf jdk-8u181-linux-x64.tar.gz
  4. 設置全局變量:vim /etc/profile,追加

JAVA_HOME=/usr/local/jdk1.8.0_181

CLASSPATH=$JAVA_HOME/lib/

PATH=$PATH:$JAVA_HOME/bin

export PATH JAVA_HOME CLASSPATH

  1. source /etc/profile
  2. java -version

6.2 用yum方式安裝(無需配置環境變量)

  1. 檢索yum中有沒有java1.8的包:yum list java-1.8*
  2. yum install java-1.8.0-openjdk* -y

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章