Skip to main content

Command Palette

Search for a command to run...

Linux Basics : Files and Filesystems

Published
19 min read

1️⃣ Everything is a file
2️⃣ Using various file systems


1️⃣ Everything is a file

1. File

What is a File in Linux?

In Linux/Unix, everything is considered a file. Documents, executables, and even hardware devices are all treated as files. This is because unifying everything under the single concept of a "file" makes management and usage much more convenient. Files are broadly divided into three categories: Directory, Regular File, and Special File.

A directory is similar to a folder in Windows, often translated as "list." It does not contain actual data itself, but is composed of the names and location information of the files within it. Since files are distinguished by name, two files with the same name cannot exist within the same directory.

A regular file is the kind of file most people are familiar with, such as Word documents or PowerPoint files. It is divided into text files, which are encoded in a human-readable format, and binary files, which are closer to machine language.

Among special files, there is the Device File. Similar to a driver in Windows that connects hardware to the operating system, Linux treats the device (driver) itself as a file. The file command can be used to check a file's attributes. For example, entering file /dev/input/event0 outputs character special (13/64). Here, character special indicates that it is a character device file, 13 is the Major number representing the type of driver managing the device, and 64 is the Minor number representing which device it is within the same driver.

리눅스에서 파일이란 무엇인가?

리눅스/유닉스에서는 모든 것을 파일로 간주한다. . 문서, 실행 파일은 물론이고 하드웨어 장치까지도 파일로 간주한다. 이렇게 모든 것을 파일이라는 하나의 개념으로 통일하면 관리와 사용이 훨씬 편리해지기 때문이다. 파일은 크게 디렉토리, 일반 파일(Regular File), 특별한 파일(Special File) 세 가지로 나뉜다.

디렉토리는 윈도우의 폴더와 비슷한 개념으로, 흔히 '목록'이라고 번역한다. 실제 데이터가 담겨있는 것이 아니라 파일의 이름과 위치 정보로 구성된다. 파일은 이름으로 구분되기 때문에 같은 디렉토리 안에 동일한 이름의 파일이 두 개 이상 존재할 수 없다.

일반 파일은 워드, PPT처럼 흔히 접하는 파일이다. 사람이 읽을 수 있는 형태로 인코딩된 텍스트 파일과, 기계어에 가까운 바이너리 파일로 구분된다.

특별한 파일에는 장치 파일(Device File) 이 있다. 윈도우에서 하드웨어와 운영체제를 연결하는 드라이버와 비슷한 개념으로, 리눅스에서는 이 장치(드라이버)도 파일로 간주한다. file 명령어로 파일의 속성을 확인할 수 있는데, 예를 들어 file /dev/input/event0을 입력하면 character special (13/64)와 같이 출력된다. 여기서 character special은 문자 장치 파일임을 의미하고, 13은 이 장치를 관리하는 드라이버의 종류(Major 번호), 64는 같은 드라이버 내에서의 장치 번호(Minor 번호)를 나타낸다.


Handling Files - System Call

Files can be handled through system calls. To understand system calls, one must first understand the structure of Linux/Unix.

Linux/Unix is composed of a Kernel and a Shell. The kernel is located at the innermost layer, like the core of the Earth, while the shell wraps around it like a outer layer. Because the kernel is covered by the shell, it cannot be easily accessed from the outside. The means to access the kernel is the System Call.

Representative system calls are as follows. open/close literally opens and closes a file, marking the start and end of file handling. It is possible to prepare to handle an existing file or to create a new one. read is used to retrieve data from a successfully opened file, and write is used to record data to a successfully opened file. lseek is used to change the position at which read or write is performed within a successfully opened file. In addition, there are many other system calls such as access, chdir, chmod, and chown.

파일을 다루는 방법 - 시스템 콜(System Call)

파일은 시스템 콜을 통해 다룰 수 있다. 시스템 콜을 이해하려면 먼저 리눅스/유닉스의 구조를 알아야 한다.

리눅스/유닉스는 커널(Kernel)쉘(Shell) 로 구성된다. 커널은 지구의 핵처럼 가장 안쪽에 위치하고, 쉘은 껍질처럼 커널을 감싸고 있다. 커널은 쉘로 덮여있기 때문에 외부에서 쉽게 접근할 수 없으며, 이 커널에 접근하기 위한 수단이 바로 시스템 콜(System Call) 이다.

대표적인 시스템 콜은 다음과 같다.

open / close는 말 그대로 파일을 열고 닫는 것으로, 파일 다루기의 시작과 종료를 의미한다. 이미 존재하는 파일을 다루기 위한 준비를 하거나, 새로운 파일을 생성하는 것도 가능하다.

read는 open에 성공한 파일의 데이터를 읽어올 때 사용하고, write는 open에 성공한 파일에 데이터를 기록할 때 사용한다.

lseek는 open에 성공한 파일에서 read 또는 write를 수행할 위치를 변경할 때 사용한다.

이 외에도 access, chdir, chmod, chown 등 다양한 시스템 콜이 존재한다.


Filesystem Hierarchy Standard (FHS)

FHS, or the Filesystem Hierarchy Standard, is a standard that defines the locations of files and directories. The standard was created for two main reasons: to allow users and software to predict the location of files.

From a user's perspective, one must know where a desired file is located in order to use it. Not knowing the location means having to search for it manually, which leads to a waste of resources. The standard emerged to solve this problem.

The same applies from a software perspective. Software needs to know the location of files in order to use them flexibly. When installing software, there is a process of specifying the installation location, and for the software to correctly find and use the files it needs, the file locations must be predictable.

Filesystem Hierarchy Standard (FHS)

FHS, 즉 파일시스템 계층 표준은 파일과 디렉토리의 위치를 규정하는 표준이다. 이 표준이 만들어진 이유는 크게 두 가지로, 사용자소프트웨어가 파일의 위치를 예측할 수 있도록 하기 위해서다.

사용자 입장에서는 찾고자 하는 파일이 어디에 있는지 알아야 사용할 수 있다. 위치를 모르면 일일이 찾아야 하고, 이는 곧 자원의 낭비로 이어진다. 이러한 문제를 해결하기 위해 표준이 등장한 것이다.

소프트웨어 입장에서도 마찬가지다. 파일의 위치를 알아야 소프트웨어가 해당 파일을 유연하게 활용할 수 있다. 소프트웨어를 설치할 때 설치 위치를 지정하는 과정이 있는데, 이때 소프트웨어가 필요한 파일을 올바르게 찾아 사용하려면 파일이 어디에 위치하는지 예측 가능해야 한다.


Root Filesystem

The root filesystem has a defined basic structure. It must support system boot, reverting to a previous state, recovering removed or lost data, and repairing damaged components.

The root filesystem starts with / and is organized in a tree structure, consisting of many directories such as /bin, /boot, /dev, /etc, and /lib. The name of each directory alone gives a basic understanding of what files it contains. Looking at the main directories: /bin contains essential command binaries, /boot contains static files used by the boot loader, /dev contains device files, and /etc contains system configuration files.

루트 파일시스템(Root Filesystem)

루트 파일시스템은 기본 틀이 정해져 있다. 시스템 부트, 이전 상태로 되돌리기, 제거되거나 손실된 것을 복구하기, 손상된 것을 수리하기 등이 가능해야 한다.

루트 파일시스템은 /로 시작하여 트리 구조로 이루어져 있으며, /bin, /boot, /dev, /etc, /lib 등 많은 디렉토리로 구성된다. 디렉토리 이름만 보아도 해당 디렉토리가 어떤 파일로 구성되어 있는지 기본적으로 파악할 수 있다. 주요 디렉토리를 살펴보면, /bin에는 필수 명령어 이진 파일이, /boot에는 부트 로더가 사용하는 변화없는 파일이, /dev에는 장치 파일이, /etc에는 시스템 설정 파일이 포함된다.


File Redirection : Output to File

In Linux, the result of a command is by default printed to the screen. However, in Linux, the screen (standard output) is also considered a file. Therefore, the direction of output can be redirected to a file instead of the screen, and this is called Redirection.

For example, running ls -l /etc/adduser.conf prints the file information to the screen. However, using the > symbol as in ls -l /etc/adduser.conf > redirect saves the output to a file called redirect instead. Running ls -l redirect confirms that the file has been created, and cat redirect shows that the output that would have appeared on screen has been saved to the file.

Redirection is critically important in practice. When operating a server, there are many situations where program outputs or error messages need to be saved to a file, and redirection solves this with a simple > filename. Since Linux servers often run tasks automatically without anyone at the monitor, saving results to a file for later review is very useful. Redirection is also a prime example of the Linux philosophy "everything is a file" in action.

파일 방향 변경 : 파일로 출력

리눅스에서 명령어의 실행 결과는 기본적으로 화면에 출력된다. 그런데 리눅스에서는 이 화면(표준 출력)도 파일로 간주한다. 따라서 출력의 방향을 화면이 아닌 다른 파일로 돌릴 수 있는데, 이것이 리다이렉션(Redirection) 이다.

위 예시를 보면, ls -l /etc/adduser.conf를 실행하면 해당 파일의 정보가 화면에 출력된다. 그런데 ls -l /etc/adduser.conf > redirect와 같이 > 기호를 사용하면 화면에 출력되어야 할 결과가 redirect라는 파일로 저장된다. 실제로 ls -l redirect로 확인해보면 redirect 파일이 생성된 것을 볼 수 있고, cat redirect로 파일의 내용을 확인하면 원래 화면에 출력되었어야 할 결과가 그대로 저장되어 있는 것을 확인할 수 있다.

리다이렉션은 실무에서 매우 중요하게 활용된다. 서버를 운영하다 보면 프로그램의 실행 결과나 오류 메시지를 파일로 저장해야 할 일이 많은데, 리다이렉션을 활용하면 > 파일명 하나로 간단히 해결된다. 또한 리눅스 서버는 사람이 항상 모니터 앞에 있지 않아도 자동으로 작업이 실행되는 경우가 많기 때문에, 실행 결과를 파일로 저장해두면 나중에 확인할 수 있어 유용하다. 이처럼 리다이렉션은 "모든 것은 파일이=다"라는 리눅스 철학이 실제로 적용되는 대표적인 예시이기도 하다.


File Redirection : Input from File, Output to File

While > redirects output to a file, < does the opposite — it receives input from a file.

Running ls -l /dev > dev_file saves the contents of the /dev directory to a file called dev_file without displaying anything on screen. Then, running cat -v < dev_file > cat_dev_file takes dev_file as input via <, processes it with cat -v, and saves the result to cat_dev_file via >. Since both input and output are directed to files, nothing appears on screen. Note that cat -v, unlike regular cat, displays special and control characters in a human-readable form.

Using < and > together allows an entire workflow of reading from a file, processing it, and saving the result to another file, all in a single command line. For example, when processing large log files on a server, one can use < to receive the log file as input, process it as needed, and save the result to a new file with >. In this way, < and > are important concepts that enable powerful automation in Linux.

파일 방향 변경 : 파일에서 입력, 파일로 출력

앞서 배운 >가 출력의 방향을 파일로 돌리는 것이었다면, <는 반대로 입력의 방향을 파일에서 받아오는 것이다.

먼저 ls -l /dev > dev_file을 실행하면 /dev 디렉토리의 내용이 화면에 출력되지 않고 dev_file이라는 파일로 저장된다. 이후 cat -v < dev_file > cat_dev_file을 실행하면 <를 통해 dev_file의 내용을 입력으로 받아 cat -v로 처리한 뒤, 그 결과를 >를 통해 cat_dev_file이라는 파일로 저장한다. 입력과 출력 모두 파일로 방향이 지정되어 있기 때문에 화면에는 아무것도 출력되지 않는다. 참고로 cat -v는 일반 cat과 달리 특수문자나 제어문자도 눈에 보이는 형태로 출력해주는 옵션이다.

<>를 함께 활용하면 파일을 입력으로 받아 처리한 뒤 결과를 다시 파일로 저장하는 흐름을 명령어 한 줄로 처리할 수 있다. 예를 들어 서버에서 대용량 로그 파일을 처리할 때, <로 로그 파일을 입력받아 필요한 처리를 한 뒤 >로 결과를 새로운 파일로 저장하는 식으로 활용할 수 있다. 이처럼 <>는 리눅스의 강력한 자동화 처리를 가능하게 하는 중요한 개념이다.


Counting Lines, Words, and Characters in a File (wc)

Counting Lines, Words, and Characters in a File (wc) wc stands for word count. Running man wc confirms that it is a command that outputs "print newline, word, and byte counts for each file." Running wc cat_dev_file outputs 195 1935 10668 cat_dev_file, representing the line count (195), word count (1935), and byte count (10668) in that order. The same result can be obtained in three ways: specifying the filename directly with wc cat_dev_file, passing the file as input with wc < cat_dev_file, or using a pipe with cat cat_dev_file | wc. All three methods produce the same result of 195 1935 10668. The pipe (|) passes the output of the preceding command directly as input to the following command. This allows complex tasks to be handled in a single line by combining multiple commands. For example, extracting only lines containing a specific word from a large log file, sorting them, and removing duplicates can all be done at once with cat filename | grep word | sort | uniq. In this way, the pipe, along with < and >, is a core feature that enables automation and efficient data processing in Linux.

파일에서 라인 수, 단어 수, 문자 수 확인하기

(wc) wc는 word count의 약자로, man wc 명령을 통해 확인하면 "print newline, word, and byte counts for each file", 즉 파일의 라인 수, 단어 수, 바이트 수를 출력하는 명령어임을 알 수 있다. wc cat_dev_file을 실행하면 195 1935 10668 cat_dev_file이 출력되는데, 순서대로 라인 수(195), 단어 수(1935), 바이트 수(10668) 를 의미한다. 위 예시에서 세 가지 방법으로 동일한 결과를 얻는 것을 볼 수 있다. wc cat_dev_file처럼 파일명을 직접 지정하거나, wc < cat_dev_file처럼 <를 통해 파일을 입력으로 넘겨주거나, cat cat_dev_file | wc처럼 |(파이프)를 사용하는 방법이다. 세 방법 모두 결과는 195 1935 10668로 동일하다. 파이프(|)는 앞 명령어의 출력 결과를 뒤 명령어의 입력으로 바로 넘겨주는 역할을 한다. 이를 활용하면 여러 명령어를 조합해 복잡한 작업을 한 줄로 처리할 수 있다. 예를 들어 대용량 로그 파일에서 특정 단어가 포함된 줄만 골라내고, 정렬하고, 중복을 제거하는 작업을 cat 파일명 | grep 단어 | sort | uniq처럼 명령어를 연결하는 것만으로 한 번에 처리할 수 있다. 이처럼 파이프는 앞서 배운 <, >와 함께 리눅스의 자동화와 효율적인 데이터 처리를 가능하게 하는 핵심 기능이다.


Searching File Contents by Pattern (grep)

grep stands for global regular expression print, and is a command used to search for specific patterns within file contents. For example, when looking for words starting with 'g' and ending with 'p', or characters meeting specific conditions between two letters, grep allows for convenient pattern-based searching without having to type out every possible case.

Running grep kvm cat_dev_file finds and outputs all lines containing kvm within cat_dev_file. Adding the -n flag also outputs the line numbers of matching lines. In the example, kvm is found on lines 162, 192, and 193.

The main grep flags are as follows. -n outputs the line numbers of matching lines, -r searches recursively through directories, -c outputs only the count of matching lines, and -l outputs only the names of matching files. -i searches without case sensitivity — keep in mind that Linux is case-sensitive by default.

파일 내용에서 패턴으로 검색하기 (grep)

grepglobal regular expression print의 약자로, 파일 내용에서 특정 패턴을 검색할 때 사용하는 명령어다. 예를 들어 'g'로 시작하고 'p'로 끝나는 단어, 또는 두 글자 사이에 특정 조건을 만족하는 문자가 있는 것을 찾고 싶을 때, 일일이 모든 경우를 입력하지 않고 패턴으로 간편하게 검색할 수 있다.

grep kvm cat_dev_file을 실행하면 cat_dev_file 안에서 kvm이 포함된 줄을 찾아 출력한다. 여기에 -n 플래그를 추가하면 일치하는 줄의 번호도 함께 출력된다. 예시에서 162번째 줄, 192번째 줄, 193번째 줄에 kvm이 포함되어 있음을 확인할 수 있다.

grep의 주요 플래그는 다음과 같다. -n은 일치하는 줄의 번호를 출력하고, -r은 디렉토리 안을 반복해서 검색하며, -c는 일치하는 줄의 개수만 출력하고, -l은 일치하는 파일 이름만 출력한다. -i는 대소문자를 구분하지 않고 검색하는 플래그인데, 리눅스는 기본적으로 대소문자를 구분한다는 점을 기억해두자.


Wildcard

A wildcard is a feature that allows multiple targets to be specified at once using a pattern when searching for files or directories. Detailed information can be checked with the man 7 glob command.

* matches anything regardless of the number of characters. For example, running echo /dev/v* outputs all files in the /dev directory that start with v. ls /dev/v* similarly lists all files starting with v.

? substitutes for exactly one character. For example, searching /dev/vcs? returns only files where exactly one character follows vcs. Using ?? means exactly two characters, and the number of characters is determined by the number of question marks used.

In this way, wildcards make it very convenient to handle multiple files matching a pattern at once without having to type each filename individually.

와일드 카드 (Wildcard)

와일드 카드는 파일이나 디렉토리를 검색할 때 패턴을 사용해 여러 대상을 한 번에 지정할 수 있는 기능이다. man 7 glob 명령으로 자세한 내용을 확인할 수 있다.

*는 아무 문자나 몇 글자든 상관없이 일치하는 것을 모두 찾는다. 예를 들어 echo /dev/v*를 실행하면 /dev 디렉토리에서 v로 시작하는 모든 파일을 출력한다. ls /dev/v*도 마찬가지로 v로 시작하는 모든 파일을 나열한다.

?는 딱 한 글자만 대체한다. 예를 들어 /dev/vcs?를 검색하면 vcs 뒤에 한 글자만 오는 파일만 검색된다. ??처럼 물음표를 두 개 쓰면 두 글자를 의미하며, 물음표 개수만큼 글자 수가 정해진다.

이처럼 와일드 카드를 활용하면 일일이 파일 이름을 입력하지 않고도 패턴에 맞는 여러 파일을 한 번에 다룰 수 있어 매우 편리하다.


2️⃣ Using various file systems

Using Various File Systems : Mount

We learned that in Linux, everything is considered a file. A concept closely connected to this is Mount.

In Windows, plugging a USB into a PC automatically assigns a drive letter such as C:\, D:\, or E:\. In Linux, however, a mount process is required instead. Recalling the root filesystem covered earlier, the USB device must be mounted somewhere within the tree structure that starts from /. In other words, if a device such as /dev/usb has a filesystem, mounting means adding that filesystem to the existing file hierarchy.

Mounting requires administrator (root) privileges. When checking file information with the ls command, permissions are displayed in a format such as rwx rwx. Only users with administrator privileges can execute the mount command; those without cannot.

다양한 파일시스템 사용 : 마운트(Mount)

리눅스에서는 모든 것을 파일로 간주한다고 배웠다. 이와 연결되는 개념으로 마운트(Mount) 에 대해 알아보자.

윈도우에서는 USB를 PC에 꽂으면 C:\, D:\, E:\ 와 같이 알파벳 드라이브 문자가 자동으로 할당된다. 그러나 리눅스에서는 이와 다르게 마운트 과정이 필요하다. 앞서 배운 루트 파일시스템을 떠올려보면, /로 시작하는 트리 구조 안의 어딘가에 USB 장치를 마운트해주어야 한다. 즉, /dev/usb와 같은 장치에 파일시스템이 있다면 그 파일시스템을 기존의 파일 계층 구조에 추가해주는 것이 마운트다.

마운트를 하기 위해서는 관리자(root) 권한이 필요하다. ls 명령으로 파일 정보를 확인하면 rwx rwx 와 같은 형태로 권한이 표시되는데, 관리자 권한을 가진 사용자만 마운트 명령을 실행할 수 있으며 그렇지 않은 사용자는 사용할 수 없다.


How to Use the Mount Command

The basic form of the mount command is mount -t filesystem device_name mount_point.

Looking at each element: a filesystem defines how data is stored and managed on a storage device. As the number of files grows, they need to be managed systematically, and that management method is the filesystem. There are many types of filesystems, and they differ by operating system. Windows primarily uses NTFS, while Linux primarily uses ext. Therefore, when mounting, one must know what filesystem the device uses. The device name is the path of the device to be mounted, specified in the form /dev/device_name. The mount point is the path that will be accessed after mounting, specified as a location within the root filesystem such as /home or /linux/usb.

Unmounting is performed with the umount mount_point command, which detaches the device from the added file hierarchy. However, a device cannot be unmounted while it is in use, and a busy warning message will be displayed. This is similar to what happens in Windows when a USB is pulled out without clicking the eject button, causing files to become inaccessible. Removing a device before synchronization is complete can corrupt files, so it is essential to unmount the device only after finishing its use.

마운트 명령어 사용법

마운트 명령어의 기본 형태는 mount -t 파일시스템 장치이름 사용위치이다.

각 항목을 살펴보면, 먼저 파일시스템이란 저장장치에 데이터를 어떻게 저장하고 관리하느냐를 정의하는 방식이다. 파일이 많아지면 이를 체계적으로 관리해야 하는데, 그 관리 방식이 바로 파일시스템이다. 파일시스템의 종류는 매우 다양하며 운영체제마다 다르다. 윈도우는 NTFS를, 리눅스는 ext를 주로 사용한다. 따라서 마운트를 할 때는 해당 장치가 어떤 파일시스템을 사용하는지 반드시 알아야 한다. 장치이름은 마운트할 장치의 경로로, /dev/장치이름의 형태로 지정한다. 사용위치는 마운트 후 실제로 접근하게 될 경로로, /home 이나 /linux/usb와 같이 루트 파일시스템 안의 위치를 지정한다.

마운트 해제는 umount 사용위치 명령으로 수행하며, 추가된 파일 계층 구조에서 해당 장치를 떼어내는 것이다. 단, 해당 장치가 사용 중일 때는 해제할 수 없으며 busy라는 경고 메시지가 출력된다. 이는 윈도우에서 USB를 꺼내기 버튼을 누르지 않고 바로 뽑았을 때 파일에 접근이 안 되는 경우와 비슷한 개념이다. 동기화가 완료되지 않은 상태에서 장치를 제거하면 파일이 손상될 수 있기 때문에, 반드시 사용이 끝난 후 마운트를 해제해야 한다.


SMB (Server Message Block)

SMB is a client/server protocol used in mounting.

The mounting covered so far has been local, meaning it takes place within a single machine. However, to use storage located remotely, one would have to copy and retrieve the data files, which is a cumbersome and complex process. SMB resolves this inconvenience.

In SMB, the server provides a filesystem to be shared, and the client uses the server's files over the network. Not only files but also resources such as printers can be provided by the server, and from the client's perspective, remote files can be used just as if they were local.

SMB (Server Message Block)

SMB는 마운트에서 사용되는 클라이언트/서버 방식의 프로토콜이다.

지금까지 배운 마운트는 로컬, 즉 하나의 기계 안에서 이루어지는 것이었다. 그런데 원격에 있는 스토리지를 사용하려면 데이터 파일을 복사해서 가져와야 하는데, 이 과정이 번거롭고 복잡하다. SMB는 이러한 불편함을 해결해준다.

SMB에서 서버는 공유할 파일시스템을 제공하고, 클라이언트는 네트워크를 통해 서버의 파일을 사용한다. 파일뿐만 아니라 프린터와 같은 자원도 서버에서 제공받을 수 있으며, 클라이언트 입장에서는 로컬에 있는 파일을 사용하는 것과 동일하게 사용할 수 있다.


NFS (Network File System)

NFS is a distributed filesystem protocol developed by Sun Microsystems.

When filesystems were discussed earlier, the focus was on how data is stored and managed on physical storage. However, despite having "filesystem" in its name, NFS does not serve that role. NFS is a network protocol that defines how files are exchanged and shared between a server and a client.

Like SMB, it is a client/server protocol where the server provides a filesystem to be shared and the client uses it over the network. One notable characteristic of NFS is that it can be used across multiple operating systems.NFS (Network File System)

NFS는 Sun Microsystems에서 개발한 분산 파일시스템 프로토콜이다.

앞서 파일시스템을 설명할 때는 물리적인 스토리지에 데이터를 어떻게 저장하고 관리할 것인가에 관한 것이었다. 그러나 NFS는 이름에 파일시스템이 들어가 있더라도 그 역할을 하지 않는다. NFS는 서버와 클라이언트 사이에서 파일을 어떻게 주고받으며 공유할 것인지를 정의하는 네트워크 프로토콜이다.

SMB와 마찬가지로 클라이언트/서버 방식의 프로토콜로, 서버는 공유할 파일시스템을 제공하고 클라이언트는 네트워크를 통해 이를 사용한다. NFS의 특징 중 하나는 여러 운영체제에서 사용 가능하다는 점이다.

More from this blog

Writing Documents in a Linux Environment

1️⃣ Text file2️⃣ Use a text editor 들어가며 오늘은 리눅스 환경에서 문서를 작성하는 방법을 살펴본다. 깊이 파고드는 내용은 아니지만, "이런 방법도 있구나" 정도로 알아두면 언젠가 분명 유용하게 쓸 날이 온다. 특히 문서를 단순하고 다양한 방식으로 배포해야 할 상황이 온다면, 오늘 배운 내용이 좋은 선택지가 되어줄 것이다. 1차

Apr 15, 202613 min read
Writing Documents in a Linux Environment

My dev journey

128 posts