파일 열고 닫기 - 리눅스 시스템 프로그래밍

파일 열기 FILE *fopen(const char *pathname, const char *mode); 파라미터 pathname: 파일 경로 mode: 파일 열기 모드 반환값 성공 시: 열린 파일 포인터(stream) 실패 시: NULL 파일 열기 모드: 모드 읽기 쓰기 파일 포지션 파일 존재 시 파일이 부재 시 r O X 처음 성공 실패 r+ O O 처음 성공 실패 w X O 처음 기존 파일 제거 후 생성 생성 w+ O O 처음 기존 파일 제거 후 생성 생성 a X O 끝 성공 생성 a+ O O 끝 성공 생성 파일 닫기 int fclose(FILE *stream); 파라미터...

2월 11, 2024
Bash 로고

Bash 스크립팅 기초

Bash는 Linux 및 기타 Unix와 유사한 운영 체제에서 널리 사용되는 강력한 셸 스크립팅 언어입니다. 자동화 작업 및 작은 프로그램 작성에 매우 유용합니다. 이 글에서는 Bash 스크립팅의 기초 및 시작 방법에 대해 논의하겠습니다. Bash란? BASH (Bourne Again SHell)는 Linux 및 기타 Unix와 유사한 운영 체제의 셸 및 명령어 언어 해석기입니다. 대부분의 Linux 배포판에서 기본 셸이며 다른 Unix와 유사한 운영 체제에서도 사용할 수 있습니다. 셸이므로 명령 및 스크립트를 실행하는 데 사용됩니다. 또한 프로그래밍 언어이므로 작업 자동화 및 작은 프로그램 작성이 가능합니다....

2월 3, 2024

다양한 리눅스 패키징 형식 소개

리눅스에는 다양한 패키징 형식이 있습니다. 초보자들은 이들 간의 차이를 이해하기 어려울 수 있습니다. 본 글에서는 가장 일반적인 패키징 형식 및 장단점에 대해 논의하겠습니다. 패키징 형식이란? 패키징 형식은 소프트웨어를 배포하기 위한 방법입니다. 이는 소프트웨어를 설치하고 실행하는 데 필요한 모든 파일을 포함합니다. 리눅스에는 다양한 패키징 형식이 있습니다. 가장 흔한 몇 가지는 다음과 같습니다: RPM 및 DEB와 같은 네이티브 패키지 형식 AppImage, Flatpak 및 Snap과 같은 컨테이너 형식 tarballs 및 zip 파일과 같은 소스 코드 형식 네이티브 패키지 형식 네이티브 패키지 형식은 리눅스에서 가장 흔하게 사용되는 패키징 형식입니다....

1월 30, 2024
꾸며진 Sway by a deleted user in Reddit

리눅스의 다양한 데스크톱 환경 소개

리눅스에는 다양한 데스크톱 환경이 존재합니다. 각 데스크톱 환경은 모두 다른 특징을 가지고 있기 때문에, 사용자의 취향에 맞게 선택할 수 있습니다. 이번 글에서는 리눅스의 다양한 데스크톱 환경과 윈도우 매니저(컴포지터)들을 소개하겠습니다. 데스크톱 환경이 무엇인가요? 데스크톱 환경(Desktop Environment, 이하 DE)은 컴퓨터에 그래픽 사용자 인터페이스(GUI) 를 제공하는 프로그램들의 모음입니다. 파일 관리자, 텍스트 편집기, 터미널 등의 기본적인 프로그램부터 패널, 알림창, 로그인 화면, 창 관리자 등 눈에 보이는 모든 것들이 데스크톱 환경에 포함됩니다. 다음은 대표적인 데스크톱 환경들입니다....

1월 25, 2024

RPM Fusion: Fedora Linux 설치 후 반드시 해야 할 것

일부 경우에는 Fedora Linux에 독점 소프트웨어나 드라이버를 설치해야 할 수 있습니다. Fedora는 자유 소프트웨어이자 오픈 소스 운영 체제이기 때문에 기본적으로 독점 소프트웨어를 포함하지 않습니다. 그러나 RPM Fusion이라는 커뮤니티 주도의 소프트웨어 저장소에서 이를 설치할 수 있습니다. RPM Fusion이란? RPM Fusion은 Fedora Linux용 다양한 패키지를 제공하는 소프트웨어 저장소입니다. 이는 Steam, NVIDIA 드라이버, 멀티미디어 코덱과 같은 공식 Fedora 저장소에 포함되지 않는 패키지들을 포함하고 있습니다. RPM Fusion 활성화 방법 Fedora Linux에서 다음 명령어를 실행하여 RPM Fusion을 활성화할 수 있습니다:...

1월 23, 2024

리눅스 패키지 매니저의 기초

리눅스를 처음 사용하시는 분들이라면, 여러분은 패키지 매니저가 무엇인지 궁금해 할 것입니다. 패키지 매니저는 컴퓨터에 설치된 소프트웨어를 관리하고 업데이트하며 제거하는 도구입니다. 또한 다양한 패키지 간의 종속성을 관리하는 데 도움이 됩니다. 리눅스에는 여러 가지 패키지 매니저가 있지만, 그들은 몇 가지 공통된 기능을 가지고 있습니다. 이 글에서는 리눅스의 패키지 매니저의 기초에 대해 논하겠습니다. 왜 패키지 매니저가 필요한가요? 패키지 매니저가 왜 필요한지 궁금할 수 있습니다. 답은 간단합니다: 소프트웨어를 설치하는 것을 더 쉽게 만듭니다. Windows에서 소프트웨어를 설치했던 경험을 상기해보세요....

1월 15, 2024

리눅스에서 파일과 폴더 권한 관리하기

리눅스 사용자라면 패키지를 설치하거나 명령을 실행할 때 다음과 같은 메시지를 본 적이 있을 것입니다. $ apt install vim E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13: Permission denied) E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root? 이는 패키지를 설치할 권한이 없기 때문입니다. 이 게시물에서는 리눅스에서 파일과 폴더 권한을 관리하는 방법에 대해 설명하겠습니다. 권한이 필요한 이유 리눅스는 다중 사용자 운영 체제입니다. 즉, 여러 사용자가 동시에 같은 컴퓨터를 사용할 수 있습니다....

1월 9, 2024

리눅스에서 SSH 키를 사용하여 SSH 보안 강화하기

서버에 연결할 때 암호를 사용하는 것은 편리하지만 안전하지 않습니다. 악의적인 사용자가 암호를 무차별 대입해 서버에 액세스할 수 있습니다. 이를 방지하기 위해 SSH 키를 사용하여 서버에 연결할 수 있습니다. 본 문서에서는 리눅스에서 서버에 SSH 키를 설정하는 방법을 안내하겠습니다. SSH 키 생성하기 SSH 키를 생성하려면 ssh-keygen 명령어를 사용하십시오. 이 명령은 기본적으로 RSA보다 보안성이 높은 Ed25519 키 쌍을 생성합니다. 기본값을 사용하려면 그냥 엔터 키를 누르면 됩니다. 추가적으로 암호를 사용하려면 프롬프트에 입력할 수 있습니다....

1월 2, 2024
KVM logo

리눅스에서 KVM 가상머신 사용하기

리눅스 사용자라면, 윈도우를 사용해야 하는 상황에 직면했을 때가 있을 것입니다. 또는, 컴퓨터에 설치하지 않고 다른 리눅스 배포판을 테스트하고 싶을 수도 있습니다. 이런 경우, 가상머신을 사용할 수 있습니다. 가상머신이란? 가상머신은 컴퓨터 위에서 돌아가는 가상의 컴퓨터입니다. 컴퓨터를 에뮬레이트하는 소프트웨어로, 운영체제를 설치하고 실제 컴퓨터처럼 사용할 수 있습니다. 여러 개의 가상머신을 안전하게 만들어서 사용할 수 있고, 필요할 때마다 삭제할 수 있습니다. 가상머신을 어떻게 사용하나요? 리눅스에서 가상머신을 사용하려면 두 가지가 필요합니다. 하이퍼바이저: 가상머신을 돌리는 엔진입니다. 클라이언트: 하이퍼바이저에 접속해서 가상머신을 사용하는 프로그램입니다....

12월 31, 2023