$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
LinuxCommand入門
Search
Seiya
July 01, 2021
Technology
0
350
LinuxCommand入門
大学サークルのイントロ用資料です
LinuxCommandというよりCLIのお話です
Seiya
July 01, 2021
Tweet
Share
More Decks by Seiya
See All by Seiya
おうちGitLabのススメ
silmin_
3
1.3k
Git入門
silmin_
30
17k
暗号について
silmin_
0
150
LinuxCommand入門2
silmin_
0
250
Webについて
silmin_
3
170
ネットワークとは
silmin_
0
220
コンピュータとは|初心者向け資料
silmin_
1
170
ビットについて|入門者向け資料
silmin_
0
200
GitLab-CIとGoogleCloudRunで作るSandBox環境
silmin_
2
250
Other Decks in Technology
See All in Technology
freeeにおけるファンクションを超えた一気通貫でのAI活用
jaxx2104
3
1.4k
コミューンのデータ分析AIエージェント「Community Sage」の紹介
fufufukakaka
0
380
法人支出管理領域におけるソフトウェアアーキテクチャに基づいたテスト戦略の実践
ogugu9
1
200
生成AI時代の自動E2Eテスト運用とPlaywright実践知_引持力哉
legalontechnologies
PRO
0
200
「Managed Instances」と「durable functions」で広がるAWS Lambdaのユースケース
lamaglama39
0
210
Kiro Autonomous AgentとKiro Powers の紹介 / kiro-autonomous-agent-and-powers
tomoki10
0
220
AI/MLのマルチテナント基盤を支えるコンテナ技術
pfn
PRO
5
790
Multimodal AI Driving Solutions to Societal Challenges
keio_smilab
PRO
1
140
たかが特別な時間の終わり / It's Only the End of Special Time
watany
28
7.8k
セキュリティAIエージェントの現在と未来 / PSS #2 Takumi Session
flatt_security
3
1.5k
新 Security HubがついにGA!仕組みや料金を深堀り #AWSreInvent #regrowth / AWS Security Hub Advanced GA
masahirokawahara
1
790
Agents IA : la nouvelle frontière des LLMs (Tech.Rocks Summit 2025)
glaforge
0
480
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
55
9.3k
The Language of Interfaces
destraynor
162
25k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Agile that works and the tools we love
rasmusluckow
331
21k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Mobile First: as difficult as doing things right
swwweet
225
10k
Faster Mobile Websites
deanohume
310
31k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Unsuck your backbone
ammeep
671
58k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
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はカスタマイズも可能なので 先輩たちのものを見せてもらうのもいいと思います