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
340
LinuxCommand入門
大学サークルのイントロ用資料です
LinuxCommandというよりCLIのお話です
mina
July 01, 2021
Tweet
Share
More Decks by mina
See All by mina
おうちGitLabのススメ
silmin_
3
1.2k
Git入門
silmin_
29
16k
暗号について
silmin_
0
140
LinuxCommand入門2
silmin_
0
240
Webについて
silmin_
3
160
ネットワークとは
silmin_
0
210
コンピュータとは|初心者向け資料
silmin_
1
160
ビットについて|入門者向け資料
silmin_
0
190
GitLab-CIとGoogleCloudRunで作るSandBox環境
silmin_
2
240
Other Decks in Technology
See All in Technology
CNCFの視点で捉えるPlatform Engineering - 最新動向と展望 / Platform Engineering from the CNCF Perspective
hhiroshell
0
140
AI-Readyを目指した非構造化データのメダリオンアーキテクチャ
r_miura
1
320
20251027_マルチエージェントとは
almondo_event
1
420
オブザーバビリティと育てた ID管理・認証認可基盤の歩み / The Journey of an ID Management, Authentication, and Authorization Platform Nurtured with Observability
kaminashi
1
690
OTEPsで知るOpenTelemetryの未来 / Observability Conference Tokyo 2025
arthur1
0
240
Building a cloud native business on open source
lizrice
0
180
CREが作る自己解決サイクルSlackワークフローに組み込んだAIによる社内ヘルプデスク改革 #cre_meetup
bengo4com
0
330
組織全員で向き合うAI Readyなデータ利活用
gappy50
0
300
入院医療費算定業務をAIで支援する:包括医療費支払い制度とDPCコーディング (公開版)
hagino3000
0
110
Azureコストと向き合った、4年半のリアル / Four and a half years of dealing with Azure costs
aeonpeople
1
300
現場データから見える、開発生産性の変化コード生成AI導入・運用のリアル〜 / Changes in Development Productivity and Operational Challenges Following the Introduction of Code Generation AI
nttcom
1
480
マルチエージェントのチームビルディング_2025-10-25
shinoyamada
0
160
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Building a Scalable Design System with Sketch
lauravandoore
463
33k
Documentation Writing (for coders)
carmenintech
75
5.1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
130k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.9k
A designer walks into a library…
pauljervisheath
209
24k
The Invisible Side of Design
smashingmag
302
51k
BBQ
matthewcrist
89
9.9k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
Docker and Python
trallard
46
3.6k
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はカスタマイズも可能なので 先輩たちのものを見せてもらうのもいいと思います