.cd命令
- cd 回到跟目錄
- cd uqihong 進入到uqihong這個文件夾(且cd命令只能一級一級的進入)
2.復制命令
- cp -r /usr/local/tomcat-ushangxue-www/. /usr/local/tomcat-uqihong-www 將一個文件夾下所有內容復制到另一個文件夾
- cp -r /TEST/test1 /TEST/test2 將test1文件夾復制到test2下,test1文件夾會在test2文件夾下
- cp /TEST/test1/test01 /TEST/test2 將test01文件復制到test2文件夾下
cp的參數講解
-a :相當於 -pdr 的意思;
-d :若來源文件為連結文件的屬性(link file),則復制連結文件屬性而非檔案本身;
-f :為強制 (force) 的意思,若有重復或其它疑問時,不會詢問使用者,而強制復制;
-i :若目的檔(destination)已經存在時,在覆蓋時會先詢問是否真的動作!
-l :進行硬式連結 (hard link) 的連結檔建立,而非復制檔案本身;
-p :連同檔案的屬性一起復制過去,而非使用預設屬性;
-r :遞歸持續復制,用於目錄的復制行為;
-s :復制成為符號連結文件 (symbolic link),亦即『快捷方式』檔案;
-u :若 destination 比 source 舊才更新 destination !
3.創建目錄
- mkdir test1 創建一個test1的文件夾或者目錄
- mkdir -p test3/test4 從根目錄創建兩級目錄test3和test4
- mkdir test1 test2 同時創建兩個平級的目錄
4.創建文件
- touch 1.txt 創建一個名為1.txt的文件
5.編輯文件
- dd 連續按兩次d就可以刪除一行(注意不能再編輯模式下使用)
- esc+u 可以回退到上一步操作
- shift+insert(shift+fn+insert) 粘貼內容
- ctrl+insert(ctrl+fn+insert) 復制內容
- 編輯1.txt的文件 vim 1.txt 但是此時是command mode 模式,然后 在英文狀態下輸入i即可進入insert mode 模式進行編輯
- 如果想退回到command mode 模式在應為輸入法狀態下
- 按esc鍵然后輸入":wq"就可以保存退出了
- ":q"表示退出編輯(這個應該是不保存退出)
- ":q!"表示不保存強制退出
- ":w"表示保存不退出
- ":w!"表示強制保存不退出
- 如果出現swap file "*.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:
這個錯誤,說明上次的修改沒有保存,因為vim的操作是:先copy一份所要修改的文件然后對着臨時文件進行修改,當你執行:wq命令是才會把臨時文件的操作更新到源文件,如果沒有進行保存操作就會出現上面的錯誤提示,如果想要避免這個錯誤提示可以刪除這個臨時文件: rm .*.swp //刪除所有隱藏文件
6.刪除文件
- rm 1.txt 刪除文件
- rm -r test1/ 刪除目錄
- rm -rf test3/ 強制刪除目錄
- 下面三個是當文件過多,rm不起作用時,刪除文件用的
- find ./ -type f -delete
- find ./ -type f -exec rm {} \
- rsync -a --delete blanktest/ test/
7.連接網絡:
- yum install gcc wget vim unzip zip tree lrzsz man -y 出現complete表示執行完成
8.tar命令的操作
- tar -cf all.tar *.jpg 這條命令是將所有.jpg的文件打成一個名為all.tar的包。-c是表示產生新的包 ,-f指定包的文件名
- tar -rf all.tar *.gif 這條命令是將所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的 意思
- tar -uf all.tar logo.gif 這條命令是更新原來tar包all.tar中logo.gif文件,-u是表示更新文件的意思
- tar -tf all.tar 這條命令是列出all.tar包中所有文件,-t是列出文件的意思
- tar -xf all.tar 這條命令是解出all.tar包中所有文件,-x是解開的意思
9.tar命令和解壓縮命令的同時使用
- tar和gzip合作使用(.tgz結尾或.tar.gz結尾是一致的)
- tar -czf all.tar.gz *.jpg 這條命令是將所有.jpg的文件打成一個tar包,並且將其用gzip壓縮,生成一個 gzip壓縮過的包,包名為all.tar.gz
- tar -xzf all.tar.gz 這條命令是將上面產生的包解開
- tar和bzip2合作使用(tar.bz2結尾的文件)
- tar -cjf all.tar.bz2 *.jpg 這條命令是將所有.jpg的文件打成一個tar包,並且將其用bzip2壓縮,生成一個 bzip2壓縮過的包,包名為all.tar.bz2
- tar -xjf all.tar.bz2 這條命令是將上面產生的包解開
- tar和compress(也是一個壓縮程序) 合作使用
- tar -cZf all.tar.Z *.jpg 這條命令是將所有.jpg的文件打成一個tar包,並且將其用compress壓縮,生成 一個uncompress壓縮過的包,包名為all.tar.Z
- tar -xZf all.tar.Z 這條命令是將上面產生的包解開
10.壓縮文件gzip(對應解壓程序gunzip)和bzip2(對應解壓程序bunzip2)
- gzip是GNU組織開發的一個壓縮程序,.gz結尾的文件就是gzip壓縮的結果。與gzip 相對的解壓程序是gunzip。tar中使用-z這個參數來調用gzip
- gzip -d all.gz 壓縮文件
- gunzip all.gz 解壓文件
- bzip2是一個壓縮能力更強的壓縮程序,.bz2結尾的文件就是bzip2壓縮的結果。 與bzip2相對的解壓程序是bunzip2。tar中使用-j這個參數來調用gzip
- bzip2 -d all.bz2 壓縮文件
- bunzip2 all.bz2 解壓文件
- compress也是一個壓縮程序,但是好象使用compress的人不如gzip和bzip2的人 多。.Z結尾的文件就是compress 壓縮的結果。與 compress相對的解壓程序是uncompress 。tar中使用-Z這個參數來調用compress
- uncompress all.Z 解壓文件
- zip和unzip程序,zip是壓縮程序,unzip是解壓程序
- zip all.zip *.jpg 這條命令是將所有.jpg的文件壓縮成一個zip包
- unzip all.zip 這條命令是將all.zip中的所有文件解壓出來
11.rar文件的處理
- 要在linux下處理.rar文件,需要安裝RAR for Linux,可以從網上下載,但要記住,RAR for Linux 不是免費的;可從http://www.rarsoft.com/download.htm下載RARfor Linux 3.2.
- tar -xzpvf rarlinux-3.2.0.tar.gz
- cd rar
- make
- 這樣就安裝好了,安裝后就有了rar和unrar這兩個程序,rar是壓縮程序,unrar 是解壓程序。它們的參數選項很多,這里只做簡單介紹,依舊舉例說明一下其用法
- rar a all *.jpg 這條命令是將所有.jpg的文件壓縮成一個rar包,名為all.rar,該程序會將.rar 擴展名將自動附加到包名后
- unrar e all.rar 這條命令是將all.rar中的所有文件解壓出來
12.上傳文件命令(rz命令)
- 主要用於將window上的文件上傳到linux中
- 但是上傳大一些的文件或者含有控制字符的時候SecureCRT提示 :"zmodem transfer canceled by remote side" 解決:使用 rz -e 命令可以解決這個問題
13.ls命令
- 主要用於列出目錄下的的內容
- ls -l 列出目錄下的所有目錄
- ls -f 列出目錄下的所有文件
- ls -a 列出目錄下的所有內容個,包括隱藏的內容
14.find命令
- find /home -name *.txt 查找home目錄下以.txt結尾的文件
- find /home -mtime -2 在/home下查最近兩天內改動過的文件
- find /home -atime -1 查1天之內被存取過的文件
- find /home -mmin +60 在/home下查60分鍾前改動過的文件
- find /home -amin +30 查最近30分鍾前被存取過的文件
- find / -name config.properties 全局查找config.properties文件
15.sh命令(啟動某個程序的命令)
- 用於執行某個目錄的下的以.sh結尾的文件腳本例如:sh /usr/local/src/install/jdk/install.sh
16.Ctrl命令
- Ctrl+C 結束當前終端執行的程序
- Ctrl+A 將光標移到命令行的開始處
- Ctrl+E 將光標移到命令行的結尾處
- Ctrl+U 刪除行首到光標處的內容
- Ctrl+Z 把當前進程送到后台處理
17.tap鍵 用於補全操作
18.解壓war的操作
- jar -xvf project.war 將war包解壓到當前目錄下
19.查看進程和殺死進程
- kill 命令用於終止進程例如: kill -9 [PID](-9表示強迫進程立即停止)
- ps命令查找與進程相關的PID號:
- ps a 顯示現行終端機下的所有程序,包括其他用戶的程序。
- ps -A 顯示所有程序。
- ps c 列出程序時,顯示每個程序真正的指令名稱,而不包含路徑,參數或常駐服務的標示。
- ps -e 此參數的效果和指定"A"參數相同。
- ps e 列出程序時,顯示每個程序所使用的環境變量。
- ps f 用ASCII字符顯示樹狀結構,表達程序間的相互關系。
- ps -H 顯示樹狀結構,表示程序間的相互關系。
- ps -N 顯示所有的程序,除了執行ps指令終端機下的程序之外。
- ps s 采用程序信號的格式顯示程序狀況。
- ps S 列出程序時,包括已中斷的子程序資料。
- ps -t<終端機編號> 指定終端機編號,並列出屬於該終端機的程序的狀況。
- ps u 以用戶為主的格式來顯示程序狀況。
- ps x 顯示所有程序,不以終端機來區分
例如:
- 最常用的方法是ps aux,然后再通過管道使用grep命令過濾查找特定的進程,然后再對特定的進程進行操作。
ps aux | grep program_filter_word,ps -ef |grep tomcat
- ps -ef|grep java|grep -v grep 顯示出所有的java進程,去處掉當前的grep進程。
20.在一個文件中查找文本的命令
- grep ' str' filename str:表示要查找的字符竄 filename表示在哪個文件查找 例如:grep 'uqihong' server.xml
- vi或者vim filename然后“/” 就可以查找要找的內容了 filename表示要編輯的文件
21.清屏命令
- ctrl+l 這是清屏的快捷鍵
- clear 刷新屏幕,本質和第一個命令一樣,只是將屏幕向后翻一頁,如果向上滾屏還是可以看到以前的內容
- reset 這個命令將完全刷新終端屏幕,之前的終端輸入操作信息將都會被清空,這樣雖然比較清爽,但整個命令過程速度有點慢,使用較少。值得一提的是reset命令在你的終端控制錯亂時非常有用。如輸入字符不出現在光標的位置的情況。還有當你敲擊回車鍵時,新提示符並沒有出現在新行上而是出現在老提示符的前面。此時reset命令就能用來修正這些問題
- printf "\033c" 這個命令它才是真正的清空了終端屏幕
22.啟動tomcat並打印日志
- /usr/local/tomcat-uqihong-www/bin/startup.sh & tail -f /usr/local/tomcat-uqihong-www/logs/catalina.out
23.nginx命令
- /usr/local/nginx/nginx/sbin/nginx -t 測試nginx配置文件是否編寫正確
- /usr/nginx/sbin/nginx -s reload 重啟nginx的命令
24.查找歷史使用的命令
- hostory 可以查找歷史使用的命令
- !XXXX “XXXX”代表上面查出來的命令的編號,這樣就是一直接執行對應的命令
25.sed命令
26.root用戶操作
- chown -R dev:dev /usr/local/apps/uqihong-web-www/ /usr/local/apps/uqihong-web-manage/ 將某些文件的權限指給另一個用戶
27.創建新用戶和修改用戶
添加:
- useradd dev 創建一個用戶名為dev的用戶
- passwd dev 鎖定這歌dev用戶,准備為此用戶添加密碼,然后輸入兩次密碼就可以了
修改
- usermod -l newUserName oldUserName 修改用戶名
- passwd命令可以修改密碼 修改root密碼:直接輸入passwd ;修改其他用戶密碼:passwd username,然后輸入兩次新密碼就可以了
- usermod其他參數如下:
- -c<備注> 修改用戶帳號的備注文字。
- -d<登入目錄> 修改用戶登入時的目錄。
- -e<有效期限> 修改帳號的有效期限。
- -f<緩沖天數> 修改在密碼過期后多少天即關閉該帳號。
- -g<群組> 修改用戶所屬的群組。
- -G<群組> 修改用戶所屬的附加群組。
- -l<帳號名稱> 修改用戶帳號名稱。
- -L 鎖定用戶密碼,使密碼無效。
- -s 修改用戶登入后所使用的shell。
- -u 修改用戶ID。
- -U 解除密碼鎖定。
28.回退和前進操作
- u 回退
- ctrl+r 前進
29.如何將
- 安裝中文語言包: yum groupinstall chinese-support
30.查看linux服務器的內存信息
- top 執行
- q 關閉
- free -m 產看剩余內存
31.遠程復制
- scp /usr/local/tomcattwo-tfedu-www/conf/server.xml dev@192.168.1.16:/usr/local/tomcat-tfedu-www/conf/server.xml
32.管道的使用
管道的使用可以達到類似於鏈式命令的效果。例如:
alias rs_tfude="ps aux | grep tomcat-tfedu-www | grep -v grep | awk '{print $2}' | xargs kill -9 ;/usr/local/tomcat-tfedu-www/bin/startup.sh ;tail -200f /usr/local/tomcat-tfedu-www/logs/catalina.out"
- "|"表示正則匹配,此符號后面的東西就是匹配的條件用於篩選
- 每次篩選的結果都會向后傳遞
- awk 表示獲取值,例如:awk '{print $2}' 表示打印出前面傳遞過來的內容的第二個位置的值
- xargs 給命令傳遞參數的過濾器
33.別名
可以把一些常用的命令,封裝成一個簡單的自定義命令,這個可以減少操作,別名的使用是和登錄用戶有關的,換了用戶所起的別名就不能使用了。
步驟:
- vim .bashrc 此文件就是我們設置別名的地方
- 格式:alias rs_tfedu_www="xxx" alias:這個是固定寫法; rs_tfedu_www:是我們起的別名;xxx:是我們的命令;例如:alias rs_tfedu8="ps aux|grep tomcat8 |grep -v grep |awk '{print \$2}'| xargs kill -9 ;/usr/local/tomcat8/bin/startup.sh ;tail -f /usr/local/tomcat8/logs/catalina.out"
34.查看內存
- top
第三行就是CPU的使用情況了,如下:
%Cpu(s) | |
us | 用戶空間占用CPU百分比 |
sy | 內核空間占用CPU百分比 |
ni | 用戶進程空間內改變過優先級的進程占用CPU百分比 |
id | 空閑CPU百分比 |
wa | 等待輸入輸出的CPU時間百分比 |
hi | CPU服務於硬件中斷所耗費的時間總額 |
si | CPU服務軟中斷所耗費的時間總額 |
st | Steal Time |
第四、五行就是內存的使用情況了,和free命令里相似。然后是列表的
PID | 進程ID |
USER | 進程所有者 |
PR | 優先級 |
NI | nice值,負值表示高優先級,正值表示低優先級 |
VIRT | 進程使用的虛擬內存總量 |
RES | 進程使用的、未被換出的物理內存大小 |
SHR | 共享內存大小 |
S | 進程狀態 |
%CPU | 上次更新到現在的CPU時間占用百分比 |
%MEM | 進程使用的物理內存百分比 |
TIME+ | 進程使用CPU總時間 |
COMMAND | 命令名、命令行 |
- free
- vmstat
35.查看日志
- 查看當前日志:cat /home/kuangxiang/za-athena-insure/insf-ss_regular_app_athenainsure_lt_all.log|grep -a10 -b10 '前置授信' --color
- 查看打成tar.gz得日志:zcat 20181102.tar.gz | grep -a 'ee';或者zcat za-athena-insure/20181029.*|grep --binary-files=text 'JDZEDXYXf759e076289842a39eb0a0c96fde0416' -C 30
- 從多個日志文件中查找關鍵字: find . -type f -name "channel-service.2019-12-04.*" |xargs grep -C100 'GJJ51FrontServiceImpl.apply'|grep -a '19339183'