728x90
반응형
Linux/Unix 운영체제에서 자주 사용하는 기본적인 명령어들은 파일 및 디렉토리 관리, 시스템 정보 조회, 프로세스 제어 등 다양한 기능을 제공한다.
오늘 포스팅에서는 자주 사용하는 기본적인 명령어들에 대해 알아보자.
1. 파일 및 디렉토리 관리
a. ls: 디렉토리의 내용 목록을 출력하는 명령어
- ls: 현재 디렉토리의 파일과 디렉토리를 나열
- ls -l: 자세한 정보(권한, 소유자, 크기, 수정 날짜 등)를 포함하여 파일 목록을 출력
- ls -a: 숨김 파일까지 모두 출력
b. cd: 디렉토리 이동
- cd [디렉토리 경로]: 해당 경로의 디렉토리로 이동
- cd ~: 홈 디렉토리로 이동
- cd ..: 상위 디렉토리로 이동
c. pwd: 현재 작업 중인 디렉토리의 경로 출력
- pwd: 현재 위치한 디렉토리의 절대 경로를 출력
d. cp: 파일 또는 디렉토리를 복사
- cp [원본 파일] [대상 경로]: 파일을 다른 위치로 복사
- cp -r [원본 디렉토리] [대상 경로]: 디렉토리를 재귀적으로 복사
e. mv: 파일 또는 디렉토리를 이동하거나 이름 변경
- mv [원본 파일] [대상 경로]: 파일을 이동
- mv [파일명] [새 파일명]: 파일 이름을 변경
f. rm: 파일 또는 디렉토리 삭제
- rm [파일명]: 파일을 삭제
- rm -r [디렉토리명]: 디렉토리를 재귀적으로 삭제
- rm -f [파일명]: 강제로 삭제 (확인 없이)
g. touch: 새로운 파일 생성 또는 파일의 수정 시간을 업데이트
- touch [파일명]: 빈 파일 생성 또는 기존 파일의 타임스탬프 갱신
h. mkdir: 디렉토리 생성
- mkdir [디렉토리명]: 새로운 디렉토리를 생성
- mkdir -p [경로/디렉토리명]: 상위 디렉토리까지 함께 생성
2. 파일 읽기 및 편집
a. cat: 파일 내용을 출력
- cat [파일명]: 파일 내용을 터미널에 출력
- cat file1 file2: 두 개의 파일을 연결하여 출력
b. less: 파일 내용을 페이지 단위로 출력
- less [파일명]: 긴 파일 내용을 페이지 단위로 표시하며, 상하로 스크롤할 수 있음
c. head: 파일의 앞부분을 출력
- head [파일명]: 파일의 처음 10줄을 출력
- head -n [줄 수] [파일명]: 지정한 줄 수만큼 출력
d. tail: 파일의 뒷부분을 출력
- tail [파일명]: 파일의 마지막 10줄을 출력
- tail -f [파일명]: 파일의 마지막 부분을 계속해서 실시간으로 출력 (로그 파일 확인 시 유용)
3. 시스템 정보 및 상태 확인
a. whoami: 현재 로그인한 사용자 이름을 출력
- whoami: 현재 로그인된 사용자의 이름을 표시
b. hostname: 현재 시스템의 호스트 이름 출력
- hostname: 시스템의 호스트 이름을 표시
c. uname: 시스템 정보 출력
- uname: 운영체제 이름을 출력
- uname -a: 커널 버전, 시스템 이름, 하드웨어 아키텍처 등 시스템 전체 정보를 출력
d. top: 실시간으로 시스템 프로세스 상태를 보여주는 명령어
- top: CPU 사용률, 메모리 사용량, 실행 중인 프로세스 등을 실시간으로 표시
e. ps: 현재 실행 중인 프로세스 목록을 출력
- ps: 현재 사용자 세션에서 실행 중인 프로세스를 출력
- ps aux: 시스템 전체의 모든 프로세스 정보를 자세히 출력
f. df: 디스크 사용량을 출력
- df: 파일 시스템의 전체 및 사용 중인 디스크 공간을 출력
- df -h: 사람이 읽기 쉽게 단위(GB, MB 등)로 디스크 사용량을 표시
g. du: 파일과 디렉토리의 크기 확인
- du [파일명/디렉토리명]: 파일이나 디렉토리의 크기를 출력
- du -h [파일명/디렉토리명]: 사람이 읽기 쉽게 단위(GB, MB 등)로 크기를 출력
4. 파일 권한 관리
a. chmod: 파일 또는 디렉토리의 권한을 변경
- chmod [권한] [파일명]: 파일 권한을 변경 (예: chmod 755 파일명)
- 권한은 숫자로 표현하며, r=4, w=2, x=1로 계산하여 소유자, 그룹, 기타 사용자에게 부여할 권한을 설정
b. chown: 파일 또는 디렉토리의 소유자와 그룹을 변경
- chown [사용자] [파일명]: 파일의 소유자를 변경
- chown [사용자]:[그룹] [파일명]: 소유자와 그룹을 모두 변경
5. 네트워크 관련 명령어
a. ping: 네트워크 연결 상태를 확인
- ping [호스트명/IP주소]: 지정한 호스트나 IP 주소로 ICMP 패킷을 보내 응답 시간을 확인
b. ifconfig 또는 ip: 네트워크 인터페이스 정보를 확인
- ifconfig: 네트워크 인터페이스 정보 출력 (Ubuntu 20.04 이상에서는 ip 명령어를 사용)
- ip addr: IP 주소와 네트워크 상태를 출력
c. netstat: 네트워크 연결, 라우팅 테이블, 인터페이스 상태 등을 출력
- netstat -tuln: 현재 열려 있는 포트와 네트워크 연결 상태를 표시
6. 패키지 관리 (Ubuntu/Debian 계열)
a. apt: 패키지 설치, 삭제, 업데이트를 관리
- sudo apt update: 패키지 목록을 업데이트
- sudo apt upgrade: 설치된 패키지를 최신 버전으로 업그레이드
- sudo apt install [패키지명]: 새로운 패키지 설치
- sudo apt remove [패키지명]: 패키지 삭제
7. 기타 유용한 명령어
a. grep: 텍스트 파일에서 특정 문자열을 검색
- grep [검색할 문자열] [파일명]: 파일에서 특정 문자열을 검색
- ps aux | grep [프로세스명]: 실행 중인 프로세스 중에서 특정 프로세스를 검색
b. find: 파일을 찾기 위한 명령어
- find [경로] -name [파일명]: 특정 파일을 해당 경로에서 검색
- find /home -name "*.txt": /home 디렉토리에서 .txt 파일을 검색
c. tar: 파일 압축 및 압축 해제
- tar -cvf [압축파일명.tar] [디렉토리명]: 디렉토리를 tar 파일로 압축
- tar -xvf [압축파일명.tar]: tar 파일의 압축 해제
d. ssh: 원격 서버에 접속
- ssh [사용자]@[서버 IP 또는 도메인]: 원격 서버에 SSH로 접속
e. history: 이전에 입력한 명령어의 기록을 출력
- history: 최근 실행한 명령어를 출력
- !번호: 해당 번호의 명령어를 다시 실행
8. 프로세스 제어
a. kill: 프로세스를 종료
- kill [프로세스 ID]: 지정한 프로세스 ID(PID)를 가진 프로세스를 종료
- kill -9 [PID]: 강제 종료(SIGKILL)
b. bg: 백그라운드에서 작업 실행
- bg: 현재 일시 중지된 작업을 백그라운드에서 실행
c. fg: 백그라운드 작업을 포그라운드로 이동
- fg: 백그라운드 작업을 포그라운드로 가져와 실행
Linux/Unix 시스템에서 일상적으로 사용하는 명령어들이다. 각 명령어에는 다양한 옵션이 있으니, 필요에 따라 man [명령어]를 입력해 매뉴얼을 참고하는 것도 좋을 것 같다.
728x90
반응형
'ETC' 카테고리의 다른 글
Redis란? (2) | 2024.10.27 |
---|---|
JUnit을 활용한 유닛 테스트 (3) | 2024.10.26 |
아키텍처 설계 시 고려해야 할 점 (4) | 2024.10.24 |
MSA 설계 시 고려사항, 개발 도입 (1) | 2024.10.23 |
JPA와 Hibernate를 통한 RDBMS 연계방법 (0) | 2024.10.22 |