리눅스 명령어 완벽 가이드

MIN·2024년 12월 25일
0

정보보안

목록 보기
2/8

1. 기본 디렉토리 조작 명령어

pwd: 현재 디렉토리 위치 확인

$ pwd
/home/user/desktop

ls: 디렉토리 내용물 확인

$ ls
file.txt folder1 test.py

ls -l: 자세한 내용 확인

$ ls -l
total 20
drwxr-xr-x 2 user user 4096 Dec 25 14:30 folder1
-rw-r--r-- 1 user user 123 Dec 25 14:30 file.txt
-rw-r--r-- 1 user user 234 Dec 25 14:30 test.py

cd: 디렉토리 이동

$ cd /home/user/downloads # 특정 위치로 이동
$ cd .. # 상위 폴더로 이동
$ cd ~ # 홈 디렉토리로 이동

2. 파일 조작 명령어

cp: 파일 복사

$ cp file1.txt file2.txt # file1을 file2로 복사
$ cp -r folder1 folder2 # folder1을 folder2로 복사

mv: 파일 이동 또는 이름 변경

$ mv old.txt new.txt # 이름 변경
$ mv file.txt /home/user/docs/ # 파일 이동

rm: 파일 삭제

$ rm file.txt # 파일 삭제
$ rm -r folder1 # 폴더 삭제

3. 파일 내용 확인 명령어

cat: 파일 내용 출력

$ cat file.txt
Hello World!

head: 파일의 앞부분 보기

$ head -n 3 file.txt # 앞 3줄 보기
Line 1
Line 2
Line 3

tail: 파일의 끝부분 보기

$ tail -f log.txt # 실시간으로 파일 끝부분 모니터링
$ tail -n 5 file.txt # 마지막 5줄 보기

파일 검색 명령어

find: 파일 찾기

$ find /home -name "*.txt" # txt 파일 모두 찾기
$ find . -type d # 현재 위치에서 모든 폴더 찾기

grep: 파일 내용 검색

$ grep "error" log.txt # log.txt에서 'error' 검색
$ grep -r "todo" . # 현재 폴더에서 'todo' 재귀적 검색

5. 시스템 모니터링 명령어

ps: 프로세스 확인

$ ps aux # 모든 프로세스 보기
$ ps -ef | grep nginx # nginx 프로세스 찾기

top: 시스템 상태 모니터링

$ top # 실시간 프로세스 모니터링

df: 디스크 사용량 확인

$ df -h # 읽기 쉬운 형태로 용량 표시
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 50G 20G 30G 40% /

권한 관련 명령어

chmod: 파일 권한 변경

$ chmod 755 script.sh # rwxr-xr-x 권한 설정
$ chmod +x file.sh # 실행 권한 추가

chown: 소유자 변경

$ sudo chown user:group file.txt # 소유자와 그룹 변경

7. 압축 관련 명령어

#tar: 파일 압축/해제

$ tar -cvf archive.tar folder/ # folder 압축
$ tar -xvf archive.tar # 압축 해제

zip/unzip

$ zip -r archive.zip folder/ # folder 압축
$ unzip archive.zip # 압축 해제

8. 네트워크 및 포트 관련 명령어

포트 및 프로세스 확인

$ netstat -tulpn # 활성화된 포트 전체 확인
$ lsof -i :3000 # 3000번 포트 사용 프로세스 확인

특정 포트 프로세스 죽이기

$ kill -9 (lsof -t -i:3000) # 3000번 포트 강제 종료 fuser -k 3000/tcp # 3000번 포트 프로세스 종료

네트워크 연결 확인

$ ping google.com # 네트워크 연결 테스트
$ curl localhost:3000 # HTTP 요청 테스트
$ wget https://example.com # 파일 다운로드

방화벽 관련

$ sudo ufw status # 방화벽 상태 확인
$ sudo ufw allow 3000 # 3000번 포트 허용
$ sudo ufw deny 3000 # 3000번 포트 차단

네트워크 인터페이스 확인

$ ifconfig # 네트워크 인터페이스 정보
$ ip addr # IP 주소 정보

DNS 조회

$ nslookup google.com # DNS 정보 조회
$ dig google.com # 상세 DNS 정보 조회

9. 정보보안 관련 주요 명령어

시스템 로그 확인

$ tail -f /var/log/auth.log # 인증 로그 실시간 모니터링
$ tail -f /var/log/syslog # 시스템 로그 확인
$ journalctl -f # systemd 로그 확인

네트워크 모니터링

$ tcpdump -i eth0 # 네트워크 패킷 캡처
$ wireshark # 패킷 분석 도구 실행
$ nmap localhost # 포트 스캔
$ netstat -antup # 활성 연결 상태 확인

파일 무결성 검사

$ md5sum file.txt # MD5 해시값 확인
$ sha256sum file.txt # SHA256 해시값 확인
$ diff file1 file2 # 파일 비교

권한 및 보안 설정

$ sudo chattr +i file.txt # 파일 변경 불가 설정
$ sudo lsattr file.txt # 파일 속성 확인
$ sestatus # SELinux 상태 확인

사용자 활동 모니터링

$ w # 현재 로그인한 사용자 확인
$ last # 로그인 히스토리 확인
$ lastb # 실패한 로그인 시도 확인

시스템 정보 수집

$ uname -a # 커널 정보 확인
$ cat /etc/passwd # 사용자 계정 정보
$ cat /etc/shadow # 암호화된 패스워드 확인
$ ps aux --forest # 프로세스 트리 구조 확인

### 💡 유용한 단축키

Ctrl + C  # 현재 실행 중인 명령어 중단
Ctrl + Z  # 프로세스 백그라운드로 전환
Ctrl + L  # 터미널 화면 클리어
Tab       # 자동 완성
↑/↓       # 이전/다음 명령어

💡 자주 사용하는 포트 번호

20, 21: FTP
22: SSH
80: HTTP
443: HTTPS
3306: MySQL
5432: PostgreSQL
27017: MongoDB

보안 관련 주요 디렉토리

/var/log/ # 각종 로그 파일
/etc/passwd # 사용자 계정 정보
/etc/shadow # 암호화된 패스워드
/etc/ssh/ # SSH 설정
/var/log/auth.log # 인증 로그
/var/log/secure # 보안 관련 로그

profile
코딩에 빠짐

0개의 댓글