디렉토리 경로 확인
현재 디렉토리 경로를 확인. 절대경로명을 출력한다.
$ pwd
/home/testuser1
디렉토리 리스트 확인 : ls
ls 명령어 사용시 옵션을 여러개 붙여서 사용하기도 한다. 서로 상충하는 옵션 사용시에는 제일 마지막에 쓰인 옵션이 적용됨!
$ ls //현재 디렉토리에 대한 리스트
$ ls -a //숨김파일 포함하여 모든 항목
$ ls -d //디렉토리 정보만 표시
$ ls -F //파일이 디렉토리인 경우 /(슬래쉬), 파일이 실행 가능한 경우 *, 소켓인경우 =, 선입선출법인경우 |, 기호링크인경우 @를 각각 파일이름의 뒤에 추가
$ ls -l //각파일의 모드,링크수, 소유자, 그룹, 크기(바이트), 최종 수정시간을 표시
$ ls -m //쉼표로 구분해서 보여짐
$ ls -r //역순으로 보여짐
$ ls -R //하위의 서브 디렉토리의 내용도 순차적으로 표시
$ ls -s //킬로바이트 단위로
$ ls -t //최종 수정 시간 기준
$ ls -u //최종 수정시간 대신 최종 액세스 시간
$ tree //디렉토리, 파일구조를 트리 형식으로 볼 수 있다.
디렉토리 생성
$ mkdir dir1 //dir1디렉토리 생성
$ mkdir dir2 dir3 //한번에 여러개 생성 가능
$ mkdir -p dir4/dir5 //상위 디렉토리 없을 때 만듬 dir4 안에 dir5
$ mkdir -m 700 dir7 //디렉토리 만들 때 권한 줄 수 있음
파일생성
$ touch /home/testuser1/dir1/file1 //dir1디렉토리 안에 file1생성
디렉토리 권한 변경
$ chmod 777 dir2 //chmod [변경할 권한 값][파일or디렉토리]
--> 결과 : drwxrwxrwx 2 testuser1 testuser1 6 10월 28일 05:37 dir2
권한구성
총 10개의 문자로 구성되어있다.
-- 1번째: -(파일), d:폴더/디렉토리, l:링크
-- 2~4번째: 파일 주인의 읽기/쓰기/실행 권한
-- 5~7번째: 파일 주인이 속한 그룹의 읽기/쓰기/실행 권한
-- 8~10번째: 그 외 유저들의 읽기/쓰기/실행 권한
권한 고유 값 : 권한마다 부여된 고유 숫자가 있음(2진법)
r(읽기) : 4
w(쓰기) : 2
x(실행) : 1
chmod 사용시 3개의 숫자를 지정해 주어야 하는데 하나의 숫자가 하나의 그룹을 의미한다. 각 권한 구성 2~4, 5~7, 8~10번째 문자를 뜻하고 각 숫자는 r/w/x를 전부 더한 값
예) 모든 그룹에 모든 권한을 주고싶으면 777로 지정
예) 파일 주인만 모든 권한을 주고 나머지는 실행 권한만 주기 -> 711
디렉토리/파일 삭제
rm옵션 : r=파일, 디렉토리를 같이 삭제, f=파일의 유무랑 상관없이 삭제, v=결과 확인
$ rmdir dir7 //디렉토리 dir7삭제
$ rm testfile2/test1.txt //testfile2디렉토리 안의 test1.txt파일 삭제
$ rm .txt //.txt로 끝나는 파일 모두삭제
$ rm //모든 파일삭제
$ rm -r dir3 //dir3 디렉토리 삭제 -r옵션주면 디렉토리 삭제가능
$ rm -rf dir6 //r옵션과 f옵션을 함꼐 사용하게 되면 모두 강제로 삭제한다. 하위디렉토리가 있어도 삭제됨.
$ rm -ri dir4 //삭제할 때 확인 메세지가 계속 나온다 y또는 n을 입력하여 선택
파일 내용 쓰기
$ cat > /home/testuser1/file1
어쩌구저쩌구내용
Ctrl+d -> 내용 입력 완료
$ cat >> /home/testuser1/file1
어쩌구저쩌구 추가내용
Ctrl+d -> 추가내용 입력 완료
// cat > 내용입력/덮어쓰기
// cat >> 내용추가
파일내용 읽기
$ cat file1 //file1파일 읽기
$ cat -n file1 //왼쪽에 행번호를 내용과 함께 출력
$ cat -b file1 //빈행을 제외후 행번호와 내용 출력
$ cat -ns file1 //두줄 이상 빈행인 경우 하나의 빈행으로 출력
$ cat file1 | more //화면 단위로 출력(내용이 많을 경우 사용)
파일이동
$ mv dir1/file1 dir2/ //dir1의 file1위치를 dir2로 이동시킨다.
$ mv -f dir1/file1 dir2/ //파일이 이미 존재하더라도 묻지 않고 덮어 쓴다.
$ mv -i dir1/file1 dir2/ //옮겨질 파일이 이미 존재하면 덮어쓸것인지 물어봄
$ mv -b dir1/file1 dir2/ //파일을 지우기 전에 백업본을 만든다.
디렉토리/파일복사
$ cp -r dir1 dir5/ //dir1디렉토리를 dir5디렉토리로 복사
<옵션>
-i : 복사대상 파일이 있을 경우 실행여부를 물어봄
-f : 복사대상 파일이 있을 경우 확인없이 강제로 복사
-r, -R : 디렉토리 복사할 경우 하위 디렉토리와 파일 모두 복사
-v : 복사 진행상태 출력
-d : 복사대상 파일이 심볼릭(기호,상징)파일이면, 심볼릭 정보를 그대로 유지한 상태로 복사
-p : 원본파일의 소유주, 그룹, 권한, 시간정보를 보존하여 복사
-a : 원본파일의 속성, 링크 정보들을 그대로 유지하면서 복사