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
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
160
ネットワークとは
silmin_
0
220
コンピュータとは|初心者向け資料
silmin_
1
160
ビットについて|入門者向け資料
silmin_
0
190
GitLab-CIとGoogleCloudRunで作るSandBox環境
silmin_
2
240
Other Decks in Technology
See All in Technology
adk-samples に学ぶデータ分析 LLM エージェント開発
na0
3
550
組織の“見えない壁”を越えよ!エンタープライズシフトに必須な3つのPMの「在り方」変革 #pmconf2025
masakazu178
1
830
小規模チームによる衛星管制システムの開発とスケーラビリティの実現
sankichi92
0
120
クラスタ統合リアーキテクチャ全貌~1,000万ユーザーのウェルネスSaaSを再設計~
hacomono
PRO
0
150
pmconf 2025 大阪「生成AI時代に未来を切り開くためのプロダクト戦略:圧倒的生産性を実現するためのプロダクトサイクロン」 / The Product Cyclone for Outstanding Productivity
yamamuteki
3
2.4k
ABEJA FIRST GUIDE for Software Engineers
abeja
0
3.2k
AI エージェント活用のベストプラクティスと今後の課題
asei
1
260
ABEMAのCM配信を支えるスケーラブルな分散カウンタの実装
hono0130
4
1.1k
Android Studio Otter の最新 Gemini 機能 / Latest Gemini features in Android Studio Otter
yanzm
0
320
AI駆動開発を実現するためのアーキテクチャと取り組み
baseballyama
16
12k
社内外から"使ってもらえる"データ基盤を支えるアーキテクチャの秘訣/登壇資料(飯塚 大地・高橋 一貴)
hacobu
PRO
0
6.4k
プロダクト負債と歩む持続可能なサービスを育てるための挑戦
sansantech
PRO
1
890
Featured
See All Featured
Six Lessons from altMBA
skipperchong
29
4.1k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
Optimizing for Happiness
mojombo
379
70k
Designing Experiences People Love
moore
142
24k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Writing Fast Ruby
sferik
630
62k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Producing Creativity
orderedlist
PRO
348
40k
Into the Great Unknown - MozCon
thekraken
40
2.2k
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はカスタマイズも可能なので 先輩たちのものを見せてもらうのもいいと思います