お知らせ

現在サイトのリニューアル作業中のため、表示が崩れているページが存在することがあります。
投稿日:
OS::Linux::コマンド

基本

cp [OPTION]... [-T] SOURCE DEST

-Rを指定すると配下のディレクトリも再起コピーしてくれる。経験上小文字は問題が起きているので指定しない方がいい。

使用例

# ファイルのコピー
cp /path/to/hoge /path/to/

# フォルダのコピー
cp -R /path/to/hoge /path/to/

# ドットファイルを含まないフォルダ中身のコピー
cp -R /path/to/hoge/* /path/to/

# ドットファイルを含むフォルダ中身のコピー
cp -R /path/to/hoge/. /path/to/
投稿日:
OS::Linux::コマンド

行の並び替えや行の内容を一意にするときに使える。

コマンドラインオプション

  • -r
    • リバース
  • -u
    • 一意

sort:ソートする

入力

cat <<EOF | sort
zzz
aaa
bbb
aaa
aaa
ccc
bbb
1
2
3
01
02
03
a1
a2
a3
EOF

出力

01
02
03
1
2
3
a1
a2
a3
aaa
aaa
aaa
bbb
bbb
ccc
zzz

sort -r:逆ソート

入力

cat <<EOF | sort -r
zzz
aaa
bbb
aaa
aaa
ccc
bbb
1
2
3
01
02
03
a1
a2
a3
EOF

出力

zzz
ccc
bbb
bbb
aaa
aaa
aaa
a3
a2
a1
3
2
1
03
02
01

sort -u:一意

入力

cat <<EOF | sort -u
aaa
bbb
aaa
aaa
ccc
bbb
EOF

出力

aaa
bbb
ccc

投稿日:
OS::Linux::コマンド

コマンド体系が独特なので毎回忘れる。使い方はman findで出す。find --helpしてもマニュアルは出てこない

目的 コマンド
通常検索 find . -name "*hoge"
正規表現検索 `find . -type f

typeで指定できる内容は以下の通り

type 内容
b block (buffered) special
c character (unbuffered) special
d directory
p named pipe (FIFO)
f regular file
l symbolic link
s socket
D door (Solaris)

正規表現で検索するオプションもあるようだが、直感的でないのでgrepで絞ったほうが早い。

投稿日:
OS::Linux::コマンド

シェルスクリプトを書く際のshebangは#!/bin/shと書くことが多いと思うが、必ずしもbashで動作するとは限らないので、bash拡張構文を利用しているケースでは#!/bin/bashと書いた方が良い。例えばUbuntuではdashが起動するケースがあり、スクリプトがコケることがある。

というか取り敢えず#!/bin/bashと書いておき、いざ動かなくなってから考えたほうが良いと思う。

投稿日:
ソフトウェア::GitOS::Linux::コマンド

特定ブランチ以外を全部消す

Git 2.25.1で確認

# マージされてないのは残す
git branch -d $(git branch | grep -vP <PCRE pattern>)
# 強制削除
git branch -D $(git branch | grep -vP <PCRE pattern>)

参考:git-branch - List, create, or delete branches (git-scm.com)

マージコミットをリバートする

Git 2.25.1で確認。基本-m 1で問題ないと思われる

git revert -m 1 <commit>

参考:git-revert - Revert some existing commits (git-scm.com)

コミット間のハッシュを見る

Git 2.25.1で確認

# 新しい順
git log --pretty=format:'%H' <commit>..<commit>
# 古い順
git log --pretty=format:'%H' <commit>..<commit> --reverse

参考:git-log - Show commit logs (git-scm.com)