ターミナルコマンドの一覧
目次
基本的なコマンドの説明. コマンドの説明の前に, 基本的な単語の説明.
- ディレクトリ:フォルダのこと
- カレントディレクトリ:現在いるディレクトリのこと
- ホームディレクトリ:ターミナルを起動した時のデフォルトのフォルダのこと
lsコマンド
カレントディレクトリにあるファイルの一覧を表示する.
ls #カレントディレクトリ内のファイルやディレクトリの表示 ls -l #ファイルやディレクトリの詳細も一緒に表示する ls -a #隠しファイルも含めて表示する ls -la #隠しファイルも含めてファイルやディレクトリの詳細も一緒に表示する ls -lt #時間が新しい順に並べる ls -lh #ファイルサイズが読みやすくなる hって--human-readableのhなのか?
cdコマンド
カレントディレクトリにあるディレクトリに移動する.
cd test #testというディレクトリに移動する. cd ~/ #ホームディレクトリに移動 cd .. #1つ前のディレクトリに移動
pwdコマンド
今いるディレクトリのパス,自分が今どこにいるか表示する.
pwd
mkdirコマンド
新しいディレクトリを作成する.
mkdir test
このあと, lsコマンドを実行するとtest2というディレクトリが作成されていることが確認できるはず.
ls test
mvコマンド
ファイルを別のディレクトリに移動させたり, ファイル名を変更する.
mv test1.C test/ #test1.Cというファイルをtestというディレクトリに移動 mv test1.C test3.C #test1.Cというファイルをtest3.Cという名前に変更
cpコマンド
ファイルを別のディレクトリにコピーする.
cp test2.C test/ #test2.Cをtestというディレクトリにコピーする cp test2.C test3.C #test2.Cをtest3.Cという名前で複製 cp -r testdir test/ #testdirというディレクトリ内を全てtestというディレクトリにコピーする.
サーバー間でコピーしたい場合は
$scp コピーしたいファイルがあるサーバー:ディレクトリ/ファイル コピー先のサーバー:ディレクトリ $scp mfujimot@lxplus.cern.ch:/ANY_DIRECTORY_YOU_WANT/file.txt . #.(今いる場所)にfile.txtをコピー
fileの受け渡し
fileを受け渡したい場合は圧縮して受け渡すのが望ましい。
zip hoge.zip hoge // fileの圧縮 zip -r hoge.zip hoge // directorごと圧縮
サーバー上にファイルがある場合は圧縮したファイル/ディレクトリがある場所を教えれば受け渡しのやりとりができる。lxplusを使用している場合は/afs/cern.ch/user/k/kasai/work/public/以下に置く。(k/kasaiは例なので自分のuser nameに変更すること。)
xAOD fileの容量の確認
lxplusであれば
asetup Athena,21.0.70,here checkAOD hoge.root > hoge.txt
とすることで、hoge.txtに容量が書き込まれているはずである。
jobに関するコマンド
実行したはいいが、やっぱり削除したいという時は
$ jobs [1] Stopped hoge0 [2] Stopped hoge1 [3] Stopped hoge2
で確認。[数字]に対応するjobを削除したい時は
$ kill %1 %2 [1] Terminated hoge0 [2] Terminated hoge1
のようにすればok。一気に全てのjobを削除したい時は
$ killall [1] Killed hoge0 [2] Killed hoge1 [3] Killed hoge2
で全てkilされる。
grepコマンド & findコマンド
特定のワードを含んだファイルを出力してほしい
$grep -n -r "探したい文字列" ./*
これは今いるディレクトリ.以下の全てを探してほしいときのコマンド
grep:ファイルの中のワードで検索するコマンド
-n: 行番号を出力
-r: ディレクトリ内も検索対象にする(これがないとディレクトリ下を探してくれないのであんまりよくわからない感じになる)
-i: 大文字と小文字を無視する
$find . -type f | xargs grep -n "探したい文字列"
でも同じことができる
find: ファイルやディレクトリを探すコマンド
-name: ファイルやディレクトリ名の一部のみ指定して検索
-type f: ファイルのみを対象として検索
$find . -type f -name "*.txt" | xargs grep -n "探したい文字列"
だとその中から.txtファイルだけが探される
Linuxでの移動の仕方
多分emacsと同じです
Ctrl+a : 行の最初にとぶ
Ctrl+e : 行の最後にとぶ
Ctrl+f : forwardに1文字ずつ進む
Ctrl+b : backwardに1文字ずつ進む
Ctrl+d : delete(1字ずつ)
Ctrl+k : delete(1行ずつ)
Ctrl+y : paste(Ctrl+kとかでdeleteしたやつが貼られる)
Ctrl+r なんか文字列 : 検索
Alt+Shift+> : 履歴の一番下に戻る
rsyncコマンド
ファイルやディレクトリを同期したいときに。scpよりこっちのが速いし、実行権限ごとコピーできるし、止まって再開した時に途中から再開してくれるので便利
$rsync -av 元のディレクトリ 同期先のディレクトリ
nautilus
たいていのLinux...Gnomeでファイルをみるときに便利かも
$nautilus ./ディレクトリ&
screenコマンド
一回サーバーとの接続が切れても大丈夫コマンド
$screen
で新しくスクリーンを開く
環境設定があれば最初からやる
$Ctrl+a d #スクリーンを出る $screen -ls #今開いているスクリーンを表示 There is a screen on: 1855.pts-31.lxplus074 (Detached) 1 Socket in /var/run/screen/S-mfujimot.
こんな感じで出た場合
$screen -r 1855.pts-31.lxplus074 #スクリーンに戻る
アクセスしたサーバー(上の例の場合lxplus074)に戻らないとスクリーンはないので気をつける