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
第1回 GNU/Linux勉強会
Search
Hiroto Sasagawa
July 09, 2023
Programming
0
520
第1回 GNU/Linux勉強会
Hiroto Sasagawa
July 09, 2023
Tweet
Share
More Decks by Hiroto Sasagawa
See All by Hiroto Sasagawa
IP Anycastとリバースプロキシ
nagutabby
0
440
HSTSについて調べた
nagutabby
0
400
第1回 AWS勉強会
nagutabby
0
550
第2回 GNU/Linux勉強会
nagutabby
0
450
第3回 GNU/Linux勉強会
nagutabby
0
510
DNSを標的とする攻撃
nagutabby
0
460
EC2とCloudWatchで始める高対話型ハニーポット運用
nagutabby
0
550
Other Decks in Programming
See All in Programming
為你自己學 Python - 冷知識篇
eddie
1
350
GitHubとGitLabとAWS CodePipelineでCI/CDを組み比べてみた
satoshi256kbyte
4
250
ユーザーも開発者も悩ませない TV アプリ開発 ~Compose の内部実装から学ぶフォーカス制御~
taked137
0
190
請來的 AI Agent 同事們在寫程式時,怎麼用 pytest 去除各種幻想與盲點
keitheis
0
130
テストコードはもう書かない:JetBrains AI Assistantに委ねる非同期処理のテスト自動設計・生成
makun
0
550
Compose Multiplatform × AI で作る、次世代アプリ開発支援ツールの設計と実装
thagikura
0
170
AI時代のUIはどこへ行く?
yusukebe
18
9.1k
AWS発のAIエディタKiroを使ってみた
iriikeita
1
190
Zendeskのチケットを Amazon Bedrockで 解析した
ryokosuge
3
320
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
420
アプリの "かわいい" を支えるアニメーションツールRiveについて
uetyo
0
280
複雑なフォームに立ち向かう Next.js の技術選定
macchiitaka
2
240
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
4 Signs Your Business is Dying
shpigford
184
22k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
The Pragmatic Product Professional
lauravandoore
36
6.9k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
Producing Creativity
orderedlist
PRO
347
40k
How STYLIGHT went responsive
nonsquared
100
5.8k
Into the Great Unknown - MozCon
thekraken
40
2k
Thoughts on Productivity
jonyablonski
70
4.8k
Rails Girls Zürich Keynote
gr2m
95
14k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
113
20k
Transcript
第1回 GNU/Linux 勉強会 Linuxの概要、ディレクトリ操作、変数 2022/4/21 笹川 尋翔
Linuxとは • 厳密には、Linuxカーネル • ⼀般的には、Linuxカーネルを⽤いたOS サーバ(実際のアプリケーションを配信するコンピュータ)で 使⽤されるOS
なぜLinux? • OSS(Open Source Software) • ソースコードが公開されているソフトウェア • GPL(GNU General
Public License) v2.0ライセンス • 誰でも無償で利⽤できる • 誰でも⾃由に複製、改変、再配布、販売できる • 低スペックなコンピュータでも動作 • サーバに搭載するCPUやメモリの費⽤を抑えられる • CUIで効率的に作業できる • 例) カレントディレクトリのファイルとディレクトリを表⽰ • PowerShell: Get-ChildItem • Linux: ls
Linuxの歴史 https://www.techug.com/post/linus-torvalds-criticize-7-tech.html • 1968年にケン・トンプソン、デニス・リッ チーなどがUNIXを公開 • 1991年にリーナス・トーバルズがUNIX系 OSであるLinuxを公開 • 主にC⾔語で書かれている
• リチャード・ストールマンが開発したGCCコン パイラや、様々なライブラリなどが含まれる • 現在では、AndroidなどのOSのプロジェクトに フォークされる形で活⽤されたりしている
Linuxディストリビューション • Linuxカーネルと関連ソフトウェアをまとめたもの • 関連ソフトウェア • テキストエディタ: Emacs、Vim、 nano •
Webサーバ: Apache HTTP Server、NGINX • メールサーバ: Postfix, Dovecot • データベース管理システム: MySQL、MariaDB、MongoDB、PostgreSQL • Debian系 • Debian, Ubuntu • Red Hat系 • CentOS Stream, Amazon Linux, Red Hat Enterprise Linux(RHEL)
Linuxサーバにログインする • SSH(Secure SHell)を利⽤してEC2インスタンスにログイン • フィンガープリントの確認を求められるので、yesを⼊⼒する • ⽤語説明 • ディレクトリ:
ファイルの保管場所 • ホームディレクトリ: /home/[ユーザ名] • カレントディレクトリ: 現在のディレクトリ • ルートディレクトリ: 最上位のディレクトリ
echo • 値を表⽰する • ⽤法 • echo 値
man(manual) • コマンドなどのリファレンスマニュアルを表⽰する • ⽤法: man コマンド名 • スペースで1ページ進む •
Bで1ページ戻る • Shift + Gでファイルの末尾に移動する • Gでファイルの先頭に移動する • Qで終了する
ls(list segments) • ファイルやディレクトリの情報を表⽰する • ⽤法 • ls ディレクトリ名 •
オプション • -a: 隠しファイルと隠しディレクトリも表⽰する • -l: 詳細情報を表⽰する • -R: 再帰的に表⽰する • -F: ディレクトリ名の末尾に/を付けて表⽰する
mkdir(make directory) • ディレクトリを作成する • ⽤法 • mkdir ディレクトリ名 •
オプション • -p: 親ディレクトリも作成する
pwd(print working directory) • カレントディレクトリを表⽰する • ⽤法 • pwd
cd(change directory) • ディレクトリを移動する • ⽤法 • cd ディレクトリ名 •
相対パスと絶対パスを指定できる
rmdir(remove directory) • ディレクトリを削除する • ⽤法 • rmdir ディレクトリ名 •
オプション • -p: ⼦ディレクトリも削除する
touch • 空のファイルを作成する • ⽤法 • touch ファイル名
rm(remove) • ファイルを削除する • ⽤法: rm ファイル名 • オプション •
-r, -R: 再起的に削除する(ディレクトリも削除する) • -f: 強制的に削除する(削除する際に確認しない) • -i: 削除する前に確認する
環境変数(Environment Variable) • 永続的に設定されている変数 • 予め⽤意されているLinuxの環境変数 • PATH: プログラムを検索するディレクトリのリスト •
PWD: カレントディレクトリ • HOSTNAME: ホスト名 • USER: 現在コマンドを実⾏しているユーザ名 • LANG: 地域情報(ロケール) • HOME: ホームディレクトリ など
printenv • 環境変数の⼀覧を表⽰する • ⽤法 • printenv
mv(move) • ファイルをリネームする • ディレクトリやファイルを移動する • ⽤法 • mv 元のファイル名
変更後のファイル名 • mv ファイル名 ディレクトリ名 • オプション • -i: 移動する前に確認する • -f: 強制的に移動する
シェル変数 • 現在のシェルの中だけで有効な変数 • 設定⽅法 • 変数名=値
export • 環境変数を設定する • ⽤法 • export 変数名=値