Cohe
리눅스 명령어 공부 1 본문
#리눅스 디렉토리 구조
"/(root)" : 리눅스 상에 존재하는 모든 파일과 디렉터리를 담고 있는 최상위 디렉터리
"/bin":리눅스의 기본 명령어가 들어 있는 디렉터리(명령어는 "실행파일")
"/boot":리눅스 커널의 메모리 이미지와 부팅 과정에 필요한 파일이 저장된 디렉터리
"/dev":장치 파일이 들어 있는 디렉터리
"/etc":시스템이나 사용자 관리를 위한 자료 파일이나 관리자용 명령들이 있는 디렉터리
"/home":관리자(root) 이외의 사용자의 홈 Directory가 생성되는 위치의 디렉터리
"/lib":각종 언어를 위한 라이브러리를 가지는 디렉터리
(lib64는 64비트 라이브러리들이 존재하는 디렉터리)
"/media":Local Device를 이용하기 위한 디렉터리(CD/DVD)
"/mnt":Remote Device를 이용하기 위한 디렉터리(블루투스)
"/opt":동작과 관련된 추가 옵션 설정에 대한 내용이 저장되는 디렉터리
"/proc":커널과 프로세스 정보를 담고 있는 파일이 저장되는 디렉터리
"/root":관리자 홈디렉터리
"/run":운영체제 내에 구동중인 내용들이 담기는 디렉터리
"/sbin":관리자용 명령어가 저장되는 디렉터리
"/sys":시스템 관련 파일이 담겨지는 디렉터리
"/tmp":임시파일이 저장되는 공간
"/usr":용량이 크고 자주 사용되지 않는 파일들이 들어있는 디렉터리
"/var":Log와 같이 잦은 변경이 일어나는 파일이 저장되는 디렉터리
==========================================================
리눅스의 기본 명령어 사용법
명령어 형식
- [명령어] - 단독으로 명령어만으로 사용하는 경우.
ex) pwd, ls(생략) ... - [명령어] [경로] - 특정 경로에 명령어를 사용하는 경우
ex) ls / , ls /etc/ ("/"해당 디렉터리의 파일/디렉터리 정보를 출력)
cd [경로] - [명령어] [옵션] [경로] - 특정 경로에 옵션이 부여된 명령어를 사용하는 경우
ex) ls -l / , ls -l /etc/
경로 결정 방법 2가지
- 절대 경로
: 리눅스 파일 시스템의 최상위의 "/(root)"를 기준으로 모든 경로 정보를 다 입력하여 사용하는 것!
ex) cd /etc/ , cd /etc/sysconfig , cd /
- 상대 경로
: 리눅스 파일 시스템의 상대 경로는 현재 작업 중인 디렉터리를 기준으로 파일이나 디렉터리에 대한 상대적인 위치 정보를 사용하는 것!!
". " : 현재 디렉터리를 의미함.
".. " : 이전(상위) 디렉터리를 의미함.
"~(사용자계정)" : 사용자 계정의 홈디렉터리로 이동
"- " : 바로 전의 디렉터리 이동
======================================================
- ls[list] : 디렉터리 내에 목록을 출력하는 명령어
[형식]
ls [옵션] [경로]
(옵션)
-l : 목록을 상세히 출력
-n : 소유권을 숫자값(UID/GID)으로 표현하여 출력
-d : 지정한 디렉터리의 정보를 출력(디렉터리 내 목록을 출력하지 않음)
-R : 디렉터리 하위경로까지 전부 출력
-a : 모든 파일 디렉터리를 출력(숨김도 출력)
-F : 파일이나 디렉터리의 기호를 표시(특성 표시)
- mkdir : 디렉터리 생성 명령어
형식
mkdir [옵션] [경로]
(옵션)
-p : 상위 경로까지 모든 디렉터리를 생성(없다면!!!)
-m {퍼미션} : 디렉터리 생성과 동시에 권한 설정!!
*퍼미션(허가권) - Read(읽기), Write(쓰기), eXcute(실행)
- rmdir : 디렉터리 삭제
**빈 디렉터리만 삭제 가능함(파일이 존재하면 삭제X)
[형식]
rmdir [옵션] [경로]
(옵션)
-p :상위 경로도 같이 삭제
(단, 빈디렉터리만 삭제 가능함...)
- touch : 파일이 없는 경우, 내용이 빈 파일을 생성
파일이 있는 경우, 파일의 시간을 명령하는 명령어
[형식]
touch [옵션] [경로/파일]
(옵션)
-a : 최근 파일 사용 시간만 변경(Access)
-c : 파일이 존재하지 않는 경우 파일을 생성하지 않는 옵션
-m : 최근 파일 변경(수정) 시간만 변경함. (Modify)
-t : 지정한 시간대로 파일의 시간을 변경
시간 설정 형식 : MMDDhhmm[[CC]YY[.ss]] 등과 같은 형식으로 지정할 수 있음.
ex) touch -t 202009281217 test
-r "파일" : 현재 시간 대신에 "파일"의 시간을 설정함.
ex) touch -r test lastyear => test파일의 시간대를 lastyear에 설정
- cp(copy) : 파일이나 디렉터리를 복사하는 명령어
[형식]
cp [옵션] [Source] [Destination-target]
-Source : 원본 파일
-Destination : 복사 위치/파일명
(옵션)
-a : 복사 대상 원본파일의 속성과 링크 정보등을 그대로 유지하면서 복사하는 옵션(-dpR)
-d : 심볼릭 파일 자체를 심볼릭 링크 정보와 함께 복사할 때 사용
-p : 모드, 소유자, 시간 등을 그대로 유지한 상태로 복사할 경우 사용.
-R : 하위의 모든 디렉터리까지 복사하는 옵션
-f : 복사할 위치에 같은 이름의 파일이 존재하는 경우, 파일 삭제후 복사
-i : 복사할 위치에 같은 이름의 파일이 존재하는 경우, 사용자에게 복사 여부를 확인하는 절차를 진행.
(cp를 사용하면 alias로 cp -i가 동작함)
-s : 복사하는 대신에 심볼릭 파일을 생성하는 옵션
-v(vebos) : 각 파일의 복사 상태 정보를 출력하고자 하는 경우 사용하는 옵션
- rm(remove) : 파일이나 디렉터리(옵션을 사용할 경우)를 제거하는 명령어
[형식]
rm [옵션] [경로/파일]
(옵션)
-f : 파일을 삭제시 확인 메시지를 출력하지 않도록 하는 옵션
-r : 디렉터리를 삭제할 경우에 사용하는 옵션
mv(move) : 파일/디렉터리을 이동하는 명령어로 옵션은 거의 cp와 비슷함.
mv명령어와 cp명령어의 차이점
- mv : 원본 파일을 삭제
- cp : 원본 파일을 삭제X
============ 문서의 내용을 출력하는 명령어 =================
=> head, tail, more, less, cat
- head : 파일의 내용을 위에서부터 출력(기본 10줄)
[형식]
head [옵션] [경로/파일]
(옵션)
-n(숫자) : 출력하고자 하는 줄의 숫자를 입력하면 해당 줄 만큼 출력
- tail : 파일의 내용을 뒤에서부터 출력(기본 10줄)
[형식]
tail [옵션] [경로/파일]
(옵션)
-n(숫자) : 출력하고자 하는 줄의 숫자를 입력하면 해당 줄 만큼 출력
-F : 실시간으로 추가로 작성되는 내용을 표기할 수 있음.
- cat : 텍스트 파일의 내용을 출력
[형식]
cat [옵션] [파일]
(옵션)
-b : 줄번호를 화면 왼쪽에 표시함. (단, 공백은 제외)
-e : 제어문자를 ^형태로 출력하면서 각 행의 끝에 $를 추가
-n : 줄번호를 화면 왼쪽에 표시함. 공백도 포함
-s : 중복되는 빈 행은 하나의 빈 행으로 처리하여 출력
예) cat /etc/sysconfig/selinux
- more : 화면 단위로 끊어서 출력
[형식]
more [옵션] [파일]
(옵션)
+(숫자) : 파일에 숫자만큼 줄을 이동한 후에 화면에 출력
-(숫자) : 화면에 숫자만큼 줄을 끊어서 출력함.
- less : 출력된 화면을 이동하면서 확인할 수 있는 명령어
(재검색 가능. 방향키 사용함)
==============================================
파이프( | )
: 한 프로그램의 출력을 중간 파일 없이 다른 파일의 입력으로 바로 보내는 유닉스 매커니즘. "|"기호를 기준으로 왼쪽 명령어의 출력 결과를 오른쪽 명령어의 입력으로 보내는 기능.
ex) ls -l /etc/sysconfig | more -10
#1 -> #2
ls -l /etc/sysconfig | cat -b | less
#1 -> #2 -> #3
- grep : 파일 내에 또는 입력값에서 특정 패턴 검색하는 명령어
[형식]
grep [옵션] [검색패턴] [파일/경로]
(옵션)
-v : 일치되는 내용이 없는 라인을 표시
-l(소문자) : 일치되는 내용이 있는 파일의 이름만 표시
-c : 일치되는 내용이 있는 행의 갯수를 표시
-n : 일치되는 내용이 있는 행의 행번호와 함게 표시
-i : 패턴에 대소문자 구분하지 않음.
-e 표현(정규표현식) : 표현하는 하이픈 문자로 시작될 때에 사용. **egrep과 grep -E와 같음.
-f "파일" : 찾으려고하는 장이나 파일을 지시
- grep에서 사용되는 검색 문자 패턴 정규 표현식
"." : 어떤 문자나 한 문자를 의미
"" : 어떤 문자나 문자열의 길이 상관없이 모든 문자열을 의미함.
"^" : 행의 시작 위치를 의미함.
"$" : 행의 마지막 위치를 의미함.
"[]" : 한문자 길의 패턴리스트
ex) [0-9] -> 0~9 ,
[a-z] -> a ~ z
"[^]" : 지정된 문자들 이외의 문자들을 의미함.
(^는 여집합을 의미함)
ex) [^0-9]
"" : 위에 설명한 특수한 의미의 문자들을 문자 그 자체로 인식할 때 사용
(ESCAPE, 특수 문자를 일반문자로 표현할때)
"<" : 단어의 시작 위치를 의미함.
">" : 단어의 마지막 위치를 의미함.
'배포 배우기' 카테고리의 다른 글
리눅스 다운 (0) | 2024.07.25 |
---|---|
리눅스 소켓 연결하기 2 (2) | 2024.07.24 |
리눅스 소켓 연결하기 (4) | 2024.07.24 |
리눅스 명령어 공부 3 (4) | 2024.07.23 |
리눅스 명령어2 (5) | 2024.07.23 |