파일 관리 명령어
pwd : 디렉터리 절대경로 출력
pwd #현재 작업중이 디렉터리의 절대 경로 출력
cd : 디렉터리 이동
cd [이동할 디렉터리]
cd ./ #현재 디렉터리
cd ../ #상위 디렉터리
cd ~/ #현재 사용자의 홈 디렉터리로 이동
cd # 홈디렉터리로 이동
cd / #루트 디렉터리로 이동
cd -/ #바로 이전 디렉터리로 이동
ls : 디렉터리/파일 확인
ls #현재 디렉터리 구성 내용 출력
ls [디렉터리 명] # 지정한 디렉터리 구성 내용 출력
[옵션]
ls -a #(all) 숨김파일을 포함하여 모든 파일의 목록을 출력
ls -s #(size) 파일 크기 순으로 출력
ls -l #(long) 파일의 상세정보를 출력
ls -h #(human) 파일크기 단위를 사람이 보기 좋게 출력
ls ../ # 부모 디렉토리 표시
ls -R # (Recursive) : 하위 디렉토리의 목록까지 모두 출력.
ls -n # 소유자 및 그룹을 이름 대신 UID / GID로 출력
ls -d # 현재 디렉토리의 정보를 출력.
ls -i # 첫번째 행의 inode 번호를 출력.
ls -g # 소유자 정보 빼고 파일 조회
ls -A # (.)와 (..)를 제외한 모든 파일을 출력.
ls -L # 심벌릭 링크 파일의 경우 원본 파일의 정보를 출력.
ls -u # 파일, 디렉토리 이름을 최종 접근 시간 순으로 화면에 출력
ls -r # (reverse) : 거꾸로 출력(기본 출력은 알파벳 순서)
ls -lu # (a time) : 접근 시간을 출력
ls -lc # (ctime) : 변경 시간을 출력
ls -d */ # 파일을 제외한 디렉토리만 반환
mkdir : 디렉터리 생성
mkdir [디렉터리 명]
mkdir [디렉터리 명] [디렉터리 명] [디렉터리 명]
# 디렉터리 여러개 생성
mkdir -p temp/ex1/ex2
#하위 디렉터리 경로대로 생성(-p옵션은 상위 디렉터리가 없으면 상위 디렉터리 먼제 만드는 옵션)
rmdir : 디렉터리 삭제
rm => 디렉터리 삭제시 안에 파일이 존재해도 삭제 가능
# 디렉토리 삭제. 단 하위 디렉토리가 없는 빈 디렉토리여야지 가능하다.
rmdir [디렉토리]
# 여러개 삭제
rmdir [디렉토리명] [디렉토리명] [디렉토리명]
# 디렉토리 및 하위디렉토리를 같이 삭제. 단, 부모 디렉토리가 비었을 경우
rmdir -p 파일명/하위디렉토리
# 디렉터리 삭제 (디렉터리는 -r 옵션 없이 삭제 불가)
# 디렉토리 안에 파일이 있어도 강제 삭제!!
rm -r [대상 디렉토리]
cp : 파일/디렉터리 복사
cp -r [복사할 디렉터리] [붙여넣을 경로]
[옵션]
cp -a
#원본 파일의 속성/링크 정보를 그대로 복사
cp -b
#복사할 대상이 이미 있을 경우 백업후 복사
cp -d
#복사할 파일이 심볼릭 링크일 경우 자체를 복사
cp -f
#복사할 대상이 있으면 강제로 지우고 복사
cp -i
#복사할 대상이 있으면 사용자에게 메시지를 띄운 후 복사
cp - l
#하드링크 형식으로 복사
cp -p
#파일의 소유자, 그룹, 권한, 시간 정보들을 그대로 복사
cp -r
#파일은 그냥 복사 / 디렉터리는 디렉터리 전체가 복사
cp -s
#파일을 심볼릭 링크 형식으로 복사
cp -u
#복사할 파일이 이미 있을겨우 변경 날짜가 같거나 최신이면 바꾸지 않는다.
cp -v
#복사 상태를 보여준다.
cp -R
#디렉터리 복사의 경우 디렉터리 안에 포함된 하위 경로들을 함께 복사
mv : 파일/디렉터리 이동
=> 같은 디렉터리 내에서 파일 이동시 이름 변경 효과를 가진다.
mv [이동할 디렉토리] [대상 디렉토리]
[옵션]
mv -b
#백업 후 복사
mv -f
#같은 파일이 있는 경우 덮었을 것인지 물어보지 않고 바로 복사
mv -i
#같은 파일이 있는 경우 덮었을 것인지 물어본다.
mv -v
#이동중인 상태를 물어본다.
touch : 빈파일 생성/수정 날짜 변경
- 기본적인 기능은 날짜 변경을 할때 사용
- 파일이 없으면 빈 파일 생성
- 파일이 존재하면 수정 기간 변경
touch [옵션] 파일이름
touch -a #atime 만 변경
touch -m #mtime 만 변경
touch -t #지정한 타임스탬프 설정
touch -r #현재시간이 아닌 지정한 파일의 타임스탬프로 변경
touch -c #파일은 생성하지 않음
파일 내용 관련 명령어
cat : 빈파일 생성/수정 날짜 변경 / 파일 합치기
cat filename
#filename 내용을 출력
cat filename filename2
#filename 내용과 filename2를 출력
cat filename filename2 | more
#filname 과 filename2 를 페이지 별로 출력
cat filename filename2 | head
#filname 과 filename2 를 처음부터 10번째 줄까지만 출력
#head 뒤에 5를 붙이면 -5번째 줄까지만 출력
cat filename filename2 | tail
#filname 과 filename2 를 끝에서 10번째 줄까지만 출력
#파일 합치기
cat pass_* > pass.copy &
#pass_00,01... 로 나누어진 파일들을 pass.copy 하나로 합친다.
wc: 파일 내용 정보 출력
wc [옵션] 파일명
[옵션]
#-l : 줄 수를 셈(line)
#-w : 단어의 갯수를 셈 (word)
#-c : 바이트 수를 셈 (bytes)
#-L : 가장 긴줄의 길이를 출력(max-line_length)
#라인수 단어수 바이트수
sort : 파일내용 정렬
sort [옵션] [파일명]
[옵션]
#-r: 역순(내림차순) 정렬 / 기본은 오름차순
#-f: 대소문자 구별안함
#-n: 숫자로 정렬
#-k숫자: k1 -> 1번째 필드를 기준으로 정렬
#-u: 정렬 후 중복된 내용을 제거
#-b: 선행 공백 무시
#-R: 해시의 키값 기준, 랜덤 정렬
#-h: --human(2K, 1G)
#-c: 정렬되어 있는지 검사
#-m: 이미 정렬된 파일들을 병합
#-o: 파일출력
#-t: 필드 구분자를 지정
#ex)
cat test.txt | sort -r
#test.txt 파일을 역순으로 출력
cut : 파일내용 자르기
cut [옵션] 파일
[옵션]
#-c 문자위치: 잘라낼 곳의 글자 위치를 지정한다.
#-f 필드 : 잘라낼 필드를 정한다.
#-d 구분자 : 필드를 구분하는 문자를 지정한다.
#-s : 필드 구분자를 포함 할 수 없다면 그 행은 하지 않는다.
split : 파일 나누기
split [option] file [file_name]
#-l : 라인수 기준으로 파일을 분할
split -l 10 /etc/passwd test_
#파일 내용이 test_aa,test_bb,test_cc 이런식으로 생성
#-b : 분할되는 기준을 바이트 크기로 분할
#-a : 분할되는 파일뒤에 붙을 길이를 지정
#-d : 분할 파일 이름뒤에 영문이 아닌 숫자로 지정 (0부터 시작)
split -l 10 -d /etc/passwd test_
#파일 내용이 test_00,test_01,test_02 이런식으로 생성
#-n : 파일을 균등하게 1/N 나누어 분할
#-C : 라인을 기준으로 지정 바이트가 넘지 않도록 파일을 분할
'Study > 리눅스' 카테고리의 다른 글
리눅스 6일차(awk) (0) | 2022.07.17 |
---|---|
리눅스 5일차(vi 에디터) (0) | 2022.07.17 |
리눅스 4일차(방향 재지정 / find) (0) | 2022.07.17 |
리눅스 3일차(RegularExpression / grep) (0) | 2022.07.17 |
리눅스 1일차(가상 머신과 리눅스의 디렉터리 구조) (0) | 2022.07.17 |