$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
非CUDAの悲哀 〜Claude Code と挑んだ image to 3D “Hunyuan3D”を EVO-X2(Ryzen AI Max+395)で動作させるチャレンジ〜
hawkymisc
1
170
Sansanが実践する Platform EngineeringとSREの協創
sansantech
PRO
2
820
Power of Kiro : あなたの㌔はパワステ搭載ですか?
r3_yamauchi
PRO
0
100
第4回 「メタデータ通り」 リアル開催
datayokocho
0
130
因果AIへの招待
sshimizu2006
0
960
AI 駆動開発勉強会 フロントエンド支部 #1 w/あずもば
1ftseabass
PRO
0
340
AWS CLIの新しい認証情報設定方法aws loginコマンドの実態
wkm2
6
710
[JAWS-UG 横浜支部 #91]DevOps Agent vs CloudWatch Investigations -比較と実践-
sh_fk2
1
250
Haskell を武器にして挑む競技プログラミング ─ 操作的思考から意味モデル思考へ
naoya
6
1.5k
文字列の並び順 / Unicode Collation
tmtms
3
570
年間40件以上の登壇を続けて見えた「本当の発信力」/ 20251213 Masaki Okuda
shift_evolve
PRO
1
120
Lessons from Migrating to OpenSearch: Shard Design, Log Ingestion, and UI Decisions
sansantech
PRO
1
120
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Making the Leap to Tech Lead
cromwellryan
135
9.7k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Statistics for Hackers
jakevdp
799
230k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
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はカスタマイズも可能なので 先輩たちのものを見せてもらうのもいいと思います