Linux コマンドは日常の開発で頻繁に使用されますが、それでも忘れてしまったり、奇妙な問題に遭遇したりすることがあります。この記録を自分自身に思い出させるために使用してください~随時更新~
記事ディレクトリ
1. 検索プロセス
ポート番号 80 のプロセスを検索します。
netstat -nlp | grep :80
ポート 8181 のすべての PID プロセスを表示
sudo lsof -i tcp:8181
「java」でプロセスを検索
ps -ef | grep java
実行中のすべての jar を表示
ps aux | grep jar
2.プロセスを強制終了します
プロセスを強制終了するには、pid はプロセス番号です。
これを使用してsudo lsof -i tcp:8181
、対応するポートの pid を見つけます。
kill -9 [pid]
3.jarを実行する
jarパッケージを直接起動する
nohup java -jar demo-0.0.1-SNAPSHOT.jar > run.log 2>&1 &
スクリプトを使用してjarを起動する
./run.sh demo-0.0.1-SNAPSHOT.jar
起動スクリプトのリファレンス:
#!/bin/bash
#jar包文件路径及名称(目录按照各自配置)
APP_NAME=mydemo.jar
#日志文件路径及名称(目录按照各自配置)
LOG_FILE=run.log
#查询进程,并杀掉当前jar/java程序
pid=`ps -ef|grep $APP_NAME | grep -v grep | awk '{print $2}'`
kill -9 $pid
echo "$pid进程终止成功"
sleep 2
#判断jar包文件是否存在,如果存在启动jar包,并时时查看启动日志
if test -e $APP_NAME
then
echo '文件存在,开始启动此程序...'
# 启动jar包,指向日志文件,2>&1 & 表示打开或指向同一个日志文件
nohup java -jar $APP_NAME > $LOG_FILE 2>&1 &
#实时查看启动日志(此处正在想办法启动成功后退出)
#tail -f $LOG_FILE
#输出启动成功(上面的查看日志没有退出,所以执行不了,可以去掉)
echo '$APP_NAME 启动ing...'
else
echo '$APP_NAME 文件不存在,请检查。'
fi
4. リモートデバッグ
IDEA で編集構成を選択し、「+」記号をクリックしてリモート JVM デバッグを選択し
、次のコマンドを使用してサーバーを起動します。ポート番号が対応している必要があることに注意してください。
–server.port=[エージェント ポート番号] が使用されている場合、リクエストはサーバーに送信され、対応するポート上で送信されます。
sudo java -jar -Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=[IP地址]:[端口号] demo-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev --server.port=[代理端口号]
5.curlコマンド(リクエストインターフェースを使用)
GETリクエスト
curl [URL]
POSTリクエスト
curl -X POST -d 'a=1&b=请求参数' [URL]
json形式のリクエスト
curl -H "Content-Type: application/json" -X POST -d '{"abc":123,"bcd":"请求参数"}' [URL]
curl -H "Content-Type: application/json" -X POST -d @test.json [URL]
6. ログを表示する
最新の xx.log ファイルを表示する
tail -f XX.log
最後の50行
tail -f 20 XX.log
5行目から
tail -f +5 XX.log
キーワードで検索する
cat -n XX.log|grep "关键字"
キーワードに一致する行の前後100行
cat -n XX.log|grep -C 100 "关键字"
vim を使用し、/keyword を入力します。Enter を押して検索し、n を押して次へ進みます。
vim XX.log
一定期間内のログを表示する
sed -n '/起始时间/,/结束时间/p' XX.log
7. ファイル関連の操作
a フォルダーをコピーし、名前を b に変更します
cp -r a b
ファイルの詳細を表示する
ls -l [filename]
圧縮ファイル
zip -r filename.zip filename/
ファイルを解凍する
tar -zxvf filename.tar.gz
gzip filename
フォルダーをグローバルに検索する
find
現在のディレクトリの場所を表示する
pwd
8. 時間関連の操作
現在時刻を表示する
date -R
タイムゾーンを変更する
tzselect
ファイルを入力してタイムゾーンを変更し、次のコード行を追加しますzone = Asia/Shshanghai
vi /etc/sysconfig/clock
サーバー時刻同期、IP はタイムサーバーです
ntpdate [IP地址]
9. システム関連業務
ディスク容量の表示
df -h
パーティションを再読み込みする
partprobe
10.マウント
sudo mount -t cifs -o username=root,password=[密码],vers=1.0,sec=ntlm //[IP地址]/[挂载路径]/ /[本地挂载路径]
Ps.問題は解決しました
/bin/bash^M: 不正なインタープリター: そのようなファイルまたはディレクトリはありません
スクリプトは Windows で作成および編集されてから Linux システムにアップロードされるため、DOS 形式になります。ただし、Linux は UNIX 形式でしかスクリプトを実行できないため、認識されません。次のコマンドを使用してスクリプトを表示できますフォーマット
。
cat -A [scriptfile]
解決策:
vim を入力した後、set ff=unix を実行し、次に wq を実行して保存します。