세세한 옵션들을 실사용하면서 익히기
man
$ man ls
$ man dir
man: manual의 약자
해당 명령어의 매뉴얼을 보여줌
매뉴얼 내에서 검색하고자 할 때 /검색내용
사용
예를 들면 /help
현재 검색내용의 다음 것을 보고싶으면 /
만 다시 명령하면 됨
디렉터리 관련
$ ls
: 현재 디렉터리에 있는 파일들 보여줌
$ cd
: 디렉터리 변경 (change directory), 디렉터리명 입력 안 하면 홈 디렉터리로 이동
$ cd ..
: parents directory로 이동
$ cd -
: 직전 디렉터리로 이동
$ pwd
: 현재 디렉터리 위치 보여줌
~
: 현재 사용자의 홈 디렉터리 (예: /home/joohyeong)
예시
파일 내용 조회
$ cat
: 문서 전체 내용 출력$ head
: 문서 상단 일부 출력$ tail
: 문서 하단 일부 출력
예시
<참고>
more/less 한 화면에 보여줄 수 있을 만큼 조금씩 잘라서 출력할 때 사용
vim: 텍스트 에디터, 사용법이 좀 복잡함
nano: 텍스트 에디터, 윈도우에 익숙하면 좀 더 쓰기 편함
세세한 옵션은 man
이용해서 확인하기
파일 내용 검색
$ grep
파일 내용 중에 어떤 키워드를 찾을 떄 사용
여러 파일에서 검색하려면 다음과 같이 하면 됨
$ grep "키워드" 파일명1.txt 파일명2.log ...
화면에 출력이 되는 명령어 안에서 검색도 가능
아래처럼 사용
$ ls -al | grep "kern.log"
$ ls -al
명령을 했을 때 출력되는 것에서 kern.log
라는 키워드를 찾겠다.
이런식으로도 가능
<참고>|
: 파이프라인 기호
-> 다양하게 활용 가능
파일 검색
$ find
파일 검색할 때 사용
find로 찾은 파일들을 대상으로 delete, ls, ... 등의 기능도 사용 가능
기본 수식은 -print (출력)
find는 현재 디렉터리와 그 이하의 디렉터리를 모두 탐색함
즉, root에서 find하면 모든 디렉터리를 검색
<참고>.
: 현재 디렉터리..
: 현재 디렉터리의 상위 디렉터리
- name: 파일의 이름으로 검색하겠다. (뒤에 패턴을 넣어줘야 함, 위 코드면 정확히
conf
인 파일만 검색) - 허가 거부: 권한이 없음
더 간단히 쓰는 팁: 파이프 이용
find의 활용은 굉장히 광범위함
압축 관련 커맨드
리눅스에서는 *.zip
뿐만 아니라 *.gz
, *.tar
, *.tar.gz
등도 많이 활용함
find로 출력된 리스트를 filelist라는 파일로 만든다는 뜻 (부등호 나중에 자세히)
$ gzip filelist
filelist 파일을 압축해서 filelist.gz 생성, 원래 파일은 삭제
$ gunzip filelist.gz
filelist.gz 파일을 압축 해제해서 filelist 생성, 압축 파일은 삭제
<참고> 리눅스는 확장자를 가리지 않음
$ mv
는 파일의 디렉티러를 이동하거나, 파일명을 바꾸는 등에 사용
filelist.gz
압축 파일을 확장자가 없는 test
라는 파일명으로 바꾸고$ file
명령어로 파일의 속성을 확인해본 결과 압축파일이라고 알려줌
*.tar.gz
, *.tgz
등도 사용
tar: 툴 이름인데, 압축하는 게 아니라 파일을 쭉 연결해주는 역할 (파일 용량 그대로 합쳐만 주는 것)
gz: 하나로 연결한 것을 gz로 압축을 하는 것
아래 코드는 filelist.gz
와 snap
폴더를 묶어서 test2.tar.gz
파일로 압축하겠다는 뜻
newdir
이라는 디렉터리를 새로 생성하고,
그 디렉터리에 상위 디렉터리에 있는 test2.tar.gz
압축 파일을 압축 해제하기
<참고>
상위 디렉터리에서 rm -rf newdir/
하면 삭제됨
시간 및 기타 커맨드
현재 시간 출력
$ date
SSH 등 클라우드를 이용할 때 서버의 시간을 확인해야 할 때 주로 사용
연월일 포매팅으로 바꿀 수도 있음 ($ date --help
로 확인)
내가 입력한 명령어 히스토리 조회
$ history
직전 커맨드 다시 실행
$ !!
쉘 끝내기
$ exit
쉘을 빠져나오면서 터미널이 쉘을 실행하고 있으니까 터미널도 같이 끝남
정확히는 쉘을 빠져나오는 것!
여기서 exit를 한 번 더 하면 터미널 꺼짐
지정한 문자열 또는 텍스트를 출력
변수를 출력할 때 주로 사용
$ echo
<참고>
- $ 뒤에 뭐 붙이면 그 이름의 변수를 뜻함
- PWD, PATH 등을 환경변수라고 함
각 변수들이 어떻게 지정되어 있나 확인
$ env
툴의 위치를 확인
$ which
관리자 권한 실행
리눅스를 처음 생성할 때 계정을 하나 필수적으로 만듦
리눅스에는 root
라는 관리자 계정이 숨어있음
(윈도우에서의 Administrator)
두 계정의 권한이 다름
-> 어떤 일을 할 수 있는지의 차이
어떤 프로그램을 사용할 때는 기본적으로 관리자 계정으로 설치하기
설치하기 위해서는 관리자의 권한이 필요함
관리자 권한으로 실행할 떈 $ sudo
사용
apt 패키지 매니저
패키지 관리 시스템
사용자 -> Package Manager -> Repository
주로 패키지 설치/삭제/조회를 많이 함
Ubuntu에는 apt라는 패키지 툴이 있음 (CentOS에서는 yum 사용)
-> 하는 일은 다 비슷비슷함
$ apt --help
하면 여러 기능을 볼 수 있음 (설치, 재설치, 조회, 제거, ...)
단, $ apt list
는 내 PC에 설치된 패키지가 아니라 Repository에 저장되어 있는 패키지를 보여줌
-> 설치할 수 있는 패키지
$ apt list --installed
하면 내 리눅스에 설치되어 있는 패키지만 보여줌
nano 텍스트 에디터
리눅스의 기본 텍스트 에디터는 Vim
인데 사용법이 좀 복잡함 (Vi
의 업그레이드 버전)
Ubuntu에는 nano
라는 툴이 깔려있음, Vim보다 훨씬 직관적
$ nano
파일을 열 때는 $ nano filename
하면 됨
리눅스를 계속 공부할 거면 Vim
에 익숙해지는 게 좋긴 함!
'Computer Science > Linux' 카테고리의 다른 글
[Linux] 사용자와 그룹 (0) | 2023.03.19 |
---|---|
[Linux] 파일과 디렉터리 (0) | 2023.03.19 |