Linux使用
07-11
Linux使用
來自專欄萌新的學習日記
Liunx使用
命令管道連接 |
- 命令管道符合為
|
,可以將兩個命令進行連接,連接後第一個命令的輸出結果作為第二個命令的輸入信息 - 比如
ls /ect | more -10
分屏顯示etc
文件夾下的10
行數據
Linux文件系統結構
/
: 根目錄/home
: 主文件夾,登錄用戶的主文件夾/etc
:操作系統配置文件的保存位置/usr
: 用於添加的程序文件,用戶的很多應用程序和文件都放在這個目錄下,類似於windows下的program files目錄。root
: 超級用戶的目錄
改變當前工作目錄命令
cd 目標目錄
cd
沒有參數的時候直接返回用戶主目錄cd /etc
: 使用絕對路徑切換當前的工作目錄cd ..
: 返回上一級cd 目錄
:使用相對路徑其切換,前提是當前的目錄中有這個目錄
顯示當前的工作目錄
pwd
文件或文件夾的操作(mkdir/touch)
mkdir 文件夾名稱
創建文件夾mkdir demo/file
在demo文件夾下新建一個文件加file,如果這個demo
文件夾不存在,那麼將會報錯
mkdir -p 文件夾名稱
遞歸創建文件夾mkdir -p demo/file
:如果demo文件夾不存在,那麼會自動創建出來
touch 新文件名
: 創建文件 ,比如touch file.txt
touch 已經存在的文件名或者文件夾名
: 修改文件或者文件夾的創建時間,但是並不是重新創建一個,裡面的內容的不會清空
改名或者移動(mv)
mv 參數1 參數2
mv 已存在的文件夾/文件 新文件夾/文件
:修改名稱 比如 :mv file.txt a.txt
mv 已存在的文件夾/文件 目標文件夾
: 將文件或者文件夾移動到目標文件夾中mv file.txt /tmp/dmeo
將當前文件夾的file.txt
移動到/tmp/demo
文件夾中mv demo/file.txt .
將 demo文件夾下的file.txt移動到當前文件夾mv file.txt ../
將當前文件file.txt 移動到上一級目錄
複製文件或者文件夾(cp)
cp 存在的文件/文件夾 新文件/新文件夾
進行改名複製cp a.txt /tmp/file.txt
將當前文件夾中的a.txt文件複製到/tmp
文件夾中,改名為file.txt
cp 存在文件 已存在的文件夾
將文件複製一份到已存在文件夾中,並且文件名和源文件的名一樣cp a.txt /tmp
將當前文件a.txt複製到tmp
文件夾中,並且名稱還是a.txt
cp -i ...
提示是否覆蓋的信息cp -f
強制覆蓋,不給出提示cp -r 存在的文件夾 目標文件夾 複製文件夾 比如:
cp -r file /tmp/demo複製當前文件夾
file和其中的所有內容到
/tmp/demo`文件夾下
刪除文件或者文件夾(rm)
rm 文件名
刪除文件rm a.txt
刪除當前文件夾中的a.txt
文件rm /tmp/demo/a.txt
刪除/tmp/demo
文件夾下的a.txt
文件
rm -r 存在的文件夾
: 刪除文件夾及文件夾下的全部內容rm -r demo
刪除文件夾demo
rm -f
強制刪除文件,不提示rm -rf
:強制刪除文件夾
遠程登錄伺服器SSH
- 客戶端輸入:
ssh 用戶名@伺服器IP/域名
ssh soft01@192.168.7.36
- 第一輸入需要確認證書: 選擇
yes
- 輸入
password
SFTP傳輸文件
sftp 用戶名@主機/IP
- 確認證書 :
yes
- 輸入密碼 :
盲敲
- 進入ftp,其中的提示符號變成
>
常用命令
ls
顯示當前遠程伺服器的目錄內容lls
: 顯示本地目錄內容pwd
: 顯示當前遠程伺服器目錄的路徑lpwd
:顯示本地目錄的路徑get 遠程文件
: 獲取遠程文件,只能是壓縮文件,比如.tar.gz
get demo.txt
獲取遠程文件的demo.txt
put 本地文件
:上傳本地文件到遠程伺服器 ,只能是壓縮文件,比如.tar.gz
push abc.txt
: 上傳本地當前文件abc.txt
到遠程伺服器
exit
: 退出
windows 操作Linux
pyttty
開源軟體
Linux打包命令
tar -czvf 包文件.tar.gz 文件夾1 文件夾2 ....
:tar czvf demo.tar.gz demo/
打包當前的demo
文件夾-c
:create
創建包 ,建議使用後綴.tar
-z
: 表示打包後錄用gzip
演算法進行壓縮,後綴需要寫.gz
-v
: 顯示打包的過程,哪些文件被打包了-f
: 指定打包以後包的文件名 ,放在最後,如:czvf
解壓縮包的命令
後綴為 tar.gz
tar -xzvf 包名.tar.gz
-x
: 釋放,將包進行釋放操作-z
: 先使用gzip解壓縮,一般對應的後綴.gz
-v
: 表示顯示解包的過程-f
: 指定包的文件名
後綴為 zip
- 如果沒有
unzip
命令,可以命令行安裝即可yum -y install unzip
unzip 文件
下載命令wget
- 安裝該命令:
yum -y install wget
wget 下載地址
: 這個命令將會從互聯網自動下載所需要的資源
購買雲伺服器
- 地域: 國內配置域名的時候必須備案,國外伺服器無需備案
- 配置: x86伺服器,1G內存 1CPU
- 鏡像: 公共鏡像,Centos 7.4
- 網路: 1M
- 安全組(防火牆):開放埠 80,443,22
- 注意: 沒有開放8080,需要以後配置
- 設置密碼
- 設置伺服器名
PATH變數的作用
- 操作系統可執行命令的搜索路徑,操作系統在執行密令的時候,會在PATH變數一系列路徑中逐一查找命令程序,如果找到就執行這個程序,否則將報出
命令沒有找到
的錯誤 echo $PATH
: 回顯PATH
的值export PATH=...
: 在終端直接輸入的PATH,只會在當前的終端不關閉的情況才會生效,如果這個終端窗口關閉了,那麼就會失效export PATH=/usr/local/java/jdk1.8/bin:$PATH
,這個命令是將java的jdk的路徑添加到當前PATH路徑的前面,不過這個只是臨時的,當終端退出,那麼就會失效
- 如果想要這個
PATH
永久起作用,那麼需要在/etc/profile
文件中添加,這個文件會在開機啟動的時候就解析載入 - 如果我們使用的安裝包安裝的話,那麼默認的啟動命令是只能在當前安裝包的
bin
中才能執行啟動命令,如果我們想要在任何位置打開終端都能啟動這個軟體,那麼我們可以將其配置在PATH中,我們只需要在/etc/profile
文件中添加:export PATH=文件位置:$PATH
使用 VIM 編輯文本文件
- 基於命令行的全屏幕可視化編輯器
安裝 vim
yum -y install vim
:安裝vim
常用命令
- 在命令狀態下
yy
: 複製當前行到剪切板P
:複製剪切板的內容到當前行之前p
: 複製剪切板的內容到當前行之後
nyy
: 複製當前行和後面的n行
數據到剪切板5yy
dd
:刪除當前行(其實是剪切),可以使用P
或者p
再次複製回去ndd
: 刪除當前行的後面n行
數據,實際上是剪切10dd
?正則
: 向前查找?System
/正則
:向後查找n
查找下一個- 先使用
?正則
或者正則
查找之後,然後按n
將會查找下一個結果
u
:撤銷,可撤銷多次
配置JDK環境
- 下載jdk
- 解壓縮在
/usr/local/java
中 tar -xzvf ......
- 配置環境變數
- 先複製一個
/etc/profile
,避免錯改造成系統崩潰 cp /etc/profile profile_1
vi /etc/profile
- 在末尾輸入
export JAVA_HOME=/usr/local/java/jdk1.8.0_172 ## jdk的路徑export JRE_HOME=$JAVA_HOME/jreexport CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATHexport PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
- 執行
source /etc/profile
- 在終端輸入
java -version
判斷是否配置成功 - 重啟機器
安裝配置Tomcat
第一種yum
yum -y install tomcat
- 安裝以後的安裝位置在
/usr/share/tomcat/
,這個是默認安裝位置
啟動和關閉
systemctl start tomcat.service
: 啟動systemctl stop tomcat.service
: 關閉systemctl restart tomcat.service
: 重啟systemctl enable tomcat.service
: 設置自動啟動systemctl disable tomcat.service
: 關閉自動啟動
第二種使用原廠的包安裝
- 下載
tomcat
:tomcat.apache.org
- 或者使用
wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-7/v7.0.88/bin/apache-tomcat-7.0.88.zip
- 如果沒有
wget
,那麼使用yum -y install wget
即可
- 解壓:
unzip 文件名
- 將解壓之後的文件夾移動到
/usr/local
下即可:mv apache-tomcat-7.0.88 /usr/local/
- 設置啟動腳本的執行許可權:
cd /usr/local/apache-tomcat-7.0.88/bin
:進入到bin
目錄- 添加執行許可權:
chmod +x *.sh
:為.sh
腳本添加執行許可權
- 啟動和關閉
tomcat
- 在
bin
文件夾下 輸入:./startup.sh
即可啟動 - 輸入
ps -A | grep java
: 檢查是否啟動 - 開放防火牆 :
firewall-cmd --permanent --add-port=8080/tcp
- 如果顯示防火牆顯示
not runing
,那麼使用service firewalld start
開啟防火牆 - 在
bin
文件夾下輸入 :./shutdown.sh
即可關閉 - 最後在瀏覽器輸入
http://ip:8080
即可訪問
雲伺服器需要開啟8080埠
- 自己的伺服器 ---- > 管理 ---> 本例安全組 ----> 配置規則 ---- > 添加安全組規則 ----> 添加埠範圍
8080/8080
安裝MySQL
Mariadb
和Mysql
是一樣的,不過mariadb
現在是開源免費的。mysql以後的版本都是收費的yum -y install mariadb mariadb-server
: 使用此命令安裝即可- 安裝了兩個組件,客戶端
mariadb
- 啟動:
systemctl start mariadb.service
- 關閉:
systemctl stop mariadb.service
- 重新啟動:
systemctl restart mariadb.service
- 開機啟動:
systemctl enable mariadb.service
- 取消開機啟動:
systemctl disable mariadb.service
連接mariadb
mysql -u root
: 初始安裝沒有密碼
設置mysql密碼
- set password=password("密碼");
flush privileges;
- 設置完成之後使用
mysql -u root -p
輸入密碼進入即可
mysql 解決中文亂碼
show variables like %char%;
查看自己的編碼是否是utf8
- 在
/etc/my.cnf
添加如下代碼即可
[mysqld]character-set-server=utf8 [client]default-character-set=utf8 [mysql]default-character-set=utf8
資料庫遷移【Import】
- 意思就是將本地的資料庫遷移到遠程伺服器中。不需要在遠程伺服器中重新創建和插入數據了
步驟
- 導出(備份)資料庫
mysqldump -u root -p密碼 資料庫名字 > 文件名.sql
- 比如 :
mysqldump -u root -proot tedu_store>tedu_store.sql;
,導出的tedu_store.sql
就會在當前目錄中,這個命令不需要登錄mysql
即可完成
- 將
tedu_store.sql
上傳到遠程伺服器中 sftp 用戶名@IP
: 登錄遠程伺服器的上傳下載功能put tedu_store.sql
: 上傳
- 在遠程伺服器中創建資料庫
create database tedu_store;
- 導入數據:
use tedu_store
source tedu_store.sql
即可,這裡需要指定路徑
部署項目在遠程伺服器上
步驟
- 導出一個
war
包,比如Tedu_store.war
項目右擊
--- >Export
---- >WAR File
---->選擇位置
------->Finish
- 導出的
Tedu_store.war
上傳到遠程伺服器 - 放在
tomcat
中的webapps
包下 - 我們將
Tedu_store.war
放在webapps下,那麼會自動生成一個Tedu_store
,這個就是我們的項目
- 修改資料庫的連接參數
- 第一種:在本地電腦打包的時候就修改成遠程伺服器的資料庫的連接參數
- 第二種: 在遠程伺服器中修改
- 進入到項目的
WEB-INF/classes
下,其中有一個db.properties
文件,其中就是配置資料庫的信息,我們可以使用vi
編輯器修改
- 重啟
tomcat
,我們使用zip
安裝方式安裝的,因此需要在Tomcat
的bin
下執行: ./shutdown.sh
關閉./start.sh
啟動
- 接下來就是訪問即可
http://ip:8080/Tedu_store/.....
查看錯誤信息
- 進入到
Tomcat
的安裝目錄的logs
目錄,下面有一個catalina.out
,這裡面存儲的就是項目的運行信息,我們可以在其中查找項目的錯誤信息
輸出重定向
- 將一個命令的輸出目標從標準控制台(標出輸出)重新定向到其他設備(一般是一個文件)
>
: 生成一個新文件>>
:不生成一個新文件,在文件後面追加- 比如
cat file.txt>demo.txt
, : 將顯示的file.txt
文件內容重定向到deom.txt
文件中,如果`demo.txt不存在,那麼會被新建,如果存在,那麼將會覆蓋其中的內容。 cat file.txt>>demo.txt
: 將顯示的file.txt
文件的內容在demo.txt
後面追加,如果demo.txt
不存在就新建,如果存在,那麼在其內容的後面追加
作用
- 記錄命令的執行日誌
tar -czvf file.tar.gz file>file.log
: 將這個執行語句的日誌記錄到file.log
中
- 快速生成文本文件
echo "hello World" >hello.txt
文件許可權 chmod
-rw-rw-r
: 文件擁有者、群組、其他
為所有用戶設置許可權
x
:執行許可權,如果一個文件夾沒有執行許可權,那麼我們使用cd 文件夾名
是不允許進入查看內容的chmod +x file
: 為file
文件夾添加執行許可權chmod -x file
: 為file
文件夾刪除執行許可權
r
: 可讀許可權chmod -r file.txt
: 刪除file.txt
文件的可讀許可權chmod +r file.txt
: 添加可讀許可權
w
: 可寫許可權chmod -w file.txt
chmod +w file.txt
為不同的用戶設置許可權
chmod u+x,g-x,o-x file
: 表示文件擁有者添加執行許可權,群組用戶刪除執行許可權,其他用戶刪除執行許可權chmod g+x file
: 為群組添加執行許可權
使用數字代表許可權
r
: 4w
: 2x
: 1rwx
: 4+2+1=7rw-
: 4+2 =6--x
: 1r-x
: 4+1=5chmod 664 file.txt
: 為文件擁有這設置rw-
許可權,為群組設置rw-
許可權,為其他用戶設置r--
許可權
可以執行的文件
- 文件是可執行的二進位程序或者文件是可執行的腳本程序
- 文件具有可以執行的許可權
可執行的腳本
- 可執行的腳本,也是稱為shell腳本,是一個文本文件,文件的每一行都是可以執行的shell命令,如果有執行許可權,這個文件就可以執行,執行時候批量執行文件中的每個命令,經常用於自動化運維
推薦閱讀:
※物理地址和虛擬地址的分布
※glibc源碼分析(一)系統調用
※在centos和redhat上安裝docker
※一步一步學ROP之linux_x86篇
※Linux安全問題