Linux命令記錄

目錄
通過進程名查看其佔用端口
查看進程
關閉進程
端口
查看進程佔用CPU、內存
重啓主機
查看和添加環境變量
解壓縮
文件操作
Nginx
Jenkins 構建通過shell無法啓動進程問題
後臺運行jar包
Zookeeper
切換用戶
Elasticsearch
Elastichsearch-head
終端控制鍵
MongoDB
看磁盤內存
Redis
Tomcat
進程後臺運行
通過進程名查看其佔用端口
1、先查看進程pid
ps -ef | grep 進程名

2、通過pid查看佔用端口
netstat -nap | grep 進程pid

查看進程
ps 參數
-A
-ef
-aux //顯示所有狀態
查找nginx相關進程:

ps -ef |grep nginx
1
關閉進程
殺死進程最安全的方法是單純使用kill命令,不加修飾符,不帶標誌。
首先使用ps -ef命令確定要殺死進程的PID,然後輸入以下命令:

kill -pid
1
註釋:標準的kill命令通常都能達到目的。終止有問題的進程,並把進程的資源釋放給系統。然而,如果進程啓動了子進程,只殺死父進程,子進程仍在運行,因此仍消耗資源。爲了防止這些所謂的“殭屍進程”,應確保在殺死父進程之前,先殺死其所有的子進程。

確定要殺死進程的PID或PPID

ps -ef | grep httpd
1
以優雅的方式結束進程
kill -l PID
1
-l選項告訴kill命令用好像啓動進程的用戶已註銷的方式結束進程。當使用該選項時,kill命令也試圖殺死所留下的子進程。但這個命令也不是總能成功–或許仍然需要先手工殺死子進程,然後再殺死父進程。

TERM信號
給父進程發送一個TERM信號,試圖殺死它和它的子進程。
kill -TERM PPID
1
killall命令
killall命令殺死同一進程組內的所有進程。其允許指定要終止的進程的名稱,而非PID。
killall httpd
1
停止和重啓進程
有時候只想簡單的停止和重啓進程。如下:
kill -HUP PID
1
該命令讓Linux和緩的執行進程關閉,然後立即重啓。在配置應用程序的時候,這個命令很方便,在對配置文件修改後需要重啓進程時就可以執行此命令。

強殺
kill -9 PID
1
同樣
kill -s SIGKILL
1
這個強大和危險的命令迫使進程在運行時突然終止,進程在結束後不能自我清理。危害是導致系統資源無法正常釋放,一般不推薦使用,除非其他辦法都無效。

端口
netstat命令參數:
  -t : 指明顯示TCP端口
  -u : 指明顯示UDP端口
  -l : 僅顯示監聽套接字(所謂套接字就是使應用程序能夠讀寫與收發通訊協議(protocol)與資料的程序)
  -p : 顯示進程標識符和程序名稱,每一個套接字/端口都屬於一個程序。
  -n : 不進行DNS輪詢,顯示IP(可以加速操作)

netstat -ntlp //查看當前所有tcp端口·
netstat -ntulp |grep 80 //查看所有80端口使用情況·
netstat -an | grep 3306 //查看所有3306端口使用情況·

查看進程佔用CPU、內存
ps auxw
1
重啓主機
Linux 的五個重啓命令
  1、shutdown
  2、poweroff
  3、init
  4、reboot
  5、halt

查看和添加環境變量
Linux下查看和添加環境變量
編輯環境變量的配置文件:

vi /etc/profile
1
在文件中使用export PATH=/usr/bin:/usr/sbin:/bin:/sbin添加環境變量。
結束後輸入命令使得資源生效:

source /etc/profile
1
解壓縮
zip命令
  解壓:unzip FileName.zip
  壓縮:zip FileName.zip DirName

tar命令
  解包:tar zxvf FileName.tar
  打包:tar czvf FileName.tar DirName

-c: 建立壓縮檔案
-x:解壓
-t:查看內容
-r:向壓縮歸檔文件末尾追加文件
-u:更新原壓縮包中的文件

這五個是獨立的命令,壓縮解壓都要用到其中一個,可以和別的命令連用但只能用其中一個。下面的參數是根據需要在壓縮或解壓檔案時可選的。

-z:有gzip屬性的
-j:有bz2屬性的
-Z:有compress屬性的
-v:顯示所有過程
-O:將文件解開到標準輸出

文件操作
新建目錄:mkdir 文件夾
顯示用戶當前工作目錄:pwd
刪除rm [fir] 文件或目錄
參數說明:
-f:強制刪除
-i:交互模式,在刪除前詢問用戶是否操作
-r:遞歸刪除,常用在目錄的刪除

複製CP
格式: CP [選項] 源文件或目錄 目的文件或目錄
選項說明:-b 同名,備分原來的文件
-f 強制覆蓋同名文件
-r 按遞歸方式保留原目錄結構複製文件
cp -Rf /home/user1/* /root/temp/
將 /home/user1目錄下的所有東西拷到/root/temp/下而不拷貝user1目錄本身。
即格式爲:cp -Rf 原路徑/ 目的路徑/

移動mv
mv ./WorkReport/web.xml ./WorkReport/WEB-INF/
注:移動/WorkReport/web.xml文件到/WorkReport/WEB-INF/
mv /data/new /data/old/
注:移動/data/new 到/data/old/文件夾下
注意點:移動文件夾的話就不要再加 / 了
如果是移動文件夾下的所有文件的話就可以文件夾後面跟上 /
mv /data/new/
/data/old/

重命名
將目錄A重命名爲B
mv A B
1
Nginx
1.啓動:

./nginx -c /usr/local/nginx/conf/nginx.conf
1
2.重啓:
方法一:進入nginx可執行目錄sbin下,輸入命令./nginx -s reload 即可
方法二:查找當前nginx進程號,然後輸入命令:kill -HUP 進程號 實現重啓nginx服務

Jenkins 構建通過shell無法啓動進程問題
原因:
Jenkins在構建結束後會把額外啓動的進程殺死。 到這裏知道原因了,那就看怎麼解決了。

解決方案:
解決辦法其實非常容易,只需要在執行 .sh w件之前,加上 BUILD_ID=dontKillMe

後臺運行jar包
//&代表在後臺運行。
java -jar shareniu.jar --server.port=9003&

//nohup 意思是不掛斷運行命令,當賬戶退出或終端關閉時,程序仍然運行
nohup java -jar shareniu.jar &

//輸出內容不打印到屏幕上,而是輸出到out.file文件
nohup java -jar shareniu.jar >out.file &

Zookeeper
//啓動服務
bin# ./zkServer.sh start
//配置文件目錄
/home/apache-zookeeper-3.5.5/bin/../conf/zoo.cfg

切換用戶
su username

Elasticsearch
創建ES用戶和組(創建elasticsearch用戶組及es用戶)

groupadd elasticsearch
useradd es -g elasticsearch
chown -R es /usr/local/elasticsearch-6.2.3 該命令是更改該文件夾下所屬的用戶組的權限

創建ES數據文件和日誌文件,直接在root用戶根目錄一下創建就可以了(這個要和下一步配置的裏面的路徑相同)

mkdir /path
chown -R es /path/
su es 切換用戶
mkdir -p to/data
mkdir -p to/logs

啓動
首先切換到es用戶
su es
進入到bin 目錄下執行 ./elasticsearch 命令就可以了
執行 ./elasticesrarch -d 是後臺運行
查找ES進程
ps -ef | grep elastic
殺掉ES進程
kill -9 2382(進程號)
重啓ES
sh elasticsearch -d

Elastichsearch-head
安裝:
elasticsearch-head 安裝介紹

啓動:
進入elastichsearch-head目錄

nohup grunt server &
1
終端控制鍵
Ctrl+C
發送Terminal到當前的程序,強制結束當前的進程
Ctrl+Z
掛起,fg回車後就可以回來,當然可以掛起好多進程到後臺,然後fg 加編號就能把掛起的進程返回到前臺。配合bg和fg命令進行前後臺切換

MongoDB
以配置文件啓動:

./mongod -f ./ mongodb.conf
1
mongodb.conf

dbpath=/usr/local/mongodb/data/
logpath=/usr/local/mongodb/logs/mongodb.log
port=27017
auth=true
bind_ip=0.0.0.0,127.0.0.0
logappend=1
#開啓mongodb數據庫副本集
plogSize=10000
replSet=myDevReplSet

常見命令行操作:
mongodb命令行操作

shell連接:
./mongo ip:port/dbname -u 用戶名 -p 密碼

啓動副本集:
./mongod --replSet myrs --dbpath /usr/local/mongodb/data/27018/ --port 27018 --bind_ip 0.0.0.0 --logpath /usr/local/mongodb/logs/27018/27018.log --fork --keyFile /usr/local/mongodb/bin/keyFile

連接副本集:
任意成員,如 27017 端口:
mongo --port 27019

初始化副本集:
rs.initiate()
查看副本集配置信息:
rs.conf()
配置延遲節點:該節點必須被隱藏,並且不能成爲主節點。適用範圍:處理一定時間段內的誤操作(個人感覺意義不大)
cfg=rs.conf()
cfg.members[1].slaveDelay=60 ##延遲60秒
cfg.members[1].priority=0
cfg.members[1].hidden=true
rs.reconfig(cfg)
rs.conf()

副本集安全認證:
使用keyFile文件
MongoDB複製集安全認證

use admin
db.auth("user","pwd")

mongo-connector 連接mongodb與elasticsearch

./mongo-connector -m mongodb://user:pwd@localhost:port -t localhost:9200 -d elastic_doc_manager
1
看磁盤內存
查看磁盤Z:
df -k:以KB爲單位顯示磁盤使用量和佔用率
df -m:以Mb爲單位顯示磁盤使用量和佔用率

查看內存:
top
free
cat /proc/meminfo
pmap

free -h

Redis
1.啓動服務:

./redis-server /usr/local/redis-3.2.8/conf/redis.conf
1
2.客戶端命令:
連接

redis-cli -h host -p 6379-a password
1
清空所有數據庫數據

flushall
1
Tomcat
啓動服務:

./startup.sh
1
進程後臺運行
//輸出記錄到out.file文件
nohup ... >out.file &

-daemon

nohup命令、setsid命令、Daemon(守護進程)簡要梳理

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章