トップページに戻る
Linuxコマンド
Linuxでは、Windowsのcmd.exeやpowershell.exeに相当するシェルの元でさまざまなコマンドを実行します。
Linuxの代表的なシェルには、以前は bsh系 (sh) とcsh系 (csh,
tcsh) がありましたが、
現在はbashが両者の機能を取り込んで広く使われています。
本ページでは、bashを使うことを前提としています。
そのため、bashスクリプト文法
と内容が大きくかぶっています。
- 外部コマンドの実行:
・ コマンドと引数を書く
% command arg1 arg2
引数にスペースを含む場合は、""あるいは''で囲う
% command "Hello world"
引数に " や bashの使用禁止文字 (|, >, <, \, / など)
を使う場合は \ でエスケープする
% command "a\/b"
% command "\"News\""
% command '"News"'
-
バックグラウンド実行:
・ Windows: start /B command #
/Bをつけると、新しいコマンドプロンプトを開かずにバックグラウンド実行する
・ Linux: command &
- コマンドの実行結果を文字列として取得:
バックスラッシュ ` ` でコマンドを囲う
例: current_dir=`pwd`
- よく使うコマンド:
% ls #
ディレクトリリストをファイル名だけで表示
% ls -l # 詳細なディレクトリリストを表示
% ls *.txt # ワイルドカード *.txt
に一致するファイル・ディレクトリのみ表示
% touch file_name # ファイル file_nameを作成 (中身は空)
% rm file_name # file_nameを削除
% cp source target # ファイルsourceをtargetにコピー
% mv source target #
ファイルsourceをtargetに移動/ファイル名変更
% mkdir dir_name # ディレクトリdir_nameを作成する
% rmdir dir_name # dir_nameを削除。dir_name内は空である必要がある
% cat file_name # file_namenの内容を表示
% less file_name # line viewer lessでfile_nameの内容を見る。上下カーソルが使える
% echo 文字列 # 文字列を表示
% echo -e 文字列 #
文字列の中のエスケープコードを有効にして表示
% vi file_name # viエディタでfile_nameの内容を見る。
% code file_name # Visual Studio Codeでfile_nameの内容を見る。
% pwd # 現在のディレクトリを表示
% cd # ディレクトリを表示
% printenv # 環境変数を表示
% printenv | grep PYTHON # 環境変数の表示行のうち、PYTHONを含む行を表示
- 変数の定義
current_dir=`pwd`
などとすると、シェル変数の定義になる
シェル外でも変数を使う場合は、exportして環境変数にする
例: % export PATH=/home/user/bin:$PATH
- 特殊文字:
・ ~ # HOMEディレクトリ
・ ~hogehoge # ユーザhogehogeのHOMEディレクトリ
- リダイレクト、パイプ:
コマンドの標準入出力を、ファイルや他のコマンドに切り替える際に使います
command < file # fileから1行ずつcommandが読み込む
command > file # commandの標準出力のみfileへ書き込む
command 1> file # commandの標準出力のみfileへ書き込む
command 2> file # commandの標準エラー出力のみfileへ書き込む
command 1> file1 2> file2 #
commandの標準出力をfile1へ、標準エラー出力をfile2へ書き込む
command &> file #
commandの標準出力と標準エラー出力をfileへ書き込む
>> を使うと追加書き込みになる
コマンドの出力を別のコマンドの入力に綱が得る場合は
パイプ | を使う:
command1 | command2
command1 |& command2
コマンドの出力を出したくない場合:
Windows: command >NUL
Linux: command >/dev/null