본문 바로가기
OS/LINUX

2. 디렉토리와 파일

by coldplayer83 2025. 6. 26.
728x90
반응형

명령어

--help : 설명보기

ctrl + c : 실행중인 프로세스 중단

ctrl + a : 라인 맨 앞으로 커서 이동

ctrl + e : 라인 맨 뒤로 커서 이동

ctrl + r : history 검색


<ls>

ls : 현재 디렉토리의 파일 목록 출력

ls -al : 현재 머물고 있는 디렉토리의 모든 파일 목록 출력(숨김파일 출력)

ls -l : 자세히 보기(디렉토리와 파일을 구분해서 알려줌)

ls -1 : 리스트 형식으로 출력

ls -h(Human-readable) : 가독성 좋은 용량표시

ls -t : 시간순 정렬

ls -r : 시간역순으로 정렬

pwd(Print Working Directory) : 현재 위치하고 있는 디렉토리를 알려줌


<df>

df(Disk Free) : 마운트 된 모든 장치에 대한 현재의 디스크 공간 통계를 출력

df -h : 용량표시 옵션과 함께 많이 씀

df -T : 디스크 타입 표시

df -i : Inodes 상태 표시

mkdir 디렉토리명 : 디렉토리 생성


<cd>

cd / : 루트로 가기

cd - : 직전의 경로로 가기

cd 디렉토리명 : 디렉토리 변경

cd /home/ubuntu(디렉토리 경로) : 절대경로

cd .. : 현재위치의 부모경로

cd ~ : 현재위치와 상관없이 한번에 사용자의 홈 디렉토리로 이동

mount : 디스크 장치를 표시하거나 가상 파일 시스템으로 지정한 디렉토리를 연결(마운트) => 공유폴더 원격접속 개념

ex) 공유디렉토리 nfs에 마운트하기

mount -t nfs ip주소:/nfs /mnt
mount | column -t : 공백을 tab으로 처리
※column : 공백을 원하는 형태로 바꿔줌

umount /디렉토리명 : 마운트 접속 해제

 

파일 관련 명령어

stat : 지정한 파일의 파일 통계를 출력

touch 파일명 : 비어있는 파일을 생성하거나 파일이 있는 경우 타임스탬프를 업데이트

cat(Catenate) : 지정한 파일의 내용을 출력

paste : 지정한 파일들의 행을 읽어 탭으로 구분하여 병합

less : 상하로 커서 이동이 가능한 파일보기

ln(LiNk) : 지정한 파일에 대한 심볼릭링크나 하드링크를 생성

ln 옵션 링크의원본파일패스/이름 링크파일패스 /이름

옵션을 사용하지 않으면 하드링크, -s 옵션 사용시 심볼릭링크 생성

 

※ 심볼릭 링크(소프트 링크) : 윈도우의 바로가기와 동일. 일반파일이 아닌 디렉토리에 대한 링크도 생성 가능.

※ 하드 링크 : 물리적으로 두 개의 파일이 각각 다른 이름으로 하나의 원본파일을 보고 있는 것. 즉, 같은 inode를 가리키는 파일명을 추가하는 것. 같은 파일 시스템에 있는 파일에 대해서만 생성 가능.
심볼릭과 다르게 한쪽을 삭제해도 나머지 한쪽이 남아서 원본을 볼 수 있으며, 원본파일의 내용을 수정하면 나머지 한쪽도 수정이 된다.

※ inode
리눅스나 유닉스의 파일시스템에서 어떤 파일을 인식하는 것은 inode라는 숫자임. 

=> 파일명은 inode에 저장된 파일 정보를 인간이 쉽게 이해할 수 있도록 만든 것.

inode에는 액세스 권한, 사용자 및 그룹 소유권, 타임스탬프 및 파일 내용이 저장되어 있음.

 

하드링크 : https://m.blog.naver.com/dae0park/222238980686

소프트링크 : https://m.blog.naver.com/dae0park/222239009550

 

head : 지정한 파일의 1라인부터 지정한 라인까지 출력 (기본값 10)

head -n 2 파일명 : 2줄까지 출력

head -f 파일명 : 실시간

tail : 지정한 파일의 마지막 라인부터 지정한 수 만큼의 라인을 출력 (기본값 10)

head와 옵션 동일

tail -f 로 출력되는 내용을 별도의 파일에 write 하기

ex) 로그파일이 과도하게 클 경우 vi로 열 수 없는 경우가 있다. 이 경우 FTP로 윈도우 환경에서 확인하거나 불가능할 경우 서버 내에서 해결해야 한다. 이 때 tail -f 로 로그를 적당한 크기로 줄여 vi로 확인하게 할 수 있다.

tail -100f logname.log > new_log.log

cp : 파일 복사

cp -rfp 원본파일패스 /이름 복사할파일패스 /이름

r : recursive

f : force

p : permission

 

 

mv : 파일 이동, 이름 변경

rename : 파일 이름 변경, 지정된 규칙에 따라 여러개의 파일을 동시에 변경

rename 변경전파일명 변경후파일명 대상파일

ex) test1 test2 test3 test4 test5 파일을 모두 test01 test02 test03 test04 test05로 변경

=> rename test test0 test?

test뒤에 문자가 있는 모든 파일의 test를 test0으로 변경

<rm>

rm 파일명 : 파일 삭제

rmdir : 디렉토리 삭제

rm -r 디렉토리명 : 디렉토리 삭제

dd(Dataset Definition) : 블록 단위로 데이터셋을 정의하여 파일을 쓰고 읽음

dd if=인풋파일이름 of=아웃풋파일이름 bs=바이크(크기) count=블럭을복사할횟수

dd if=/dev/urandom of=ddtest bs=1024 count=10

※/dev/urandom : 리눅스 랜덤문자 생성 장치파일

※bs옵션

ibs : 인풋바이트크기
obs : 아웃풋바이트크기

설정하지 않으면 두 개의 크기가 동일하게 설정됨

tar (Tape ARchive) : 지정한 데이터 및 디렉토리를 하나의 파일로 만듦. 사실상 압축파일이 아닌 여러개 파일을 하나로 묶는 개념
압축에 소비되는 시간, cpu가 적으나 용량압축이 거의 없다

압축
tar -cvzf [파일이름][압축할 파일 이름들...]

압축 목록 확인
jar -tvf [파일이름]

압축 풀기
tar -xvzf [파일이름]

원하는 위치에 압축 풀기
tar -xvzf FILENAME.tar -C 경로

 

 

tar.gz : 합쳐진 tar파일을 압축하는 방식으로 가장 좋은 압축 옵션
용량 압축이 높지만 cpu는 많이 소비되지 않음.
tar.bz2 보다는 용량압축이 낮다.
※tgz : tar 압축파일 확장자 tar+gz

zip : 윈도우 환경에서 가장 일반적으로 사용되는 압축 확장자.
거의 모든 os환경에서 호환되나 용량 압축이 낮음.

압축
zip -r FILENAME.zip FILENAME

압축 풀기
unzip FILENAME.zip

※ jar tar 의 차이점
jar는 tar와 사용법이 동일하지만 tar의 경우 압축이 아닌 단순 파일을 묶는 것으로 파일 용량은 그대로인 반면, jar의 경우 압축도 하기 때문에 파일 용량이 줄어든다.

 

프로세스 관련 명령어

ps(Process Status) : 시스템에서 실행중인 프로세스에 대한 정보를 출력

ps -ef : 현재 실행되고 있는 프로그램 리스트 보기

ps aux : 현재 실행되고 있는 프로그램 리스트 보기, 사용중인 메모리 확인도 가능, 백그라운드 실행중인 프로그램까지 확인

ps axfwwwww : ps aux 출력시 명령어 부분을 자르지 않고 출력하기 위함
w를 길게 쓸수록 출력 글자수가 길어짐.

ps aux | grep 프로그램명 : 실행중인 프로그램 중에서 특정 프로그램만 찾기

pstree(Precess Status TREE) : 시스템에서 실행 중인 프로세스에 대한 정보를 트리구조로 출력
반응형

'OS > LINUX' 카테고리의 다른 글

1. daemon  (0) 2024.05.14