728x90
반응형
리눅스 디렉토리 구조
- / - 최상위 디렉토리
- /bin - 중요한 명령어 가 있는 디렉토리 , 부팅에 필요한 명령어가 있으며 부팅후에 일반 시스템 계정 사용자들도 사용할 수 있는 명령어가 있는 위치
- /boot - 커널 시스템 부팅에 관련된 파일을 저장하고 있다.
- /dev - 시스템 디바이스 파일을 저장, 가상디렉토리, 리눅스 시스템은 각종 디바이스 장치를 하나의 파일로 취급한다.
- /etc - 시스템 전체 환경설정 파일을 저장
- /home - 사용자의 홈디렉토리와 FTP,WWW 등과 같은 서비스 디렉토리들이 저장, ID와 동일한 이름으로 디렉토리를 가진다. 시스템에 상용되진 않지만 단지 리모트상에서 시스템으로 접속하는 사용자들을 위한 공간
- /mnt - 플로피 , CD-ROM등 마운트를 위한 디렉토리, 임시디렉토리로 자동 인식하지 않는다. 보통 여러개의 하위 디렉토리로 나누어 사용되고 , 평소에는 각 디렉토리들은 비어있다.
- /lib - 프로그램들에 필요한 각종 라이브러리 저장
- /proc - 실행중인 프로세서나 현재 시스템 정보를 파일형태로 보여주는 가상디렉토리, 즉 디렉토리에 존재하는 파일들은 실제 HDD에 저장되지 않고 커널에 의해 메모리에 적재된다.
- /root - 시스템 관리자의 홈 디렉토리
- /sbin - 시스템 관리자용 명령어를 저장
- /tmp - 일시적인 저장을 위한 디렉토리 (정기적으로 삭제 된다.)
- /usr - 각종 어플리케이션 등이 설치되어 있는 디렉토리
- /var - 시스템 운영중에 생성되었따가 삭제되는 데이터를 저장하는 디렉토리
기본 파일 및 디렉토리 조작
cd
- 디렉토리 이동
ls
- 현재 자신이 속해있는 폴더 내의 파일, 폴더 표시
// 현재 경로에 하위 파일 조회
$ ls
// 특정 경로에 하위 파일 조회
$ ls /mnt/d/src/images/ST/776
pwd
- 현재 자신이 위치한 디렉토리
mkdir
- 현재 디렉토리에 폴더 생성
mkdir 766
rmdir
- 디렉토리 삭제
touch
- 파일 생성 (크기 0)
cp
- 파일 복사 (디렉토리 내부까지 복사 시, cp -R)
cp src/images/ST/776/* Users/kim/Desktop/files
// cp [1경로] [2경로]
// 1경로에 있는 파일을 2경로에 복사
mv
- 파일 이동
rm
- 파일 삭제 (디렉토리 삭제 시에는 보통 rm -R을 많이 사용)
cat
- 파일의 내용을 화면에 출력
$ cat /etc/issue
more
- 화면 단위로 보기 쉽게 내용 출력
less
- more보다 조금 더 보기 편함
find
- 특정한 파일을 찾는 명령어
grep
- 특정 패턴으로 파일을 찾는 명령어
사용자 및 그룹 관리
useradd
- 새로운 사용자 계정 생성
passwd
- 사용자 계정의 비밀번호 설정
userdel
- 사용자 계정 삭제
usermod
- 사용자 계정 수정
groupadd
- 그룹 생성
groupdel
- 그룹 삭제
groups
- 그룹 확인
newgrp
- 자신이 속한 그룹 변경
시스템 상태 확인
ps
- 현재 실행되고 있는 프로세스 목록 출력
top
- 리눅스 시스템의 운용 상황을 실시간으로 모니터링 가능
free
- 시스템 메모리의 정보 출력
df
- 파일 시스템의 디스크 공간 사용 정보를 표시
du
- 디렉토리의 디스크 사용량을 표시
네트워크 상태 확인
ping
- 네트워크 상태 점검 및 도메인 IP 확인
ifconfig
- 리눅스 IP 확인 및 설정
netstat
- 네트워크의 상태
traceroute
- 알고 싶은 목적지까지 경로를 찾아줌
route
- 라우팅 테이블 구성 상태
압축 및 권한 관리
tar, gzip 등
- 압축 파일 묶거나 품
chmod
- 파일 또는 디렉토리 권한 수정
chown
- 파일 또는 디렉토리 소유자, 소유 그룹 수정
chgrp
- 파일 또는 디렉토리 소유 그룹 수정
umask
- 파일 생성 시의 권한 값을 변경
터미널 관리
clear
- 현재 커맨드 화면을 깨끗하게 지움
- 기본 단축키: Ctrl + L
$ clear
reset
- 터미널 자체를 새로 초기화
- 방향키를 통해 이전에 입력한 명령어는 확인이 가능, putty로 접속한 경우 화면을 지우지 않는다.
$ reset
alias
- 명령어에 별칭을 지정
unalias
- 명령어 별칭을 제거
echo
- 문자열을 출력 (환경 변수 확인 및 설정에 유용)
stty
- 터미널 라인 설정을 변경
tput
- 터미널 특성을 설정 (예: 텍스트 색상 변경 등)
실행 파일 도구
explorer.exe
- 디렉토리가 찾기 어려운 경우 윈도우 파일탐색기 열기
- 예를 들어 추가한 폴더(temp)의 경로를 윈도우에서 찾고 싶은 경우 명령어를 통해 윈도우탐색기를 열수 있다.
$ explorer.exe .
원격 서버와의 상호작용을 자동화 도구
sshpass
- SSH(Secure Shell) 연결에서 비밀번호를 자동으로 입력하기 위해 사용하는 유틸리티
- 비밀번호 노출: sshpass는 비밀번호를 명령줄에 평문으로 입력하므로 보안에 취약할 수 있습니다. 특히, 스크립트나 로그 파일에 비밀번호가 저장될 수 있습니다.
- 대체 방법: SSH 키 기반 인증을 사용하는 것이 훨씬 안전합니다. 키 기반 인증을 설정하면 비밀번호를 사용하지 않고도 SSH 접속이 가능합니다.
- 자동화 스크립트나 배치 작업 에서 SSH 연결을 자동화할 때, 비밀번호를 입력하는 과정에 사용한다.
- 보안적인 측면에서 SSH 키 인증을 사용하는 것이 더 안전합니다. 가능하다면 SSH 키 기반 인증을 고려하는 것이 좋다.
sshpass -p 'password' ssh user@hostname
// 'password'는 SSH 로그인에 사용할 비밀번호,
// 'user'는 사용자 이름, hostname은 원격 서버의 주소
// SSH 접속
sshpass -p 'my_password' ssh user@192.168.1.100
// 파일 전송
sshpass -p 'my_password' scp /path/to/local/file user@192.168.1.100:/path/to/remote/directory
// 명령 실행
sshpass -p 'my_password' ssh user@192.168.1.100 'ls -l /path/to/directory'
spawn
- UNIX 및 UNIX-like 시스템에서 프로세스를 생성(스폰)하기 위해 사용되는 명령어나 함수
- 프로세스 생성: 새로운 쉘이나 명령어 실행을 위한 프로세스를 생성합니다.
- 자동화: 자동으로 명령어를 입력하고 결과를 처리하는 스크립트를 작성할 수 있습니다.
- 상호작용: 대화형 프로그램과 상호작용하여 테스트 자동화나 반복적인 작업을 자동화할 수 있습니다.
- 원격 서버에 접속하여 명령어를 실행하거나, 설치 스크립트를 자동으로 진행하는 등의 작업을 자동화 등 대화형 프로그램을 자동화해야 할 때 유용하다.
import pexpect
# SSH 접속 예시
child = pexpect.spawn('ssh user@hostname')
child.expect('Password:')
child.sendline('password')
# 명령어 실행 후 결과 확인
child.expect('$') # 프롬프트가 나올 때까지 기다림
child.sendline('ls -l')
child.expect('$')
print(child.before.decode('utf-8'))
# 세션 종료
child.sendline('exit')
child.close()
728x90
반응형
'IT > OS' 카테고리의 다른 글
[Window] 윈도우 10 단축키 완벽 정리 (0) | 2024.09.27 |
---|---|
[window] npm : 이 시스템에서 스크립트를 실행할 수 없으므로 C:\Program Files\nodejs\npm.ps1 파일을 로드할 수 없습니다. (0) | 2024.08.13 |
[window] localhost 도메인 설정 방법 - window 10 (0) | 2024.03.20 |
[window] window10, 11 한글이 안쳐지는 경우 (0) | 2024.03.11 |
[window] 원격 데스크톱 연결, 윈도우 자격증명 찾기 (0) | 2024.03.08 |