コマンド系の話はこっちに書いていこう。
一般ユーザー向け†
ディレクトリを削除†
中身のはいっているディレクトリを削除する場合は、rm -r で中まで再帰的に削除。
ディレクトリごとコピー†
/aaaの中のbbbというディレクトリを、ディレクトリごと、~/cccの中に移動したい場合、
- (
$ cp -r ~/aaa/bbb ~/ccc/
- )
(チルダ)ファイルとかswpファイルの扱い方†
わかりやすいのみつけたので&link(こちら,http://nanasi.jp/articles/howto/file/seemingly-unneeded-file.html)
chmodで属性変更†
- スクリプトなどに実行属性を与えたいなら、chmod 744 hoge
- メディアからコピーして実行属性がついてしまったファイルを通常の属性にしたいなら chmod 644 hoge
chmod ijk hogeの意味は、
iは自分に対して、jはグループに対して、kは他人に対して、
4なら読める、5なら読みと実行ができる、6なら読み書きできる、7なら読み書き実行ができる。
nkf(文字コード変換、改行コード変換)†
- 文字コードをeucに変換するなら、nkf -e hoge.s > hoge.e
- 改行コードをLFに変換するなら、nkf -Lu hoge.cr > hoge.lf
- 両方同時にやるなら、nkf -e -Lu hoge.win > hoge.linux
- 文字コードを調べる nkf -guess hoge.txt
- ディレクトリ内文字コードの一括変換:find . -type f -print0 | xargs -0 nkf -w --overwrite
kcc(文字コードを調べる)†
文字コードを調べるには、kcc -c hoge
hexdump(改行コードを調べる)†
改行コードを調べるには、hexdump -c hogeとやって、
出力に\r\nが入ってるか、\nだけか。
cat(ファイルの追加、結合)†
- ファイルaをファイルbに追加: cat a>>b
- ファイルa,bを結合してcに: cat a b>c
tar†
- hoge.tar.gzを展開するには
tar xvzf hoge.tar.gz
- ディレクトリをまとめて.tarアーカイブファイルを作るには、
tar -cvf hoge.tar dir/
画像ファイルやオフィスファイルなど、既に圧縮されてるファイルは
更に圧縮しても、サイズは小さくならない。
- hoge.tarを展開するには、tar -xf hoge.tar
- ディレクトリごと圧縮して.tar.gzアーカイブファイルを作るには、
tar -cvzf hoge.tar.gz dir/
grepで文字列を有すファイル検索†
カレントディレクトリーの中から「あいうえお」という文字列を有するファイルを
探すには、
grep -lr あいうえお ./
zipでディレクトリごと圧縮†
- (
zip -r hoge.zip hoge/*
- )
unzipで文字コードをsjis指定して展開†
- (
unzip -Ocp932 hoge.zip
- )
bz2を展開†
IPアドレス、MACアドレスを見る†
IPアドレス、MACアドレス等を見るには、/sbin/ifconfig
メモリ容量やCPU情報を調べる†
- メモリ容量などの情報はmore /proc/meminfo
- CPU情報はmore /proc/cpuinfo
ディレクトリ内のすべてに同じコマンドを実行(再帰的に実行)†
サブディレクトリも含めてディレクトリ内のすべてのファイルの文字コードを変換するとか、
パーミッションやオーナーを一括変更するとか、したいときは、-Rのオプションをつけてコマンドを実行する。
locateデータベースの更新†
locate用のデータベースの更新はrootになってupdatedb
kccで文字コードを調べる†
ファイルの文字コードを調べたいときは kcc -c hoge
nkfで文字コードを調べる†
nkf -guess ファイル名
rsyncでk2にバックアップ†
例えば、自分のパソコンの~/2018/gotou/の中にあるtexというディレクトリーをディレクトリーごと、
k2の/home/gakusei/2018/gotou/の中にバックアップ
Sedで文字置換†
ディレクトリ内のすべてのファイルの文字置換†
- (
$ find ./ -type f | xargs sed -i "s/hoge/hage/g"
- )
ディレクトリ内のファイル名を一括で置換†
例えば、デジカメの画像ファイルdscn0001.jpgのdscnの部分を全てgに変えたいとか。
- (
for a in dscn*; do mv a‘echoa | sed s/dscn/g/g` ; done
- )
ハードディスクの残り容量を表示†
df -h
特定ディレクトリの使用容量を表示†
du -h
ディレクトリ中のファイルサイズの合計を表示†
ジョブを途中からバックグラウンドに切替える†
バッチファイルを走らせるときに&を付け忘れてしまった場合など、
ジョブを途中からバックグラウンドで走るように切替えたい場合は、
- (
controlキー + z でジョブを一時停止 ( [1]+ stopped hoge と表示される)
$ jobs 走っているジョブを確認
[1]+ stopped hoge
$bg %1 %の後の 1 は、上の[1]の1
$jobs
[1]- Running hoge & 『&』がついて、 バックグラウンドジョブに
vi小技(箱選択、改行コード変換)†
コマンドラインでviのキー操作が使えるようにする†
isoイメージを作成†
- (
mkisofs -r -J -V "hoge" -o hoge.iso hoge
- )
pdfのパスワード解除†
- (
pdftk hoge.pdf input_pw pasuwaado output hoge-kaizyo.pdf
- )
エラーのあるpdfファイルだとpdftkでは解除できないことがある。
その場合は、qpdfをインストールして、
- (
qpdf --password=pasuwaado --decrypt hoge.pdf hoge-kaizyo.pdf
- )
pdfのパスワード設定†
- (
pdftk hoge.pdf output hoge-yomenai.pdf user_pw pasuwaado
- )
サーバー管理系†
ユーザーの追加†
gotouを追加したい場合、
- (
adduser gotou
- )
useraddは、ホームディレクトリやシェルやパスワードの設定を自動ではやってくれない。
パスワードが設定されなかったときは、suになって、passwd gotouでパスワードを設定。
ユーザーの削除はuserdel
atコマンドの使い方†
その日の12:34に何かを実行したいときは、at 12:34 エンターで、
プロンプトが>になったところで実行したいジョブなどを入力し、
ctrl+dでatコマンドを終了。
atコマンドで予約シャットダウン†
例えば、2010年6月7日の23時45分にシャットダウンしたければ、rootになってから、
- (
at 23:45 07.06.10
または
at 23:45 06/07/10
または、
at -t 201006072345
- )
で、プロンプトが>になったら、shutdown -h nowでctrl+d
なお、大学の敷地全体を「手形団地全域」というらしいので、
「手形団地全域が停電」という通知があった場合には、予約シャットダウンの
対応をしておく必要がある。
atコマンドの予約内容の確認†
at -l またはatq で、予約したジョブのジョブ番号を確認し(一つだけなら1)、
at -c ジョブ番号
apache2†
- バージョンを調べる/usr/sbin/apache2ctl -v
- 再起動/usr/sbin/apache2ctl restart
nslookup†
DNSのシリアルナンバーを調べる
- (
nslookup -type=soa hoge.hoge.jp
- )
よりは
- (
dig hoge.hoge.jp SOA
- )
DNSサーバーのbindのバージョンを調べる†
DNSサーバーにログインしないで、端末から調べるには、
- (
dig @123.123.123.123 chaos txt version.bind
- )
123.123.123.123は、DNSのIP
ftpのログインエラー†
パスワードを入れた後に
- (
530 Login incorrect.
Login failed.
Remote system type is UNIX.
Using binary mode to transfer files.
- )
のエラーでつながらない場合、
サーバー側の/etc/shells内に、
- (
/bin/bash
- )
を追加。