'리눅스 기초' 를 주제로 진행된 생활코딩 리눅스 오프라인강의를 아주......간략히 정리하였습니다.
생활코딩 '리눅스 기초' 에 대한 자세한 내용은 아래 주소를 참조해주세요.
https://opentutorials.org/course/2598/14160
이후에는 리눅스 기초와 관련해 소 주제별로 포스팅할 예정입니다.
기본 명령어
- pwd : 현재 경로를 나타낸다.
- nano, vi, vim : 각각의 편집기를 실행한다.
- man : 명령어에 대한 자세한 Usage를 제공한다.
- ‘-‘ 뒤에 옵션을 입력할수 있고, ‘—‘ 는 좀더 자세하게 나타낸다.
ls 명령어
- 정의
- List Directory Contents 의 약어
- 리눅스의 기본 명령이며 디렉터리에 있는 내용을 출력한다.
- ls 는 많은 옵션을 가지지만 일반적인 몇가지 옵션을 이용하여 조합하여 사용한다.
- 형식
- ls [ 옵션 ] [ 파일 및 경로 ]
Option : http://shaeod.tistory.com/499 참조
- ls : 현재 디렉토리에 있는 파일의 목록을 간단히 출력한다.
- ls -l : 디렉터리의 내용을 자세히 출력한다.
- ls-al ( or ls-la) : 숨김파일 포함하여 지세히 출력한다.
- 유닉스 계열의 운영체제에서 ‘ . ’이 앞에 붙으면 숨김파일 이라는 의미
- ls -al / : 최상위 루트의 파일목차 출력
- ' . / ' : 현재 디렉터리)
- ls -alh : h 는 human-readable로 사람이 보기편한 형태로 출력( 용량 등의 정보 )
- 리눅스에서 무언가를 빠져나갈때 대부분 'q' 단축키를 사용
파일 및 폴더
- 정의
- Make directory의 약자로써 디렉터리 생성할 때 사용하는 명렁어이다.
- 유닉스 기반의 os에서 파일 및 폴더 관리에 관한 부분은 매우 중요하다. 그 이유중 한가지를 들자면 파일 및 폴더에 관한 삭제명령을 잘못 실행했을 경우 프로젝트에 큰 피해를 입을 수 있다.
- 형식
- mkdir [ 옵션 ] [ 디렉터리 ] , rmdir [ 옵션 ] [ 디렉터리 ]
- Option
rm option( http://shaeod.tistory.com/506 )
mk option ( http://shaeod.tistory.com/500 )
- -r : recusive , -r 옵션을 붙이지 않으면 디렉토리는 삭제하지 못 한다.
- -f : 강제 삭제
sudo
- sudo
- Super User Do 의 약어
- sudo rm -rf / : 위험한 명령어...
- apt-get(Advanced Packaging Tool)은 우분투(Ubuntu)를 포함안 데비안(Debian)계열의 리눅스에서 쓰이는 패키지 관리 명령어 도구이다. 우분투에는 GUI로 되어있는 시냅틱 꾸러미 관리자도 있기는 하지만 이런 저런 개발관련 패키지를 설치할 때는 커맨드기반인 apt-get이 더 편하기도 하다.
- Q) npm 과 같은 개념?
- sudo apt-get update 를 install 전에 해주어야 최신버전을 install 할 수 있다.
- 유닉스 계열의 운영체제에서 rm, ls 같은 명령어 들은 파일로 존재하고 동작하는 프로그램이다.
왜 CLI 를 사용할까?
- GUI 보다 CLI 가 자원낭비가 현저히 낫다. GUI대부분이 사용자 그래픽 인터페이스에 자원을 대부분 쓴다.
- cd ~ 은 cd /home 과 같다
- mkdir dir1 ; cd dir2 ; mkdir dir3 ; touch a ; ls 과 같이 ’ ; ’ 로 순차적으로 실행시킬 수 있다.
- GUI는 대화형식으로 서로 Interaction 해야한다. ( ex. 다운받고 실행하고 다시 다운받고 …) 명령어기반 시스템은 Task 를 연속적으로 실행시킬 수 있다.
- 각각이 크고 오래걸리는 작업이라고 생각했을 때 폭발적인 효과를 낸다.
- Pipeline
- head -n2 filename : 파일 내용의 앞에 두줄만 출력
- ls ls —help | head | tail -n1
- ls 실행한 결과를 head 실행하여 수행하고 또다시 tail 실행
- 리눅스 운영체제의 최대 강점
- interaction의 불편함을 위해 만듬
- ls —help | grep ‘sort’ | grep ‘file’
- 100만대씩 되는 서버 컴퓨터를 사람이 일일이 실행시킬수 없다. CLI를 이용하면 편하게 동시다발적으로 실행가능.
- 우리가 siri한테 내일 7시에 깨우고 노래를 불러줘 라고 했을때 그 안에는 많은 변수와 함수가 있다. 지금은 이러한 것이 개발중인데 CLI는 예전부터 이러한 것을 해왔다.
IO Redirection
- 기본적인 입출력 형태는 표준입출력으로써 명령어를 입력하면 그아래 command에 출력이 되는 형태인데, ‘ > ‘ 를 이용하면 표준입출력의 방향을 바꾼다.
- ls > a.txt
- ls 에 대한 명령 결과를 표준출력이 아닌 리다이렉션 하여 a.txt에 출력
- cat : 파일내용 출력
- foreground, background
- ctrl + z 하면 현재 작업중인 내용을 background 로 돌리고 foreground 에서는 다른 일을 할 수 있다.
- fg : background 작업으로 돌아가기위한 명령어
- jobs : backgroud 작업목록을 볼 수 있다.
번외) 개발자는 왜 mac을 쓸까?
- 오픈소스의 리눅스 계속되는 발전, 자유도가 높음, 궁금하면 까볼수 있다.
- 모바일시장 애플에게 점령 , 이후 계속된 마이크로소프트의 몰락
- 서버는 주로 리눅스기반으로 많이 사용하는데 맥os는 유닉스 계열이므로 맥으로 개발하여 바로 서버에 올릴 수 있다.
- 맥에서는 왜 서버를 돌리지는 않는가?
- 디스플레이 , 부드러운 UI, 트랙패드 인터페이스