'리눅스 커맨드라인 완벽 인문서' 의 내용을 정리하였습니다.
1. 쉘이란 무엇인가?
- 명령어를 운영체제에 전달하여 실행시키는 프로그램 (ex. 프롬프트, bash, zsh)
명령어 히스토리: 직전에 입력했던 명령어들을 쉘에서 위아래 화살표를 눌러 확인할 수 있다.
명령어 마우스로 복사하기: 복사할 부분 선택후(드래그 or 더블클릭) 마우스 휠을 눌러서 붙여넣기 가능
명령어
date: 현재 시간과 날짜를 표시한다.
cal: 현재 날짜의 달력을 표시한다.
df: 디스크 정보와 사용가능한 디스크의 용량을 확인한다.
free: 메모리 사용현황 확인한다.
exit: 터미널 종료
2. 파일 시스템 탐색
- 계층적인 디렉토리 구조를 가지고 있다.
- 최상단 디렉토리를 root 디렉토리라고 한다.
● 현재 작업 디렉토리 확인: pwd
● 현재 디렉토리에 있는 파일 및 디렉토리 확인: ls
절대경로와 상대경로
- 절대경로: root 디렉토리부터 경로를 표시한 것 (/home/usr/bin)
- 상대경로: 현재 디렉토리를 기준으로 경로를 표시한 것(./usr/bin 현재 home 디렉토리에 있다고 가정)
● 원하는 디렉토리로 이동하기: cd 원하는경로
cd 사용법
cd: home 디렉토리로 이동
cd -: 이전 작업 디렉토리로 이동
cd ~유저이름: 해당 유저의 home 디렉토리로 이동
파일명
1. 숨김파일은 이름앞에 '.' 이 붙어있다. (ex. .zshrc)
2. 대문자와 소문자를 구별한다.
3. 파일확장자가 정해져있지 않다.
4. 파일명에 마침표(.), 하이픈(-), 언더라인(_), 공백이 사용가능하다. (단, 공백은 사용하지 않는것이 편리하다.)
3. 시스템 살펴보기
● 디렉토리의 목록(파일, 디렉토리) 확인하기: ls
ls 사용법
ls: 현재 디렉토리의 목록 확인
ls 디렉토리: 입력한 디렉토리의 목록확인(여러 디렉토리 입력가능, 한칸씩 공백을 두고 입력)
명령어 옵션과 명령 인자
명령어 -옵션 명령인자 순으로 사용
-> ls에서 -l은 속성까지 알려줌, -t는 수정시간에 따른 결과로 정렬해줌
ex) ls -l: 속성을 보여줌, ls -lt: 속성을 보여주고 수정시간에 따라 정렬
long 옵션: --를 붙인 명령 옵션, 맨뒤에 붙인다.
ex) ls -lt --reverse: 속성, 수정시간에 따른 정렬 후 역순으로 출력
● ls 의 옵션 목록
옵션 | long 옵션 | 설명 |
-a | --all | 모든 파일보기, 숨김 파일도 보여준다. |
-d | --directory | 현재 디렉토리의 정보를 보여준다.(목록이 아닌 현재 디렉토리 자체) |
-F | --classify | 종류에 따라 이름뒤에 특수문자를 붙인다. 디렉토리:/, 실행파일:* |
-h | --human-readable | -l과 함께 사용하여 용량을 보기편하게 바꿔준다.(4096->4K) |
-l | 상세 정보를 보여준다. | |
-r | --reverse | 출력 결과를 역순으로 정렬한다. |
-s | 파일을 크기 순으로 정렬한다. | |
-t | 파일을 수정시간 기준으로 정렬한다. |
ls 자세히 보기 정보
ex) -rwx-r-xr-x 1 root root 4096 1 18 20:25 filename.txt
항목 | 설명 |
-rwx-r-xr-x | 항목의 정보와 접근권한을 알려준다. 앞 첫 번째 값은 파일일 경우 -, 디렉토리일 경우 d로 표시된다. 그 다음으로 오는 3개씩 소유자, 소유그룹, 그외 사용자의 권한을 나타내며 순서대로 r: 읽기, w:쓰기, x: 실행을 나타낸다. |
1 | 하드 링크수를 나타낸다. (자세한 설명은 뒤에) |
root | 파일 소유자의 이름 |
root | 파일 소유 그룹의 이름 |
4096 | 파일의 크기 |
1 18 20:25 | 파일의 최종 수정 시간 |
filename.txt | 파일 이름 |
● file 파일명: 간단한 파일의 정보를 알려준다.
● less 파일명: 텍스트 파일을 볼 수 있다.
와일드 카드
파일명으로 검색시 문자의 패턴을 입력하는 방법(정규표현식과 비슷하다.)
와일드카드 | 매칭 문자 |
* | 모든 문자(개수 상관X) |
? | 모든 한 개의 문자 |
[문자셋] | 문자셋에 포함된 문자 중 하나 |
[!문자셋] | 문자셋에 포함되지 않은 문자 중 하나 |
[[:class:]] | class 에 포함된 문자 중 하나 |
class
문자 class | 매칭 문자 |
[:alnum:] | 모든 알파벳 문자와 숫자 |
[:alpha:] | 모든 알파벳 문자 |
[:digit:] | 모든 숫자 |
[:lower:] | 모든 소문자 |
[:upper:] | 모든 대문자 |
ex)
*.log -> 확장자가 log인 모든 파일
[abc]* -> a, b, c로 시작하는 모든 파일
[[:digit:]xy].??? -> 숫자 or x, y로 시작하는 확장자가 3개 문자가 오는 파일
● mkdir 디렉토리이름: 디렉토리를 생성한다. (여러개 생성시 띄어쓰면 된다.)
● cp A B: A를 B로 복사한다.
cp 사용법
cp file1 file2 : file1을 file2라는 이름으로 복사한다.
cp file1 dir/file2 : file1을 dir에 있는 file2라는 이름으로 복사한다.(경로를 지정가능)
cp file1 file2 dir : file1,2를 dir로 복사한다.
cp dir1/* dir2 : dir1에 있는 모든 파일을 dir2에 복사한다. (dir2가 존재해야 한다.)
cp -r dir1 dir2 : dir1을 dir2라는 이름으로 복사한다. (dir2가 없다면 생성한다.)
cp 옵션
옵션 | 설명 |
-a, --archive | 파일, 디렉토리의 소유자, 권한정보까지 복사(기본: 복사하는 사용자의 이름으로 복사) |
-i, --interactive | 파일을 덮어쓰기전에 확인 메세지를 띄운다. 없을시 그냥 덮어씀 |
-r, --recursive | 디렉토리를 복사할 때 사용, 안의 내용까지 모두 복사 |
-u, --update | 없는 파일, 수정된 파일만 복사 |
-v, --verbose | 복사 완료 확인 메세지를 띄운다. |
● mv A B: A를 B로 변경한다.(경로를 변경하거나 이름을 변경한다.) A는 사라진다.
mv 사용법
mv file1 file2 : file1을 file2라는 이름이로 바꾼다. file2가 있다면 덮어쓴다.
mv file1 file2 dir : file1,2를 dir 로 이동한다. (dir은 존재해야 한다.)
mv dir1 dir2 : dir1과 모든 내용물을 dir2로 이동한다. dir2가 없다면 생성한다.
mv 옵션
옵션 | 설명 |
-i, --interactive | 덮어쓰기 전 확인 메세지를 띄운다. |
-u,--update | 없는 파일, 수정된 파일만 옮길때 사용된다. |
-v, --vervose | 이동 완료 메세지를 띄운다. |
● rm A: A를 삭제한다. (여러개 입력가능)
rm file1 : file1을 삭제한다.
rm -r dir1 : dir1의 하위 내용까지 모두 삭제한다.
rm -f file1 : file1을 삭제한다. file1이 없어도 실행된다.
'Linux' 카테고리의 다른 글
[리눅스 커맨드라인] Part1. Shell 학습 - 3 (0) | 2021.01.27 |
---|---|
[리눅스 커맨드라인] Part1. Shell 학습 - 2 (0) | 2021.01.23 |
[Linux 기초] 생활 코딩 Linux 강의 정리 4 (0) | 2021.01.13 |
[Linux 기초] 생활 코딩 Linux 강의 정리 3 (0) | 2021.01.13 |
[ Linux ] shell 언어 설정 (영어로 바꾸기) (0) | 2021.01.12 |
댓글