コマンド系の話はこっちに書いていこう。

一般ユーザー向け

ディレクトリを削除

中身のはいっているディレクトリを削除する場合は、rm -r で中まで再帰的に削除。

ディレクトリごとコピー(cpとrsyncの使い方)

~/aaaの中のbbbというディレクトリを、ディレクトリごと、~/cccの中に移動したい場合、
$ cp -r ~/aaa/bbb ~/ccc/

変更されたファイルだけを上書きした場合は、rsyncを使う。

$ rsync -auv ~/aaa/bbb ~/ccc/

./aaaを中身ごと./bbbという名前に変えて./bbbにコピーしたい場合

$ rsync -auv ./aaa/ ./bbb

もしこれを

$ rsync -auv ./aaa ./bbb

としてしまうと、./bbbの中に./bbb/aaaとコピーされてしまう。

外付けHDDに自分のパソコンのディレクトリ(2021sとか)をバックアップする場合。

(チルダ)ファイルとかswpファイルの扱い方

わかりやすいのみつけたので

chmodで属性変更

lsで秒単位まで表示

1年以上前のファイルは、日時までしか表示されなくなってしまうのが、以下のようにすれば、秒まで表示できる。 ls -l --full-time

nkf(文字コード変換、改行コード変換)

kcc(文字コードを調べる)

文字コードを調べるには、kcc -c hoge

hexdump(改行コードを調べる)

改行コードを調べるには、hexdump -c hogeとやって、 出力に\r\nが入ってるか、\nだけか。

cat(ファイルの追加、結合)

tar

画像ファイルやオフィスファイルなど、既に圧縮されてるファイルは 更に圧縮しても、サイズは小さくならない。

gpgで暗号化

gpg -c 暗号化したいファイル

grepで文字列を有すファイル検索

カレントディレクトリーの中から「あいうえお」という文字列を有するファイルを 探すには、 grep -lr あいうえお ./

zipでファイルを圧縮

例えば、hoge.txtをhoge.zipに圧縮。

zip hoge hoge.txt

ディレクトリ内の全ての*.txtの場合は、

zip hoge *.txt

zipでディレクトリごと圧縮

zip -r hoge.zip hoge/*

zipでパスワードを設定

zip -e --password=xxxx hoge *.txt

unzipで文字コードをsjis指定して展開

unzip -Ocp932 hoge.zip 

bz2を展開

bzip2 -d hoge.bz2

history

IPアドレス、MACアドレスを見る

IPアドレス、MACアドレス等を見るには、/sbin/ifconfig

メモリ容量やCPU情報を調べる

ディレクトリ内のすべてに同じコマンドを実行(再帰的に実行)

サブディレクトリも含めてディレクトリ内のすべてのファイルの文字コードを変換するとか、 パーミッションやオーナーを一括変更するとか、したいときは、-Rのオプションをつけてコマンドを実行する。

locateデータベースの更新

locate用のデータベースの更新はrootになってupdatedb

kccで文字コードを調べる

ファイルの文字コードを調べたいときは kcc -c hoge

nkfで文字コードを調べる

nkf -guess ファイル名

rsyncでk2のファイルをローカルのパソコンにダウンロード

k2のgotouの中にあるhogeというファイルを自分のパソコンの今いるディレクト(./)に コピーするなら、

rsync -auv gotou@k2.ce.akita-u.ac.jp:/home/gotou/hoge ./

rsyncでk2にバックアップ

例えば、自分のパソコンの~/2018/gotou/の中にあるtexというディレクトリーをディレクトリーごと、 k2の/home/gakusei/2018/gotou/の中にバックアップ

rsync -auv ./2018/gotou/tex gotou@k2.ce.akita-u.ac.jp:/home/gakusei/2018/gotou/

extundeleteで消えたファイルを復元

ある時刻以降に削除したファイルを復元する場合

$ date --date='2020-01-14 19:00' '+%s'
$ sudo extundelete /dev/sda2 --after `date --date='2020-01-14 19:00' '+%s'`

恐らく、~/RECOVERED_FILES 辺りに復元されるらしいが、保存場所の変更もできるらしい。

Sedで文字置換

s/1234/構造力学/g
s/1235/水理学/g
s/1236/材料力学/g

と書いておいて、

sed -f hoge.sed seiseki.mae > seiseki.ato 

を実行。

ディレクトリ内のすべてのファイルの文字置換

find ./ -type f | xargs sed -i "s/hoge/hage/g"

ディレクトリ内のファイル名を一括で置換

例えば、デジカメの画像ファイルdscn0001.jpgのdscnの部分を全てgに変えたいとか。

for a in dscn*; do mv $a `echo $a | 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

pdfファイル(1ページ)を90度右回転

pdftk hoge.pdf cat 1right output hoger.pdf

サーバー管理系

ユーザーの追加

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 -t 201006072345
または、
at 23:45 07.06.10
または
at 23:45 06/07/10

で、プロンプトが>になったら、shutdown -h nowでctrl+d

なお、大学の敷地全体を「手形団地全域」というらしいので、 「手形団地全域が停電」という通知があった場合には、予約シャットダウンの 対応をしておく必要がある。

atコマンドの予約内容の確認

at -l またはatq で、予約したジョブのジョブ番号を確認し(一つだけなら1)、
at -c ジョブ番号で確認
at -r 削除したいジョブ

apache2

.htaccess等のパスワードを生成する

perl -e 'print crypt("pasuwaado", "AB"), "\n"'

pasuwaadoの部分が、パスワード、ABは、パスワードの最初の2文字。

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

を追加。

ipアドレスの重複を確認する方法

sudo arping 123.123.123.123 -c 3

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2024-04-07 (日) 20:24:32