파일다루기
파일보기 :
$ ls [OPTION] ... [FILE] ...
$ ls
: list$ ls -l
: long list$ ls -a
: all$ ls -al
,ls -a -l
: all + long$ ls *.txt
: 확장자가 *.txt 파일인 것만
파일 내용 보기 : cat, more, less
$ cat [OPTION]...[FILE]...
: 파일 내용 보여주기 (정확히는 input과 output의 연결(concatenate)하기)$ cat hello.txt $ cat /etc/passwd $ cat -e /etc/passwd // 줄의 맨 뒤에 $붙이지 (히든 캐릭터 공백 등 확인을 위해) $ cat -n /etc/passwd // 줄 번호 보여주기
$ more [OPTION]...[FILE]
: 페이지 단위로 이동 (space), 줄 단위로 이동 (enter)$ more hello.txt $ more /etc/passwd // 단점 : 뒤로 올라가기를 할 수 없음
$ less [OPTION]...[FILE]...
: more를 개선 => 방향기 - 상하좌우, 페이지 up/down- less의 경우 모든 파일을 메모리에 올리지 않아 more 대비 속도가 빠르다.
파일 만들기/지우기 : touch, rm
$ touch [OPTION] ... [FILE] ...
: 파일을 건드린다는 느낌의 명령어파일 생성보다는 수정 시점을 현재 시간(timesteamp)으로 바꾸는 것으로 만약 해당 파일이 존재하지 않는 경우 0바이트 파일 생성
$ touch hello.txt => hello.txt가 없다면 생성, 있다면 현재 시간으로 변경 $ touch test1 test2 test3 => 여러 파일도 가능
$ rm [OPTION]...[FILE]...
: 파일(or 디렉토리) 삭제$ rm hello.txt $ rm test1 test2 test3 $ rm /etc/passwd => (실패) - 삭제 확인, but 권한 X $ rm -r dir1 => 폴더를 rm으로 지우기위해서 -r (recursive)옵션 필요
디렉토리 만들기/지우기 : mkdir, rmdir
$ mkdir [OPTION]...[DIRECTORY]...
: 디렉토리 생성$ mkdir dir1 $ mkdir dir2 dir3 $ mkdir dir1/sub1 $ mkdir -p dir4/sub1 => dir4와 sub1을 동시에 생성, -p(parents)
$ rmdir [OPTION]...[DIRECTORY]...
: 디렉토리 삭제$ rmdir dir1 $ rmdir dir2 dir3
디렉토리 이동 : cd (change directory), cd -
디렉토리 구조
.
: (현재) 나 자신..
: 부모 디렉토리~
: 홈 디렉토리-
: 이전 디렉토리
$ cd dir1 => dir1으로 이동 $ cd .. => 부모 디렉토리로 이동 $ cd ~ => 홈 디렉토리로 이동 $ cd - => 이전 디렉토리로 이동 $ ../.. => 부모의 부모 디렉토리로 이동
파일 복사 :
$ cp [OPTION]...[SRC] [DST]
// 사전 준비 $ touch hello.txt test1 $ mkdir dir1 // 복사 예제 $ cp hello.txt hello2.txt => hello.txt를 hello2.txt라는 이름으로 복사 $ cp test1 dir1 => test1을 dir1으로 복사 $ cp -r dir1 dir2 => dir1 디렉토리를 dir2로 복사 (-r 옵션)
파일 이동 :
$ mv [OPTION]...[SRC] [DST]
// 사전 준비 $ touch hello.txt test1 $ mkdir dir1 // 이동 예제 $ mv hello.txt hello2.txt => hello.txt를 hello2.txt라는 이름으로 변경 $ mv test1 dir1 => test1을 dir1으로 이동 $ mv dir1 dir2 => dir1 디렉토리를 dir2라는 이름으로 변경 (-r 옵션 필요X)
Rename 명령어도 있지만 일반적으로 mv를 사용해 이름 변경이 편리함.
파일 숏컷 :
$ ln [OPTION]...[TARGET] [LINKNAME]
$ ln -s hello.txt hellosymlink => -s 옵션으로 심볼릭링크(소프트링크) 만들기 $ ls -ali => 파일링크 확인 $ ln hello.txt hellolink => 하드링크 만들기
하드링크 : 새로운 포인터가 파일을 직접 가르킨다.
소프트링크(심볼릭링크) : 새로운 포인터가 현재 파일을 가르키는 포인터를 가르킨다. => 하드링크에 비해 공간을 효율적으로 관리 가능.
[참고] inode : 유닉스 계통 파일 시스템에서 파일이나 디렉토리에 정보를 가지고 있는 자료구조
파일 속성 보기 :
$ file [OPTION]...[FILE]...
$ file hello.txt
$ file dir1
$ file hellosymlink
터미널 지우기 ( 화면 청소 ) :
$ clear
시스템 종료
재부팅 :
$ reboot
종료 :
$ poweroff
재부팅과 종료 명령어는 확인 과정이 없어 주의해야한다.
주어진 시간 후 종료 :
$ shutdown [OPTION] [TIME]
(기본값 : +1 - 1분 후)$ shutdown -c
: 앞선 shutdown 명령어 취소$ shutdown -P now
: 바로 종료$ shutdown -r now
: 바로 재시작
도움말/매뉴얼 :
$ man [OPTION]...[PAGE] [COMMAND]
PAGE 종류
1. 일반 명령어 2. 시스템 호출 3. C 표준 라이브러리 함수 4. 특수파일 (/dev 등) 5. 파일 형식과 Conventions 6. 게임과 화면보호기 7. 기타 8. 시스템관리 명령어와 데몬
Ex)
$ man man $ man printf $ man 3 printf $ man socket $ man -a printf => '-a' : 모두 출력 $ man -k printf => '-k' : 검색 $ man -k ^printf => 정규표현식 검색 가능
파일 편집기 (vi / vim / nano)
$ vi hello.txt $ nano hello.txt
'Programming > Linux' 카테고리의 다른 글
[Linux] CentOS7 Hostname 변경 (0) | 2020.12.21 |
---|---|
[Linux] CentOS7 네트워크 인터페이스 활성화 (0) | 2020.12.21 |
[Linux] 사용자 및 권한 관련 명령어 (0) | 2020.07.10 |