터미널 구성
The host / The current directory(”path”) / The “prompt”(키보드 입력을 받을 준비가 되었다는 뜻)
shell
리눅스에서 로그인을 하면 shell이라는 프로그램이 실행된다.
shell은 명령어를 해석해서 실행하는 프로그램
shell 종류: tcsh, csh, korn, bash(본쉘)
Shell commands are CASE SENSITIVE!(대소문자 구분한다는 뜻)
명령어의 사용법을 알고 싶다면?
man을 입력하고 (한 칸 띄고 )그 뒤에 알고 싶은 명령어를 입력한다.
리눅스에서 모든 명령어의 옵션은 앞에 - 기호를 붙인다.
명령어 -n -e를 둘다 쓰고싶다면?
command -ne라고 입력
echo는 그냥 그대로 출력해주는 명령어
리눅스 경로
/는 root 디렉토리를 나타낸다.
/home/본인의 ID
Unix file names are CASE SENSITIVE!(대소문자 구분)
현재 통로를 찾고 싶다면?
pwd를 쓰자.
작업 디렉토리를 변경하려면?
cd를 쓰자.(change directory)
절대 경로: 루트부터 시작하는 경로
보통은 상대 경로로 이동한다.
상대 경로: 현재 작업 중인 디렉토리를 기준으로 타겟 경로를 설정할 때
~는 home directory의 위치를 나타낸다.
home directory로 가는법
- 그냥 cd 입력
- cd ~ 입력
..는 현재 작업 디렉토리의 부모 디렉토리
ls
ls는 현재 디렉토리의 파일이나 서브 디렉토리의 목록을 리스트로 보여준다.
ls 옵션
-l long list(파일의 부가적인 정보들을 보여줌)
-t 수정시간을 기준으로 sort해서 보여줌
-S 파일 크기를 기준으로 sort해서 보여줌
-h 파일의 크기를 human readable format으로 변경해서 출력해줌
-r sort를 뒤집어서 해줌(다른 명령어랑 결합하자)
더 많은 옵션: man ls로 확인
옵션은 합쳐질 수 있다. “ls -ltr”
→ 오래전에 수정한 시간을 기준으로 sort
-a : 숨김파일까지 같이 표시해줌
General Syntax: *
뭉뚱그려서 지칭할 때 쓸 수 있다.
ex) ls *.pl
디렉토리 생성, 삭제
새로운 디렉토리를 만들려면 mkdir를 쓰자.
디렉토리를 삭제하려면 rmdir를 쓰자.
(비어 있는 디렉토리를 삭제하는 데 사용)
파일을 삭제하려면 rm을 쓰자.
rm -r → recursive하게 삭제.
(rm -r 명령은 디렉토리와 그 안에 있는 모든 파일 및 하위 디렉토리를 재귀적으로 삭제하는 데 사용됩니다. 디렉토리 내에 파일이나 다른 하위 디렉토리가 있어도 삭제됩니다.)
rm -i → 삭제하기 전 한 번 더 물어봄
cat
표준 출력 장치로 전체 파일을 보여준다.
짧고, 간단한 파일을 보여줄 때 좋다.
less
화면보다 파일의 길이가 더 길면 화면에 표시할 수 있을만큼만 보여준다.
return scrolls forward one line, space one page
y scrolls back one line, b one page
use / to search for a string
head
파일의 첫 10줄만 출력해준다.
-n option으로 처음에 출력할 라인 수를 조절 가능
ex ) head -n50 file.txt → 50줄 출력 해줌
tail
파일의 마지막을 출력해줌
man ls > temp.txt → temp txt에 출력 됨
파일을 복사하려면 cp
움직이거나 rename하려면 mv
파일을 지우려면 rm
.(점 하나) → 현재 디렉토리를 나타낸다.
파일 권한
세 가지 권한: reading - r/writing - w/executing - x
owner(user) → u
group → g
others → o
rw-r—r—
rw- : owner 읽고 쓰기 권한
r— : group 읽는 권한만
r—: owner 읽는 권한만
in case of directory, x grants permission to list directory contents
이름만 바꾼다: mv test.c test3.c
'Study > 시스템프로그래밍' 카테고리의 다른 글
[시스템프로그래밍] Signals (1) | 2023.12.03 |
---|---|
[시스템프로그래밍] pipe에 관하여 (0) | 2023.11.02 |
[시스템프로그래밍] 디렉토리 엔트리, hard/symbolic link, stat에 관하여 (0) | 2023.11.02 |
[시스템프로그래밍] 프로그램, 프로세스, 스레드에 관하여 (2) | 2023.10.26 |
[시스템프로그래밍] 리눅스 터미널과 명령어 요약 - 2 (1) | 2023.10.26 |