본문 바로가기
서버운영/Linux

[Linux] 파일, 디렉토리 명령어

by 바다의 공간 2024. 6. 25.

목차명

1. What is Linux?

2. Linux Basic Command

3. Linux System Management Command

4. Shell & Process & File System Management

5. Linux Testing [LPIC, Linux Master]


 

관리자 아이디 :: root

관리자 비밀번호  :: 12356


리눅스에서는 기본편집기(vi)라는 편집기로 작성을해야합니다.

vi는 일반적으로 사용하는 화면 편집기입니다. 

명령이 단순하지만 개발자환경과는 많이 달라서 적응하는데 시간이 조금 걸렸습니다.

 

<01. 파일 속성 확인>

#file [파일명]

예시)

#file file.txt

 

<파일종류>

파일 설명
- d (일반)파일
d 디렉터리
l 심볼릭링크
c 문자 장치 파일
b 블록 장치 파일

<02. vi 편집기>

>> 모드형 편집기

1) 명령 모드

2) 편집 모드

3) 실행 모드(ex모드)

 

#vi [파일명]

만약 파일명을 입력하지 않으면 명령모드로 들어가게 됩니다.

 

편집모드로 들어가려면(i, a, o)를 누릅니다.

=> 3개 중 하나만 누르면 됨

편집모드

다시 편집모드에서 명령모드로 전환하려면 (ESC)  --> 실행모드로 전환하려면 (:)콜론을 누릅니다.

편집모드에서는 실행모드로 바로 변경할 수 없습니다.

편집모드에서 나가기

명령어 설명
:q 끝내기
:w 저장하기
:wq 저장하고 나가기
:q! 강제로 나가기

 

 

<03. 명령모드(esc)에서 할 수 있는 것>

> 복사하는 명령어

명령어 설명
nyy n줄복사
ndd n줄삭제
dd 줄 삭제
10dd 10줄 삭제
u 편집 작업 되돌리기
ng n에 번호를 입력하고 g를 누르면 그 줄로 이동이 가능함
p 복사
:i 편집 작업 되돌리기
:set numver = :se nu 행번호가 생김
:set nonu = :set nonumber 행 번호 해지됨

 

 

<04. 실행모드에서할 수 있는 것>

모드 명령어 설명
마지막
행 모드


:q vi에서 작업한것이 없을때 vi 종료합니다.
:q! 작업한 내용을 저장하지 않고 종료합니다.
:w[파일명] 작업한 내용을 저장만 한다. 파일명을 지정하면 새 파일로 저장합니다.
:wq. :wq! 작업한 내용을 저장하고 vi를 종료합니다.
명령모드 ZZ (대문자) 작업한 내용을 저장하고 vi를 종료합니다.

 

<05. vi 입력모드로 전환하기>

명령키 설명
i 현재 커서 앞에 입력합니다.
a 현재 커서 뒤에 입력합니다.
o 커서가 위치한 행의 다음 행에 입력합니다.
I(대문자 i) 커서가 위치한 행의 첫 컬럼으로 이동하여 입력합니다.
A 커서가 위치한 행의 마지막 컬럼으로 이동하여 입력합니다.
O 커서가 위치한 행의 이전 행에 입력합니다.

<06. ls [옵션]>

참고로 명령어는 아닙니다. 편의상으로 쓰는 기능일뿐입니다!!!

사용예시) ls -a, ls -l ....

명령어 설명
-a 모든 파일/디렉터리 (숨겨진 파일/디렉터리)를 보여줌
-l 자세히 출력
-l [디렉터리명] 디렉터리 안의 파일/디렉터리 목록

 

이런식으로 옵션들을 확인할 수 있습니다.

ls는 옵션에 '-'이 붙습니다. 리눅스는 파일은 2가지가 있습니다.

숨김파일, 숨김 디렉터리로 구성되어있습니다.

 

<07. 파일/디렉터리 복사>

copy => cp로 표현함.

# cp [옵션] [원본파일/디렉터리] [복사본파일/디렉터리]

명령어 설명
cp *.txt dir3 txt로 끝나는 모든 파일을 dir3로 복사
cp * dir3 모든 파일을 dir3로 복사
cp file* dir3 file로 시작되는 모든 파일을 dir3으로 복사
cp -r 디렉터리 복사
cp -f 덮어쓰기 여부 묻지 않음
cp /etc/shadow /home/lhj /etc/shadow파일을 home/lhj로 cp(복사)하기

 

 

<08. 삭제>

remove => rm으로 표현함

명령어 설명
rm -rf 무조건 삭제
rm -rf* 모든 파일/디렉터리 삭제
rm -rf file* file로 시작되는 모든파일 삭제
rm -rf d* d**로 시작되는 모든 파일 삭제

<09. 날짜관련 명령어>

명령어 설명
date 오늘 날짜,시간[-u를 치면 국제 표준시를 확인할 수 있음]
cal 당월 달력
cal -y 현재년도 달력
cal -y 1997 1997년도 달력
cal 06 1997 1997년도 06월 달력
cal -3 6월을 기준으로 앞뒤로 3달표시 (5,6,7월 표시)
cal -yj 줄리안 이번달 n일인지 확인하기
cal -3j 앞뒤로 날짜 계산
date 05111530 월/일/시/분/ 로 날짜 변경 초까지 입력하면 .00을 치면됨
radate -s time.bora.net 현재 시간으로 갈 수있음
touch -t[년월일시분.초] [파일/디렉터리명] 파일/디렉터리 날짜/시간 변경
touch -t 2302242300.30 file.txt

cal -3j

 


<10. 파일생성, 파일명 변경>

명령어 설명
touch f{1..20}.txt f1~f20까지의 파일생성(20개)
touch f a f* f로 시작하는 모든 파일명을 'a'로 변경
rename .txt .bak f* f로 시작하는 모든 .txt확장자를 .bak으로 변경합니다
rename .txt. bak *.txt *.txt로 끝나는 모든 파일명을 *.bak으로 변경합니다

<11. 디렉토리 생성, 파일명 변경>

명령어 설명
mkdir dir{1..20} dir1~dir20까지의 파일을 생성(20개)

 

<12. 파일/디렉터리 삭제(일괄)>

명령어 설명
rm -rf a* b* a,b로 시작되는 모든 파일 /디렉터리 삭제
rm -rf [a-b]*
rm -rf a*c* a와 c로 시작되는 모든 파일/디렉터리 삭제
rm -rf [ac]*
rm -rf [^bd]* b와 d로 시작되는 모든 파일/디렉터리를 제외하고 모두 삭제
rm -rf[!bd]*
rm -rf[^ab]* a와 b로 시작되는 모든 파일/디렉터리 삭제
rm -rf[!a-b]

<13.cat을 활용한 파일 확인/생성/추가>

명령어 설명
cat [옵션] [파일명] 옵션 파일명 추가
-n 행번호 출력
-b 빈 행을 제외하고 행번호 출력

<14.cat을 활용한 덮어쓰기, 추가>

명령어 설명
cat file2.txt > file3.txt 파일 내용에 덮어쓰기
cat file2.txt >> file3.txt 파일 내용에 추가

<15. nl 활용, 좌측여백>

명령어 설명
nl file3.txt 행 번호 자동 출력


nl -w20 file3.txt 좌측 여백  20으로 줄 수 있음
nl -i2 passwd 행 번호 2씩 증가하여 출력

nl -i2 -v10 passwd 10행부터 2씩 증가


nl -i2 -v0 passwd 짝수로 증가 -v0 /
홀수는 -v1