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
420
第1回 GNU/Linux勉強会
Hiroto Sasagawa
July 09, 2023
Tweet
Share
More Decks by Hiroto Sasagawa
See All by Hiroto Sasagawa
IP Anycastとリバースプロキシ
nagutabby
0
330
HSTSについて調べた
nagutabby
0
320
第1回 AWS勉強会
nagutabby
0
420
第2回 GNU/Linux勉強会
nagutabby
0
370
第3回 GNU/Linux勉強会
nagutabby
0
400
DNSを標的とする攻撃
nagutabby
0
370
EC2とCloudWatchで始める高対話型ハニーポット運用
nagutabby
0
390
Other Decks in Programming
See All in Programming
Milestoner
bkuhlmann
1
410
Snowflakeで眠ったデータを起こそう!
estie
0
140
Next.js App Router
quramy
12
1.8k
try! Swift Tokyo 初参加報告LT
hinakko2
0
240
#phpcon_odawara オープン・クローズドなテストフィクスチャを求めて / open closed test fixtures
77web
3
240
はてなにおける CSS Modules、及び CSS Modules に足りないもの / CSS Modules in Hatena, and CSS Modules missing parts
mizdra
7
970
GraphQLサーバの構成要素を整理する #ハッカー鮨 #tsukijigraphql / graphql server technology selection
izumin5210
4
910
Netty Chicago Java User Group 2024-04-17
sullis
0
200
PHP8.3の機能を振り返る / Review of PHP 8.3 features
seike460
PRO
1
120
Going beyond Apache Parquet's default settings
xhochy
0
130
Apache Hive 4 on Treasure Data
ryukobayashi
1
420
Scalable Customer Journey Orchestration (CJO)
lewuathe
0
420
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
238
11k
BBQ
matthewcrist
80
8.8k
The Cult of Friendly URLs
andyhume
74
5.7k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
126
32k
StorybookのUI Testing Handbookを読んだ
zakiyama
13
4.6k
Side Projects
sachag
451
41k
Web development in the modern age
philhawksworth
203
10k
We Have a Design System, Now What?
morganepeng
43
6.8k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.1k
How To Stay Up To Date on Web Technology
chriscoyier
782
250k
How to name files
jennybc
65
93k
How GitHub (no longer) Works
holman
305
140k
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 変数名=値