大学サークルのイントロ用資料です LinuxCommandというよりCLIのお話です
Linux Command 入門Secprj Intro-phase
View Slide
Linux Command とはLinux(OS)に対して命令(コマンド)を送るための体系のこと下のようなTerminal(Shell)からコマンドを送信することで命令するコンピュータにおけるほとんどのプログラムはTerminalから触ることができるTerminalはCLI(Command Line Interface)とも言われる
コマンド例入力してEnterを押すと実行でき,実行結果が続いて出力されるコマンドによって機能が違う
$ ls -l temp/
$ ls -l temp/コマンド本体 引数
$ ls -l temp/コマンド本体 引数Option
$ ls -l temp/コマンド本体 引数Option引数はコマンド本体に渡されて,処理に使われるOptionはコマンド本体の機能を指定するもの(車のオプションが近いかも)ここでは,lsコマンドに-l temp/を渡しているlsコマンドは指定されたディレクトリの中身を一覧するコマンド
ファイルとディレクトリファイルは情報を記録/管理するための意味のある単位(文書/音楽/画像...)ディレクトリはファイルをまとめる入れ物(WindowsやMacではフォルダ)
a.txt b.png c.mp4 d.mp3e.jpgf.txthello/ hoge/fuga/temp//ルートディレクトリ
パス(経路)コンピュータ上のファイルやディレクトリの位置を表すファイルやディレクトリ指定する時などに使う例:text1.txt の位置/home/smb/Document/papers/text1.txt例:Downloads/ の位置/home/smb/Downloads/ディレクトリを / で区切って表記するディレクトリの場合は名前の後ろに / をおく慣習がある
a.txt b.png c.mp4 d.mp3e.jpgf.txthello/fuga/a.txtへのパス/temp/hello/a.txte.jpgへのパス/temp/hoge/fuga/e.jpghoge/temp//
カレントディレクトリ(ワーキングディレクトリ)今いるディレクトリのことCLIでは,ディレクトリを移動しながら作業するコマンドによってはカレントディレクトリの場所や,カレントディレクトリに含まれるファイルを参照する場合がある$ cd [dir]カレントディレクトリを確認するコマンドカレントディレクトリを移動するコマンド$ pwd
a.txt b.png c.mp4 d.mp3e.jpgf.txthello/ hoge/fuga/カレントディレクトリ$ pwd/temp/hogetemp//
a.txt b.png c.mp4 d.mp3e.jpgf.txthello/ hoge/fuga/カレントディレクトリ$ lsd.mp3 fuga/temp//
a.txt b.png c.mp4 d.mp3e.jpgf.txthello/ hoge/fuga/カレントディレクトリ$ cd /hoge/fuga/temp//
a.txt b.png c.mp4 d.mp3e.jpgf.txthello/ hoge/fuga/カレントディレクトリ$ pwd/temp/hoge/fugatemp//
a.txt b.png c.mp4 d.mp3e.jpgf.txthello/ hoge/fuga/カレントディレクトリ$ lse.jpgtemp//
絶対パスと相対パス絶対パス(フルパス)OS全体の中から一意に決まるパスどこにいても同じものを指し示す相対パスカレントディレクトリからの相対的なパスカレントディレクトリの位置によって示すファイルやパスは変動する./ はカレントディレクトリ(省略可)../ はカレントディレクトリの親ディレクトリ/temp/hoge/fuga./hoge/fuga../d.mp3
a.txt b.png c.mp4 d.mp3e.jpgf.txthello/ hoge/fuga/カレントディレクトリ絶対パス/temp/hoge/fuga/e.jpg相対パス./e.jpg対象のファイルtemp//
a.txt b.png c.mp4 d.mp3e.jpgf.txthello/ hoge/fuga/カレントディレクトリ絶対パス/temp/hoge/fuga/e.jpg相対パス../hoge/fuga/e.jpg対象のファイルtemp//
a.txt b.png c.mp4 d.mp3e.jpgf.txthello/ hoge/fuga/カレントディレクトリ絶対パス/temp/hello/a.txt相対パス../../hello/a.txt対象のファイルtemp//
よく使うコマンドls 指定したディレクトリの中身を表示(単体だとカレントディレクトリ) ls hoge/cd 指定したディレクトリへ移動(単体だとホームディレクトリ) cd hoge/mkdir 指定した名前でディレクトリを作成 mkdir hoge/cp 指定したファイルを別の場所にコピー cp hoge fugamv 指定したファイルを別の場所に移動(renameにも使われる) mv hoge foo/cat 指定したファイルの中身を出力(標準入力もでき,複数指定で連結) cat hogeless 指定したファイルの中身を出力(検索とか使えて便利) less hogegedit / vim / emacs / nano などのeditor系コマンド nano hoge慣れれば無意識で叩くようになります細かい使い方は --help をつけて実行したり,manコマンドを使ったりしてみてください
ホームディレクトリについてLinuxではTerminalを起動するとホームディレクトリがカレントディレクトリ/home//ユーザごとにホームディレクトリは別で,/home/の下にユーザのディレクトリが切られているcdを引数なしで実行すると,ログインしているユーザのホームディレクトリに移動する/home/とホームディレクトリは別物なので注意
あとは実践あるのみ各種操作はCLIを極めると,CLIの方が高速なことが多いです最初のうちはGUIの方が楽だと感じるかもしれませんが,頑張って慣れましょうプログラムの実行やファイルの編集なども,CLIからできますコマンドは自作もできます世の中にはたくさんのコマンドがありますパッケージマネージャを使うと簡単にインターネット上から落としてくることができますTerminalはカスタマイズも可能なので先輩たちのものを見せてもらうのもいいと思います