# File System

41개의 포스트

Removing File / Directories in Linux

학교에서 VM을 할당받으면 맨날 리눅스 VM이었다. 다행히 첫 수업에서 VSC를 활용해 ssh 연결하는 법을 자세히 알려줬었기 때문에 터미널에서 cmd 입력하면서 파일 관리를 할 일은 거의 없었지만... 가끔 VM을 내 실수로 터뜨려버릴때 putty로 원격 접속을 해가지고 분석하거나 특정 파일을 삭제 해야하는 경우는 있었다. (VSC resource 관련 파일이라든가) 오늘은 file, directory를 제거하는 방법을 알아보자. File 제거 흔히 rm이나 unlink 명령어를 사용한다. 리눅스 터미널에서 사용해야 한다. >예시 : hello.txt 제거 단, file이 쓰기 보호 (write-protected) 된 상태이면 경고가 나온다. 이 경우 y를 입력하면 제거가 된다. n을 입력하면 제거가 안된다. >예시 : 쓰기 보호된 hello.txt 제거 unlink 명령어는 사실 C의 STL에 있는 `u

2023년 7월 3일
·
0개의 댓글
·

파일 시스템(File System)

File System File System 이란? 파일 시스템은 컴퓨터에서 파일이나 자료를 쉽게 발견 및 접근할 수 있도록 보관 또는 조직하는 체제를 가리키는 말이다. File System의 구성 > 파일(File) 컴퓨터에서 데이터를 저장하는 데 사용되는 단위이다. > 파티션(Partition) 연속된 저장 공간을 하나 이상의 연속되고 독립적인 영역으로 나누어 사용할 수 있도록 정의한 규약이다. 하나의 물리적 디스크 안에 여러 파티션을 두는 게 일반적이지만, 여러 물리적 디스크를 하나의 파티션으로 구성하기도 한다. ex. c드라이브 d드라이브 > 디렉토리(Directory) 파일들을 분류, 보관하기 위한 개념이며 폴더라고 한다. 파일 접근 방법 시스템이 파일에 접근하여

2023년 6월 7일
·
0개의 댓글
·
post-thumbnail

[Week13] Window사이트 탐방

🌸🌸🌸내가 좋아하는 window의 파일 시스템은 어떻게 되어있는지 알아보자. window의 file system > https://learn.microsoft.com/ko-kr/windows-hardware/drivers/ifs/#file-systems Windows 파일 시스템은 스토리지 시스템 위에서 작동하는 파일 시스템 드라이버로 구현됩니다. Windows 사용할 수 있는 표준 파일 시스템에는 NTFS, ExFAT, UDF 및 FAT32가 포함됩니다. Windows Server 2012 이상 버전에서 사용할 수 있는 ReFS(복원 파일 시스템)는 확장 가능한 대용량 지원과 디스크에서 데이터 손상을 감지하고 수정하는 기능을 제공합니다. window의 파일 시스템 기능 비교 > https://learn.microsoft.com/ko-kr/windows/win32/fileio/filesystem-functionality-comparison

2023년 5월 29일
·
0개의 댓글
·
post-thumbnail

운영체제 : 파일과 디렉터리, 파일 시스템

이번엔 운영체제가 파일과 디렉터리를 어떻게 관리해주는 지 알아보자. 그 전에, 파일 시스템이란 파일과 디렉터리를 관리하는 운영체제 내부에 있는 시스템이다. 파일과 디렉터리는 보조기억장치의 데이터 덩어리로 볼 수 있다. 파일 파일이란? 파일은 보조기억장치에 저장된 의미있고, 관련된 정보의 집합이다. 파일에는 파일을 실행하기 위한 정보와 속성, 메타 데이터 등의 부가 정보로 이루어져있다. 파일의 속성 파일의 속성은 아래와 같다. 유형은 운영체제가 인식하는 파일의 종류이다. 확장자로 특정지을 수 있다. 파일을 다루기 위해서는 반드시 운영체제를 거쳐야 한다. 파일 생성, 삭제, 열고 닫기, 읽기, 쓰기 등 다양한 시스템 호출이 존재한다. 디렉터리 윈도우에서는 폴더라고도 부른다. 하나의 디렉터리만 사용하

2023년 5월 8일
·
0개의 댓글
·
post-thumbnail

[수업 정리] 2. SW 시스템

에타 대화를 보니깐 다들 파이썬만 할 줄 알았는데, 실망한 내용이다. 얼마 전 독서 모임에서 누군가 대학은 무엇을 얻을 수 있는가 질문했었다. 그 사람은 전공 지식은 유튜브로 얻어도 충분하다고 했다. 정말 공감했다. 모르는 코드는 구글링하거나 chatgpt한테 물어보면 엥간치 한다. 나는 그 질문에 교수가 학문을 보는 식견이라고 대답했다. 4년 대학 생활에서 가장 인상 깊은 내용은 이거였다. > 지금까지 배운 내용은 y = Ax이다. 아직은 반만 이해한 것 같다. 우리는 추상적인 이론을 접할 수록 자신도 안다고 착각한다. 예를 들어 평등은 존재할 수 없다고라고 저명한 철학자가 강연한다면 꽤 많은 사람들이 당연한 소리하면서 돈 받고 강연한다고 할 것이다. 하지만 또 다른 철학자가 사람은 죽음 앞에서 평등하다고 주장하면 또 그렇게 생각할 것이다. 잡설이 길었는데 2장 내용을 간추려보겠다. OS의 역할 컴퓨터를 샀는데 윈도우가 없다고 생각하면 당황

2023년 3월 27일
·
0개의 댓글
·
post-thumbnail

[수업 정리] 1. 컴퓨터 시스템

컴퓨터 및 프로그래밍 입문이라는 컴공 1학년 강의이다. 작년에 C 원어 강의를 들었는데, 그곳에서 좋은 친구를 만났다. 아르헨티나 출신 스페인 교환학생인데 같이 공부도 했고, 재미있게 놀았다. 월드컵 우승했을 때 감동은 아직도 눈물 한 방울 찔끔 흘리게 한다. 그 친구는 올해 초 돌아갔고, 나는 외국인 친구 좀 더 만나고 싶어서 또 원어 강의 신청했다ㅋㅋ 복수전공하는 동아리 후배 친구랑 같이 수업을 듣는데, 이번 학기엔 외국인 친구보단 다른 인연이 있을듯 싶다. 수업 정리는 인상 깊었던 내용 위주로 정리할 예정이다. 컴퓨터와 계산기의 차이점? 공학용 계산기 말고 일반 계산기를 생각해보자 계산기는 보통 숫자 하나씩 입력한다. 이런 식으로 말이다. 입력하는 순서에 따라 계산 결

2023년 3월 27일
·
0개의 댓글
·
post-thumbnail

[Kakao Cloud School] 15번째 회고록

Intro 일정관리 및 계획의 중요성 Spring Boot 프로젝트를 통한 애플리케이션 개발에 대한 공부를 하다가 클라우드를 접하게 되니 배워야할 CS 지식의 양이 더욱 많아 진 것 같다. 얘를 들어 개발 트렌드가 꾸준히 바뀌면서 MSA가 등장하였고 그에 따라 애플리케이션을 작은 단위로 쪼개지는 것을 권장하는 시대가 왔는데 이 MSA라는 내용 안에서 알고 배우고 이해해야 할 것이 너무나도 많게 느껴졌다. 한정된 시간에 많은 내용들을 병행하여 공부해야 한다는 것이 큰 압박감으로 다가왔지만 조급하게 그저 되는대로 넘어가는 것이 아니라 하나라도 확실히 짚고 넘어가기로 각오하게되었다. 이 때, 학습계획의 중요성을 다시 한번 알게되었고, 나의 일정을 관리한다는 것이 얼마나 대단한 것인지 느끼게되었다. 그래서 한 주간의 큰 범주의 계획을 세우고 그 안에서 일 단위의 세부적인 계획을 세우려고 하니 꽤나 시간이 오래 걸렸다. 이전에는 즉흥적으로 공부하고 개발하는 일정으로

2023년 2월 12일
·
0개의 댓글
·
post-thumbnail

[쿠버네티스 3주차 1/3] 리눅스 - 디스크 파티션 & 파일 시스템

디스크 파티션 실습(MBR 방식) fdisk 명령을 사용해 모두 2GB로 만듬, 7개 파티션_확장 3번하면서 2G까지 파티션 3개를 만든다. p로 확인했을때 파티션이 3개가 만들어진 것을 확인 할 수 있다. 나머지 하나는 확장 파티션으로 만드는데 사이즈는 남은 크기 전체로 한다. ![](https://velog.velcdn.c

2023년 1월 3일
·
0개의 댓글
·
post-thumbnail

[WIL] 즐거웠고, 이젠 다시 보지말자👋 Pintos-kaist Project4 마무리 회고 🤹‍♂️

Project4 file system을 시작하고 문지에는 많은 눈이 왔다. 강의실로 멍하게 걸어가다가 문득 핀토스놈이 얄밉다는 생각이 들어서 소심한 복수를 했다. 노션 정리 링크 👨‍👦‍👦 bulksup, kiwoon과 함께 정리한 노션 회고에 앞서 알아둬야 할 것 🧩 이 글의 pintos는 kaist의 CS330 과정의 pintos이며, 작성하는 부분 중 제가 잘못 이해한 부분도 있을 수 있음에 유의해 주시길 바란다. 우리 조는 **기본적으로 git book

2022년 12월 19일
·
0개의 댓글
·
post-thumbnail

[SW사관학교 정글]90일차 TIL - file system 자주 보는 함수들

현재 코드는 Subdirectories and Soft Links 작업 중의 코드입니다. 정답 코드가 아니니 사용할때 ❗️주의❗️바랍니다! > directory.c static bool lookup (const struct dir dir, const char name, struct direntry ep, offt ofsp) 디렉토리에 주어진 파일명이 존재하는지 검색하는 함수이다. 검색된 디렉토리 엔트리의 주소를 반환한다. bool dir_lookup (const struct dir dir, const char name, struct inode **inode) 디렉토리 엔트리를 검색하는 함수이다. 성공 여부를 반환한다. `bool diradd (struct dir dir, const char name, disksector_t i

2022년 12월 17일
·
0개의 댓글
·
post-thumbnail

[SW사관학교 정글]89일차 TIL

pintos에서의 file system 이해 이번 핀토스를 하면서 file system이 어떻게 구성되었는지 이해하는게 쉽지 않았다. 특히 FAT area, DATA area의 구성 개수 등이 힘들었다. 예상 file system 처음에 이해한 구도이다. 사실 팀원들에게 물어보기도 하고 얘기하면서 긴가민가했다. 그런데 긴가민가한 이 직감이 맞았다. 위의 내용은 틀렸다!! ❌❌ pintos의 file system 이게 이번 핀토스에서의 file system이다. 먼저 0번째 섹터(Reserved Area

2022년 12월 16일
·
0개의 댓글
·
post-thumbnail

[SW사관학교 정글]88일차 TIL - file system - fat.c

이번에 file system을 구현하면서 늘 각 함수들을 까먹는다... 그래서 정리를 하면서 잊어먹을때마다 다시 확인하기 위해 정리를 해보았다. fat.c 코드 정리 struct fat_boot fatboot는 fat file system에서 reserved area, 즉 bootsector을 위한 구조체이다. magic : overflow 감지 sectorspercluster : cluster 1개가 차지하는 sector 수 -> 1로 고정 total_sectors : disk의 모든 sector 수 fat_start : fat이 시작하는 sector number fat_sectors : fat이 차지하는 sector 수 rootdircluster : root directory의 cluster number struct fat_fs fat_fs는 fat file system에

2022년 12월 16일
·
0개의 댓글
·
post-thumbnail

BE_intro_Assignment_10.25

리팩토링 후 링크 : https://velog.io/@scroll0908/fs-module-실습-리팩토링 Assignment built-in file system module 실습 >아래에서 user.csv, post.csv 파일에는 인스타그램의 사용자 정보와 게시물 정보가 각각 저장되어 있습니다. > 클라이언트에서 사용자의 id, firstname, lastname, mobile_number와 각 사용자가 작성한 게시물 정보(게시물 id, title, content, userId)를 요청한 경우, users.csv와 posts.csv를 열어서 아래와 같은 결과를 만들어서 출력할 수 있는 코드를 작성해주세요. 코드 작성시 주의사항이 있습니다. console.log() 함수를 사용해서 터미널상에

2022년 10월 25일
·
0개의 댓글
·

📂 File System 모듈

Node.js Node.js의 소개 문서에서 정의하는 Node.js는 "비동기 이벤트 기반의 JavaScript 런타임"이다. >About Node.js As an asynchronous event-driven JavaScript runtime, Node.js is designed to build scalable network applications. 브라우저에서 사용할 수 있는 비동기(Web APIs)는 setTimeout(), DOM events, XMLHttpRequest()등으로 다소 한정적이지만, Node.js의 경우 많은 API가 비동기로 작성되어 있다. 먼저 Node.js 모듈을 사용하는 방법을 학습하고, 이를 통해 비동기 상황을 연출하고 연습해보자. Node.js 내장 모듈 (Node.js built-in modules) 모듈 : 어떤 기능을 조립할 수 있

2022년 9월 26일
·
0개의 댓글
·
post-thumbnail

#9 파일 시스템 마운트

파일 시스템 마운트 파일 시스템은 /(root) 디렉토리를 시작으로 하위 디렉토리로 내려가는 계층 구조로 표현 => 윈도우는 드라이브, 파티션 별로 구성된 네임스페이스 개념 절대경로 vs 상대경로 절대 경로 : /home/ubuntu/linux/example 상대 경로 : lunux/example *시스템 콜로 넘겨 줄 수 있는 전체 경로 길이에 제한이 존재 => cd로 경로를 변경한 후 상대 경로를 사용 디렉토리 vs 폴더 윈도우와 mac os에서 파생되어 폴더라는 용어를 사용하기도 하지만 리눅스에서는 directory로 명칭한다. 파일 시스템 마운트와 언마운트 파일 시스템은 여러 파일 시스템으로 구성 파일 시스템 마운트 명령 $ mount /dev/sd

2022년 8월 25일
·
0개의 댓글
·
post-thumbnail

[PHP]파일시스템(file system)

basename(string $path, string $suffix = ""): string 파일이나 디렉토리에 대한 경로를 포함하는 문자열이 주어지면 이 함수는 후행 이름 구성요소를 반환합니다. basename() 은 로케일을 인식하므로 멀티바이트 문자 경로가 있는 올바른 기본 이름을 보려면 setlocale() 함수를 사용하여 일치하는 로케일을 설정해야 합니다. path현재 로케일에 유효하지 않은 문자가 포함되어있으면 basename() 의 동작 이 정의되지 않습니다. dirname() - 상위 디렉토리의 경로를 반환합니다. pathinfo() - 파일 경로에

2022년 6월 21일
·
0개의 댓글
·
post-thumbnail

✨Persistence: Crash Consistency

Crash Consistency Crash consistency는 OS가 file system의 entire life time을 ensure해야 한다는 property이다. In-memory data structure들과는 다르게 file system에서 사용하는 data structure는 모두 durable해야 한다. Durable이란 power loss같은 failure가 있어도 data는 살아남아야 한다는 뜻이다. File, directory같은 user data를 포함한 data structure와 file system의 inode, inode bitmap, data block bitmap, superblock같은 자신의 structure를 포함한 모든 data는 persist해야한다.

2022년 6월 14일
·
0개의 댓글
·

spark: partitioning

Partitioning s3에 데이터를 저장할 때 where 조건절에 자주 쓰이면서 유니크한 수가 많지 않은 칼럼을 기준으로 파티셔닝을 해서 저장할 수 있다. ex. year month 세 가지 저장 방법 > 1. saveAsTable : df.write.partitionBy('partCol1','partCol2').saveAsTable('dbname.tablename') > 2. spark write : df.write.partitionBy("partCol").save("/location") > 3. unload : sql_context = "unload('select * from schema.tabnm') to 'path' partition by ('partCol')" 이렇게 저장하면 저장 S3경로에 partitionBy 칼럼명을 기준으로 하위폴더가 생성되고, 그 안에 해당하는 데이터가 적재된다. 이 데이터를 spark 어플리케이션에서 읽어올 때, where

2022년 3월 25일
·
0개의 댓글
·
post-thumbnail

리눅스 커널 내부구조 10장 #4 FAT File System (FAT)

사실 지금까지의 모든 내용은 FAT File System 의 편린이였다. 솔직히 설명할 내용도 많지 않았고 그 내용도 매우 쉬웠다. 좀 나쁜 말 섞어셔 얘기하면 fat.c 부터가 존나게 지랄맞다. 3,000 라인 중 1,500 라인이 fat.c 이므로 말 다 했다. 1. FAT 구조  우선 아래의 내용을 이를 이해하기 위해선 몇 가지 알아야 되는 사항이 있다. 우선 FAT 의 구조에 대해 이해할 필요가 있다. 책에 나온 내용은 FAT12 이므로 FAT32 와 약간의 차이가 있지만 하위 호환성을 고려하여 설계 되었기 때문에 엄청 크게 다르거나 하진 않다.  FAT 자체만 하더라도 매우 많은 내용을 설명해야 하지만 필자

2022년 3월 6일
·
0개의 댓글
·