자주 잊어버리는 명령이나 메모

항상 잊기 때문에 메모

파이프로 연결된 명령의 반환 값



명령 실행 결과를 ture, false, error
$ ll | grep sample > /dev/null 2>&1; echo $?

결과가 있으면 0이 아니면 1이 반환됩니다.

오류의 경우 2
$ ll aaaa > /dev/null 2>&1; echo $?
2

반환값 0 , 1 , 2 의 의미
$ ls --help

# *snip*

Exit status:
 0  if OK,
 1  if minor problems (e.g., cannot access subdirectory),
 2  if serious trouble (e.g., cannot access command-line argument).

# *snip*

참고 : h tp // w w. 그래. 네 t/b㎉g/2011/09/09/532. HTML

포트 스캔


$ nmap -p 22 192.168.33.10 -P0

Starting Nmap 6.40 ( http://nmap.org ) at 2017-08-03 04:35 UTC
Nmap scan report for 192.168.33.10
Host is up (0.00076s latency).
PORT   STATE SERVICE
22/tcp open  ssh

Nmap done: 1 IP address (1 host up) scanned in 0.04 seconds


STATE
desc


open
열린

닫힌
닫힌

filtered
몰라


firewalld 설정


$ sudo firewall-cmd --permanent --zone=public --add-service=http 
$ sudo firewall-cmd --permanent --zone=public --add-service=https
$ sudo firewall-cmd --permanent --zone=public --add-port=8000/tcp 
$ sudo firewall-cmd --reload

ssh 개인 키 변환



putty 설치


$ brew install putty

pem -> ppk


$ puttygen sample.pem -O private -o sample.ppk

ppk -> id_rsa


$ puttygen sample.ppk -O private-openssh -o id_rsa

ssh-keygen


$ ssh-keygen -f ./id_rsa -t rsa -C 'example@com' -N ''
$ ssh-keygen -f ./id_rsa -t rsa -b 4096 -C 'example@com' -N ''

ssh-add


$ eval `ssh-agent`
$ ssh-add ~/.ssh/id_rsa
$ ssh-add -l

공개키를 분실했을 때



개인 키에서 공개 키 생성
$ ssh-keygen -y -f id_rsa > id_rsa.pub

~/.ssh/config를 작성하는 방법


Host 任意の接続名
    HostName ホスト名
    User ユーザー名
    Port ポート番号
    IdentityFile 秘密鍵のPATH(~/.ssh/hoge.key)
    # sshd サーバと応答確認する間隔
    ServerAliveInterval 60
$ chmod 600 ~/.ssh/config

참고 : ssh 연결 시간 초과를 방지합니다.

발판을 통과해야 하는 경우에도 단일 ssh 명령으로 대상 서버에 연결



~/.ssh/config
# ホスト間認証の方式を設定する。sierraでデフォルトで無効にされているDSA鍵を有効にする
HostKeyAlgorithms +ssh-dss
# 秘密鍵を読み込むタイミングでエージェントに自動的に鍵を登録させる
# 毎度ssh-addコマンドを叩く必要がなくなる
AddKeysToAgent yes
# エージェント転送を有効にする
Host *
ForwardAgent yes

# 踏み台サーバーの情報
Host gateway
    HostName [踏み台サーバーのホスト名 or IPADDR]
    User sample_user

# 接続するサーバーの情報
Host sample_server
    HostName [接続先サーバーのホスト名 or IPADDR]
    User sample_user
    Port 22
    IdentityFile ~/.ssh/id_rsa
    ServerAliveInterval 60
    ProxyCommand ssh gateway nc %h %p

쉘 스크립트에서 실행 중인 스크립트의 절대 경로 얻기


SCRIPT_DIR=$(cd $(dirname $0); pwd)
echo $SCRIPT_DIR

참고 : [bash] 실행 스크립트의 절대 경로 얻기

ps 명령으로 프로세스 ID만 추출


$ ps -e | grep 'php' | awk '{print $1}'

출력 결과의 개행도 제거하는 경우
$ ps -e | grep 'php' | awk '{print $1}' | tr '\n' ' '

일괄 대체



현재 디렉토리 아래의 확장자가 php 파일에있는 namespace app\modules\samplenamespace application\modules\sample로 모두 다시 작성하는 경우
$ grep -lr 'namespace app\\modules\\sample' ./*.php \
  | xargs sed -i -e 's/namespace app\\modules\\sample/namespace application\\modules\\sample/g'

git submodule



.gitmodules
[submodule "sample-repo"]
  path = sample-repo
  url = repositoryのアドレス
  ignore = dirty

추가
$ git submodule add repositoryのアドレス ./submodules/sample-repo

init
$ git submodule init

update
$ git submodule update


$ git submodule foreach git pull origin master

언어별 문자열 이스케이프 방법



php - preg_quote


preg_quote('\()[].*')

파이썬 - re


import re
result = re.escape('\()[].*')

Google 크롬에서 JSON 성형



콘솔에서 다음을 실행
resp = '<JSONデータ>';
console.log(JSON.stringify(resp,null," "));

Chrome에서 fullscreen caprue(Mac)



F12에서 Inspector를 열고 command+shift+P
검색 창에서 "Capture full size screenshot"을 선택



ERROR 1840 (HY000) at line 34: @@GLOBAL.GTID_PURGED can only be set when @@GLOBAL.GTID_EXECUTED is empty.


mysql> reset master;

좋은 웹페이지 즐겨찾기