Linux & Terminal


os(オペレーティングシステム、オペレーティングシステム)


シェル&カーネル
Windows Mac Linuxとか
コンピューターは0,1しか知らない.
ユーザーコマンドを0と1に変換して、コンピュータが理解できるようにする翻訳機などの役割.

シェルのユーザカーネルはコンピュータ(ハードウェア)
コマンドShellはカーネルに入り、カーネルは翻訳され、ハードウェアが理解できるようにします.
そしてハードウェア実行コマンド
マウスクリックもこの順序で実行
端末で実行されるプログラムはシェルです
端末でShellを実行
端末を介してハードウェアにコマンドを発行することができる.
Shellは100種類以上ありますが、基本的にはJet Shellを使っています.
15年のMacBookからジェット機がありました.
バッシュとジェットシェルはほとんど違いがない.いくつかの機能の違い
カーネルはハードウェアに直接コマンドを発行する部分であるため、osのコア部分である.ユーザが命令を出す場所(端末でShellを実行)커널ハードウェアが号令する場所

Linux


OSではなぜLinuxなのでしょうか?


オープンソースなので、私の好みでクリスタルを無料で配布できます
マルチタスク処理が可能です.複数の端末を設定して、端末ごとに異なる作業を行うことができます.
サーバ側のオペレーティングシステムには90以上のLinuxがあります.だから使ったんだよ.

Linuxには多くのリリース版があります.
MACはLinuxではなくUnixシリーズ
Linux完全互換Unix
Macが開発したLinuxでは互換性がある.
カーネルはオープンソースで、多くの追加機能が追加され、複数のリリース版があります.

Linux構造


CLI、GUI環境



Linuxには大きく2つの形式がある.
サーバは私たちから遠く離れていて、リモート接続が必要ですが、環境はCLIで、知る必要があります.
CLIはGUIをサポートする.
CLIしか使えないことも多いです.

Linuxツリーのルートのようなファイル構造
これを知ってこそ、どこで働いているのか知ることができる.

すべてのLinuxファイルはrootから始まります.

ウィンドウで計算するとcドライブ、デスクトップ程度?
初めてターミナルを開く場合、一般的な位置は/homeです.
Linuxにログインできるユーザー管理ファイルのスペース

Linux実行時に必要な基本命令を格納するスペース.

一部のリリース設定のみを含む場所
赤い帽子のあるところ.
/mnt
マウンテンの弱者dドライブ(ディスク)やusbなどの接続後に動作するディレクトリ.
/sbin
バイナリディレクトリですが、システムに完全にアクセスできるコマンドのみが含まれています.

PATH


Linuxのコアはパスです.
2種類のパス表示方法+環境変数

環境変数の概念は
OSも最終的にはプログラムなので、コミュニケーションできます
os環境で必要な変数を環境変数と呼ぶ.
デフォルト設定がある場合は、追加することもできます.



path使用したいコマンドの場所を保存したら
私が使いたい命令を直接打つことができます.
もともとさっき言ったバイナリというところにコマンドがありましたが、それを実行するにはパスを見つけて書かなければなりませんが、それをしなくてもいいです.
Pythonの場合、Pythonをインストールする場所は次のとおりです.
サービスを作る際には、露出できない敏感な情報が必要になる場合があります.
データベースのパスワードなどの機密情報を格納するときに環境変数を使用します.
ここに保存して、私たちが作成したプログラムは環境変数にアクセスし、必要なものだけを抽出します.

configファイルはdotファイルとも呼ばれます

たんまつめいれい

  • pwd(印刷ジョブディレクトリ):現在位置(経路)出力
  • cd(change directory):ディレクトリ(フォルダ)へ移動
  • ex) cd ./usr
  • ls(list segments):現在位置(パス)にファイルリストを出力
  • ls /경로 치면 경로위치의 파일 목록 출력 가능
    ls -a 주면  숨김파일까지 다 가능 (all)
    ls -al 도 있음 보이는 형식이 좀 다른 거.
  • mkdir/rmdir(make directory):ディレクトリの作成/削除
  • rm(remove):ファイル.ディレクトリの削除
  •  rm -r ( remove recursive) : 디렉토리 삭제
      
     그냥 rm 하면, 디렉토리는 삭제가 안됨
     
       현재위치 위코드 일 때,  
       rm -r ./32th  위코드 안에 있는 32th 라는 디렉토리 삭제 완료 
       
       (하지말것!!) rm -rf* : (별은 전부를 뜻함. f는 강제.)
       
       현재위치에서 이거 쓰면 위코드 디렉토리 안에 있는거 다 날라감
       
       돌이킬 수 없다. 
       
  • cp(copy):ファイル/ディレクトリのコピー
  • mv(move):ファイル/ディレクトリの移動
  • mv는 파일 이름을 바꿀 수도 있다 (이동, 이름변경 두가지 기능이 있다)
    mv test.md 32th.md(없는 파일)  이렇게 쓰면 원래 test.md가 뒤 위치로 이동해야 하는데 없으면 그 냥 test.md파일 이름 자체가 바뀜
  • cat(カスケード):ファイル内容を端末に出力
  • touch (touch):ファイルを作成し日付情報を変更する
  • touch test.md
  • chmod(change mode)ファイル/ディレクトリ権限設定
  • chmod u+x test.md
  • vivim:Linuxエディタの1つ.ファイルを編集するときに使用します.
  • vi test.md 쓰거나 vi 파일경로
    
    이러면 창 바뀌면서 편집할 수 있는 창 생성된다. vim에 들어온거고,
    편집하려면 i 눌러서 insert 모드로 바꿔야 하고,
    편집 끝나면 esc 눌러서 insert 모드 꺼야 됨
    
    :w 하고 엔터는 저장
    :q 나가기. 다시 터미널로 이동
    :qa 저장안하고 나가기 강제는 :qa ! 
    저장됐는지 확인하려면 다시 vi test.md 하면 됨
    막 적었다가 아닌거 같으면 :q ! (그냥 무시하고 저장안하고 나감)
    저장하고 동시에 나가고 싶으면 :wq 하고 엔터치면 된다.
    
    ex)ディレクトリの作成
    cd Desktop/wecode/ 
    데스크탑 안의 위코드 디렉토리로 이동했다.
    
    ls   
    목록 한번 쭉 보고
    
    mkdir 32th 
    32th 라는 폴더 만듬
    
    ls  
    추가 됐는지 확인
    
    cd ./32th/  
    현재위치에서 32기 디렉토리로 이동
    
    pwd   
    쳐보면 현재 위치
    
    ls   
    여기서 ls 치면 아무것도 없음(안에 내용이 없으니까)
    
    
    touch test.md  
    여기다가 test.md 라는 파일 만듬
    
    ls   
    이제 test.md 나옴
    
    pwd 
    32기다
    
    (cd .. 하면 
     한단계 높은데로 감
      cd../.. 하면 
      두단계 높은데로 감)
      
      현재 32기 폴더
      cp ./test.md ./test.  
      test.md파일을 test 파일로 복사한다. (상대경로로 적어서 . 있는거)
      
      ls 
      찍어보면 둘다 그대로 있고,
     
      test 에서 ls 찍어보면 test.md가 안에 있다. 
      
     (현재위치는 32기)
      rm test.md 
      하면 test.md 파일 지워짐
      
     ( 이럼이제 32기 안에 test파일 하나만 있고 그안에 복붙됐던 test.md 가 있다.)
      
      cd ..
      test 파일로 옴
      
      mv /test.md ..   
      test 안에 있던 md파일을 test 위의 32기 폴더로 옮김 
      (이동하면 원래 있던거 없어짐) 
      
      
    cd ..
    상위로 올라가봄
    
    (현재 32기)
    
    ls 
    찍어보면 test test.md 라고 뜸
    
    vi test.md 
    열어서 내용을 살펴보면 아까 그거다