-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsnippets
More file actions
251 lines (224 loc) · 12.1 KB
/
Copy pathsnippets
File metadata and controls
251 lines (224 loc) · 12.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
: ls
[ファイルリスト 拡張子順] ls -lXB
[ファイルリスト ファイルサイズ順] ls -lSr
[ファイルリスト 更新順] ls -ltcr
[ファイルリスト アクセス順] ls -ltur
[ファイルサイズ順ワースト10件] find . -type f -print0 | xargs -0 ls -la | sort -nr -k5 | tail -n 10
: sed, awk
[5行目から100行目を出力] sed -n 5,100p @file
: diff
[改行文字の違いを無視して差分をとる] diff --strip-trailing-cr @file @file
: od
[バイナリエディタ風] od -Ax -tx1z @file
[上下に並べる] od -Ax -tx1c @file
: date
[日付→UNIX時間] date -d @datestr +%s
[UNIX時間→日付] date -d @@unixtime +"%Y/%m/%d %T"
[UNIX時間] date +%s
[1970/01/01] date +%Y/%m/%d
[1970/01/01 09:00:00] date +"%Y/%m/%d %T"
[1970/1/1(木)] date +"%Y/%-m/%-d(%a)"
[1970/1/1(Thu)] LANG=C date +"%Y/%-m/%-d(%a)"
[木曜日] date +%A
[Thursday] LANG=C date +%A
[JST] date +%Z
[1970-01-01] date --iso-8601
[1970-01-01T09+09:00] date --iso-8601=hours
[1970-01-01T09:00+09:00] date --iso-8601=minutes
[1970-01-01T09:00:00+09:00] date --iso-8601=seconds
[1970-01-01T09:00:00,000000000+09:00] date --iso-8601=ns
[Thu, 01 Jan 1970 09:00:00 +0900] date --rfc-2822
[1970-01-01] date --rfc-3339=date
[1970-01-01 09:00:00+09:00] date --rfc-3339=seconds
[1970-01-01 09:00:00.000000000+09:00] date --rfc-3339=ns
: fileutil
[100MB超えのファイル] find . -size +100M -type f -exec du {} \;
[どのディレクトリがサイズ大きい?] du -b . | sort -n
[ファイルの拡張子を変更] noglob zmv -W *.xxx *.yyy
[パーミッションを表示] stat -c '%a' @file
[ランダムで10行ピックアップ] shuf -n 10 @file
[Spotlightファイル検索] mdfind @keyword
[ファイルメタ情報] mdls @file
: wc
[行数] wc -l
[文字数] wc -m
[ワード数] wc -w
[バイト数] wc -c
: pager
[1行で表示する] less -S # または起動中に-Sr
[ANSIカラーを表示する] less -R # または起動中に-Rr
[tail -f モード] less +F # または起動中にF
: process
[プロセス一覧(ツリー表示)] pstree -p
[Listenポート(TCP)持ちのプロセス] netstat -ptln
[Listenポート(TCP)持ちのプロセス] ss -ptln
[プロセスの環境変数] tr '\0' '\n' < /proc/@pid/environ
: timeout
[タイムアウトつきでコマンド実行] timeout 10 @cmd
: sysstat
[ファイルオープン中のプロセス] lsof @file
[N番ポートオープン中のプロセス] lsof -P -i:@portnum
[プロセスNのファイル] lsof -P -c @process
[PID N番のファイル] lsof -n -P -p @pid
[ロードアベレージ] sar -q
[CPU使用率] sar -u
[I/O] sar -b
[メモリとスワップ使用率] sar -r
[X時Y分Z秒以降のデータ] sar -s @X:Y:Z
[X時Y分Z秒までのデータ] sar -e @X:Y:Z
: traceroute
[TCP] traceroute -T -p @portnum
[UDP] traceroute -U -p @portnum
[ICMP] traceroute -I
: wget
[ベーシック認証] wget -q --http-user= --http-password= http://
: curl
[リモートIP] curl ifconfig.me
[リモートホスト] curl ifconfig.me/host
[ヘッダ指定、レンジリクエストによるレジュームを有効] curl 'http://' -H 'HTTP Header' --compressed -o @outfile -C -
[URLを元にファイルに出力] curl -O 'http://'
[転送情報を抑制] curl -sS 'http://'
[レスポンスヘッダを出力] curl -I -s 'http://'
[レスポンスヘッダ&ボディを出力] curl -i -s 'http://'
[リクエスト&レスポンスを出力] curl -v -s 'http://'
[より詳しく、トレース情報を出力] curl -sS --trace @tracelog -o /dev/null 'http://'
[x-www-form-urlencodedでPOST(URLエンコードしない)] curl -d 'name1=value1&name2=value2' -X POST 'http://'
[x-www-form-urlencodedでPOST(URLエンコードする)] curl --data-urlencode 'name=value' -X POST 'http://'
[x-www-form-urlencodedでファイルの内容をPOST] curl --data-binary @file -X POST 'http://'
[multipart/form-dataでファイルの内容をPOST] curl -F 'name=file' -X POST 'http://'
[ベーシック認証] curl -u @user:@password 'http://'
[ベーシック認証(パスワードは別途)] curl -u @user 'http://'
[Cookieを保存] curl -c @cookiefile 'http://'
[Cookieを設定] curl -b @cookiefile 'http://'
[URLエンコード] curl -s -w '%{url_effective}\n' --data-urlencode '@word' -G '' | cut -c 3-
: git
[インデックスへ追加] git add
[新規作成/変更ファイルを追加] git add .
[新規作成/変更/削除を追加] git add -A
[ブランチ作成] git branch @branchname
[ブランチ一覧] git branch -a
[ブランチ削除] git branch -d @branchname
[コミット] git commit
[メッセージ付きコミット] git commit -m @msg
[直前のログを修正] git commit --amend
[ブランチを切り替え] git checkout @branch
[ブランチを作成して、切り替え] git checkout -b @branch
[前回のコミットに戻す] git checkout -- @file
[working treeとindexの差分] git diff
[working treeとHEADの差分] git diff HEAD
[indexとHEADの差分] git diff --cached
[初期化] git init
[コミットログ] git log
[コミットログ] git log --graph --oneline --decorate --all
[コミットログ] git log --pretty=format:"%h %ad %s" --date=short --all
[今のブランチと指定のブランチをマージ] git merge @branchname
[どのブランチかわかるようにマージ] git merge --no-ff
[リモートレポジトリにブランチ作成、変更] git push @repos @refspec
[@refspecは@reposを追跡する] git push -u @repos @refspec
[リモートレポジトリの内容を取り込み] git pull @repos @refspec
[リモートを追加] git remote add @name @url
[stagingのファイルを取り消し] git reset
[現在の作業を退避する] git stash save
[退避した作業の一覧] git stash list
[退避した作業を復元] git stash pop
[退避した作業を削除] git stash drop
[リモートの一覧] git remote -v
: svn
[ロックしたファイルの一覧] svn list -R --verbose | awk '$3 == "O" {print $8}'
[リモートリポジトリのURL] svn info $(svn info @file | sed -n 's/^URL: \(.*\)$/\1/p')
: tcpdump/ngrep
[キャプチャ、ファイル保存] tcpdump -i any -s0 -w @file
[-wのデータを読み込み、80番ポートを出力] tcpdump -r @file port 80
[標準出力&ファイル出力] tcpdump -i any -nlx | tee @file
[ASCIIで80番ポートを出力] tcpdump -i any -s0 -A port 80
: openssl
[PKCS12->秘密鍵] openssl pkcs12 -in foo.p12 -nocerts -nodes -out foo.key.pem
[PKCS12->証明書] openssl pkcs12 -in foo.p12 -clcerts -nokeys -out foo.cert.pem
: Digest
[ダイジェスト:MD5] openssl md5 file
[ダイジェスト:SHA1] openssl sha1 file
[ダイジェスト:MD5] md5sum file
[ダイジェスト:SHA256] shasum -a 256 file
: abcde
[FLACでリッピング(全トラック)] abcde -o flac:"-8" -d /dev/@device
[FLACでリッピング(トラック指定)] abcde -o flac:"-8" -d /dev/@device 1-9
: metaflac
[タグのエクスポート] metaflac --export-tags-to=- @file
[タグを設定] metaflac --set-tag=ARTIST="" --set-tag=ALBUM="" --set-tag=TITLE="" --set-tag=DATE= --set-tag=GENRE= --set-tag=TRACKNUMBER= @file
[タグを削除] metaflac --remove-tag= @file
[カバーアートの取得] metaflac --export-picture-to=folder.jpg @file
[カバーアートの設定] metaflac --import-picture-from=folder.jpg @file
: netcat
[localhost:5432へUDP送信] echo "hello" | nc -u -w 0 localhost 5432
[1024バイトのランダムデータを送信] dd if=/dev/urandom count=1024 | nc -u -w 0 localhost 5100
[5432ポートでUDP待ち受け] nc -ul -w 0 5432
[簡易HTTPサーバ] (echo "HTTP/1.0 200 Ok"; echo; echo) | nc -l 80
: WIFI Management for Mac OSX
[ネットワークインターフェースの一覧] networksetup -listallhardwareports
[WIFIをOFFにする] networksetup -setairportpower en0 off
[WIFIをONにする] networksetup -setairportpower en0 on
[WIFIネットワークの一覧] /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport scan
[WIFIネットワークの接続先を設定] networksetup -setairportnetwork en0 @ssid @wifipassword
: apt-get, dpkg
[パッケージのインストール] sudo apt-get install -y @package
[パッケージリストの更新] sudo apt-get update
[パッケージの更新] sudo apt-get upgrade
[ディストリの更新] sudo apt-get dist-upgrade
[インストール済パッケージの一覧] dpkg -l
[インストール済パッケージのファイル一覧] dpkg -L @package
[パッケージの検索] apt-cache search @keyword
[パッケージの削除] sudo apt-get remove @package
[未使用パッケージを削除] sudo apt-get autoremove
[パッケージ、設定ファイルを削除] sudo apt-get purge @package
[アーカイブファイルを削除] sudo apt-get clean
[未使用パッケージのアーカイブファイルを削除] sudo apt-get autoclean
: pacman
[パッケージのインストール] sudo -E pacman -S --noconfirm @package
[DBの更新] sudo -E pacman -Syy
[全パッケージのアップグレード] sudo -E pacman -Syu
[全パッケージのアップグレード] yaourt -Syua
[指定のパッケージのみ削除] sudo pacman -R @package
[指定のPKG&依存PKGを削除(他PKGが使っている時は残す)] sudo pacman -Rs @package
[パッケージを検索] pacman -Ss @keyword
[パッケージの情報] pacman -Si @package
[パッケージによってインストールされたファイルの一覧] pacman -Ql
: rpm
[インストール済のパッケージ一覧] rpm -qa
[パッケージの中身] rpm -ql @package
[このファイルはどのパッケージのものか] rpm -qf @file
[パッケージの概要] rpm -qi @package
: docker
[イメージの一覧] docker images
[イメージをダウンロードする] docker pull @image:@tag
[イメージのコマンド履歴] docker history @image:@tag
[イメージの情報] docker inspect @image:@tag
[イメージを削除する] docker rmi @imageid
[コンテナの作成と実行(フォアグラウンド)] docker run -it @image:@tag @command
[コンテナの作成と実行(コマンド完了後、コンテナ破棄)] docker run --rm -it @image:@tag @command
[コンテナの作成と実行(バックグラウンド)] docker run -d @image:@tag @command
[ホストのディレクトリをマウントする] docker run -v @hostdir:@mountpoint @image:@tag @command
[コンテナからイメージを作成する] docker commit -m "..." @containerid @username/@image
[Dockerfile からイメージを作成する] docker build @username/@image @dir
[コンテナを停止する] docker stop @containerid
[コンテナを起動する] docker start @containerid
[コンテナを再起動する] docker restart @containerid
[起動中のコンテナにログイン] docker attach @containerid
[コンテナ内のファイルをローカルにコピー] docker cp @containerid:@file .
[コンテナの一覧] docker ps -a
[直前のコンテナID] docker ps -l -q
[コンテナの情報] docker inspect @containerid
[コンテナのログ] docker logs @containerid
[コンテナのプロセス] docker top @containerid
[停止中のコンテナを削除する] docker rm @containerid
[未使用のデータボリュームを削除する] docker volume ls -qf dangling=true | xargs -r docker volume rm
[Virtualbox上でboot2docker] docker-machine create --driver virtualbox @machine
[マシンを削除する] docker-machine rm @machine
[マシンの一覧] docker-machine ls
[マシン情報を表示] docker-machine inspect @machine
[マシンのIPアドレスを表示] docker-machine ip @machine
[マシンを起動する] docker-machine start default && eval "$(docker-machine env default)"
[マシンを停止する] docker-machine stop default && eval "$(docker-machine env -u)"
[マシンを再起動する] docker-machine restart default && eval "$(docker-machine env default)"
[マシンを強制停止する] docker-machine kill @machine
[SSHログイン] docker-machine ssh @machine
[SSH経由でコマンド実行 ] docker-machine ssh @machine -- @command