作為一個java后端開發者,在日常工作中肯定會有和linux打交道的時候。下面我整理了一些開發中可能需要用到的一些命令(寫這篇隨筆前,我也沒有什么操作經驗,主要防止自己忘記這些操作命令,以后有用到新的命令再修改)。
以下的操作是通過SecureCRT對服務器進行遠程連接,使用WinSCP來進行文件上傳。
一、用戶相關的一些命令
1.新建用戶 adduser username (只有root有權限新增用戶)
2.修改用戶密碼 passwd username
3.切換用戶 su username
4.刪除用戶 userdel username
5.以管理員的身份進行操作 sudo
二、文件的操作命令
1.列出文件的基本信息 ls -l
-rw-rw-r-- 1 ubuntu ubuntu 162 Mar 26 14:49 t.tar.gz
第一位字符d表示目錄,- 表示文件
后面9位分別是當前用戶、當前用戶所在組和其他用戶對文件的權限每個占三位。文件的權限中 - 表示沒有權限; r表示讀,數字為4;w表示寫,數字為2;x表示執行,數字為1。
后面表示文件所屬的用戶和組,以及文件的大小,創建日期和文件名
2.修改文件操作權限
chmod u+x filename 表示給所屬用戶增加執行的權限
chmod g-w filename 表示給組減少寫的權限
chmod o+w filename 表示給其他用戶增加寫的權限
chmod 777 filename 表示給所屬用戶,所屬組,其他用戶開放所有權限;7是通過4+2+1得到
3.文件的操作
pwd 顯示當前所在的路徑
mkdir filename 創建文件夾
mkdir -p /a/b 創建嵌套的目錄
touch filename 創建文件
cp filename new_filename 復制文件
mv filename path 移動文件(如果路徑中帶文件名,則會給文件重命名)
rm -r filename 刪除文件或者文件夾,(-r是遞歸的意思)
rm -f 強制刪除目錄或文件
rmdir filename 刪除文件夾(只能是空文件夾)
find / -name "install.log“ 查找 可以用*作為通配符
4.文件的內容操作
find /path -name "*findname*" -type d 查詢某個文件夾下面名字包含filename的文件夾
find /path -type d |wc -l 統計某路徑下文件夾的個數
find /path -type f | wc -l 統計某路徑下文件的個數
cat 查看文件內容
wc -lwc filename 統計文件的行數,字符數,字節數 l表示行數,w表示字符數,c表示字節數
> 覆蓋式輸出重定向符 >>追加式輸出重定向符
vi filename 對文件進行編輯。
vi有三種模式,分別是命令模式、插入模式和末行模式。
默認進入命令模式,其他模式按esc也可進入命令模式
光標← ↑ → ↓ 上下左右
Page Down 或Ctrl+F 下翻一頁
Page Up 或Ctrl+B 上翻一頁
Home或^ 或0 跳至行首
End 或$ 跳至行尾
#→ 右跳#個字符
#← 左跳#個字符
1G 或 gg 跳至首行
G 跳至尾行
#G 跳至第#行
:set nu 示行數
:set nonu 顯示行數
x或del 刪除光標處的單個字符
dd 刪除當前行
#dd 刪除當前行開始的#行
d^ 刪除當前行首至光標的字符
d$ 刪除當前行尾至光標的字符
yy 復制當前行
#yy 復制當前行開始的#行
p 粘貼至光標的右側
P 粘貼至光標的左側
/word 向下查找字符串word
?word 向上查找字符串word
n 光標定位至下一個匹配字符
N 光標定位至上一個匹配字符
u 單次撤銷 多次恢復
U 撤銷所有編輯
插入模式:命令模式下,i 、a、o、 Insert即可進入。該模式可用於編輯文本
末行模式:shit+: 即可進入
:w 保存文件
: /filename 另存文件為fielname
:q 未修改時退出
:q! 不保存且強制退出
:wq 保存修改並退出
:s /old/new 前行的第一個old替換為new
:s /old/new/g 前行的所有old替換為new
:#,# s /old/new/g #行間的所有old替換為new
:% s /old/new/g 當前文件所有old替換為new
:s /old/new/c old替換為new時提示確認替換
:g/str1/s//str2/g str2 替換所有的str1
二、程序員日常維護項目所用的命令
1.找到服務器對應的進程 ps -ef |grep "tomcat" 這樣就能知道服務器所對應的進程,以及服務器安裝的目錄。
2.關閉服務器可以用kill -9 pid 殺死進程。也可以到tomcat的bin目錄下./shutdown.sh。開啟服務器./startup.sh
3.用winscp,上傳修改后的文件。
4.日志查看,tail -200f catalina.out 顯示日志的最后200行。ctrl+c 退出查看。
三、jdk和tomcat的安裝和卸載(我個人習慣安裝在/opt目錄下)
打包 tar -cvf 1.tar 1.txt
打包並壓縮 tar -cvzf 1.tar.gz 1.txt
壓縮 gzip 1.txt
解壓 gzip -d 1.txt.zip
解壓縮並拆包 tar -zxvf 1.tar.gz
拆包 tar -xvf XXXXX.tar
解壓.tar.xz文件,要先執行 xz -d XXXXXX.tar.xz 將該文件變為.tar文件然后再解包
有兩種方式安裝,自動和手動。
①從官網下載所需版本jdk安裝包,上傳到服務器,並解壓。
設置環境變量:vim /etc/profile
在文件的末尾加上
export JAVA_HOME="/opt/jdk1.8.0_131"
export PATH="${JAVA_HOME}/bin:$PATH"
修改完成后用source /etc/profile執行profile文件,然后用java -version 進行測試。
②從官網下載對應的版本tomcat安裝包,上傳到服務器,並解壓。
1、查看/etc/profile文件中有沒有配置環境變量。
2、修改tomcat的conf目錄下server.xml文件,修改http1.1監聽的端口改為80。
3、啟動服務器tomcat的bin目錄下./startup.sh
4、關閉服務器tomcat的bin目錄下./shutdown.sh
5、查看端口號被哪個線程占用 lsof -i:80
6、根據pid查詢進程相關信息;cd /proc/5941;然后ls -ail 即可。
四、其他命令記錄
1.卸載軟件 apt-get purge XXXX
