본문 바로가기

diary/codestates (be39)

05/02/22 [Linux] CLI는 별로지만 펭귄이 귀여우니까 봐준다

예전에 우분투 리눅스를 약간 아주 약간 다뤄본 적이 있는데 그때는 vmware까지 설치해야 했다. 그게 아마 2학년 때인가 싶은데 몇년 새 환경이 좋아져서 이제는 윈도우 터미널만으로 리눅스를 다룰 수 있게 되었다. 

 

리눅스는 CLI; Command-Line Interface로 컴퓨터를 명령어로 제어한다. 기본적으로 사용하는 윈도우 같은 GUI; Graphic User Interface 대신에 CLI를 사용하는 이유는 GUI에 비해 적은 자원 소모와 높은 안전성, 빠른 속도에 있다.

 

Linux 기본 명령어

명령어 의미 설명
pwd print working directory 현재 위치를 확인한다
mkdir make directories 새로운 폴더를 생성한다
ls list 특정 폴더에 포함된 파일과 폴더를 확인한다
ls -l list long 상세 정보까지 포함해 확인한다
ls -a list all 숨김 파일까지 확인한다
ls -la / ls -al list long all / all long 숨김 파일의 상세 정보까지 포함해 확인한다
explorer.exe .    터미널 창의 현재 위치를 윈도우 탐색기로 오픈
cd change directory 폴더에 진입한다
touch   파일을 생성한다
cat   파일의 내용을 터미널에서 출력한다
rm remove 파일을 삭제한다
rm -rf remove recursive force 폴더를 삭제한다
mv move 폴더나 파일의 이름을 변경하거나 위치를 옮긴다
cp copy 파일을 복사한다
cp -rf copy recursive force 폴더를 복사한다

 

절대 경로

기준점으로부터의 절대적인 위치를 나타낸다.

  • 명령어 pwd로 확인한다
  • 기준점: 루트 폴더(/)

상대 경로

현재 위치로부터의 상대적인 위치를 나타낸다.

  • 기준점: 특정 폴더 또는 파일의 위치
  • 현재 위치한 폴더: .
  • 상위 폴더: ..
  • cd ./폴더명 : 하위 폴더에 접근한다
  • cd ../ : 상위 폴더에 접근한다

 

관리자(root) 권한

리눅스는 일반 사용자에게 관리자(root) 권한을 완전하게 넘 기지 않는다. 사용자에게는 프로그램을 설치, 변경, 삭제할 수 있는 권한만을 전달하여 사용자와 관리자를 명확하게 분리함으로써 사용자의 실수로 인해 발생할 수 있는 시스템 에러로부터 운영체제를 보호한다. 

현재 로그인 된 사용자를 확인하는 명령어 whoami

관리자 권한을 획득하는 명령어: sudo

현재 로그인 된 사용자를 확인해보고, 관리자 권한을 얻기 위해 sudo 명령어를 기본 cli 명령어의 앞에 작성할 수 있다.

 

텍스트 에디터 nano

원격 서버 환경에서 원격으로 텍스트 파일을 편집해야 할 경우에 유용하게 사용된다.

 

패키지

여러 파일을 모아 하나의 파일로 저장하고 있는 압축 파일으로 다음과 같은 파일로 구성된다.

  • 프로그램 파일
  • 프로그램 설치 파일
  • 프로그램 설치 설명서
  • 프로그램에 대한 정보를 담은 파일

패키지 매니저

패키지의 설치, 변경, 삭제 등 관리를 지원한다. 모든 패키지의 저장소 위치를 저장하고 있고, 설치된 모든 프로그램의 업데이트를 확인하거나 필요 없는 프로그램을 제거하는 데 사용될 수 있다.

 

우분투 패키지 매니저 -apt

관리자 권한 여부 명령어 설명
sudo apt update 패키지의 업데이트 여부를 확인한다
  apt list --upgradable 업그레이드가 필요한 파일을 조회한다
sudo apt upgrade 전체 패키지를 업그레이드한다
sudo apt --only-upgrade install 패키지 이름 특정 패키지를 업그레이드 한다
  apt show 패키지의 정보를 확인한다
sudo apt install 패키지 이름 패키지를 설치한다
  apt list --installed 설치된 패키지의 목록을 조회한다
sudo apt remove 패키지 이름 패키지를 삭제한다
  apt search 패키지 이름 패키지를 검색한다
더보기

wget, neofetch 설치, 사용해보기~

 

사용 권한 rwx; read write execute

ㅎㅎ 펭귄 귀여워

ls -l 명령어로 확인할 수 있는 사용자 권한이다. 맨 처음 글자는 폴더일 경우 d(directory), 파일일 경우 -를 출력한다. 뒤는 세글자씩 끊어 각각 owner, group, other가 가지고 있는 rwx 권한을 출력한다.

 

chmod: 사용 권한을 변경하는 명령어

1. Symbolic method: +, -. =

1) Access class 2) Operator 3) Access Type
u (user) + r (read)
g (group) - w (write)
o (other) = x (execute)
a (all: u, g, o)    
chmod (class)+(type) filename
chmod (class)-(type) filename
chmod (class)=(type) filename

 

2. Absolute form: 4, 2, 1

Permission Number
Read (r) 4
Write (w) 2
Execute (x) 1
chmod (sum) filename
# Sum rwx Permission
7 4(r) + 2(w) + 1(x) rwx read, write, execute
6 4(r) + 2(w) + 0(-) rw- read, write
5 4(r) + 0(-) + 1(x) r-x read and execute
4 4(r) + 0(-) + 0(-) r— read only
3 0(-) + 2(w) + 1(x) -wx write, execute
2 0(-) + 2(w) + 0(-) -w- write only
1 0(-) + 0(-) + 1(x) —x execute only
0 0(-) + 0(-) + 0(-) —- none
더보기

보충하자,,,

 

환경 변수

환경에 따라 프로그램의 동작에 영향을 줄 수 있는 값들을 말한다. 환경 변수 설정을 통해 프로그램이 동작하는 환경을 설정할 수 있다. 운영체제는 환경 변수를 설정하고, 프로그램이 환경 변수를 찾아서 사용할 수 있도록 한다. 

지역 환경 변수

환경 변수를 생성한 특정 사용자만 사용할 수 있는 환경 변수 > (windows) User에 대한 사용자 변수

전역 환경 변수

모든 사용자가 사용할 수 있는 환경 변수 > (windows) 시스템 변수

 


🐑 Daily 회고

1. 리눅스 오랜만이야

  • 그래도 그땐 나름 열심히 들었...었다고 생각했는데 까먹은 내용이 90 이상인데 어카지 이 돌머리?
  • 여전히 명령어 헷갈린다 ^^

2. 오늘도 효율은 개떨어졌다

  • 정규 시간에 졸고 딴짓하고 난리남
  • til도 미루고 미루다가 겨우 시작함

3. 정리 방식을 고칠 필요가 있겠다

  • 노션 대충 쓸 거면 왜 쓰지?
  • til은 더 더 간단하게 쓰고 study에서 정리하는 게 낫지 않을까? 일 두번 하고 있는 듯

총평 ⭐

엉망이다. 아니 til인데 지금 쓰는 사이에 또 날짜 바뀐 거 실화인가.......? 그치만 오늘의 런닝 포기할 수 없었다. 마스크 해제 첫날인데........ 인간적으로 좀 달려줘야 되지 않나? ㅎㅎㅠ 그치만 진지하게 운동 시간 아침으로 옮기는 것 좀 고민해봐야 할 것 같기는 하다. 좀 비효율적이고 몸 상태도 영. 그리구 캠스터디도,,, ㅎㅎ,,, 잠깐 놀다가 뒤쳐지는 거 한순간이다. 자바 들어가기 전에 얼른 한 군데 들어가자. 여러모로 부족한 하루였다. 내일은 그러지 말자. 일단 얼른 자자. 내일은 졸기 금지야 ㅜㅠ

 


✔️ To Do List (5/5)

1. Study - 우분투 리눅스 - 명령어 정리해놓기

2. 심심하면 책도 있겠다 심화 Study 포스팅 고