실무에서 필수적인 리눅스에 대한 사용경험이 없어 생활코딩을 활용해서 기초지식을 쌓아보자!
리눅스는 문자를 입력해서 명령을 진행한다. (터미널과 같은 방식)
- GUI : 아이콘을 이용해서 명령하는 방식이다.
- CLI(Command Line interface) : 명령어를 이용해서 명령하는 방식이다. 명령어는 현재 있는 디렉토리를 기준으로 진행된다.
기초명령어
ls :현재 디렉토리의 파일 목록을 출력하는 명령어.
ls -l은 자세히 보기
pwd: 현재 위치하고 있는 디렉토리를 알려주는 명령어생호
mkdir 새로 생성할 디렉토리명 : 디렉토리 생성
touch 비어있는 파일을 생성한다
cd 이동할 디렉토리의 경로명. Change directory
상대경로와 절대경로
상대경로는 현재 디렉토리의 위치를 기준으로 다른 디렉토리의 위치를 표현하는 것으로 ..은 부모 디렉토리를 의미한다
'cd ..'은 현재 디렉토리의 부모 디렉토리로 이동하는 명령이다. (현재 디렉토리는 '.' 으로 표현된다.)
절대경로는 최상위 디렉토리를 기준으로 경로를 표현하는 것이다. 최상위 디렉토리는 루트(root) 디렉토리라고 하고 '/' 이다.
'cd /'는 최상위 디렉토리로 이동한다는 의미이다.
'cd /home/testdir'은 현재 디렉토리가 무엇이든 상관없이, 언제나 '/home/testdir'을 의미하는데 이런 식의 경로 표현을 절대경로라고 합니다.
삭제 명령어(rm)
rm 파일명 - 파일 삭제 명령어(remove)
rm -r 디렉토리명 – 디렉토리를 잘못 삭제하면 큰일나기 때문에 –r 을 추가해서 작성(재귀적으로 삭제를 진행해줘라 디렉토리를 삭제하면서 하위 디렉토리와 데이터를 삭제).
사용설명서 명령어(help, man)
--help 명령어 뒤에 --help를 붙이면 명령의 사용설명서가 출력.
예
ls --help
rm --help
mkdir --help
pwd –help
man 뒤에 궁금한 명령어를 작성하면 해당 명령의 사용설명서가 출력.
man 과 help 의 차이점
- man은 전용페이지로 이동해서 사용설명서를 출력
- help는 보고있는 화면에서 빠져나가지 않고 간단하게 사용설명서를 출력
Usage는 사용법을 의미.
리눅스에서는 숨김파일은 앞에 .이 붙는다. 감춰진 파일은 ls로 조회시 볼 수 없으나 ls –a , ls –all , ls –al 로 조회할 수 있다.
-가 하나붙으면 축약형 --가 붙으면 전체를 의미한다.
영어 대소문자 구분을 하기 때문에 명령어 작성때 주의해야한다.
필요한 명령을 검색으로 찾는 법
touch cp.txt cp.txt라는 파일 생성
ls –al 조회
‘/sort’ : /는 검색. sort가 사용된 내용을 검색할 수 있다 알파벳 n을 누르면 다음번 sort 단어가 조회.
파일의 위치 변경, 파일의 이름 변경(mv)
mv rename.txt rename2.txt
명령의 빈도수
history | awk '{a[$2]++}END{for(i in a){print a[i] " "i}}' | sort -rn |head -10
Sudo (Super user do) 수퍼 관리자의 권한으로 명령을 실행하는 방법. Super user, root user
유닉스.리눅스 계열의 중요한 특징중 하나는 다중 사용자 시스템.
하나의 컴퓨터를 여러 사람들이 나눠서 사용함.
각각의 사용자마다 할 수 있는 일과 없는 일을 구분해놓음. Permission
평소에 super user로 사용하다보면 큰 실수를 저지를 수 있다.
rm -rf / 루트 디렉토리 밑에 있는 파일들을 모두 삭제하라
그래서 일반사용자로 로그인해서 사용하다가 특정 명령을 실행시만 수퍼사용자로 로그인을 한다.
apt-get install git 깃을 설치하는 명령어
- 권한이 없으면 denined 됨 are you root?
- sudo apt-get install git
파일편집 nano – 파일에 정보를 추가하고 편집하는 방법. Nano 에디터
운영체제에서 파일이란 것은 정보를 저장하는 가장 기본적인 수단. 디렉토리라는 것은 그 파일을 잘 정리하기 위한 수납공간. 파일, 디렉토리를 어떻게 관리할 것인가를 이전까지 봐왔다. 파일에 어떻게 정보를 저장할까? 명령어 기반의 시스템에서도 편집기가 존재한다. Nano, VI
리눅스 초급자에겐 nano, 중고급자에겐 vi를 추천한다.
nano 입력 후 엔터를 치면 에디터가 켜짐
^O Write Out. Ctrl + O를 누르면 작성된 것에서 저장됨.
nano 편집하고 싶은 파일명
package manager
apt를 이용해서 패키지를 관리하는 방법
기본적으로 내장된 프로그램이 아니라 설치해서 사용해야되는 프로그램.
sudo apt-get update; 최신 목록의 소프트웨어 목록을 다운받음.
sudo apt-cache search htop
htop : interactive processes viewer 기본적으로 리눅스에는 top이라는 프로그램이 존재. 현재 컴퓨터에서 실행중인 프로그램을 보여주는 작업관리자와 같은 프로그램. htop은 top을 더 개선한 프로그램.
sudo apt-get 엔터치면 이 명령어의 설명서가 조회된다.
sudo apt-get install htop 설치하겠다는 명령어. 설치하겠냐고 한번더 물어볼 경우 y를 치면 된다.
sudo apt-get upgrade 설치된 프로그램을 최신기능인지 확인 후 업그레이드 하겠다는 명령어
업그레이드를 쉽게 할 수 있는 기능도 패키지매니저가 지원하는 중요한 부분중 하나.
sudo apt-get remove htop 프로그램 삭제도 가능
htop을 실행할 시 sudo htop으로 실행하는 게 나음. 전체 프로그램에 대해서 조회 가능
다운로드 방법(wget, git) – 명령어 기반의 시스템에서 파일을 다운로드 하는 방법
왜 CLI를 사용하는 것일까?
GUI vs CLI
- CLI는 GUI보다 컴퓨터의 용량, cpu, 메모리의 효율성을 높일 수 있다.
- GUI방식은 생각보다 많은 노동력을 필요로 한다. 처리를 하면서 기다려야 하는 시간이 길게 존재.
- CLI는 순차적으로 실행 가능.
① 디렉토리 생성. mkdir why
② 디렉토리로 이동 cd why
③ 상위 디렉토리로 이동 cd ..
④ 삭제 rm –rf why
- mkdir why;cd why (두개의 명령어를 동시에 실행 가능!!)
- 한 번에 두 개의 명령어를 사용할 수 있다는 것은 엄청난 일. 여러 개의 명령어를 실행할 수 있기 때문.
- 순차적으로 할 일을 컴퓨터에게 보내면, 컴퓨터는 순서대로 실행 후 최종적인 결과를 알려주기 때문에 중간과정에서 사용자는 확인할 필요가 없다.
>> 엄청난 메리트!!
파이프라인
- 하나의 명령어의 실행결과를 다른 명령어의 입력으로 주는 것이 가능하다.
- grep 어떠한 정보에서 특정값이 있는 지 행을 찾는 명령어
- cat linux.txt : 해당 파일에 있는 내용을 화면에 출력
- grep linux linux.txt : linux.txt파일에서 linux가 포함되있는 행을 찾아라
- ls –help | grep sort : ls –help라고 나오는 결과를 파이프로 연결해서 grep sort 한 결과를 출력해라
- ps aux | grep apache : 현재 실행중인 프로그램중에서 내가 원하는 apache라는 프로그램을 출력해달라
'CS > OS' 카테고리의 다른 글
[Linux] 자주 사용하는 명령어 정리1 (0) | 2019.09.28 |
---|---|
[Linux] RPM 과 YUM (0) | 2019.09.27 |
[Linux] 리눅스 커맨드라인 툴 기초 (0) | 2019.09.24 |
[Linux] 생활코딩 리눅스 강좌 (3) (0) | 2019.09.23 |
[Linux] 생활코딩 리눅스 강좌 (2) (0) | 2019.09.17 |