정보처리기사

[정보처리기사 요약 11-4] 윈도우 & 유닉스/리눅스 환경 변수와 기본 명령어 총정리

Hong's_Computer 2026. 3. 3. 15:31
반응형
본문에 오류가 있을 수 있음을 감안하고 봐주시길 바랍니다.
# 문제 풀이 중 오답노트 하면서 나온 내용을 정리한 것

 

환경 변수(Environment Variable): 시스템 소프트웨어의 동작에 영향을 미치는 동적인 값들의 모임을 의미한다. 변수명과 값으로 구성되며 시스템의 기본 정보를 저장한다. 환경 변수는 자식 프로세스에 상속된다.

  • Windows의 주요 환경 변수: cmd에서 변수명 앞뒤에 '%'를 입력해야 한다.(예: echo %USERPROFILE%) set을 입력하면 모든 환경 변수와 값을 출력한다.
환경 변수 용도
%ALLUSERPROFILE% 모든 사용자의 프로필이 저장된 폴더
%APPDATA% 설치된 프로그램의 필요 데이터가 저장된 폴더(로밍 데이터)
%COMSPEC% 기본 명령 프롬프트로 사용할 프로그램명(보통 cmd.exe 경로)
%HOMEDRIVE% 로그인한 계정의 정보가 저장된 드라이브
%HOMEPATH% 로그인한 계정의 기본 폴더
%LOGONSERVER% 로그인한 계정이 접속한 서버명
%PATH% 실행 파일을 찾는 경로
%PATHEXT% cmd에서 실행할 수 있는 파일의 확장자 목록
%PROGRAMFILES% 기본 프로그램(64비트)의 설치 폴더
%SYSTEMDRIVE% Windows가 부팅된 드라이브
%SYSTEMROOT% 부팅된 운영체제가 들어 있는 폴더 (보통 C:\Windows)
%TEMP% 또는 %TMP% 임시 파일이 저장되는 폴더
%USERDOMAIN% 로그인한 시스템의 도메인명
%USERNAME% 로그인한 계정 이름
%USERPROFILE% 로그인한 유저의 프로필이 저장된 폴더
%LOCALAPPDATA% 특정 PC에만 저장되는 로컬 애플리케이션 데이터 폴더 (캐시 등)
%COMPUTERNAME%
현재 컴퓨터의 네트워크 이름 (AD 및 인프라 관리 시 핵심)
  • UNIX/LINUX의 주요 환경 변수: 변수의 값을 참조할 때만 변수명 앞에 '$'를 입력한다. (예: echo $PATH) 변수를 새로 설정할 때는 '$'를 붙이지 않는다. env·printenv 중 하나를 입력하면 모든 환경 변수와 값을 출력한다.
환경 변수 용도
$DISPLAY 현재 X 윈도 디스플레이 위치
$HOME 사용자의 홈 디렉터리
$LANG 프로그램 사용 시 기본적으로 지원되는 언어
$MAIL 메일을 보관하는 경로
$PATH 실행 파일을 찾는 경로
$PS1 쉘 프롬프트 정보
$PWD 현재 작업하는 디렉터리
$TERM 로그인 터미널 타입
$USER 사용자의 이름
$TMOUT 지정된 시간(초) 동안 아무런 입력이 없을 경우 세션을 자동으로 강제 종료 (보안 설정)
$HISTFILE 사용자가 터미널에 입력한 명령어 기록이 저장되는 파일의 경로
$HISTSIZE 메모리에 기억해 둘 명령어 히스토리의 최대 개수
$LD_LIBRARY_PATH 프로그램 실행 시 필요한 동적 공유 라이브러리(.so 파일 등)를 찾을 디렉터리 경로

 

 

Windows 기본 명령어

명령어 기능
dir 현재 디렉터리의 파일 목록을 표시함 (예: dir /p)
copy 파일을 복사함 (예: copy A.txt B.txt → A.txt 파일을 B.txt로 복사함)
del 파일을 삭제함 (예: del A.txt)
type 파일의 내용을 표시함 (예: type A.txt → A.txt의 내용을 표시)
ren 파일의 이름을 변경함 (예: ren A.txt C.txt → C.txt로 이름 변경)
md 디렉터리를 생성함 (예: md test → test라는 디렉터리 생성)
cd 동일한 드라이브에서 디렉터리의 위치를 변경함 (예: cd test → test 디렉터리로 이동, 다른 드라이브 이동 시 cd /d D:\)
cls 화면의 내용을 지움
attrib 파일의 속성을 변경함 (예: attrib 속성 A.txt → A.txt의 속성을 변경), (속성: +R(읽기), +A(저장/백업), +S(시스템), +H(숨김))
find 파일에서 문자열을 찾음 (예: find "문자열" A.txt → A.txt에서 "문자열'을 찾음)
chkdsk 디스크 상태를 점검함
format 디스크 표면을 트랙과 섹터로 나누어 초기화함
move 파일을 이동함 (예: move A.txt test → A.txt를 test 디렉터리로 이동)
rd 디렉터리를 삭제함 (예: rd test)
xcopy
파일뿐만 아니라 하위 디렉터리 트리까지 한 번에 복사함
ipconfig 현재 PC의 IP 주소, 서브넷 마스크, 게이트웨이 등 네트워크 정보 확인
ping 특정 호스트(IP)와의 네트워크 연결 상태 및 지연 시간 점검
netstat 현재 PC에서 활성화된 네트워크 연결 및 열려있는 포트 상태 확인
tasklist 현재 시스템에서 실행 중인 프로세스 목록 표시
taskkill 실행 중인 프로세스 강제 종료 (예: taskkill /f /im notepad.exe)

 

 

UNIX/LINUX 기본 명령어

명령어 기능
cat 파일 내용을 화면에 표시함 (예: cat A.txt → A.txt의 내용을 출력)
cd 디렉터리의 위치를 변경함 (예: cd test → test 디렉터리로 이동, cd .. → 상위로 이동)
chmod 파일의 보호 모드를 설정하여 접근 권한을 변경함 (예: chmod 755 A.txt → 실행 권한 부여)
chown 파일의 소유자와 소유 그룹을 변경함 (예: chown root:root A.txt)
cp 파일을 복사함 (예: cp A.txt B.txt → A.txt의 파일을 B.txt로 복사, 디렉터리 복사 시 -r 옵션)
rm 파일을 삭제함 (예: rm A.txt → A.txt 삭제, 디렉터리 강제 삭제 시 rm -rf A.txt)
find 조건에 맞는 파일을 찾음 (예: find . -name "A.txt" → 현재 디렉터리부터 A.txt 찾기)
fsck 파일 시스템의 무결성을 검사하고 손상된 부분을 복구함
kill PID(프로세스 고유 번호)를 이용하여 프로세스를 강제 종료함 (예: kill -9 PID번호)
killall 프로세스의 이름을 이용하여 동일한 이름의 모든 프로세스를 종료함
ls 현재 디렉터리의 파일 목록을 표시함 (예: ls -al → 숨김 파일 포함 상세 출력)
mkdir 디렉터리를 생성함 (예: mkdir test → test 디렉터리 생성)
rmdir 디렉터리를 삭제함 (예: rmdir test → test 디렉터리 삭제, 단 빈 디렉터리만 삭제 가능)
uname 시스템의 이름, 커널 버전, 네트워크 호스트명 등 시스템 정보를 표시함 (예: uname -a)
mv 파일을 이동하거나 이름을 변경함 (예: mv A.txt test → test 디렉터리로 A.txt를 이동, mv A.txt B.txt → 이름 변경)
ps 현재 실행 중인 프로세스의 상태를 표시함 (예: ps -ef 또는 ps aux)
pwd 현재 작업 중인 디렉터리의 절대 경로를 화면에 표시함
top 시스템의 프로세스와 메모리, CPU 사용 현황을 실시간으로 표시함
who 현재 시스템에 로그인하여 접속해 있는 사용자 목록을 표시함
df/du df는 디스크 전체의 여유 공간을, du는 특정 디렉터리나 파일의 사용량을 확인
grep
파일 내에서 특정 문자열이나 패턴을 검색함 (예: grep "error" log.txt)
tail
파일의 마지막 부분을 출력함 (주로 실시간 로그 확인할 때 tail -f로 사용)
tar
여러 파일을 하나의 파일로 묶거나 압축함 (예: tar -cvf 파일명.tar 폴더명)
  • chmod 권한(파일: 666, 디렉터리: 777의 기본 권한)
구분 문자 기호 의미 숫자 값 파일에서의 의미
대상(Who) u 소유자(User) 첫 번째 자리 파일 소유자
g 그룹(Group) 두 번째 자리 파일이 속한 그룹
o 기타 사용자 세 번째 자리 소유자/그룹 외 모든 사람
a 모든 사용자(All) - u, g, o 모두 포함
연산자(Action) + 권한 추가 - 기존 권한에 더하기
- 권한 제거 - 기존 권한에서 빼기
= 권한 덮어쓰기 - 지정한 권한으로 완전 변경
권한(Permission) r 읽기(Read) 4 파일 내용 읽기
w 쓰기(Write) 2 파일 내용 수정/삭제
x 실행(Execute) 1 프로그램 또는 스크립트 파일 실행,
디렉터리 내부로 진입/접근
- 권한 없음 0 권한 없음

 

 

umask(User file-creation mode mask): 리눅스나 유닉스 시스템에서 새로운 파일이나 디렉터리를 생성할 때 기본적으로 부여될 권한(Permission)을 결정하는 설정값이다. 시스템이 기본적으로 주려는 '최대 권한'에서 umask로 지정된 숫자만큼 권한을 빼서(제외하여) 최종 권한을 확정하는 일종의 '권한 필터' 역할을 한다.

  • 디렉터리 기본 최대 권한: 777(rwxrwxrwx)
  • 파일 기본 최대 권한: 666(rw-rw-rw-)
  • 예) 파일 권한이 644일때, umask 022 이다.
반응형