반응형
본문에 오류가 있을 수 있음을 감안하고 봐주시길 바랍니다.
# 문제 풀이 중 오답노트 하면서 나온 내용을 정리한 것
환경 변수(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 | 프로그램 사용 시 기본적으로 지원되는 언어 |
| 메일을 보관하는 경로 | |
| $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 이다.
반응형
'정보처리기사' 카테고리의 다른 글
| [정보처리기사 요약 11-6] 인터넷 통신의 뼈대, TCP/IP 구조 및 계층별 주요 프로토콜 총정리 (0) | 2026.03.03 |
|---|---|
| [정보처리기사 요약 11-5] IPv4 vs IPv6, OSI 7계층 및 주요 네트워크 장비 정리 (0) | 2026.03.03 |
| [정보처리기사 요약 11-3] FCFS부터 SRT, RR 알고리즘까지 핵심 요약 (0) | 2026.03.03 |
| [정보처리기사 요약 11-2] 운영체제 기억장치 관리 전략 및 가상기억장치 정리 (0) | 2026.03.02 |
| [정보처리기사 요약 11-1] 운영체제(OS)의 개념과 종류 요약(Windows부터 iOS까지) (0) | 2026.03.02 |