自分用、よく使う操作の覚え書き
多分Ubuntu操作というよりは、Linuxの基本操作なんだと思う
GUIからのファイル操作を管理者権限で
GUI(ファイルエクスプローラー)から、システムフォルダ等にアクセスしたい場合
ターミナルから以下のコマンドをぶち込む
(nautilusというのが、Windowsでいうexplorerに対応してるっぽい)
sudo nautilus
実行ファイルが実行できない
権限が足りてないので、実行権限を与える。
以下のコマンドのどちらかをぶち込む
(下のはrwx全許可なので、多分あまり推奨されない)
chmod +x <target>
# or
chmod 777 <target>
Windowsとファイル共有
sambaをインストールする
sudo apt-get install samba
sudo vi /etc/samba/smb.conf
sudo smbpasswd -a <username>
sudo service smbd restart
smb.confには、以下の形式で「共有したいフォルダ」を設定する。(ファイル末尾に追加)
この場合、 /home/bar
以下の内容が foo
として外部に公開される。
[foo]
path = /home/bar
writable = yes
browseable = yes
指定ファイル(以外)を削除する
ls
してgrep
してrm
する、というのを連続で処理できるらしい。
Linuxはこういうとこ確かに便利なんだけど習得するまでが長いのよな……
#ファイル削除
ls <path> | grep <pattern> | xargs rm -rf
#ファイル削除(指定以外)
ls <path> | grep -v <pattern> | xargs rm -rf
ファイル数を数えたい
lsの結果を1行ごとに出力、wcで行数をカウントするらしい
#簡易手法
ls -1 | wc -l
#高精度手法
ls -F | grep -v / | wc -l
ディレクトリの容量を調べたい
パラメータに-k
とか-m
とかつけると、単位を調整できる
#全体
du <path>
#サブディレクトリの情報を表示しない
du -s <path>
#サブディレクトリのサイズを除く
di -kS <path>
ビルドが遅すぎる
特にカーネルビルドする場合に気になる
# timeでどれくらい時間が掛かったか表示してくれる
# -jでスレッド数を指定できる、これは4スレッドの例
time make -j4
bashで変数を使いたい
(bashは記事を独立させた方が良いかもしれない)
変数は、好きな名前で定義できる。使う時は$で参照できる。
イコールで結ぶ時にスペースを入れないよう注意(スペースも含めて変数化される?)
他の文字列と引っ付いてしまう時は、{}
で明示的に区切る事ができる。
#ファイルパスを変数化する例
piyo=fuga.dat
./a.out $piyo
#文字列の一部を変数化する例
foo=abc
fooo=def
echo $fooopq # "abcopq" となるのか "defpq" となるのか伝わらない
echo ${foo}opq # 結果は "abcopq" となる
echo ${fooo}pq # 結果は "defpq" となる
コマンドライン引数を使う場合も基本的には同じである。
main関数みたいに、自分のこと(実行ファイル名)は引数として数えない
echo $# #引数の数が分かる(0~)
echo $1 #1番目の引数が表示される。(無ければ空文字?)
GitでSSH認証を手軽に扱う
1.秘密鍵を~/.ssh/id_rsa
に配置する
2../.bashrc
の最終行に以下の記述を追加する
#ssh-agent
eval `ssh-agent`
ssh-add
元記事:Git:Git BashにてSSH鍵のパスフレーズ入力を初回のみにする
[その他]
SSHの仕様とかが良くわからん、秘密鍵の名前とか置き場所は決め打ちなのか
gitで接続する場合、URL形式だとSSH接続にならない? git@xxxx
みたいな形式だとSSHになる?