관리 메뉴

나의 개발일지(김지헌)

우분투 기본 공부 본문

공부

우분투 기본 공부

코딩이좋아요 2023. 3. 13. 17:45

코드블럭

더보기
cd ~  - 제일 처음 접속하는 디렉토리 이동

[유저이름] 대괄호는 생략 가능
sudo - 사용자 변경 하는 것

관리자모드(슈퍼유저)
sudo -s 
sudo su

[유저 만들기 /home에 저장됨]
sudo adduser [유저이름] - 대화형 작업 유저생성
->패스워드 입력하기 
-> 새로운 값 또는 기본값을 사용할 꺼면 엔터
(enter로 항목 스킵가능) 이름 설정 -> 방 번호 -> 직장 번호 -> 집번호 -> 기타 -> Y
OR
sudo useradd -m [사용자명] <-이거쓰면 될듯

[sudo 사용 할 수 있도록 변경]
sudo usermod -a -G sudo [사용자명]

[비밀번호 변경]
sudo passwd [유저명] -비번 설정 
passwd  - 슈퍼유저 비번 변경

[삭제]
sudo deluser -> 사용자이름

[로그인]
su - [사용자명]

[그룹관리]
sudo addgroup  - 대화형 작업 유저생성
sudo groupadd  [그룹이름] - 옵션가능

[권한]
ls -l 목록 확인

[권한 변경]
u: owner
g: group
o: other (not owner, not group)
a: all

chmod o-r app.js
: app.js 파일의 other read 권한 삭제

chmod o+r perm.txt
: app.js파일의 other read 권한 허가


[리렉토리 목록확인]
ls -al  -감춰진 목록 까지 보기 히스트 형식


[디렉토리 생성]
mkdir [폴더명]

[디렉토리 삭제]
rm [파일명]
rm -r - -r은 내용까지 삭제

[빈 파일 생성]
touch [파일명]

[파일 이름 수정 및 이동]
mv [파일위치 및 파일이름] [목적지 파일위치 및 파일 이름]
mv [원래 파일 이름] [바꾸고 싶은 파일 이름]

[파일 편집 및 생성]
nano [파일명] -수정 및 생성 가능 Ctrl + s(저장) Ctrl + x (나가기)
cat [파일명] - 파일 내용보기

[현재위치 확인]
pwd

[패키지 명령어]
apt-get update -패키치 목록 업데이트
apt-cache search [패키지명] - 찾기
apt-get install [패키지명] - 설치
apt-get upgrade    		   - 업그레이드
apt-get upgrade [패키지명]  - 업그레이드
apt-get remove [패키지명] - 삭제
항상 update 다음에 install 하기

[다운로드]
wget -O [저장할 파일명] [다운로드 url] -파일 다운로드
apt-get install git
git clone [소스코드url] [디렉토리명]
git clone --branch [브랜치명] [소스코드url]
git clone -b {branch_name} --single-branch {저장소 URL} 여러개의 브랜치가 있을경우

[디렉토리 구조]
/bin: 사용자가 사용하는 명령어 모음
/sbin: 관리자가 사용하는 명령어 모음
/etc: 프로그램 설정을 관리하는 디렉토리
/etc/init.d: daemon의 목적을 가진 프로그램들 있음.
/var: 내용이 바뀔 수 있는 파일들 모음
/tmp: 임시파일들. 컴퓨터가 꺼지면 날아간다.
/home: 사용자들의 파일들이 저장되는 디렉토리
/lib: /bin과 /sbin에 있는 프로그램들이 사용하는 라이브러리 모음
/usr: 유저가 다운받은 프로그램들 저장..

[IP]
ip addr - 컴 아이피 확인
curl ipinfo.io/ip : 퍼플릭 ip

 

cd ~  - 제일 처음 접속하는 디렉토리 이동

[유저이름] 대괄호는 생략 가능
sudo - 사용자 변경 하는 것

관리자모드(슈퍼유저)
sudo -s 
sudo su

[유저 만들기 /home에 저장됨]
sudo adduser [유저이름] - 대화형 작업 유저생성
->패스워드 입력하기 
-> 새로운 값 또는 기본값을 사용할 꺼면 엔터
(enter로 항목 스킵가능) 이름 설정 -> 방 번호 -> 직장 번호 -> 집번호 -> 기타 -> Y
OR
sudo useradd -m [사용자명] <-이거쓰면 될듯

[sudo 사용 할 수 있도록 변경]
sudo usermod -a -G sudo [사용자명]

[비밀번호 변경]
sudo passwd [유저명] -비번 설정 
passwd  - 슈퍼유저 비번 변경

[삭제]
sudo deluser -> 사용자이름

[로그인]
su - [사용자명]

[그룹관리]
sudo addgroup  - 대화형 작업 유저생성
sudo groupadd  [그룹이름] - 옵션가능

[권한]
ls -l 목록 확인(ex -rw-rw-r-- 1 test1234 test1234 59 Mar 17 01:54 app.js)

-rw-rw-r-- 1 test1234 test1234 59 Mar 17 01:54 app.js
- rw- rw- r-- test1234 test1234  
  오너권한 그룹권한 그외      
1. type 2. access mode
(r: read,w: write, x: excute(실행)
3. owner 4. group  
-
file : -
dir : d
[owenr 권한]
r : read
w : write
x : excute(실행)
- 권한 없음
[group의 권한]

rw-
[other의 권한 (!owner && !group)]

r--
 


[ 권한 변경 (chmod - 체인지모드 )]

- : 삭제시 (ex.  u-r , g-w

+ 추가시 (ex. a+r , o+w)

r : read
w : write
x : excute(실행)

chmod [options] mode[ ,mode] file1 [file2...] -여러개 관리

chmod [누가]-[옵션] [파일명] - 권한 삭제
chmod [누가]+[옵션] [파일명] - 권한 추가

ex) chmod o-r app.js -오너 및 그룹이 아닌 사람들이 app.js파일을 읽지 못하게 하겠다.


[excute(실행)]

nano [파일명].sh ->

#!/bin/bash (빈 배쉬라는 프로그램으로 이 파일을 해석해라)

echo 'hi hi hi hi'

->저장 ->  실행 하기 ./[파일명].sh (에러뜸) -> /bin/bash [파일명].sh (정상)

 

[디렉토리 권한]

chmod [누가]-[옵션] [폴더명] - 권한 삭제

chmod [누가]+[옵션] [폴더명] - 권한 추가

ex) chmod o-r ./dir - 폴더의 w는 파일을 작성 금지(폴더내 파일 수정 가능),r  ls못함, x 폴더 접근 금지

[Octal modes]

진법으로 계산하여 chmod 적용(2진법)

  4 = 1*2^2 2 = 1*2^1 1 = 1*2^0          
  r : read w : write x : excute
  오너 그룹 그외 chmod
7 r w x rwx rwx rwx rwx chmod 777
6 r w - rw- rw- rw- rw- chmod 666
5 r - x r-x r-x r-x r-x chmod 555
4 r - - r-- r-- r-- r-- chmod 444
3 - w x -wx -wx -wx -wx chmod 333
2 - w - -w- -w- -w- -w- chmod 222
1 - - x --x --x --x --x chmod 111
0 - - - --- --- --- --- chmod 000

 

[디렉토리 목록확인]
ls -al  - 감춰진 목록 까지 보기 리스트 형식

ls -l 

[디렉토리 생성]
mkdir [폴더명]

[디렉토리 삭제]
rm [파일명]
rm -r - -r은 내용까지 삭제


[디렉토리 안에 모든 파일 권한]

폴더내 모든 파일,폴더 권한 옵션 -R

chmod -R [누가]-[옵션] [폴더명] - 권한 삭제

chmod -R [누가]+[옵션] [폴더명] - 권한 추가


[빈 파일 생성]
touch [파일명]

[파일 이름 수정 및 이동]
mv [파일위치 및 파일이름] [목적지 파일위치 및 파일 이름]
mv [원래 파일 이름] [바꾸고 싶은 파일 이름]

[파일 편집 및 생성]
nano [파일명] -수정 및 생성 가능 Ctrl + s(저장) Ctrl + x (나가기)
cat [파일명] - 파일 내용보기

[현재위치 확인]
pwd

[패키지 명령어]
apt-get update -패키치 목록 업데이트
apt-cache search [패키지명] - 찾기
apt-get install [패키지명] - 설치
apt-get upgrade        - 업그레이드
apt-get upgrade [패키지명]  - 업그레이드
apt-get remove [패키지명] - 삭제
항상 update 다음에 install 하기

[다운로드]
wget -O [저장할 파일명] [다운로드 url] -파일 다운로드
apt-get install git
git clone [소스코드url] [디렉토리명]
git clone --branch [브랜치명] [소스코드url]
git clone -b {branch_name} --single-branch {저장소 URL} 여러개의 브랜치가 있을경우

[디렉토리 구조]
/bin: 사용자가 사용하는 명령어 모음
/sbin: 관리자가 사용하는 명령어 모음
/etc: 프로그램 설정을 관리하는 디렉토리
/etc/init.d: daemon의 목적을 가진 프로그램들 있음.
/var: 내용이 바뀔 수 있는 파일들 모음
/tmp: 임시파일들. 컴퓨터가 꺼지면 날아간다.
/home: 사용자들의 파일들이 저장되는 디렉토리
/lib: /bin과 /sbin에 있는 프로그램들이 사용하는 라이브러리 모음
/usr: 유저가 다운받은 프로그램들 저장..

[IP]
ip addr - 컴 아이피 확인
curl ipinfo.io/ip : 퍼플릭 ip

 

 

 

 

'공부' 카테고리의 다른 글

초기 세팅  (0) 2023.04.03
로드밸런서  (0) 2023.03.14
MYSQL 우분투 설치 및 명령어  (0) 2023.03.13
리눅스 명령어 및 EC2설정 NginX  (0) 2023.03.13
공부  (0) 2023.03.13