리눅스 강의 1~16강

송인호·2022년 11월 2일
0
post-thumbnail

프로그래머라면 개발자라면 리눅스를 반드시 배워야함

Unix 기반 IOS나 Linux가 있고 windows 에는 NT기반임

소프트웨어를 사용하기 위해 운영체제를 사용함

사용해야하는 것

미래지향적으로 봤을 때 가치가 있는 것
현재 사용률이 많은것
사용하기 편한 것

Debian -> Ubuntu를 이용

개발자가 알아야 할 필수내용

대부분 리눅스는 서비스 환경에서 쓰려고 이용함(서비스 관리)

9강

쉘(Shell)이란

OS와 사용자 사이에 명령을 내릴 수 있는 것

본쉘을 이용

$: 일반유저 권한 사용
root 권한 실행(sudo) $sudo reboot, sudo halt 관리자 권한 실행

root 사용자로 전환 $sudo su-root, $sudo su -, $sudo su(권한만 바뀜)

sudo su - root 사용하면 관리자 계정 전환
관리자 계정으로 여러가지 건들면 안됨
안전하게 사용자 계정으로 사용

exit 하면 다시 일반 사용자 계정으로 전환

10강

리눅스 파일 시스템

cd / :(change derectory) root 경로로 가자
ls : 현재 derectory에서의 리스트

디렉토리는 아무렇게 써도 되지만 용도에 맞게 쓰면 더 쉽게 사용할 수 있다.

media mnt: 장치를 연결해서 쓸수 있는 디렉토리로 씀
usr: windows의 programfiles를 대신하는 폴더
etc: 프로그램을 실행하는 설정
var: 프로그램 실행 값들
bin: 실행 파일을 두는 곳
sbin: admin 계정의 실행 파일을 두는 곳
tmp: 임시로 데이터를 삭제 했다 여러가지 하는 곳
sys: 시스템 설정을 두는 곳

억지로 암기하려하지 말고 사용하면서 익숙해 지는 것이 좋음

11강 파일 경로와 순회하기

pwd: 현재 디렉토리 경로를 출력
ls: 디렉토리 목록 나열
ls -l: 자세히 보기
cd: 디렉토리를 변경
cd ../:부모 디렉토리로 가겠다
cd / : root 디렉토리로 가겠다
~ :home 디렉토리로 감

pwd, cd, ls

12강 파일 관리 명령어

mkdir: 디렉토리 생성
rmdir: 디렉토리 삭제
touch: 빈 파일 생성
mv: 파일 이동 / 변경
rm: 파일 삭제
cp: 파일 복사

ri: 상호작용

mkdir workspace = workspace 디렉토리 생성
mkdir bin = bin 디렉토리 생성
mv bin aa = bin 디렉토리 이름을 aa 로 변경

touch test.txt = test.txt라는 파일 생성
ls -l 을 했을 때 디렉토리는 앞쪽에 dr이 붙지만
파일은 나오지 않음

mv test.txt workspace/ = test.txt 파일을 workspace 디렉토리 안으로 이동

  • rm workspace/ = 디렉토리를 지우려하면 지워지지 않음 (rm은 파일 지우는 명령어)
  • rmdir workspace/ = 디렉토리를 삭제하는 명령어 workspace 디렉토리 안에 test.txt파일이 있어 지워지지 않음
  • rm -r workspace/ = workspace 안쪽에 있는 파일이나 디렉토리를 모두 삭제함
  • rm -ri aa = 사용자와 상호작용하며 삭제

cp test.txt test.cpy = test.txt 파일을 test.cpy라는 이름의 파일로 복사

mkdir, rmdir, touch, mv, cp

13강 파일 편집 및 관리

편집기의 종류이고 VI와 GNU nano 위주로 할 것 임

VI 편집기

vi Hello.java 명령어로 편집모드 들어가기

i = insert 모드
:q = 나가기
:w = 저장하기
:wq = 저장하고 나가기

i = insert 모드
o = 새로운 라인 Insert
a = 그 단어 뒤에 insert

yy = 한줄 복사
p = 붙여넣기
yw = 단어 복사
yl = 글자 복사

14강 nano를 이용한 파일 편집

nano는 기본 에디터라서

nano Hello.java, editor Hello,java 명령어로 들어갈 수 있음

nano는 직관적으로 나와있어서 사용하기 편함
^ = control

15강 파일 찾기와 파일 정보 확인

find ./ -name *.java = 현재 디렉토리에서 확장자가 java인 파일 찾기
find . -name *.java -size +1 =  확장자명이 java고 size가 1이상인 파일 찾기(그냥 1을 쓰면 b가 디폴트값이라 512바이트 이상)
find . -name *.java -size +1c = 뒤에 c를 적어주면 1바이트 이상인 파일 찾기

cat

cat 리더기(파일을 읽어줌)
head -n2 Hello.java = 위에서 두줄
tail -n2 Hello.java = 밑에서 두줄

grep class Hello.java = Hello.java 파일에서 class라는 단어를 찾아줌
만약 띄어쓰기가 필요하다면 ""으로 묶어줌
grep option
grep -i "hello Li" Hello.java = -i를 붙여 대소문자 구별없이 찾음

ls Hello[12].java = 1 or 2 인 파일을 보여줌
ls Hello?.java = Hello로 시작하는 파일을 보여줌

cmp Hello.java Hello1.java = 두 파일의 차이가 있는 위치를 알려줌
diff Hello.java Hello1.java = 파일 차일을 찾아 보여줌

16강 유용한 명령어

history: 실행한 명령어를 목록화
!숫자 를 이용하여 history에 목록화되어 있는 명령어를 실행 할 수 있다.

>

history > test
test라는 파일을 만들고 history명령어의 실행을 넣음

문제점

echo = 작성한 문자(열)을 보여줌
echo "Hello" > test = test에 Hello라는 문자를 넣지만 덮어쓰기가 되어 먼저 있던 데이터가 사라짐
echo "Okey" >> test = >>를 두번 써줌으로 저장되어 있던 데이터 밑에 붙여넣음

|

cat test | grep He = test파일을 보여주는데 He가 포함된 단어를 grep 하여 보여준다

ls | less / ls -l |ess 이용하여 짤리지 않고 위아래로 움직여 볼 수 있음

cat test | sort -r 정렬 가능

|를 연속해서 사용할 수 있음
cat test | sort -r | grep el = test를 보여주는데 reverse 정렬하고 el이 포함된 단어를 보여줘라

;

;를 이용하여 다음 명령어를 바로 실행할 수 있음
touch test1; echo "okey`" >> test1; cat test1
test1 파일 만든다, okey라는 문자열을 test1에 넣는다, test1을 보여준다.

profile
프론트엔드 개발자

0개의 댓글