1. 기본 명령어
$date : 날짜 및 시간확인
$hostname : 호스트 이름 확인
$uname : 현재사용 운영체제 (-a : 호스트이름, 시스템 사양 확인)
$whoami : 사용자 아이디 확인
$ls : 디렉토리 내용 확인
$passwd : 패스워드 확인
$clear : 터미널 화면 초기화
2. 파일 종류
- 일반 파일(ordinary file) : 데이터를 가지고 있고 디스크에 저장됨.
- 디렉터리 : 파일들을 계층적으로 조직화하는데 사용하는 특수파일
- 특수파일(장치 파일) : 물리적인 장치에 대한 내부적 표현,키보드(stdin), 모니터(stdout) 등도 파일처럼 사용.
- 심볼릭 링크 파일 : 어떤 파일을 가리키는 또하나의 경로명을 저장하는파일 (포인터와 같은 역할)
3. 디렉터리
<디렉터리 관련 명령어>
$pwd : 현재 작업 디렉터리 출력
$mkdir : 새 디렉터리 만들기
$cd [dir]: 디렉터리 이동
~ : 홈 디렉터리 이동
. : 현재 디렉터리
.. : 부모 디렉터리
절대경로 : 루트부터 경로이름 정확히 적는것.
상대경로 : 현재 작업 디렉터리부터 시작.
$ ls : 파일 및 디렉터리 리스트(현재 디렉터리)
<ls 명령어 조합 : 여러개 입력하면 함께 적용 (ex)-asl : a,s,l 모두 적용>
-a : 숨겨진 파일 포함
-s : 파일의 크기
-l : 파일의 상세 정보
-F : 파일의 종류 출력
-R : 모든 하위 디렉터리 리스트
4. 파일 관련 명령어
명령어 | 의미 | 사용 |
cat [file] | 파일 내용 출력 | $cat > list1.txt 내용 ^D => list1.txt 를 생성해 내용 입력. |
more [file] | 페이지 단위로 파일 내용 출력 | 다음페이지 보기 : space bar |
head [file] | 파일의 앞부분 출력(10줄) | |
tail [file] | 파일의 뒷부분 출력(10줄) | |
wc [file] | 줄/단어/문자수 세기 | $wc cs1.txt => 38 318 2088 cs1.txt |
cp [file1] [file2] [dir] | 파일 1 의 복사본 파일 2 를 dir 에 만듬 | |
mv [file1] [file2] | 파일 1의 이름을 파일2로 변경 | |
mv [file1] [file2] [dir] | 파일을 디렉터리 내로 이동 | |
rm [file] | 명령줄 인수로 받은 파일들을 지운다. | $rm -i => i 는 대화형 옵션 (삭제여부를 물어봄) $rm -r [dir] => 디렉터리 내 모든 파일/폴더 지움. |
rmdir [file] | 빈 디렉터리를 삭제한다. | 디렉터리 내에 아무것도 없어야 함. |
ln [file1] [file2] | 기존 파일에 대한 또 하나의 새로운 이름(링크) 생성 file2 가 file1을 가르킨다. |
$ln [-s] [file1] [file2] 하드링크 : 기존파일에 대한 새로운 이름 => 한 파일의 내용을 수정하면 다른 파일도 수정됨. => 원본이 삭제되어도 살아 있음. 심볼릭 링크 [-s] : 서로 별도의 파일 (간접적인 포인터 역할) => 링크 파일은 경로정보만을 가짐. => 원본 파일 삭제시 죽어 버림. |
grep [keyword] [file] | 텍스트 파일들에서 keyword포함한 모든 줄의 위치와 그 줄을 출력하는 명령어 |
5. 파일 속성
- 권한은 r, w, x (읽기, 쓰기, 실행) 로 나뉨.
- 사용자는 owner, group, others(소유주, 그룹, 기타)로 구분함.
명령어 | 의미 | 사용 |
chmod [8진수 3자리] [file] | 8진수에 맞춰 file의 사용권한 지정 | $chmod 664 cs.txt => rw- rw- r-- 의 사용권한 가짐. |
chown [userfile] | 파일, 디렉터리 소유자 변경 | |
chgrp [groupfile] | 파일의 그룹 변경 |
6. 입출력 재지정 및 파이프
- 출력 재지정 : 표준출력 내용을 파일에 저장.
- 입력 재지정 : 표준입력을 파일에서 받음.
명령어 | 의미 | 사용 |
cat > list1.txt (출력 재지정) | list1.txt 에 입력된 내용 생성 | $cat > list1.txt 내용 ^D => list1.txt 를 생성해 내용 입력. |
cat list1.txt list2.txt > list3.txt | list1.txt 와 list2.txt 를 연결하여 list3 생성 | |
cat >> list1.txt 내용 ^D |
list1.txt 에 내용추가 | |
wc < list1. txt | 표준입력을 (키보드대신) 파일에서 받는다. | $wc < list.txt 4 17 71 list.txt |
wc << 단어 | 명령어 << 단어 => 해당 단어가 나타날때까지 입력내용으로 받는다. |
$wc << end hello ! word count end 2 4 20 |
- 파이프 : 명령어 1의 표준출력이 파이프를 통해 명령어2의 표준 입력이된다.
<파이프 활용 예제>
1. 현재 폴더 내 파일 이름 내림차순 정렬
$ls | sort -r
2. 로그인된 사용자수 출력
$ls | wc -l
'학교 수업 > 임베디드 시스템' 카테고리의 다른 글
[임베디드 시스템] 3. 포인터와 구조체 (1) | 2022.10.13 |
---|---|
[리눅스 프로그래밍] 1. 유닉스/리눅스 란? (0) | 2022.10.10 |