728x90

먼저 꿀팁을 나눠준 학우들에게 감사합니다..

 

박수 짝짝짝

 

평소하던데로 

깃허브에서 

레포지토리 만들고 

주소 복사한다음에

 

깃데스크탑에 들어와서 

요기서 깃클론하고

 

작업할 때 

오픈 비주얼 코드 누르고 

터미널 켜져 있으면 

그걸로 하고 아니면 새 터미널들어가서 켜고

 

 

아래 보면

터미널이 원래 cmd로 되어있을건데

 

이걸 우분투로 바꿔주면

 

짠 

다가려놔서 안보이겠지만

wsl 작업창이 됐고요

/mnt 경로가 cd

커밋도 잘되고요

 

 

 

 

 

 

/mnt 경로는 바로

mnt

mnt는 mount의 약자 뜻을 가진 경로. 리눅스 프로그램에 기기의 탈부착으로 임시로 연결된 경로가 생기면 해당 경로에서 확인할 수가 있습니다. 현재 프로젝트의 AWS에는 연결된 외부 장치나 시스템이 없으므로 아무런 경로가 나오지 않습니다. 하지만 시스템의 용량을 확장할 때나 WSL에서 윈도우 시스템을 인식할 때 해당 경로로 인식할 수가 있습니다.

//WSL에서의 윈도우 인식
///mnt 경로
c d wsl

여기서 C는 Windows에서의 C 드라이브를 의미합니다.

출처: https://tecoble.techcourse.co.kr/post/2021-10-18-linux-file-directory-system/

 

 

 

 

728x90
728x90

계속 헷갈리는게 root계정인지 일반계정인지 sudo su가 슈퍼관리자로 가능하대서 다되는구나 이생각

무지성으로 따라해서 ㅎㅎ

 

터미널에서 하던걸 vscode에서 해볼까했는데 저장안됨

어 저번엔 됐었는데

 

이유는 우분투 연결한 vscode는 

일반계정으로 열리는 거임

 

근데 터미널에서는 sudo su- 슈퍼계정 root로 파일들 만들잖아

그 파일이 일반계정으로 열리는 vscode에서는 수정이 안되는거임 권한이 없어서

 

그동안 일반계정으로 했다가 root계정으로 했다가 막한 흔적들

 

일반계정으로 파일 만들어보니까

vscode에서도 수정잘될 수 있는거 확인.

 

 

왜 파일만들때 sudo su-로 root계정에 들어가서 작업하는거지?

root에서만 할 수 있는 작업들이 있다 하더라고

 

728x90
728x90

실행했을 때

원하는 저장공간에 

오늘 날짜로 파일명이 만들어지는

스크립트

 

 

순서는 이렇게..

 

mkdir 폴더생성

vi 실행파일.sh

스크립트 적기

실행권한설정

실행하기

 

 

 

스크립트

 

date 날짜띄우는명령어 YYMMDD 변수에 담아줘

(date_log로 폴더가 저장됐으면 하는 )원하는 경로 DIR_LOG 변수에 담아줘

변수사용해 오늘날짜 뜨는 파일명 FILE_NAME 라고

 

만약에 DIR_LOG가 이 디렉토리아니면(저 경로에 date_log없으면)

실행

DIR_LOG 만들어

파일내용안에 date날짜 넣어

 

아니면 (만약 저 경로에 date_log있으면)

"이름같은폴더가 있음" 뜨게 해

끝.

 

#!/bin/bash

YYMMDD=`date +"%y%m%d"`
DIR_LOG="/home/`whoami`/date_log"
FILE_NAME="Date_${YYMMDD}.txt"
if [ ! -d $DIR_LOG ]
then
   mkdir $DIR_LOG
   `date > ${DIR_LOG}/${FILE_NAME}`
else
   echo "이름이 같은 폴더가 이미 있음."
fi

 

 

 

 

특수문자  >,<,>> 는 입출력의 방향바꾸는 특수문자

명령1>파일이름
(파일의 내용을 명령1로 바꿉니다.)

명령1>>파일이름 
(파일의 내용에 명령1을 추가합니다)
https://hack-cracker.tistory.com/26

쉘 스크립트 if문 옵션 -d

파일조건
[-d file] file이 디렉토리이면 참이다
https://webstone.tistory.com/79

 

 

에러 해결

처음에 

DIR_LOG="/home/`whoami`/date_log"

이렇게 하니까 안나옴

syusmm 내계정넣어주면 나오는데.

 

`whoami`는 현재 사용자의 이름을 출력하는 명령어

 

 

안됐던 이유

 

 

root에서 

/home/`whoami`/ 찾으려하니까 안나오는 거임

 

 

나와서 이렇게 보면

home안에 계정들 있지

 

 

 

 

syusmm 계정에서는 실행 가능!

 

 

 

다시 해보면

syusmm계정에서

실행(은 되지만 이미 있다고뜸)

 

root로 가면 안됨

 

 

sudo는 현재 계정에서 단순히 root의 권한만 빌리는 것

su는 현재 계정에서 root계정으로 전환하는 명령어

 

su는 root계정의 환경변수를 가져오지 않고 현재 계정의 환경변수를 사용하게 될 것이고

su -는 root계정의 환경변수까지 모두 가져와 root계정에 접근하게 되는 것.

https://jootc.com/p/20170122130

 

 

 

 

+ 안됐던 이유2

실행권한 설정이 안되어있었음

 

권한 설정

r읽기

w쓰기

x실행

 

소유자에게 실행권한 부여함

chmod u+x file.txt 

리눅스 권한설정

숫자로 한번에 권한 변경해도 됨
chmod 000 test.c
사용자, 그룹, 다른사용자의 모든 권한을 제거한다.
chmod 777 test.c
사용자, 그룹, 다른사용자의 모든 권한을 추가한다.
chmod 700 test.c
사용자에게만 모든 권한을 준다.
chmod 744 test.c
사용자에게는 모든 권한을 주고, 그룹, 다른 사용자에게는 읽기 권한만 준다

744라는 숫자는 이렇게 해석할 수 있다.

사용자
r w x
4 + 2 + 1 = 7

그룹
r - - 
4

다른 사용자
r - - 
4
https://withcoding.com/103
https://nachwon.github.io/shell-chmod/

 

 

 

 

 

728x90
728x90

 

상황: 

우분투 연결안된 비주얼코드창에서 마리아db연결하겠다고 삽질하고 있었던 것을 깨닫

 

마리아db 이미 깔려있고 리눅스창에서 작업해야되는거니까 mysql 워크벤치 연동은 의미없다는 것을 깨닫

 

비주얼코드 우분트연결 창 켜서 

폴더만들어서 안에 로그인되는 코드넣어놓고 작업시작

npm i

디비 생성

 

역시 같은 에러.

이 오류에 경우

 

1. 비번 틀렷을 경우

2. 권한설정이 안됐을 경우.

3. 기타 등등 있대서

 

비번은 바꿔주고 확인해봤으니 아니고

 

 

 

비번바꾸기

use mysql;

사용자와 비밀번호 출력하기

select user, password from user;

abc 사용자의 비밀번호를 1234로 설정

update user set password=password('1234') where user='abc';

변경 사항 적용

flush privileges;

 

 

 

 

 

 

권한설정이 문제인가 해서

 

mariadb 계정 권한설정

MariaDB [mysql]> grant all privileges on *.* to 'test'@'localhost' with grant option; Query OK, 0 rows affected (0.002 sec)

https://94mogi.tistory.com/7

바꿔봤는데도 안됐음 

 

 

우분투 파일 권한 설정

이 문젠가 싶어서 그것도 해봄 

하위폴더까지 다 권한줌

[root@~/]# chmod 755 -R /폴더명

777도 해봄(이거는 보안상 위험할 수 있대서 다시 755로 바꿨다, 물론 에러 원인은 아니었지만)

 

(이거 개념 나중에 참고하삼 https://withcoding.com/103)

연산자 설명 배리 굿https://nachwon.github.io/shell-chmod/

 

[Shell] chmod - 파일 및 폴더의 권한 설정

chmod 셸 명령어는 파일 또는 폴더의 권한을 변경할 때 사용한다.

nachwon.github.io

 

 

여전히 같은 에러 뜸

 

이번에는 계정이 문젠가 싶어서 

기존계정 삭제하고 다시 만들어봄

 

 

 

mariadb 계정 삭제

 

use mysql

DROP USER '계정'@'접속대역';

 

새로 만들고

권한설정도 하고

 

플러그인이 문제인가 싶어서 해봄

MariaDB [mysql]>  update user set plugin='mysql_native_password' where user='mariatest';

확인

MariaDB [mysql]> select user,host,plugin from mysql.user;

 

 

이걸로 해봤는데도 안됨

 

 

 

 

 

혹시나해서 비밀번호 초기화 해봄

(및 보안강화를 위한 설정명령어, 라고 함.)

 

sudo mysql_secure_installation

이후에 우분투 켜서 다시 접속하려는데 안됨

mysql -u root -p

sudo mysql

이거 둘다 안됨

 

 

 

 

mariadb들어갈때 

sudo mysql해서 들어가는데 

에러뜸

 

 

새로운 에러 등장~~

에러 

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

 

 

 

service mysql start 

sudo su-로 들어가서 하니까 시작되고

나와서

sudo mysql하니까 접속됨

 

 

 

들어와서 db생성 실행해보니

 

역시 안되고

 

 

엇 생각해보니까

이 mariadb 포트가 3307인데 

config에 포트 추가로 넣은거 걍 아무거나 넣어본거였거든

 

똑같은 포트번호 3307으로 해봄

 

 

 

 

와우 

생성잘됨

 

 

삽질2 포트번호가 달라서 그랬던거임

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

생각해보니까 이 에러도

 

전에 mariadb깔고 실행할때 떴던 에러인데

기존에 깔려있는 mysql이 3306포트를 써서 mariadb량 겹쳐서 위에 에러가 떴거든

그때 mariadb포트를 3307으로 바꿔줌

(mariadb설치시 위 에러해결 이거 참고하슈 : https://codecoco.tistory.com/58?category=524414

 

 

 

db안에 회원가입한거 잘들어왔나 확인

 

응잘들어옴 로그인도 잘됨

 

 

 

mariadb

로그인하기 db생성하기 

 

끝~~

 

 

(아근데 로그인하는 코드자체 제로초보고 다 따라한거라 나중에 해봐야겠다...

혼자 해보려다가 잘안됐음.. 여기서 시간 많이 먹긴함ㅋ)

 

 

728x90

+ Recent posts