이제부터 진정한 개발자가 되기위해 노력하자!
어제 개학하고 드디어 첫 수업을 들었다.
바로 ICT 응용설계1 과목!
리눅스를 이용해서 라즈베리파이를 사용하는 데 필요한 모듈의 소프트웨어를 설치해야 한다. 그래서 오늘의 주제는 리눅스이고, 매 주 수요일 혹은 목요일마다 여기 Velog에 올릴 예정이다!
주차별 강의내용은 다음과 같다.


앞으로 다 정리해서 올릴 예정이다.
일단 기본적으로 알아야 하는 Linux 명령어에 대해 알아보자.
내 컴퓨터(Windows 10)에는 리눅스가 깔려있지는 않다. 물론 WSL(Windows Subsystem for Linux)이 있지만 우분투와 비교했을 때 호환성이 좋지 않기 때문에 VMware를 사용하자!
아래는 내가 작년에 작성한 VMware 설치 방법이다. 참고하자.
https://blog.naver.com/happykimdw/222970969220
설치 후, 이제 우분투를 실행하자.
첫번째는 루트권한 계정을 제외한 내 계정을 만들어야 한다.
먼저 루트계정으로 접속한다.
명령어를 작성하기 전에 @ 앞이 root가 아니라면
sudo -i 명령을 내린 뒤, root에 맞는 암호를 작성한 뒤 접속한다.
[username@Localhost ~] $ sudo -i
[이후 root 비밀번호 작성]
계정이름이 happy라면 아래와 같이 명령을 내린다.
[root@Localhost ~] # adduser happy
다음, 암호를 두 번 입력하라는 문구가 뜰 것인데, 내가 설정하고 싶은 암호를 입력한다.
이후, 계정 생성 여부를 확인하는 과정을 거친다.
[root@Localhost ~] # ls /home
이렇게 작성하면 현재 만들었던 계정들의 이름을 확인할 수 있을 것이다.
여기서 logout 후에 happy 계정으로 login도 가능하다.
계정을 삭제 할 줄 알아야 한다. 계정삭제는 다음과 같다.
[root@Localhost ~] # userdel -r happy
이렇게 작성하면 해당 계정이 삭제된다.
디렉토리란, 우리가 윈도우에서 생성하고 삭제하는 그 '폴더'라고 생각하면 된다. 즉, 리눅스에서는 폴더를 디렉토리라고 부른다.
먼저 아래와 같이 명령을 내리자.
[root@Localhost ~] # ls /
이후에는 결과가 아래와 같이 뜰 것이다.

우리는 슬래쉬('/')를 포함하여 명령을 내렸다. 이것은 리눅스 시스템에서 루트 디렉토리를 말한다. 즉, 'ls /' 는 리눅스 최상위(root) 하위에 존재하는 모든 폴더들을 출력하는 것이다.
통상적으로 아래와 같은 디렉토리 계층구조를 가진다.

여기서 대표적인 루트 하위 디렉토리 종류에 대해 알아보자.
이제 모든곳에서 필요한 명령어를 사용해보자.
그 전에 우리는 명령 입력 기호에 대해 알아야한다.
이걸 알아야 하는 이유는, 나중에 간혹 내가 지금 root계정으로 명령을 하는지, 일반계정으로 명령어를 내리는지 헷갈려서 실수를 하거나 그러는 경우가 종종있다. 그리고 그냥 알아도 좋지 않은가.
'$' => 일반 사용자 기호
'#' => 관리자(root) 사용자 기호
별거 아니지만, 나중에 기억하면 분명히 도움 될 것이다.
또한 내가 지금 명령어를 내리고 있는 위치가 궁금할 때가 있다. 보통 우분투를 딱 켰을 때의 위치는 내 홈 디렉토리에 위치된다.
명령어 취소는 매우 간단하다. 그냥 키보드에서 우리가 보통 복사할 때 사용하는 키 'Ctrl-c' 를 누르면 된다.
우리가 리눅스를 처음 접하든, 엔지니어이든 간에 아래 명령어는 쓸 일이 매우 많아서 꼭 기억하는 것이 좋다.


추가적으로, sudo와 su 명령어가 있다.
sudo는 전에 언급했지만, Super user do, 현재 계정에서 root의 권한을 빌리는 것을 말한다. 우리가 서드 파티 소프트웨어를 설치하거나 일반 계정에 루트 권한을 부여할 때 사용한다.
쉽게 말하면 윈도우10에서 관리자 권한 실행을 할 때 기존에 실행이 안되던게 실행이 되는 일이 있었을껀데 바로 이런 이유 때문일 것이다.
현재 계정을 로그아웃하지 않고, 다른 계정으로 전환하는 것을 말한다. 이렇게 하면, 우리는 다른 계정의 home으로 접속할 수 있다.
ex) [username@Localhost] $ su happy
=> 일반 계정 happy로 스위칭(전환)
파일이나 디렉토리의 접근 권한을 변경할 때 사용한다.
명령어에 'ls -l' 이렇게 작성하면, 우리는 rwxrwxrwx... 이런 식으로 써있는 것을 봤을 것이다.(예전에 해 봤다면..^^)
이것은 rwx => Read(문서 읽기 가능), Write(작성 후 '저장' 가능), eXcute(실행 가능)를 의미한다. 즉 약자이다.
또한 이 rwx가 3번 써있는데, 순서대로 소유자 권한, 그룹사용자 권한, 기타사용자 권한이다.
또한 이것을 chmod 명령어를 통해 변경할 수 있는데, 이 때 명령어를 다음과 같이 작성한다.
[username@Localhost] $ chmod 777 file1
여기서 7은 => 111을 의미한다. 즉 100 => 4라면, r만 가능하고 wx는 0의 값으로 해당 작업이 불가능하다.
파일이나 디렉토리의 소유자와 소유 그룹을 변경할 때 사용한다.
긴 명령어를 짧게 만드는 데 유용하다.
ex) [username@Localhost] $ alias If = 'ls -F'
이렇게 작성한다면 ls -F라는 명령어를 사용할 때 If라고 작성하면 그 명령어가 작동한다!
특히 긴 문장의 명령어를 내릴 때 이 alias를 자주 사용한다.
실행되었던 명령어를 출력한다.
!! -> 바로 직전의 명령어를 실행한다.
또한, 우리는 사용했던 명령어를 txt파일에 저장해서 보관하고 싶을 때가 있다. 그럴 땐 다음과 같이 명령어를 사용하면 된다.
[username@Localhost] $ history > commands.txt