데스크톱에서 우분투(Ubuntu) 리눅스를 사용하고 있다면, 시스템에 내장된 업데이트 도구를 통해 정기적으로 업데이트 알림을 받게 됩니다. 하지만 우분투 서버(Server)를 운영 중이거나, 대기 중인 업데이트를 직접 확인하고 수동으로 실행하고 싶다면 어떻게 해야 할까요?이 튜토리얼에서는 데스크톱과 서버 환경 모두에서 우분투 리눅스 OS를 업데이트하는 방법을 단계별로 자세히 안내합니다. 시작하기 전에 함께 읽어보면 좋은 관련 글을 소개합니다.apt vs apt-get 명령어 – 차이점은 무엇일까?lsb_release 명령어로 우분투
이 글에서는 리눅스(Linux)에서 파일 하나 또는 여러 개의 파일 이름을 변경하는 두 가지 방법을 소개합니다. mv와 rename 명령어의 사용법과 함께, 각 상황에서 왜 특정 도구를 사용해야 하는지 자세히 살펴보겠습니다. mv로 파일 이름 변경하기 – 더 이상 권장되지 않는 방법 웹 디렉터리의 확장자가 어떤 이유로 손상된 상황을 가정해 보겠습니다. 예시로 블로그 파일을 사용하겠습니다. ping www.linuxscrew.com #먼저 연결 상태를 테스트합니다. wget -m www.linuxscrew.com #웹사이트를 미러링합
이 튜토리얼에서는 리눅스에서 mv 명령어와 rename 명령어를 사용하여 디렉토리 이름을 변경하는 방법을 자세히 설명합니다. 디렉토리 이름 변경은 파일 이름 변경과 크게 다르지 않습니다. 리눅스에서는 모든 것이 파일로 취급되기 때문인데, 디렉토리 역시 예외가 아닙니다. 따라서 파일 이름 변경에서 다룬 내용 대부분이 그대로 적용됩니다. mv 명령어로 디렉토리 이름 변경하기 mv RenameDir/ renameDir 디렉토리 이름을 변경하는 mv 명령어 정말 간단합니다. 그저 mv 명령어를 실행하면 끝입니다. 다만 한 가지 주의할 점이
리눅스에서 프로세스를 종료하는 방법은 매우 다양합니다. 이 튜토리얼에서는 문제가 발생한 프로세스를 찾아내고 종료하는 방법을 단계별로 알려드립니다. 프로세스는 쉽게 고아(orphan) 상태가 될 수 있습니다. 의도적이든 아니든 부모 프로세스가 충돌하면 자식 프로세스가 그대로 실행 상태로 남게 됩니다. 또한 부모 프로세스가 완료된 자식 프로세스를 회수(reap)하지 못하면 좀비(zombie) 프로세스가 되기도 합니다. 이 두 가지 경우 모두 해당 프로세스는 멈춰 있는 상태이므로 수동 개입이 필요합니다. 잡 컨트롤(job control)
이 가이드에서는 systemctl 명령어를 사용해 시스템의 서비스 목록을 확인하고 각 서비스의 상태를 점검하는 방법을 소개합니다. 더불어 서비스 제어, 활성화/비활성화 등 systemctl의 다양한 활용 팁까지 함께 다룹니다. 기존의 init 방식에서 넘어온 사용자에게 systemctl은 꽤나 신선한 변화입니다. 찬반 논쟁이 많고 저 역시 몇 번씩 생각이 바뀌었지만, 매일 업무에서 사용해 온 결과 지금은 분명히 systemctl 진영에 서 있습니다. 명령어 문법이 훨씬 직관적이고 자연스럽게 느껴지며, 일상적인 운영 측면에서도 만족스
리눅스에서 Python 애플리케이션을 개발하든, 셸에서 파일을 정리하든, 현재 작업 중인 폴더가 어디인지 확인할 수 있는 것은 매우 중요합니다. 이때 유용한 것이 바로 pwd(print working directory) 명령어입니다. pwd는 터미널에서 현재 작업 중인 디렉터리의 이름뿐만 아니라 전체 경로(full path)까지 출력해 줍니다. 하나의 시스템에 같은 이름을 가진 폴더가 여러 개 존재하는 경우가 흔하기 때문에, 지금 어떤 폴더에 있는지 혼동을 확실히 없애주는 이 명령어는 모든 리눅스 환경에서 필수적이라 할 수 있습니다
리눅스의 ls 명령어는 아마 여러분이 처음 접하게 되는 명령어 중 하나일 것입니다. 파일과 디렉토리를 나열하는 이 기본 명령어는 단순해 보이지만, 다양한 옵션을 조합하면 훨씬 강력한 도구가 됩니다. 이 글에서는 ls 명령어와 자주 사용되는 옵션들을 자세히 살펴보겠습니다.필자가 가장 즐겨 사용하는 옵션 조합은 다음과 같습니다.ls -Zaltrh각 옵션이 무엇을 의미하는지, 그리고 왜 이 조합이 유용한지 하나씩 알아보겠습니다.리눅스 ls 명령어 기본 문법#ls [OPTION] [FILE]OPTIONS:[-a], . 또는 ..으로 시작하
이 글에서는 리눅스 passwd 명령어를 사용해 사용자 암호를 변경하거나 계정을 비활성화하는 방법을 단계별로 설명합니다. 티켓 하나가 배정되었습니다. 겉보기엔 단순한 암호 재설정 작업인데, 문제는 대상 시스템이 리눅스 머신이라는 점입니다. 리눅스에서 암호를 재설정하려면 어떤 것들을 알아야 할까요? 먼저 기본 개념부터 짚고 넘어가겠습니다. 사용자 계정의 경우 passwd 인증 토큰(암호 해시)은 /etc/shadow 파일에 저장됩니다. 그룹 계정의 경우 이름 그대로 /etc/gshadow 파일에 저장됩니다. passwd 명령어는 이
리눅스의 chmod 명령어를 사용하면 특정 파일 하나가 아니라 여러 파일과 디렉터리의 권한을 재귀적으로(recursively) 한 번에 변경할 수 있습니다. 이 글에서는 chmod의 기본 개념부터 -R 옵션을 활용한 재귀적 권한 변경, 그리고 find 명령어와 조합하는 실전 팁까지 차근차근 살펴봅니다.자주 마주치는 권한 관련 오류리눅스를 사용하다 보면 다음과 같은 오류 메시지를 자주 접하게 됩니다.[Permission Denied]Linux-Screw [Permission Denied]Linux-Screw [readonly]시스템
이 튜토리얼에서는 리눅스 셸에서 현재 작업 중인 디렉토리를 이동할 때 사용하는 cd(change directory) 명령어의 사용법을 자세히 알아봅니다. 앞서 ls 명령어로 디렉토리 내용을 살펴보는 방법을 다뤘다면, 이제는 실제로 디렉토리 사이를 자유롭게 이동하는 방법을 익힐 차례입니다. cd 명령어를 사용하면 아주 간단하게 디렉토리를 탐색할 수 있습니다. cd 명령어의 도움말 확인하기 cd처럼 기본으로 내장된 유틸리티에 대해 더 알아보려면 어떻게 해야 할까요? 보통 매뉴얼 페이지를 볼 때 다음과 같이 입력해 봤을 겁니다. man
cURL은 원격 서버 간에 데이터를 전송할 수 있는 다양한 도구를 포함하는 패키지입니다. FTP, Windows 공유 폴더, 메일 서버는 물론 HTTP를 사용하는 웹 서버까지 폭넓게 지원합니다. 리눅스 셸에서 파일을 다운로드할 때는 보통 다음과 같이 cURL 명령어를 사용합니다: curl https://example.org/file.zip --output file.zip 이 명령은 GET 방식으로 파일을 요청해 단순히 다운로드합니다. 이 글에서는 cURL을 사용해 POST 요청을 보내는 방법을 자세히 살펴봅니다. 폼 데이터 전송 방
리눅스에서 사용자 계정을 배치 모드(완전 자동 방식)로 대량 생성해야 하는 경우가 종종 있습니다. 그런데 초보자들은 새 사용자를 만들 때 비밀번호를 터미널에서 일일이 직접 입력하지 않고 미리 설정해 두는 방법을 자주 묻곤 합니다.useradd 명령어로 비밀번호 지정하기다행히도 useradd 명령어는 입력 매개변수로 비밀번호를 받을 수 있습니다. 다만 주의할 점은, 이때 전달되는 비밀번호는 반드시 암호화된 값이어야 한다는 것입니다.즉, 비밀번호가 설정된 리눅스 사용자 계정을 생성하려면 다음과 같은 명령 형식을 사용하면 됩니다:user
서버에서 대용량 Bash 스크립트를 실행하기 전에 해당 서버가 인터넷에 정상적으로 연결되어 있는지 먼저 확인해야 하는 경우가 종종 있습니다. 특히 cron을 통해 주기적으로 스크립트를 자동 실행할 때는 네트워크 상태 점검이 더욱 중요합니다. 아래는 이러한 목적에 딱 맞는 아주 간단한 Bash 스크립트입니다. #!/bin/bash WGET=/usr/bin/wget $WGET -q --tries=10 --timeout=5 https://www.google.com -O /tmp/index.google &> /dev/nul
컴퓨터의 핵심 부품인 CPU(중앙처리장치)는 수많은 데이터 처리 작업을 수행하는 필수 요소입니다. 하지만 컴퓨터 내부에 숨겨진 채 조용히 동작하고 있기 때문에, 정작 자신의 CPU 사양이나 성능에 대해 자세히 아는 사용자는 많지 않습니다. 다행히도 리눅스에서는 간단한 명령어만으로 CPU 정보를 손쉽게 확인할 수 있습니다. 지금부터 그 방법을 하나씩 살펴보겠습니다. CPU 정보가 필요한 이유 CPU의 상세 정보를 확인해야 하는 이유는 다양합니다. 단순히 내 컴퓨터에 어떤 하드웨어가 들어 있는지 궁금할 수도 있고, 하드웨어 문제를 디버
이 가이드에서는 grep 유틸리티를 사용해 여러 단어, 문자열, 그리고 패턴을 동시에 검색하는 방법을 설명합니다. 아래에서 각 작업을 수행하는 데 필요한 전체 명령어 예제를 확인할 수 있습니다. Grep이란? 여기서 말하는 grep은 명령줄(command-line) 기능을 의미합니다. grep은 Global Regular Expression Print의 약자로, 입력 파일에서 특정 정규 표현식과 일치하는 줄을 찾아낸 뒤, 해당 줄들을 표준 출력(standard output)으로 출력하는 도구입니다. grep 유틸리티는 세 가지 표현
리눅스(Linux)와 유닉스(Unix) 시스템에서 tr은 문자를 변환하고, 삭제하며, 반복되는 문자를 압축(squeeze)하는 강력한 명령줄 유틸리티입니다. 사실 tr이라는 이름 자체가 translate의 줄임말입니다. 이 가이드에서는 다양한 예제를 통해 리눅스에서 tr 명령어를 사용하는 방법을 자세히 살펴봅니다. tr 명령어는 반복 문자 제거, 소문자를 대문자로 변환, 문자 치환 및 삭제 같은 작업에 널리 활용되며, 파이프(|)를 통해 다른 명령어들과 조합하여 자주 사용됩니다. 참고로 리눅스는 안드로이드를 비롯해 우리가 일상적으로
리눅스 운영체제가 채택하고 있는 파일시스템 계층 표준(Filesystem Hierarchy Standard)에서는 모든 파일과 디렉터리가 루트 디렉터리(/) 아래에 위치합니다. 하지만 보안상의 이유로 루트 디렉터리에 대한 접근은 대부분 제한되어 있습니다. 데비안(Debian)과 같은 리눅스 배포판에서는 sudo 명령어를 사용하면 SSH 환경에서도 시스템 전체에 대한 접근 권한을 얻을 수 있습니다. 이 튜토리얼에서는 사용자가 sudo 명령어를 실행할 수 있도록 Sudoers에 사용자를 추가하는 방법을 설명합니다. 슈퍼유저 또는 루트(
이 튜토리얼에서는 리눅스(Linux)에서 cp 명령어를 사용해 파일과 디렉터리를 복사하는 방법을 단계별로 소개합니다. 실전 예제도 함께 담았으니 직접 따라 하면서 익혀보세요.리눅스는 전 세계에서 가장 널리 사용되는 운영체제 중 하나로, 모든 안드로이드 기기의 기반이 되는 시스템입니다. 오픈소스라는 점 덕분에 윈도우(Windows)나 macOS 같은 다른 운영체제에 비해 뚜렷한 장점을 지니고 있으며, 개발자들이 일상적으로 활용하는 수많은 명령어를 제공합니다.cp 명령어란?cp(copy) 명령어는 리눅스 명령어 중 가장 기본적이면서도
Bash 스크립팅은 리눅스 환경에서 개발자가 반복적인 작업을 자동화하는 데 필수적인 도구입니다. Bash 스크립트는 로컬 개발 작업(배포용 파일 업로드, 앱 컴파일, 이미지 일괄 리사이즈 등)뿐만 아니라 서버 측 작업(예약된 이메일 발송, 주기적인 데이터 수집, 기기 알림 전송 등)을 자동화하는 데에도 활용할 수 있습니다. 실제 작업을 하다 보면 어떤 작업이나 변수의 결과에 따라 다른 동작을 실행해야 하는 경우가 자주 발생합니다. 바로 이럴 때 if … else 문이 유용합니다. Bash 스크립트에서 이러한 의사 결정 과정을 조건문
이 튜토리얼에서는 리눅스에서 그룹에 사용자를 추가하는 방법을 살펴봅니다. Bash 셸 명령어는 특정 목적을 달성할 수 있는 강력한 도구이며, 그룹은 정보를 공유하고 보호하는 효과적인 수단입니다. 리눅스의 파일 권한은 사용자 권한, 그룹 권한, 전체(other) 권한 단위로 소유권을 설정할 수 있게 해주며, root 권한을 체계적으로 관리하는 데에도 유용합니다. 그룹(wheel)과 함께 사용자 추가하기 새로운 관리자가 합류했고, 파일 서버에서 관리자 권한을 부여해야 하는 상황을 가정해 보겠습니다. useradd 명령어는 사용자를 추가