Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
LinuxCommand入門
Search
mina
July 01, 2021
Technology
0
240
LinuxCommand入門
大学サークルのイントロ用資料です
LinuxCommandというよりCLIのお話です
mina
July 01, 2021
Tweet
Share
More Decks by mina
See All by mina
おうちGitLabのススメ
silmin_
1
740
Git入門
silmin_
21
11k
暗号について
silmin_
0
97
LinuxCommand入門2
silmin_
0
170
Webについて
silmin_
3
110
ネットワークとは
silmin_
0
150
コンピュータとは|初心者向け資料
silmin_
0
81
ビットについて|入門者向け資料
silmin_
0
100
GitLab-CIとGoogleCloudRunで作るSandBox環境
silmin_
2
200
Other Decks in Technology
See All in Technology
マルチアカウント環境への発見的統制の導入
ch1aki
1
1.3k
NgRx Signal Store
rainerhahnekamp
0
120
[PlatformCon 24] Platform Orchestrators: The Missing Middle of Internal Developer Platforms?
danielbryantuk
1
180
少数チームで挑む: SwiftUI, TCA, KMPを用いた 新規動画配信アプリ 「ABEMA Live」の開発について
tomu28
0
540
プロデザ! BY リクルート vol.18_リクルートのリサーチ実践組織「リサーチブーストコミュニティ」
recruitengineers
PRO
3
240
AWS を使う上で知っておきたいオンプレミス知識/aws-on-premise-essentials
emiki
1
4.2k
入社後初めてのタスクでk8sアップグレードした話.pdf
kkato1
1
380
Delivering Millions of Messages within seconds @ Duolingo
pelelgrino
0
340
スタートアップの技術顧問を3年間続けて発生した事と気付き
biwakonbu
0
160
Cloud Native Java with Spring Boot (CNCF Aarhus, April 2024)
thomasvitale
1
120
0→1開発における技術選定において一番大切なこと
bicstone
1
330
プロトタイピングによる不確実性の低減 / Reducing Uncertainty through Prototyping
ohbarye
3
240
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
9
8.3k
Clear Off the Table
cherdarchuk
83
310k
Practical Orchestrator
shlominoach
181
9.7k
Why You Should Never Use an ORM
jnunemaker
PRO
50
8.6k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
15
1.4k
The World Runs on Bad Software
bkeepers
PRO
61
6.7k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
115
18k
Rails Girls Zürich Keynote
gr2m
91
13k
Design by the Numbers
sachag
274
18k
A designer walks into a library…
pauljervisheath
199
23k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
119
38k
What's in a price? How to price your products and services
michaelherold
237
11k
Transcript
Linux Command 入門 Secprj Intro-phase
Linux Command とは Linux(OS)に対して命令(コマンド)を送るための体系のこと 下のようなTerminal(Shell)からコマンドを送信することで命令する コンピュータにおけるほとんどのプログラムはTerminalから触ることができる TerminalはCLI(Command Line Interface)とも言われる
コマンド例 入力してEnterを押すと実行でき,実行結果が続いて出力される コマンドによって機能が違う
$ ls -l temp/
$ ls -l temp/
$ ls -l temp/ コマンド本体 引数
$ ls -l temp/ コマンド本体 引数 Option
$ ls -l temp/ コマンド本体 引数 Option 引数はコマンド本体に渡されて,処理に使われる Optionはコマンド本体の機能を指定するもの(車のオプションが近いかも) ここでは,lsコマンドに-l
temp/を渡している lsコマンドは指定されたディレクトリの中身を一覧するコマンド
ファイルとディレクトリ ファイルは情報を記録/管理するための意味のある単位(文書/音楽/画像...) ディレクトリはファイルをまとめる入れ物(WindowsやMacではフォルダ)
None
a.txt b.png c.mp4 d.mp3 e.jpg f.txt hello/ hoge/ fuga/ temp/
/ ルートディレクトリ
パス(経路) コンピュータ上のファイルやディレクトリの位置を表す ファイルやディレクトリ指定する時などに使う 例:text1.txt の位置 /home/smb/Document/papers/text1.txt 例:Downloads/ の位置 /home/smb/Downloads/ ディレクトリを
/ で区切って表記する ディレクトリの場合は名前の後ろに / をおく慣習がある
a.txt b.png c.mp4 d.mp3 e.jpg f.txt hello/ fuga/ a.txtへのパス /temp/hello/a.txt
e.jpgへのパス /temp/hoge/fuga/e.jpg hoge/ temp/ /
カレントディレクトリ(ワーキングディレクトリ) 今いるディレクトリのこと CLIでは,ディレクトリを移動しながら作業する コマンドによってはカレントディレクトリの場所や, カレントディレクトリに含まれるファイルを参照する場合がある $ cd [dir] カレントディレクトリを確認するコマンド カレントディレクトリを移動するコマンド
$ pwd
a.txt b.png c.mp4 d.mp3 e.jpg f.txt hello/ hoge/ fuga/ カレントディレクトリ
$ pwd /temp/hoge temp/ /
a.txt b.png c.mp4 d.mp3 e.jpg f.txt hello/ hoge/ fuga/ カレントディレクトリ
$ ls d.mp3 fuga/ temp/ /
a.txt b.png c.mp4 d.mp3 e.jpg f.txt hello/ hoge/ fuga/ カレントディレクトリ
$ cd /hoge/fuga/ temp/ /
a.txt b.png c.mp4 d.mp3 e.jpg f.txt hello/ hoge/ fuga/ カレントディレクトリ
$ cd /hoge/fuga/ temp/ /
a.txt b.png c.mp4 d.mp3 e.jpg f.txt hello/ hoge/ fuga/ カレントディレクトリ
$ pwd /temp/hoge/fuga temp/ /
a.txt b.png c.mp4 d.mp3 e.jpg f.txt hello/ hoge/ fuga/ カレントディレクトリ
$ ls e.jpg temp/ /
絶対パスと相対パス 絶対パス(フルパス) OS全体の中から一意に決まるパス どこにいても同じものを指し示す 相対パス カレントディレクトリからの相対的なパス カレントディレクトリの位置によって示すファイルやパスは変動する ./ はカレントディレクトリ(省略可) ../
はカレントディレクトリの親ディレクトリ /temp/hoge/fuga ./hoge/fuga ../d.mp3
a.txt b.png c.mp4 d.mp3 e.jpg f.txt hello/ hoge/ fuga/ カレントディレクトリ
絶対パス /temp/hoge/fuga/e.jpg 相対パス ./e.jpg 対象のファイル temp/ /
a.txt b.png c.mp4 d.mp3 e.jpg f.txt hello/ hoge/ fuga/ カレントディレクトリ
絶対パス /temp/hoge/fuga/e.jpg 相対パス ../hoge/fuga/e.jpg 対象のファイル temp/ /
a.txt b.png c.mp4 d.mp3 e.jpg f.txt hello/ hoge/ fuga/ カレントディレクトリ
絶対パス /temp/hello/a.txt 相対パス ../../hello/a.txt 対象のファイル temp/ /
よく使うコマンド ls 指定したディレクトリの中身を表示(単体だとカレントディレクトリ) ls hoge/ cd 指定したディレクトリへ移動(単体だとホームディレクトリ) cd hoge/ mkdir
指定した名前でディレクトリを作成 mkdir hoge/ cp 指定したファイルを別の場所にコピー cp hoge fuga mv 指定したファイルを別の場所に移動(renameにも使われる) mv hoge foo/ cat 指定したファイルの中身を出力(標準入力もでき,複数指定で連結) cat hoge less 指定したファイルの中身を出力(検索とか使えて便利) less hoge gedit / vim / emacs / nano などのeditor系コマンド nano hoge 慣れれば無意識で 叩くようになります 細かい使い方は --help をつけて実行したり,manコマンドを使ったりしてみてください
ホームディレクトリについて LinuxではTerminalを起動するとホームディレクトリがカレントディレクトリ /home/<username>/ ユーザごとにホームディレクトリは別で, /home/の下にユーザのディレクトリが切られている cdを引数なしで実行すると, ログインしているユーザのホームディレクトリに移動する /home/とホームディレクトリは別物なので注意
あとは実践あるのみ 各種操作はCLIを極めると,CLIの方が高速なことが多いです 最初のうちはGUIの方が楽だと感じるかもしれませんが,頑張って慣れましょう プログラムの実行やファイルの編集なども,CLIからできます コマンドは自作もできます 世の中にはたくさんのコマンドがあります パッケージマネージャを使うと簡単に インターネット上から落としてくることができます Terminalはカスタマイズも可能なので 先輩たちのものを見せてもらうのもいいと思います