1. 關機 shutdown h now // 立即關機 shutdown r now // 重啟 halt // 關機 reboot // 重啟 service sshd start // 開啟ssh服務,方便CRT進行連接 2. 進入桌面 startx // 進入桌面 3. 用戶管理 logou ...
- 關機
- shutdown -h now // 立即關機
- shutdown -r now // 重啟
- halt // 關機
- reboot // 重啟
- service sshd start // 開啟ssh服務,方便CRT進行連接
- 進入桌面
- startx // 進入桌面
- 用戶管理
- logout // 註銷用戶
- sudo root // 或者su root(su - 用戶名 切換用戶)
- useradd 用戶名 // 添加用戶(useradd xiaoming) ,不設置密碼無法進行登錄
- passwd 用戶名 // 為新用戶設置密碼
- userdel 用戶名 // 刪除用戶但保存用戶主目錄
- userdel -r 用戶名 // 刪除用戶以及用戶主目錄(home下的用戶目錄)
- who am i // 當前用戶是誰
- hostname // 主機名
- uname // 顯示系統信息
- ssh -l 用戶名 -p 22 埠號 // 用戶連接
- su 用戶名 // 切換用戶(su是switch user),還是在root目錄
- su - 用戶名 // 切換用戶,並且進入用戶名的宿主目錄
- 用戶組管理
- groupadd 組名 // 創建組
- id // 當前用戶的組信息
- useradd 用戶名 -g 組名 // 創建用戶併為用戶分配組(創建用戶時,沒有指定用戶組,會自動生成一個用戶組,組名與用戶名相同)
- groupdel 組名 // 刪除組,但是註意如果組下存在用戶是不允許刪除的(使用userdel刪除用戶)
- groups // 查看當前登錄的用戶組名
- 許可權管理:
- /etc/password : 存儲用戶信息
- /etc/shadow : 存儲用戶密碼
- /etc/group : 用戶組信息
- 許可權描述機制(字元和數字)
- -開頭 : 普通文件
- d開頭 : 目錄文件
- l開頭 : 鏈接,相當於快捷方式
- 之後每三個為一個許可權,前三個表示當前用戶對該文件是否有讀寫執行的許可權(也就是屬主許可權),中間三個表示屬組許可權,後三個表示其他用戶許可權
- r : 讀 4
- w : 寫 2
- x : 執行 1
- : 表示無許可權 0
- 如何分配許可權
- chmod 700 普通文件 : 對普通文件賦許可權 700 表示當前用戶可讀可寫可執行,其它的都無許可權
- chmod u=rwx,g=rwx,o=rwx 普通文件 : 對普通文件賦許可權 700 表示當前用戶可讀可寫可執行,其它的都無許可權(也可以將=換為+,去掉許可權使用-)
- chown -R 用戶 : public dir : 變更目中的所有子目錄及文件的所屬用戶和組
- 所屬用戶和所屬組的的位置(drwx------. 2 wzlove wzlove)
- 最後兩個分別表示用戶和組
- 所屬用戶和所屬組的的位置(drwx------. 2 wzlove wzlove)
- chown 所有者:所有組 文件
- 系統相關:
- ifconfig : 查詢網路情況
- ping : 測試網路連通
- netstat : 顯示網路狀態信息
- man : 不瞭解(man ls)
- clear : 清屏
- kill : 殺死進程,可以先用ps 或 top命令查看進程的id,然後再用kill命令殺死進程。
- date : 顯示時間
- date -s "2018-09-19 16:40:50" 設置時間
- df 查看磁碟/硬碟信息
- df -h 友好顯示
- free 查看記憶體狀態
- free -h
- top 顯示,管理執行中的程式(很重要)
- clear 清屏
- clear -l
- ps 查看進程
- ps -ef 查看所有進程
- ps -ef | grep ssh 查看指定進程
- kill 殺死進程
- kill 埠號 : 殺死指定進程
- kill -9 : 強制殺死
- du : 顯示文件大小
- du -h
- du -sh * 查看文件占用的空間
- who 顯示當前登陸的用戶名
- hostname 顯示當前主機名
- vi /etc/sysconfig/network 修改主機名
- uname 顯示系統信息
- uname -a 顯示本機詳細信息
- 樹形目錄
- -root 存放root用戶的相關文件(*),宿主目錄
- -home 存放普通用戶的相關文件(*),普通用戶的宿主目錄
- -bin 存放常用命令的目錄,如vi,su(*),二進位可執行文件
- -sbin 要具有一定許可權才可以使用命令
- -mnt 預設掛載光碟機和軟碟機的目錄
- -etc 存放配置相關文件(*)
- -boot 存放引導系統啟動的相關文件
- -usr 安裝一個軟體的預設目錄,相當於windows下的program files(*),共用的資源文件信息
- 目錄相關的命令
- cd // 改變目錄
- cd - // 上一個目錄
- cd ~ // 切換到當前用戶的家目錄
- ls // 列出當前文件夾下的文件和目錄
- ls -a // 顯示目錄下所有文件,包括隱藏文件
- ls -l // 顯示長列表格式
- ll // 等同於ls -l
- ll -h // 友好顯示文件大小
- dir // 等同於ls
- tree // 樹形結構展示
pwd // 顯示當前目錄 :
- mkdir 用來創建文件夾(mkdir test/{test1/{test11,test12},test2},層級目錄的創建)
- mkdir -p 文件夾1/文件夾2 創建多級文件夾
- cd .. 返回上級目錄
- touch 文件名.尾碼 用來創建文件
- rmdir 刪除文件夾(rm -r,也可以刪除文件夾)
- rm 刪除文件,有詢問的(不能刪除文件夾)
rm -rf(儘量不用) 刪除文件,沒有詢問的(不能刪除文件夾)
- touch // 建立空文件
- vim // 編輯文件,也可以創建文件
- echo "內容" 列印(相當於java的輸出)
- echo "內容" > 文件 將內容寫到文件中(直接替換原來的內容)
- echo "內容" >> 文件 將內容追加到文件中
: 覆蓋重定向(內容 > 文件)
: 追加重定向(內容 >> 文件)
- | : 管道(ps -ef | grep java),簡單來說,將 | 之前的輸出當作 | 之後的輸入
- ps -ef 輸出系統的進程信息(tail -f file1.log | grep -ni -A5 -B5 'exception' --color)
- ps -ef 輸出系統的進程信息(ps -ef | grep -n 'Exception' --color)
&& : 兩條命令一起執行
- ./文件 執行文件
- cp // 複製命令 (cp -r dir1 dir2,遞歸複製命令)
- mv // 移動文件和改文件名
- rm // 刪除文件和目錄
- rm -f // 不詢問刪除
- rm -rf * // 刪除所有內容,包括目錄和文件,r表示遞歸(),f表示強制()
- rm -rf /* //自殺(絕對不能使用)
- ln // 建立符號鏈接,類似於建立某個文件的快捷方式
ln -s 源目標 // ln ‐s /etc/inittab inittab,inittab指向實際文件/etc/inittab inittab
- cat + 文件名 // 查看文件內容,一次性查看
- more + 文件名 // 顯示文件內容帶分頁,空格下翻頁,B上翻頁,enter下一行,q退出
- less + 文件名 // 顯示文件內容帶分頁,ctrl + page up上翻
- tail -10 + 文件 // 顯示後10行數據 ctrl + c 結束查看
- tail -f + catalina.out // 動態查看tomcat的日誌文件信息(查看尾部實時刷新的內容)
head -10 // 顯示前10條數據
- grep // 在文件中查詢內容(假設存在某個文件test.cpp中含有hello關鍵字,此時可以使用grep名命令來查找,grep n “hello” test.cpp,n表示在第n行出現)
- grep 'Hello' file 查找file文件中含有'Hello'的行
- 參數:(grep -ni -A5 -B5 "exception" file1.log --color)
- -n : 行號
- -i : 忽略大小寫
- A : 後幾行
- B : 前幾行
- --color : 高亮顯示
- 網路相關
- ifconfig 顯示網路設備
- ifconfig eth0 up : 啟用網卡
- ifconfig eth0 down : 關閉網卡
- ping 命令(ctrl + c停止)
- netstat -ano 查看埠的占用情況
- netstat -ano | grep java/埠號 : 查看某些埠的占用情況
- netstat(查看網路的埠信息,下麵的命令可以組合使用)
- -n : 以數字形式展示
- -a : 展示所有
- -l : 展示監聽者的進程信息
- -t : tcp
- -u : udp
- -p : 進程
- find搜索文件及目錄
- find / -name man:意思是說從根目錄開始搜索名稱為man的文件或目錄
- find /home -amin -10:十分鐘記憶體取的文件或目錄
- find /home -atime -10:十小時記憶體取的文件或目錄
- find /home -cmin -10:十分鐘內更改過的文件或目錄
- find /home -ctime +10:十小時前更改過的文件或目錄
- find /home -size +10k:意思是說查找/home目錄下大小為10k的文件
- 壓縮和解壓縮
- tar -czvf target.tar.gz target/ : 歸檔並壓縮
- zip file.zip fileName //zip後接壓縮後的文件名,在它的後面輸入要壓縮的文件即可壓縮後,
- zip m file.zip to.txt:把to.txt文件壓縮成file.zip文件,to.txt會自動刪除的,自動刪除原文件
- zip ‐r file.zip fileName:將當前目錄下的子目錄一起壓縮
- zip ‐j file.zip fileName : 忽略子目錄內容
- 將已壓縮的或沒有必要壓縮的文件去掉 zip ‐n .mpg: .jpg: .gif:第一種文件中間要用“:”分開
- 直接解壓縮文件 unzip file.zip
- 使用gzip 文件 可以將文件壓縮
- 使用gzip -d 文件可以將文件解壓縮
- 使用tar -cvf 打包後的名字.tar 文件1 文件2 文件3 可以將多個文件(一個文件寫一個就好)打包
- 使用tar -xvf 包名.tar將打包後的文件釋放出來
- 使用tar -zxvf 包名.tar將打包後的多個文件釋放出來
(多個文件一般先打包,再壓縮,使用tar -zxvf 壓縮後的名字(一般是.tar.gz結尾)進行解壓縮,一步到位)
- mv 文件 /路徑 將文件移動到指定的路徑(mv 重命名或者移動,mv java mnt 重命名,mv java mnt/ 不行的依然重命名,mv java /mnt 移動)
- mv 文件 文件/ 重命名
mv 文件 參數 如果參數存在是移動,不存在時重命名
- vim相關
- vim三種模式:命令模式、插入模式、編輯模式。使用ESC或i或:來切換模式(i,o,a都可以用來插入)。
- 一般模式 : vi a.txt 就是進入一般模式(其他模式ESC可以推出到一般模式)
- 插入模式 : i,o,a進入插入模式
- 底部指令模式 : 使用 :
- :q 退出
- :q! 強制退出(不保存)
- :wq 保存並退出(一般模式下shift + zz或者x也可以)
- :set number 顯示行號
- :set nonumber 隱藏行號
- cat 文件名.尾碼名 可以用來查看文件中的內容
- /apache 在文檔中查找apache 按n跳到下一個,shift+n上一個
- yyp 複製游標所在行,並粘貼
- dd 刪除(刪除多行 number+dd)
- u 撤銷操作
- h(左移一個字元←)、j(下一行↓)、k(上一行↑)、l(右移一個字元→)
- vim三種模式:命令模式、插入模式、編輯模式。使用ESC或i或:來切換模式(i,o,a都可以用來插入)。
- 安裝插件
- tree : sudo yum -y install tree
- vim : yum -y install vim*
- wget : yum -y install wget
- ifconfig:yum install net-tools
- 刪除JDK
- rpm -qa | grep java // 查看本機是否有jdk
- 如果有輸出,就進行刪除卸載
- rpm -e --nodeps java jar包 // 關於java的全部卸載就可以了
12:安裝JDK:
使用gzip 文件 可以將文件壓縮
使用gzip -d 文件可以將文件解壓縮
使用tar -cvf 打包後的名字.tar 文件1 文件2 文件3 可以將多個文件(一個文件寫一個就好)打包
使用tar -xvf 包名.tar將打包後的文件釋放出來
使用tar -zxvf 包名.tar將打包後的多個文件釋放出來
(多個文件一般先打包,再壓縮,使用tar -zxvf 壓縮後的名字(一般是.tar.gz結尾)進行解壓縮,一步到位)
mv 文件 /路徑 將文件移動到指定的路徑(mv 重命名或者移動,mv java mnt 重命名,mv java mnt/ 不行的依然重命名,mv java /mnt 移動)
mv 文件 文件/ 重命名
如果本機存在請先刪除本機上的jdk
wget http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz
tar -zxvf jdk-8u181-linux-x64.tar.gz將文件進行解壓
vi /etc/profile(大G跳到最後 o插入一行)
JAVA_HOME=/usr/local/java/jdk-8u181 // 切記是自己的目錄
JRE_HOME=/usr/local/java/jdk-8u181/jre
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JRE_HOME PATH CLASSPATH
註意:保存退出後,重新載入環境變數
source /etc/profile
- 安裝tomcat
- wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.5.34/bin/apache-tomcat-8.5.34.tar.gz
- 將下載的壓縮包移動到對應的文件夾下
- tar -zxvf apache(按tab鍵提示一下) 進行解壓縮
- 進入到bin目錄
- 執行 ./startup.sh ; tail -f logs/catalina.out
(如果出現Neither the JAVA_HOME nor the JRE_HOME environment variable is defined 和 At least one of these environment variable is needed to run this program,進入到tomcat的bin目錄下,執行vi setclasspath.sh,添加兩行
export JAVA_HOME=/usr/local/software/jdk/jdk1.8.0_181
export JRE_HOME=/usr/local/software/jdk/jdk1.8.0_181/jre ) - 在本機訪問(有可能訪問不了,嘗試關閉防火牆(參考mysql安裝的最後一個操作)或者讓8080埠通過就好)
- tail -f logs/catalina.out 查看日誌
- 安裝Mysql
- 先刪除電腦上原本的mysql(rpm -qa | grep -i mysql 查看),一般沒有安裝,如果安裝使用rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64 進行相關的刪除
- wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.23-1.el7.x86_64.rpm-bundle.tar
- tar -xvf mysql-5.7.23-1.el7.x86_64.rpm-bundle.tar
- yum remove mysql-libs
- rpm -ivh mysql-community-common-5.7.23-1.el7.x86_64.rpm
- rpm -ivh mysql-community-libs-5.7.23-1.el7.x86_64.rpm
- rpm -ivh mysql-community-client-5.7.23-1.el7.x86_64.rpm
- rpm -ivh mysql-community-server-5.7.23-1.el7.x86_64.rpm (如果報錯,執行wget http://mirror.centos.org/centos/6/os/x86_64/Packages/libaio-0.3.107-10.el6.x86_64.rpm試試,安裝就好)
- rpm -ivh mysql-community-devel-5.7.23-1.el7.x86_64.rpm
- 啟動服務 : systemctl start mysqld
- 查看服務 : systemctl status mysqld
- cat /var/log/mysqld.log | grep password
- 不修改密碼是禁止任何操作的( SET PASSWORD = PASSWORD('Mypwd123456$');) 密碼需要大小寫字母,數字和字元組合
- 授權遠程客戶端連接 : GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY 'Mypwd123456$' WITH GRANT OPTION;
- FLUSH PRIVILEGES;
- 需要關閉linux防火牆
- firewall-cmd --state #查看防火牆是否啟用
- systemctl stop firewalld #關閉防火牆
- service mysql start 啟動mysql服務
- 設置開機自啟動
- chkconfig --add mysql // 添加入開機自啟動
- chkconfig mysql on // 自啟動
- chkconfig // 查看
- 過濾防火牆(CENTOS7之前)
- /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
- /etc/rc.d/init.d/iptables save
- /etc/rc.d/init.d/iptables restart #重啟服務
- 簡單關閉防火牆的方法
- firewall-cmd --state #查看防火牆是否啟用
- systemctl stop firewalld #關閉防火牆
- systemctl start firewalld #開啟防火牆
- 關閉防火牆(/etc/init.d/iptables stop)
- setup
- firewall
- 按tab鍵切換到disablede項,然後按空格鍵選擇,然後再按tab鍵切換到ok,按空格件選擇
- 按tab鍵切換到quit,按空格鍵選擇
- service iptables status 查看防火牆的狀態
- 禁用防火牆
- [root@rhel7 ~]# systemctl stop firewalld.service
- [root@rhel7 ~]# systemctl disable firewalld.service
- [root@rhel7 ~]# systemctl status firewalld.service
- 啟動防火牆 : systemctl start firewalld
- 啟動一個服務:systemctl start firewalld.service
- 關閉一個服務:systemctl stop firewalld.service
- 重啟一個服務:systemctl restart firewalld.service
- 顯示一個服務的狀態:systemctl status firewalld.service
- 在開機時啟用一個服務:systemctl enable firewalld.service
- 在開機時禁用一個服務:systemctl disable firewalld.service
- 查看服務是否開機啟動:systemctl is-enabled firewalld.service;echo $?
查看已啟動的服務列表:systemctl list-unit-files|grep enabled
- 開啟埠 : firewall-cmd --zone=public --add-port=1521/tcp --permanent
- 刪除開放的埠號 : firewall-cmd --zone=public --remove-port=80/tcp --permanent
- 查看所有開啟的埠:firewall-cmd --zone=public --list-ports
firewall-cmd --reload //重啟防火牆
- 使用systemctl工具管理服務程式
- systemctl list-unit-files|grep enabled
- 上傳:
- alt + p ,使用put命令上傳
- 使用WinSCP進行上傳,或者使用其他工具
- 發佈項目
- 將資料庫還原到Linux上
- 備份Windows上的資料庫(mysqldump -uroot -ppassword 資料庫的名字 > 導出路徑\表名.sql)
- 將備份的資料庫上傳到Linux上,提前創建好資料庫,使用命令mysql -uroot -ppassword 庫名 < sql所在的路徑進行還原.
- 或者在本機使用sqlyog連接linux上的資料庫,直接使用圖形化界面還原資料庫.
- 將程式的代碼發佈到Linux上
- 修改druid.properties的資料庫連接信息
- 使用package進行打包
- 將包放在linux下的tomcat下的webapp,直接執行tomcat,開始進行訪問
- 將資料庫還原到Linux上
- Nginx的安裝
- 概念 : 高性能的web伺服器,反向代理,負載均衡伺服器
- Nginx + Tomcat 的集群配置
- 一臺電腦模擬,本機安裝兩個tomcat,修改埠號(server.xml).
- 項目發佈到兩個tomcat,就可以通過兩個url進行訪問
- 安裝nginx
- window直接解壓就好,雙擊可執行文件啟動,訪問localhost就可以了
配置nginx,修改conf/nginx.conf
# 設置伺服器列表
upstream server_lb{
server 127.0.0.1:8080;
server 127.0.0.1:8081;
}server {
listen 80;
server_name localhost; # 功能變數名稱#charset koi8-r; #access_log logs/host.access.log main; location / { root html; proxy_pass http://server_lb; # 服務列表 index index.html index.htm; }
- 重啟服務:nginx -s reload
- 設置session共用
一個用戶只在tomcat1上操作,另一個用戶只在tomcat2上操作.配置文件上的伺服器列表上添加
ip_hash;
,並添加權重(瞭解).upstream server_lb{
server 127.0.0.1:8080 weight=4;
server 127.0.0.1:8081 weight=10;
ip_hash;
}- 在多個tomcat上進行session共用,使用的是tomcat的廣播機制,但是不推薦.
- 修改tomcat的server.xml文件,將cluster className的註釋去掉
- 在項目的web.xml中添加
- 使用redis伺服器的方式完成session的共用(推薦使用).
- 使用jedis保存用戶信息
/etc/sysconfig/network-scripts/ifcfg-eth0