1、 Linux操做系統概述html
l 爲何要學習Linux操做系統:java
一、 大部分服務端都是使用Linux操做系統(Django,爬蟲,科學運算等項目是部署到服務器中的)python
二、 一些企業和學校(國外學校)採用Linux進行研發和教學linux
三、 不少嵌入式開發使用Linux系統算法
四、 大數據、雲計算,採用Linux操做系統(CentOS)shell
l Linux系統的特色:django
一、 開放、開源、多用戶的網絡操做系統編程
二、 可靠地系統安全、良好的移植性ubuntu
三、 出色的運行速度vim
四、 基於UNIX
五、 加入了GNU組織(GNU---自由軟件組織 CopyLeft)
l Linux的組成:
1、內核:是系統的心臟,是運行程序和管理像磁盤和打印機等硬件設備的核心程序。最新版5.0
2、Shell(外殼):是系統的用戶界面,提供了用戶和內核進行交互操做的一種接口。它接收用戶輸入的命令並把它送入內核去執行,是一個命令解釋器。但它不只是命令解釋器,並且仍是高級編程語言,shell編程。
3、文件系統:文件系統是文件存放在磁盤等存儲設備上的組織方法,Linux支持多種文件系統,如ext3,ext2,NFS,SMB,iso9660等。相似於window的fat32
和ntfs
五、 應用程序:標準的Linux操做系統都會有一套應用程序例如X-Window,Open Office等。
l Linux版本
一、 內核版本,最新版本爲5.0 版本 http://www.kernel.org/
二、 發行版本,一些廠商將Linux系統內核與應用軟件和文檔包裝起來,並提供一些安裝界面和系統設定管理工具的一個軟件包的集合,例如RedHat Linux,CentOS,Debian,Ubuntu, Novell/SuSE Linux等。
RedHat : Rhel(企業版) CentOS(社區版)
Debian:Debian Ubuntu(桌面)
2、Linux系統安裝
l 安裝vmware虛擬機
(Virtual Machine)指經過軟件模擬的具備完整硬件系統功能的、運行在一個徹底隔離環境中的完整計算機系統。
l 在VM中安裝Linux操做系統
3、 Linux目錄結構
l 基本目錄結構
bin 存放二進制可執行文件(cd,ls,cat,mkdir等)
boot 存放用於系統引導時使用的各類文件
dev 用於存放設備文件
etc 存放系統配置文件
home 存放全部用戶文件的根目錄
lib 存放跟文件系統中的程序運行所須要的共享庫及內核模塊
mnt 系統管理員安裝臨時文件系統的安裝點
opt 額外安裝的可選應用程序包所放置的位置
proc 虛擬文件系統,存放當前內存的映射
root 超級用戶目錄
sbin 存放二進制可執行文件,只有root才能訪問
tmp 用於存放各類臨時文件
usr 用於存放系統應用程序,比較重要的目錄/usr/local 本地管理員軟件安裝目錄
var 用於存放運行時須要改變數據的文件
4、 Linux系統環境(CentOS)
l 分爲命令交互通道和圖形界面交互通道,默認進入圖形界面交互通道。
Ctrl+Alt+F2 由圖形通道進入命令通道
Ctrl+Alt+F1 由命令通道進入圖形通道
d
一、 圖形界面交互模式下的
terminal: 圖形界面的命令終端,它是圖形界面交互通道的延伸,要依賴於圖形界面(相似於命令交互通道)
二、 命令交互通道
[zrgk@localhost ~]$
zrgk 用戶名
localhost 主機名
~ 路徑 ,假如當前的路徑正好是 該用戶存放數據的根目錄 ,則顯示~
$ 用戶類型 $表示普通用戶 #超級用戶
5、 Linux經常使用命令
l 查看系統版本
Cat /etc/redhat-repase
詳細內核信息: cat /proc/version
系統使用Linux3.10內核64位操做系統,gcc()
l Linux基本命令
一、 cd 切換目錄
例如: cd Desktop 切換到桌面
cd .. 切換到上級目錄(Linux中cd和..之間必須有空格)
2、man(manual) 幫助命令,至關於windows中的 help
例如: man ls 查看 ls命令的使用方式 按q退出
三、ls 查看目錄內容
ls –l 查看詳細信息 也能夠直接使用 ll
ls –a 查看所有文件(包括隱藏文件)
四、mkdir 建立目錄
例如: mkdir java 建立一個java目錄
cd java
mkdir JEE 在java目錄下,又建立一個JEE目錄
六、 tab 自動補全
七、 touch 建立一個普通空白文件
例如: touch aa.txt
八、 echo 把內容重定向到指定文件中,若是文件有則打開,無則建立
例如: echo 「helloworld」 > aa.txt 覆蓋原有數據
echo 「helloworld」 >> aa.txt 追加方式
九、 cat 查看文件內容
例如: cat aa.txt
十、 more 查看文件內容,分頁顯示,按空格翻頁
十一、 cp 複製
例如:cp aaa.txt ./java/jee 把aaa.txt 拷貝到 java/jee目錄下
cp aaa ./java/jee –r 拷貝文件夾
11、mv 剪切、重命名
mv bbb.txt ./java/jee 把bbb.txt 剪切到 java/jee 目錄下
mv bbb.txt aaa.txt 把bbb.txt 重命名爲aaa.txt
十二、 rm 刪除
rm aaa.txt 刪除aaa.txt
-f : 假如要刪除的文件不存在,也不提示 rm aaa.txt -f
-i : 刪除前提示 ,默認不刪除,要刪除,輸入y rm aaa.txt -i
-d : 刪除空白目錄
rm python–d python必須是一個空白目錄(不包含任何文件的文件夾)
-r :遞歸刪除 rm –r python 刪除python這個文件夾 有提示
rm –rf python 沒有提示
1三、 wc 統計字符數
154 233 3418
154 :行數
233 :單詞數
3418 :字符數
例如: wc aa.txt
1四、 ln 建立連接文件
默認建立的是硬鏈接,比如複製 ,可是兩個文件會同步
ln aaa.txt bbb 硬鏈接
ln –s aaa.txt bbb 軟鏈接 相似於windows中建立一個快捷方式
1五、 pwd 查看當前路徑的絕對路徑
1六、 passwd 設置密碼(須要先輸入原密碼,再設置新密碼)
1七、 su 切換用戶
su root
su zrgk
由其餘用戶切換到root目錄不須要輸入密碼
由root用戶切換到其餘用戶不須要輸入密碼
l Linux系統命令
一、 stat 查看文件的詳細信息
例如:stat aaa.txt
二、 who與whoami
who 查看在線的用戶
whoami 查看當前本身的用戶
三、 hostname 顯示主機名
四、 uname 顯示系統信息
uname –a 顯示完整的系統信息
5、top 顯示當前耗時的進行的信息 ,每3秒刷新一次
cltr+c 中斷
六、 ps 顯示當前進程的快照 (沒有自動刷新的效果)
七、 du 顯示文件大小信息
八、 df 磁盤使用狀況
九、 ifconfig 查看或配置網卡信息,至關於windows中的ipconfig
設置虛擬機ip地址:
一、 設置vmware的鏈接方式
ü NAT模式:共享宿主機的ip地址,在網上鄰居找不到(默認)
這裏說的共享主機ip,不是和宿主機的ip徹底相同
而是一種內部映射(相似於網吧中的一個光纖(一個ip),帶多臺電腦)
ü 橋接方式:須要單獨設置ip,能夠在網上鄰居查找
ü 僅主機模式:只有宿主機才能訪問虛擬機,其餘機器不能訪問虛擬機
二、 圖形界面設置ip地址
三、 命令方式設置ip地址 切換到root用戶
查看以太網卡名: ifconfig
手動配置
重啓網絡服務: service network restart
10、ping命令 和windows的ping命令相同
11、clear 清除 windows cls
12、kill 殺死進程
Kill pid (pid指進程id,使用top命令或ps命令查看)
13、netstat 網絡鏈接詳細信息
14、useradd 操做用戶
1
切換到root用戶 cat /etc/passwd 查看全部用戶信息
例如:zrgk:x:500:500:zrgk:/home/zrgk:/bin/bash
zrgk 用戶名
x 密碼 已加密 加密文件存放在 /etc/shadow 目錄下
500 帳號id user id
500 組id group id
home/zrgk 該帳號存放文件的默認位置
/bin/bash 該帳號shell腳本的解析方式 (sh、bash、rbash)
2 建立帳號:
useradd lixin –d /home/lixin –s /bin/bash
lixin 用戶名
-d 指定該用戶的home路徑
-s 指定該用戶的shell腳本解析方式
操做步驟:
1 建立 /home/lixin 目錄
2 執行 useradd 命令
3 用passwd命令改密碼
4 使用su命名切換用戶
六 打包、壓縮(解壓)文件
常見壓縮文件格式:
Windows rar 、zip
Linux gz、bzip、zip
一、tar 打包命令 (歸檔文件)
tar –cxzjvf 打包後的文件 欲打包的文件
- c :建立的一個歸檔文件 ,即打包文件夾
- x :拆包
- z :以gzip 格式壓縮,默認壓縮倍數 6倍 (0-9)
- j :以bzip2格式壓縮
- v :顯示打包或者拆包的文件信息
- f : 後面緊接一個 歸檔文件
例如: tar –cvf news.tar ./java 把當前目錄下的java目錄打包
tar –xvf news.tar 拆包
二、 gzip 壓縮文件
--壓縮:
gzip news.tar 對歸檔文件直接進行壓縮,生成 new.tar.gz文件
--解壓:
gzip –d new.tar.gz 把壓縮文件解壓成歸檔文件
三、 打包及壓縮
--打包及壓縮
tar –czvf news.tar.gz ./java 對java文件進行打包及壓縮
--拆包及解壓縮
tar –xzvf news.tar.gz 對new.tar.gz 進行解壓
7、管理軟件
Windows .exe 安裝、卸載
安裝:雙擊執行.exe 文件
卸載:該軟件的惟一標識(包名, 當軟件作到公認時,包名就會簡短,例如MySQL、QQ等)
Linux:
ubuntu : 對debian的升級 因此 *.deb 格式
安裝:sudo dpkg –i 要安裝的文件 (I install)
卸載:sudo dpkg –r 包名
red hat :*.rpm rpm命令
CentOS : 是Red Hat的社區版 *.rpm
rpm –ivh xxx.rpm 離線安裝
yum –y install xxx 在線安裝
n Vi/vim 軟件,至關於windows中的記事本,可是功能比記事本強大
1 安裝vim CentOS系統,默認安裝了vim
Ubuntu 系統 須要安裝
沒有安裝手動安裝: yum -y install vim*
2 使用 vim
例如:vim aaa.txt 使用 vim 打開 aaa.txt 文檔
操做模式:
1 通常模式:默認進入的模式,這個模式不能編輯文檔,只能查看文檔
在通常模式中 按 i (insert) 進入 編輯模式
2 編輯模式:
該模式能夠編輯文檔,按esc進入通常模式
3 命令模式:在通常模式中 按 :進入命令模式
q 安全退出,當沒有操做該文檔,則直接按q退出vim
q! 當修改了內容,不想保存 q!強制退出
wq 保存退出
set number 顯示行號
set nonumber 不顯示行號
4 vim中翻頁
ctrl+f ctrl+b
5 vim中檢索(查找) 按/鍵
更多使用: http://www.runoob.com/linux/linux-vim.html
8、 使用ssh遠程安全訪問Linux系統
傳統的網絡服務程序,FTP、POP、telnet 本質上都是不安全的,由於它們在網絡上經過明文傳送口令和數據,這些數據很是容易被截獲。SSH叫作Secure Shell。經過SSH,能夠把傳輸數據進行加密,預防攻擊,傳輸的數據進行了壓縮,能夠加快傳輸速度。
OpenSSH
SSH是芬蘭一家公司開發。可是受到版權和加密算法限制,如今不少人都使用OpenSSH。OpenSSH是SSH的替代軟件,免費。
OpenSSH由客戶端和服務端組成。
CentOS系統中默認安裝了OpenSSH
n 經過windows ssh客戶端來訪問linux服務端
Windows系統 使用 putty 軟件訪問 Linux服務端
- 支持中文設置
https://blog.csdn.net/xdfwsl/article/details/3031116?utm_source=blogxgwz1
n 使用winscp 軟件,進行客戶端和服務器端文件傳輸
1. 安裝JDK
步驟:
1、進入root用戶
9 把Linux版本的JDK(jdk1.7) 文件 拷貝到 /opt
3、解壓:
若是是.gz文件 使用 tar -xzvf 命令解壓
若是是 .bin文件(可執行文件) 使用 ./xxx.bin 執行後就自動解壓
4、在bin 目錄下編寫HelloWorld.java 程序 編譯、運行
(在bin 目錄下運行 javac命令和java命令時,須要加 ./)
./javac HelloWorld.java
./java HelloWorld
5、設置環境變量
1 vim etc/profile
2 必定要加在文件的末尾
export JAVA_HOME="/opt/jdk1.7.0_51"
export PATH="$JAVA_HOME/bin:$PATH"
3 刷新配置,讓配置生效
source /etc/profile (必定要刷新,不刷新不能生效)
4 編寫HelloWorld.java 編譯、運行
9、 設置Linux系統防火牆
service iptables stop 關閉防火牆
service iptables start 開啓防火牆