오늘..늦잠을 자서 15분을 지각했다..너무 슬프다..
pwd
(print working directory) : 현재위치 확인. 터미널에 pwd
를 입력후 enter를 누르면 현재 작업중인 폴더의 위치를 출력한다.
mkdir
(make directories) : 현재 작업중인 폴더에 새로운 폴더 생성.
ls
(list) : 특정 폴더에 포함된 파일이나 하위폴더리스트 출력.
l
, a
가 있음ls -l
: 가장 왼쪽에 출력되는 두 글자 d
,-
를 확인 가능.d
: 디렉토리-
: 파일ls -a
: a는 all이라는 의미. 숨어있는 폴더나 파일을 모두 출력.ls -al 혹은 ls -la
ll
더 편하고 가독성좋음
cd
(change directory) : 폴더 변경.
touch
: 파일 생성
>
: 실행결과를 파일에 저장하기.
echo
: 뒤에내용을 화면에 출력.
echo 폴더에_저장할_내용 > 파일.txt
cat
: 파일의 내용을 터미널에 출력.
rm
(remove) : 단일 파일 삭제. 이 명령어로 삭제한 폴더나 파일은 휴지통을 거치지않고 바로 삭제.
rm -rf
: 폴더 삭제.r
(recursive) : 폴더지울때 사용f
(force) : 질문을 받지 않고 지울때 사용mv
(move) : 폴더나 파일이름변경, 폴더나 파일 위치 변경
mv 폴더나파일의이름 도착폴더이름
mv 폴더나파일의이름 변경할이름
cp
(copy) : 파일 복사
cp 원본파일이름 복사할파일이름
cp -rf
: 폴더 복사.
: 현재폴더를 의미
..
: 현재폴더보다 앞의 폴더. 즉 이전폴더를 의미.
각 명령어에 포함된 옵션은 명령어 이름만 입력하거나 -h
또는 --help
와 같은 옵션을 통해 확인
충돌(Conflict) : 두 프로그램이 하나의 시스템(운영체제)을 놓고 다투는 과정.
관리자 : 프로그램 설치, 변경 및 삭제할수있는 권한
사용자 : 프로그램실행만 가능
절대경로: pwd로 확인할 수 있음. 기준점으로부터 절대적인 위치.
/
: 기준점, 폴더 내부를 의미상대경로: 현재위치로부터 상대적인 위치
.
..
whoami
: 로그인된 사용자를 확인하는 명령어.~/
: 사용자 폴더 경로.~
: 루트폴더로부터 사용자폴더까지의 경로 축소.- sudo
: 관리자 권한을 획득하는 명령어
nano hello.java
nano
nano 파일이름
을 하거나 nano만 이용하여 실행 후 ctrl+r 혹은 ctrl+t를 눌러 화살표키를 이용하여 디렉토리를 탐색 후 불러올 수 있음.
Save modified buffer (ANSWERIG " No" WILL DESTROY CHANGES) ?
nano실행도중 파일을 저장하고싶다면 ctrl+0 WriteOut 이용.
우분투는 기본적으로 apt패키지매니저 내장.
apt update
: 패키지 목록 갱신(관리자권한)
apt list --upgradable
: 업그레이드 가능한 패키지목록 출력
apt upgrade
: 전체패키지 업그레이드 (관리자권한)
apt --only--upgrade install 패키지이름
: 특전 패키지만 업그레이드(관리자권한)
apt install 패키지이름
: 패키지 설치(관리자권한)
apt list --installed
: 설치된 패키지 보기
apt search 검색어
: 패키지 검색
apt show 패키지이름
: 패키지 정보 확인
apt remove 패키지이름
: 패키지삭제(관리자권한)
오래걸리거나 문제가 생긴 경우
ll
을 사용하여 터미널에 출력된걸 보면 가장 왼쪽에 출력된 내용이 -
로 시작하면 "not directory"이고, d
로 시작하면 "directory"이다.
-
는 파일, d
는 폴더를 나타낸다.
이어지는 r,w,x는 각각 "read permission, write permission, execute permission으로 읽기권한, 쓰기권한, 실행권한이다.
rw-r--r--
은 소유자는 읽기쓰기가 가능하고 다른 사용자그룹은 읽기만 가능하다는 의미이다.
(출처 : https://konkuk-curry.tistory.com/entry/Linux-error-%ED%97%88%EA%B0%80%EA%B1%B0%EB%B6%80-%EA%B6%8C%ED%95%9C%EC%84%A4%EC%A0%95permission-deniedchmod)
chmod 명령어는 읽기,쓰기,실행권한을 변경할수있다.
OS에 로그인한 사용자와 소유자가 같을경우 chmod로 권한 변경가능.
OS에 로그인한 사용자와 소유자가 다를경우 sudo로 권한 변경가능.
Symbolic method
Symbolic method는 액세스 클래스,연산자,액세스 타입으로 구분.
chmod 뒤에 액세스클래스 중 변경하려하는 조건에 맞기 입력하고, 연산자와 액세스타입을 입력.
Absolue form
변수명=값
으로 생성.변수명="여기에 값을 넣어요"
처럼 값 전체를 따옴표로 감싸야한다.export 변수명=값
으로 생성.echo $변수명
으로 확인 가능.$
를 붙이는 이유는 뒤의 문자열이 환경변수라는 의미를 터미널에 전달하기 위함.cd
를 사용하여 home디렉토리로 이동한 후 ls -al
을 통해 홈 내의 숨겨진 파일들까지 조회.nano .zshrc
입력하여 편집창 오픈.nano .bashrc
입력하여 편집창 오픈.Shift+g
alt+/
를 눌러 맨 아래로 이동 후, 환경변수 작성 및 저장.source .zshrc
입력후 변경내용 적용, 내용 출력.sudo chmod 777 /etc/profile
입력 후 비밀번호 입력하여 권한변경.nano /etc/profile
을 입력하여 입력창열기.Shift+g
alt+/
를 눌러 맨 아래로 이동 후, 환경변수 작성 및 저장.source /etc/profile
입력후 변경내용 적용, 내용 출력.-r
, -f
r
: recurve의 약자. 특정 행동 순환반복.f
: force의 약자. 어떤 행위를 강제함.r
은 rm으로 폴더를 삭제하고싶을때 붙여서 사용가능. cd나 다른 명령어도 가능f
는 보호되거나 존재하지않는 파일까지도 강제로 삭제 가능. 고로 사용할때주의!cat
대신 쓰는 명령어cat
은 항상 파일전체내용 출력. 원하는 정보만 찾기 힘듦.head
: 텍스트로된 파일의 앞부분을 지정한 만큼 출력.tail
: 파일의 마지막줄을 기준으로 지정한 줄까지의 파일내용 일부를 출력.more
: 파일을 읽어 화면 단위로 끊어서 출력. 위에서 아래 방향으로만 출력 되지만, 지나간 내용을 다시 볼 수 없다.less
: 파일을 읽어 화면에 출력하는 명령어. 한 번에 보여지는 만큼만 읽어서 출력.오늘은 리눅스에 대해 공부했다!
사실 독학하며 이미 리눅스에 대한 기초 지식은 있었지만 처음 배운다는 마음으로 공부했다.
리눅스를 사용하면서 패키지를 다운받던 중 오류가 있었다.
wget을 다운 받고 urclass에 있는 링크로 텍스트파일을 다운받았어야했는데 wget이 링크를 인식하지를 못했다.
정말 당황스러웠지만서도 스스로 방법을 찾아내기 위해 구글링을 이용했다.
굉장히 많은 내용들이 나왔지만 따라해도 해결이 되지않아 참 막막했다.
하지만 이런걸로 포기한다면 백엔드 개발자로서 성공할수 있을까하는 생각이 들었고
터미널에 출력된 프롬프트를 보며 어떤 부분이 문제인지에 대해 고민했고,
문제인 부분을 찾아내어 그 부분을 해결하는 방법에 대해 구글링했다.
그리고 찾게된 방법이 /etc/resolv.conf 에서의 오류가 있었다.
네임서버가 등록되어있지 않다는 사실을 알았고 마침내 해결했다.
스스로 해결했을때, wget이 정상적으로 실행됐을때 정말 너무 많이 행복했다!!
코드스테이츠를 시작한 이후로 오늘 성장한 기분이 들었다.