#2. 리눅스 운영체제(1)_CLI 기본 명령어
Today I Learned,
1. 리눅스
리누스 토발즈가 만든 오픈소스 운영체제. 공짜다. 그 종류로 데비안, 우분투, 레드햇,,, 가계도를 찾아보면 어마무시하게 다양하다. 애초에 오픈소스이기 때문에 원한다면(할 수 있다면) 커스터마이징한 나만의 리눅스를 가질 수도 있기 때문이다. 하지만 난 그런 거 못하기 때문에 공식문서 잘되어있고 소스많은 우분투 써야지!
듀얼부팅같은 것도 어려우니까 가상머신써야지!
+) 흔히 운영체제니까 데스크탑위주 시장에서 사용되는 것 같지만 물론 맞다. 맞는데, 안드로이드 역시 모바일 시장에서 리눅스 커널을 사용한다. 최근에 핫해진 이유는 클라우드, 웹서버 이런데서 사용하다보니 맞물려서 인기가 늘어난 것 같다. 대학생때 이걸 만들었다는 리누스씨는...ㅎㄷㄷ
2. 용어
CLI : Command-Line Ineterface
프롬프트 : 프롬프트 CLI의 명령줄 대기모드를 가리키는 것으로써, 터미널 화면에서 글자가 입력되는 한 줄의 공간
3. 사용해 볼 명령어
일단 터미널을 켜보자
ctrl + alt + t
현재위치 확인하기
pwd
파일을 만들고, 확인하기
mkdir
ls
파일이름은 helloworld를 만들었다. gui 환경에서치면 바탕화면에서 오른쪽 버튼 누르고 파일 만들어본 정도
+ ) 원래 새로운거 배우면 hello world가 국룰이다. hello world의 기쁨을 모르면 애초에 전공을 이걸 고르면 안된다고 하셨던 교수님은 찐변태였다. 근데 나도 그게 좋아서 학교 다녔다...어리석었다..도망쳐...
아, 추가로 옵션 항목이 있는데
ls 가 파일을 보여준다면 cli환경에서는 - 뒤가 옵션이다.
어어어엄청 다양한데 일단 대표적인거 a, l
-a : 여깄는거 all 전부 출력
-l : 자세한 포맷 전부 출력
-aF 숨긴파일까지 몽땅
d로 시작하면 폴더 : cd 명령어로 진입 가능, directory
-로 시작하면 파일 : cd 명령어로 진입 X,
l로 시작하면 : symbolic link, 윈도우식으로 말하면 바로가기
이런 d,-,l 다음부터가 파일에 대한 권한
rwxr-xr-x
세 개씩 끊어읽으면 된다. 소유자/ 그룹사용자/ 그 외 사용자
rwx : read write execute 해당 파일이나 디렉토리를 읽고 쓰고 실행 가능
r-x : 읽고 실행만 가능
이렇게 -가 있는건 그 부분의 권한이 없다는 뜻.
+)rwxr-xr-x 로 전부 찍혀있는데 이걸 755라고 부른다고했다. 학교 다닐때 os시간에 필기된거라 들고왔는데 왜 였는지는기억이 안난다...
+) 권한에 대한 추가정보
whoami 현재 내 권한 확인
sudo 사용자 환경에서 관리자 권한으로 실행
ls -l 각 파일들의 권한을 알고싶다
d / rwx / rwx / rwx
각 자리에 대한 설명은 다음과 같다. 각 자리에 대해서 숫자로 나타낼 수 있다.
디렉토리인가 / 소유자 권한 / 그룹 권한 / 그외 권한
chmod [권한을 나타내는 숫자] [파일 or 폴더]
r w x
0 0 0 -> 0
0 0 1 -> 1
0 1 0 -> 2
0 1 1 -> 3
1 0 0 -> 4
1 0 1 -> 5
1 1 0 -> 6
1 1 1 -> 7
자주 쓰는건 기억하자..
755 유저에게 모든 권한 / 그룹은 읽고 실행 / 그외는 읽고 실행
400 유저는 읽기만 / 나머진 다 조용
파일 탐색기
nautilus .
띄우고 . 까지가 명령어니까 조심
다음 실습을 위해 ctrl + c 종료라는 뜻의 단축키
폴더 진입
cd
cd ~ 홈으로 가는 명령어 == /home/peachdo
경로보면 바뀐거 확인 가능
파일만들기
touch
이렇게 txt 파일을 하나 만들었다. 이거 물론 여기서 만든거 가상머신안에 있는거니까 내 컴퓨터로 가져올 수 있다.
+) 블로그 이사 중이라..빨리 들고와야지
+)그리고 만들고나면서부터 사실 문제 시작이다. vim 사용법 가물가물한데...
파일내용 출력
cat
파일 내용을 이번에는 gui로 입력했다. 그거 출력하기. 메일주소가 출력된다
파일 삭제
rm 파일명
rm으로는 파일만 지울 수 있다.
이렇게 mkdir로 만든 폴더의 경우
추가 옵션이 필요한데, 지ㅣㅣㅣ인짜 조심해야하는 옵션 -rf를 붙여준다.
+) r은 재귀, 재귀적 명령어 실행해라 f는 강제. 액세스권환이 없어도 건드릴 수 있게함. 그래서 전부를 뜻하는 *이랑 합쳐지면 아찔..
rm -rf
파일 이동
mv [이동 할 파일이름] [도착 할 디렉토리]/
helloworld 파일안에 디렉토리 만들고, txt 파일도 맹글고 그걸 옮겨보자~~
여기서 mv [원래 폴더, 파일명] [바꾸고싶은 이름] 으로 하면 파일명도 바꾸기 ok
파일복사
cp [복사하고싶은 파일명] [복사해서 새로만들 파일명]
역시 디렉토리는 복사가 안돼기 때문에 -rf옵션.
-rf [복사하고 싶은 폴더명] [복사해서 새로만들 폴더명]
+) sudo도 그렇고 rf도 그렇고 안된다 한걸 되게하는 명령어들은 전부 조심
head
파일의 처음 부분을 설명한 라인만큼 출력, 기본 10줄
grep [옵션] [문자열] [파일명]
-b : 문자와 일치하는 줄의 시작점 출력
-c : 문자와 일치하는 줄의 수 출력
-h : 여러 파일에서 문자열을 찾을 때, 파일이름이 붙는것을 방지
-i : 대소문자를 구분하지 않는다.
-n : 줄의 번호와 내용을 같이 출력
-v : 문자가 포함되지 않는 행 출력
-w : 문자와 한 단어로 일치해야 출력
-l : 문자가 들어간 파일 이름을 출력
-r : 하위 디렉토리에서도 문자를 찾는다.
-A : 특정문자 아래 추가로 여러 행 출력
-B : 특정문자 위 추가로 여러행 출력
자주 쓰이는 세트메뉴
$ grep [^문자열] = 문자열로 행이 시작되는 경우 출력
$ grep [문자열&] = 문자열로 행이 끝나는 경우 출력
$ grep [문자1\ |문자2] = 여러 문자열을 한번에 검색
$ grep -A2 [문자열] = 해당 문자열이 들어강 행을 포함해 아래 2행 출력
$ grep -v [문자열] = 해당 문자를 제외한 행 출력
$ grep [문자열] * = 현재 위치의 모든파일 (*)에서 특정 문자열 출력
$ grep [문자열] [파일이름] = 하나의 파일에서 특정 문자열 찾기, 해당 행 출력, 파일이름 공백기준 여러개 쓰면 여러개에서 찾기가능
4. 관리자권한
sudo
/ : 루트디렉토리
~ : 홈디렉토리
경로설정 :
절대경로의 시작은 /(vscode라던가 비쥬얼스튜디오같은 ide에선 백슬래시를 쓰기도함.
상대 경로의 시작은 . (.의 의미는 지금 여기를 기준으로-라는 뜻이니까)
'CS > 운영체제' 카테고리의 다른 글
[Linux]입출력, 표준 스트림 (0) | 2022.02.11 |
---|---|
[Linux]패키지&프로세스 (0) | 2022.02.10 |
[os]운영체제 (0) | 2022.02.10 |
[Linux] 리눅스 디렉토리 구조 (1) | 2022.02.09 |
[Linux]_CLI 기본명령어(2) (0) | 2022.02.09 |