리눅스 환경에서 사용자들은 주로 터미널 기반의 nano나 vim 같은 도구를 활용하여 설정 파일을 편집합니다. 하지만 시스템 파일과 같이 민감한 파일을 시각적으로 편집하고 싶을 때, gedit 텍스트 편집기를 사용하면 훨씬 수월하고 간편하게 작업할 수 있습니다.
파일의 중요성: 어디에나 있는 파일
리눅스나 macOS와 같은 Unix 계열 운영체제에서 자주 듣는 말 중 하나는 “모든 것이 파일이다”라는 표현입니다.
정확한 표현은 아니지만, 텍스트 파일은 시스템 로그나 설정 정보 등을 저장하는 데 매우 많이 사용됩니다. 이러한 파일들을 읽음으로써 운영체제의 내부 동작 방식을 파악할 수 있고, 필요에 따라 수정하여 시스템의 동작을 변경할 수도 있습니다.
gedit은 그놈 데스크톱 환경의 기본 텍스트 편집기로, Ubuntu, Fedora, Debian, CentOS, Red Hat 등 그놈 데스크톱 환경을 사용하는 다양한 시스템에서 찾아볼 수 있습니다. vim과 같은 고급 편집 도구의 복잡한 학습 과정 없이도, 파일을 편집하는 데 필요한 핵심 기능을 제공하여 사용자에게 편리함을 제공합니다.
gedit 시작하기
터미널에서 gedit을 실행하려면 간단히 ‘gedit’ 명령어를 입력하고 엔터 키를 누르면 됩니다.
잠시 후 gedit 텍스트 편집기가 화면에 나타납니다.
gedit은 깔끔하고 직관적인 사용자 인터페이스를 제공하여 사용자가 작업에 집중할 수 있도록 해줍니다.
물론, 리눅스 데스크톱 환경의 응용 프로그램 메뉴에서도 gedit를 실행할 수 있습니다. 보통 “텍스트 편집기”라는 이름으로 등록되어 있으며, 메뉴 검색 기능을 이용해 ‘gedit’를 찾아 실행할 수도 있습니다.
백그라운드에서 gedit 실행하기
일반적으로 터미널에서 프로그램을 실행하면 해당 프로그램이 종료될 때까지 터미널이 다른 작업을 수행할 수 없습니다. 하지만 gedit를 백그라운드에서 실행하면 gedit가 실행되는 동안에도 터미널을 계속 사용할 수 있습니다. 이를 위해 다음과 같이 gedit 명령어 뒤에 ‘&’ 기호를 추가하여 실행합니다.
gedit &
기존 파일 열기
이미 존재하는 텍스트 파일을 열려면 gedit 도구 모음의 “열기” 버튼을 클릭하거나, 단축키 Ctrl+O를 누르면 됩니다.
최근에 사용한 파일 목록이 표시되며, 여기서 파일을 선택하거나, 하단의 “다른 문서…” 버튼을 눌러 다른 파일을 열 수 있습니다.
표준 파일 열기 대화 상자가 나타나면 원하는 파일의 위치를 탐색하고, 파일을 선택 후 “열기” 버튼을 클릭하여 파일을 엽니다.
명령줄에서 파일 열기
터미널에서 gedit를 실행할 때 파일 이름을 함께 입력하면, gedit가 실행되면서 해당 파일을 바로 열 수 있습니다. 이는 특정 파일을 바로 편집해야 할 때 매우 유용합니다.
gedit ana.c
gedit의 구문 강조 기능은 특히 프로그래밍 소스 코드나 쉘 스크립트 파일을 편집할 때 매우 유용합니다. 각 언어의 문법 규칙에 따라 키워드, 변수, 주석 등을 다른 색상으로 표시하여 코드의 가독성을 높여줍니다.
현재 편집 중인 파일 이름은 gedit 창의 제목 표시줄에 나타나며, 파일 내용이 수정되면 파일 이름 옆에 별표(*)가 표시됩니다. 이는 변경된 내용이 저장되지 않았음을 알려줍니다.
따라서 파일을 저장하기 전에 변경 사항을 항상 인지하고 있을 수 있습니다.
파일 변경 사항 저장
파일에 대한 변경 사항을 저장하려면 도구 모음의 “저장” 버튼을 클릭하거나 단축키 Ctrl+S를 누릅니다.
다른 이름으로 저장하거나 다른 위치에 저장하고 싶다면, 도구 모음 메뉴에서 “다른 이름으로 저장”을 선택합니다.
파일 저장 대화 상자가 나타나면 저장할 위치를 탐색하고 파일 이름을 입력한 후, “저장” 버튼을 클릭하여 파일을 저장합니다.
시스템 파일 편집
시스템 파일은 일반적으로 루트 권한이 필요하므로, 편집하려면 sudo 명령어를 사용해야 합니다. sudo 없이도 시스템 파일을 열 수는 있지만, 변경 사항을 저장하려면 sudo 권한이 필요합니다.
sudo gedit /etc/samba/smb.conf
경고: 시스템 파일 변경 시에는 신중해야 합니다. 변경 사항이 시스템에 어떤 영향을 미칠지 정확히 모르는 상태에서 시스템 파일을 수정하면, 부팅이 되지 않는 등의 심각한 문제가 발생할 수 있습니다.
위 명령어를 실행하면 samba 설정 파일이 gedit으로 열려 편집할 수 있게 됩니다.
새 파일에 대한 소유권 및 권한 복제
시스템 파일을 안전하게 편집하는 방법 중 하나는 원본 파일을 복사한 후 복사본을 편집하는 것입니다. 편집이 완료된 후에는 원본 파일 위에 덮어쓸 수 있습니다. 복사본을 잘못 편집하더라도 원본 파일에는 영향을 미치지 않으므로 안심하고 편집할 수 있습니다.
파일을 복사하면 파일의 소유권과 접근 권한이 변경될 수 있으므로, 복사본을 원본 파일에 덮어쓰기 전에 원본 파일과 복사본의 소유권과 권한을 동일하게 설정해야 합니다. 이 과정을 fstab 파일 편집을 예시로 설명하겠습니다.
먼저, 새로운 파일(new_fstab)을 생성하고 원본 파일(/etc/fstab)을 복사합니다. 이 과정은 새 파일의 소유권 및 권한이 원본과 다를 수 있음을 보여주기 위한 것입니다. 일반적으로 개인 파일을 편집할 때 이 단계는 불필요합니다.
touch new_fstab
ls -l 명령어를 사용하여 파일의 속성을 확인합니다. 소유자와 권한을 확인할 수 있습니다.
ls -l new_fstab
위 결과를 보면 파일 소유자는 dave이고, 소유자에게는 읽기 및 쓰기 권한, 그룹 및 기타 사용자에게는 읽기 권한만 부여되어 있음을 확인할 수 있습니다.
이제 원본 fstab 파일(/etc/fstab)을 new_fstab 파일에 복사한 후, 파일 속성이 변경되었는지 확인합니다.
sudo cp /etc/fstab new_fstab
ls -l new_fstab
복사 후에도 new_fstab 파일의 속성은 여전히 변경되지 않았습니다. 원본 fstab 파일의 속성을 확인해 봅시다.
ls -l /etc/fstab
보시는 바와 같이 원본 파일의 소유자는 루트이고, 그룹은 읽기 및 쓰기 권한을 가지고 있습니다. 이는 new_fstab 파일의 권한과 다릅니다. 따라서 파일을 원본에 덮어쓰기 전에 이 두 속성을 맞춰야 합니다.
먼저 gedit를 사용하여 new_fstab 파일을 편집하고 필요한 변경 사항을 적용합니다.
gedit new_fstab
파일 편집 및 저장이 완료되면, 파일의 소유권과 접근 권한을 원본 파일과 동일하게 설정해야 합니다.
chmod 및 chown 명령의 –reference 옵션을 사용하여 이를 간단하게 수행할 수 있습니다. 이 옵션은 지정된 파일의 속성을 참조하여 다른 파일에 적용합니다. 편집된 파일의 속성이 원본과 동일하게 설정되었는지 ls 명령어로 확인합니다.
sudo chmod --reference=/etc/fstab new_fstab
sudo chown --reference=/etc/fstab new_fstab
ls -l new_fstab
이제 new_fstab 파일의 권한과 소유권이 원본 fstab 파일과 동일해졌습니다. 이제 new_fstab 파일을 원본 파일에 덮어쓰면 변경 사항이 적용됩니다.
fstab 파일 변경은 일반적으로 시스템 재부팅 시 또는 다음과 같이 mount 명령어를 사용할 때 즉시 적용됩니다.
sudo mount -a
주의 사항
시스템 파일 변경은 신중하게 이루어져야 합니다. 시스템 파일의 변경이 시스템에 어떤 영향을 미칠지 확신이 없다면 함부로 수정하지 않아야 합니다.
시스템 파일 편집이든, 일반 텍스트 파일 편집이든, gedit는 너무 많은 기능으로 사용자를 혼란스럽게 하지 않으면서도 필요한 작업을 충분히 수행할 수 있는 빠르고 간단한 편집기입니다.