리눅스?
리눅스 토발즈가 개발한 리눅스커널에 기반을 둔 오픈소스 유닉스 계열 운영 체제
나는 거의 우분투를 쓸 예정 (센토스 가아끔)
리눅스 권한
Owner | Group | Other | Owner & Group은 파일 소유자와 자신이 속한 그룹, Other는 제3자 | ||||||
r | w | x | r | w | x | r | w | x | r(4)읽기, w(2)쓰기, x(1)실행 |
7 | 5 | 5 | 파일 소유자는 읽고 쓰고 실행도 가능하지만 이외는 읽고 실행만 가능 | ||||||
7 | 7 | 7 | 제 3자에게도 쓰기권한이 주어짐 |
디렉토리?
'/' 루트 디렉토리 : 리눅스 최상단 디렉토리
'~'홈 디렉토리 : 사용자의 홈디렉토리 (리눅스 처음 접근시 접속되는 위치)
리눅스 명령어 형식
명령어 -옵션 [인수]
자주쓰는 명령어
pwd(Print Working Directory): 현재 작업중인 디렉토리 표시
ls(List Segments): 파일과 디렉토리의 정보 표시.
ls -옵션 | 설명 |
ls -a | all 모든 파일보기 (숨김파일포함) |
ls -d | 디렉토리안의 내용이 아닌 디렉토리 자체 확인 |
ls -f | 지시문자를 추가로 표시함 (디렉토리 명 끝에 슬래시 표시) |
ls -l | 파일을 리스트로 보여준다 (ls -al 많이사용) |
ls - r | reverse역순 조회 |
ls -s | 크기순정렬 |
ls -t | 수정 시간순 정렬 |
ls -i | 각 파일의 색인번호 출력 |
ls -h | 바이트 크기 출력 |
ll : 'ls -lh'
cd(Change Directory): 해당 디렉터리로 이동
cd /app/nginx/nginx.conf
cd와 ll을 사용하다가 발견한 심볼릭 링크(Symbolic link)
- 원본 파일로 링크를 연결해줌. 윈도우 바로가기라고 생각하면 된다
- 위 캡쳐에서 cd /etc를 하면 현재위치/etc 가 아닌 private/etc로 이동하게됨
만드는 방법도 있는데 나중에 필요하면 따로 포스팅함
mkdir(Make Directory): 원하는 위치에 새 디렉터리 생성
mkdir log #log 디렉토리 생성
cp(Copy), mv(Move): 파일을 복사/이동하는 명령어
copy house.html house2.html #house1 을 house2로 복사
mv move.txt new_folder #move.txt파일을 뉴폴더 디렉토리로 이동
mv move.txt inadang/new_folder2 #move.txt파일을 해당위치로 이동
mv move.txt move_text.txt #move.txt파일을 move_text.txt파일로 이름바꾸기
#inadang/new_folder/move.txt파일을 inadang/new_folder2/move2.txt파일로 이름바꾸기
mv inadang/new_folder/move.txt inadang/new_folder2/move2.txt
-b: 이동될 파일이 존재하면 백업파일을 만듦
-i: 이동될 파일이 이름이 이미 존재할 경우, 사용자에게 덮어 쓰기 여부 확인
-b: 이동될 파일이 이름이 이미 존재할 경우, 백업파일 생성
-f:이동 될 파일이 이름이 이미 존재 할 경우, 강제 덮어쓰기
-n:이동 될 파일이 이름이 이미 존재 할 경우, 덮어쓰기 안함
-r: 하위 디렉토리 까지 모두 이동
-v: 이동 진행 상태를 출력
rmdir(Remove Directory): 디렉토리 삭제 (디렉토리가 비어있지 않을 경우 삭제 불가)
cat(concatenate): 파일 내용 출력
cat text.txt
리눅스환경에서 자바 .jar를 데몬처럼 실행
java -jar [파일명] & #사용자가 로그아웃하거나 터미널 종료시 프로그램 종료
nohup java -jar text.jar & #터미널을 종료해도 백그라운드에서 계속 실행됨
#실행 후 자바 프로세스 확인
ps -ef | grep text.jar
grep: 특정 문자열 검색
grep 찾을문자열 찾을파일
grep http text.txt
시그널 종료: 시그널 옵션이 다양하지만 -9대신 -16 쓰라고 말씀해주셨다
kill -16
chmod: 권한변경(777 ㄴㄴ)
chmod 755 [파일명]
chown: 소유권변경
chown staff web.txt #소유자만 변경
chown :inadang web.txt #그룹만 변경
chown staff:staff #사용자, 그룹 모두변경
ssh: 원격 sshd 가 설치된 장비에 접속
ssh 계정@서버주소
ssh inadang@192.168.0.0
-, --version: 버전확인(- 아니면 --)
wget / curl: wget은 특정 url파일 다운로드시, curl은 웹요청시 사용
>> 외부에서 접속이 안될때 curl로 로컬에 보내서 응답을 정상적으로 받는다면 방화벽 등의 문제로 범위를 좁힐 수 있다
systemctl: 서비스 관리 명령어
systemctl restart nginx
systemctl status mariadb
systemctl stop nginx
systemctl enable mariadb #부팅 시 자동 시작되도록 등록
tail:
tail -f [파일명] #실시간으로 파일 마지막 부분 출력
tail -f [test.log] | grep Join #해당 로그파일에서 원하는 내용만 실시간으로 출력
scp(Secure Copy): 호스트에 단방향 파일 전송(복사한 파일을 복사하고 암호화하여 전송)
scp [파일명] [파일계정]:[저장경로]
scp test.txt inadang@192.169.0.0:/app/inadang
sftp: 리눅스 서버에 파일을 업로드하거나 다운로드. get(다운로드), put(업로드)
find: 찾기
find
find / -name [파일명] #루트 디렉토리에서 파일 검색
find . -name [파일명] #현재 디렉토리부터 하위 파일 검색
find . -empty #비어있거나 크기가 0인 파일 검색
find / -name text.txt
find . -name "*.js"
source: 파일 수정 후 수정된 값 바로 적용
source [환경 설정 파일명]
참고 :
- https://www.lesstif.com/lpt/lsblk-106856724.html
- https://dora-guide.com/linux-commands/
- https://ko.wikipedia.org/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4
'개발 > Linux' 카테고리의 다른 글
[Ubuntu] 우분투 20.04에서 Maria DB 삭제하는 법 (0) | 2023.02.10 |
---|