Linuxのファイル操作の基本
ずいぶんご無沙汰ですが、やっとこさ再開いたします。
ではでは、さっそく【Linuxのファイル操作の基本】ということで、
参考URL:
- 再入門 体で覚えるLinuxの基本 - 再入門 体で覚えるLinuxの基本:ITpro
で学んだことについて、個人的な備忘録を含め箇条書きにしていきまっす。
◆システム全般について
・ログアウト
$ logout
$ exit
・シャットダウン
# shutdown -h now
・再起動
# shutdown -r now
または
# reboot
・システム管理者でログインする
$ su
・一般ユーザーに戻る
# exit
◆ファイル操作に関して
・ファイルfile1の内容を出力
$ cat file1
・ファイルの先頭からデフォルトで10行分を出力
$ head file1
・ファイルの最後からデフォルトで10行分を出力
$ tail file1
・ファイルfile1の先頭から20行分出力したい場合
$ head -20 file1
または
$ head -n 20 file1
・ファイルの先頭から最後に向かって1画面単位あるいは1行単位で出力
$ more
・ファイルの先頭から最後に向かうだけでなく、最後から先頭に向かった出力も可能
$ less
[more , less コマンドの操作]
Space = 一画面分進んで出力
Enter = 次の一行分を出力
u = 半画面戻って出力
d = 半画面進んで出力
b = 一画面分戻って出力
f = 一画面分進んで出力
< = ファイルの先頭から一画面分出力
> = ファイルの最後から一画面分出力
q = コマンド終了
/ = 前方への文字検索
? = 後方への文字検索
・カレント・ディレクトリが/home/[User]で、このディレクトリ上にあるファイルfile1をtextディレクトリのファイルfile4としてコピー
$ cp file1 text/file4
・カレント・ディレクトリにあるファイルfile1をfile5に名称変更
$ mv file1 file5
・カレント・ディレクトリのファイルfile1をtextディレクトリに移動
$ mv file1 text
・カレント・ディレクトリのファイルfile5を削除
$ rm file5
・複数のファイル(例えば、file1とfile2)を削除
$ rm file1 file5
・削除時に確認コマンドを表示させる
$ rm -i file5
◆ディレクトリ操作に関して
・textというディレクトリを作成
$ mkdir text
・/home/jun/binディレクトリを/homeの直下にコピー
# cp -r /home/jun/bin /home
・textディレクトリ中のファイルごと削除
$ rm -r text
・ファイルcmd1を検索
# find / -name cmd1
※正規表現について
* 任意の文字列(長さが0の空文字も含む)
? 任意の一文字
[] 括弧内の文字列中の任意の一文字
[^] 括弧内の文字列に一致しない文字列の一文字
◆シェルについて
シェルとは
のことで、
インタ・プリンタとは
ユーザーがキーボードからコマンドラインに入力したコマンドを解釈してその実行を制御するプログラム
のこと。
参考URL:
- 再入門 体で覚えるLinuxの基本 - シェルの基本操作法(前編1:シェルの役割と種類):ITpro
◆エイリアスの設定方法
$ alias 【エイリアス名】=‘【元のコマンド名】’
エイリアスを無効にするには
$ unalias 【エイリアス名】
◆ヒストリについて
・例えば、5回前までのコマンドを出力する場合
$ history 5
・表示されたヒストリの中から4番目のものを再度実行
$ !4
◆ディレクトリ・スタックについて
ディレクトリ・スタックを操作するコマンドは、dirs、pushd、popdの3つ。
$ dirs : 現在のディレクトリ・スタックの内容を出力
$ pushd : カレント・ディレクトリをディレクトリ・スタックに取り入れ、引数で指定したパス名にカレント・ディレクトリを変更
$ popd : 引数指定なしの場合、カレント・ディレクトリをディレクトリ・スタックの一番上のパス名に戻す
◆構造化プログラミング
いかにバグを減らすか、これを実現するための基本概念が「構造化プログラミング」である。
構造化プログラミングとは
→個別の部品(パーツ)を組み合わせて完成品を作ること
である。
構造化プログラミングの基本的な部品(基本構造)は、「連接」、「選択」、「反復」の3つ
参考URL:
- 再入門 体で覚えるLinuxの基本 - シェル・スクリプト(その2:スクリプトのプログラミング):ITpro
◆if文
if文は構造化プログラミングの基本構造「選択」を記述する。
条件コマンドの記述にはtestコマンドを使う。
・オプション一覧 以下参照
再入門 体で覚えるLinuxの基本 - シェルの基本操作法(前編1:シェルの役割と種類):ITpro
【記法】
fname=file
if test -f $fname
then
echo ‘ファイル名’ $fname ’は存在します。’
else
echo ‘ファイル名’ $fname ’は存在しません。’
fi
◆case文
case文は選択の応用形。
【記法】
case 値 in
パターン1)コマンド1;;
パターン2)コマンド2;;
パターン3)コマンド3;;
*)コマンド4;;
esac
◆while文
while文は、構造化プログラミングの基本構造「反復」を記述。
条件コマンドを実行した結果として返される終了ステータスが真(値0)の間、コマンドを実行する。
【記法】
while 条件コマンド
do
コマンド
done
◆until文
until文は反復の応用形です。条件コマンドの終了ステータスが真になるまで、コマンドの実行を繰り返します
【記法】
until 条件コマンド
do
コマンド
done
◆for文
for文も反復の応用形。
シェル変数に順番に値を代入してコマンドを実行していく。
【記法】
for 変数 in 値1 値2 値3
do
コマンド
done
具体例:
for pet in ‘チワワ’ ’ダルメシアン’ ’マルチーズ’
do
echo ‘私は’ $pet ‘が好きです。’
done
◆break文
break文は反復の終了条件を満たしていない途中に、反復から抜け出すときに利用する。while、until、forの各文に利用でき、break文があると、反復ブロックの終わりを表すdone文の次の文に実行が移る。
◆exit文
exit文はスクリプトの実行を終了させる。スクリプトの途中にexit文があると、exit文以降のスクリプトは実行されなくなる。
正常終了ならば値0、それ以外の終了は0以外の値を返す。これが終了ステータス。
◆感想
ひっさしぶりのブログで書式とか以前と若干ことなってるのは気になるけど、直す気力はなかった。
へたれや・・・
そして思いの外、量が多くて、箇条書きがとんでもないことになってますね(;^ω^)
次回はもうちょっと考えましょう(;^ω^)
あと、コードとか貼っつけるやつやたらかっこいいんだが、はてな記法というやつを学べばよろしいか?(笑)
精進あるのみです(;^ω^)