ターミナルコマンドの一覧

基本的なコマンドの説明. コマンドの説明の前に, 基本的な単語の説明.

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)に戻らないとスクリーンはないので気をつける

ターミナルコマンドの基本 (最終更新日時 2018-11-04 12:52:11 更新者 MinoriFujimoto)