[2024.06.22]
[기본 명령어]
01. 파일 속성
#file [파일명]
ex) #file file.txt
02. 파일/디렉터리 목록 출력
#ls [옵션]
#ls -l [디렉터리명] <-- 디렉터리 안의 파일/디렉터리 목록
*alias를 사용하게 되면 실제로 사용할 수 있는 유용한 단축 명령어들이 모아져 있다
예시로 ls -l dir1을 입력하게 되면,
dir1에 들어 있는 파일과 디렉터리를 확인할 수 있다
<옵션>
-a: 모든 파일/디렉터리(숨김 파일/디렉터리) 출력
-l: 자세히 출력
ex)
03. 파일/디렉터리 복사
#cp <옵션> [원본 파일/디렉터리] [복사본 파일/디렉터리]
#cp *.txt dir3 <-- .txt로 끝나는 모든 파일을 dir3로 복사
#cp * dir3 <-- 모든 파일을 dir3로 복사
#cp file* dir3 <-- file로 시작하는 모든 파일을 dir3로 복사
#cp /etc/shadow home/yrg <-- /etc/shadow 파일을 /home/yrg 디렉터리로 복사
[root@localhost yrg]#cp /etc/passwd .
[root@localhost etc]# cp passwd shadow /home/yrg <-- passwd shadow 파일을 한 번에 /home/yrg 디렉터리로 복사
<옵션>
-r: 디렉터리 복사
ex)
해당 명령어의 기능은 file1.txt를 file11.txt로 복사하는 역할을 한다
내용까지 그대로 복사되기 때문에 확인해 보면 파일 이름만 다를 뿐 내용은 같다
디렉터리에도 복사가 가능한데 이미 있는 파일이라면 덮어쓰기 유무를 묻는다
*해당 명령어처럼 사용해도 되지만 길어서 잘 사용하지 않는다
*.txt는 모든 .txt 파일을 dir3의 디렉터리에 복사한다는 뜻이다
-r 명령어는 디렉터리 복사로 화면처럼 사용할 수 있다
04. 파일/디렉터리 삭제
#rm -rf * <-- 모든 파일/디렉터리 삭제
#rm -rf file* <-- file로 시작하는 모든 파일/디렉터리 삭제
05. 날짜/시간 변경
#date [월일시분.초]
#date 05111530.00
*해당 명령어는 CentOS7에서는 지원하지만 로키에서는 지원 중단됨(시험에서 자주 나옴)
> 파일/디렉터리 날짜/시간 변경
#touch -t [연월일시분.초] [파일/디렉터리명]
#touch -t 2302242300.30 file.txt
06. 파일 생성
#touch f{1..20}.txt <-- f1~f20까지 파일 생성(20개)
#rename f a f* <-- f로 시작하는 모든 파일명을 'a'로 변경
#rename .txt .bak *.txt <-- *.txt로 끝나는 모든 파일을 *.bak로 변경
#rename .txt.bak *.txt <-- *.txt 끝나는 모든 파일명을 *.bak로 변경
ex)
07. 파일/디렉터리 삭제(일괄)
#rm -rf a* b* <-- a와 b로 시작되는 모든 파일/디렉터리 삭제
#rm -rf [a-b]* <-- a와 b로 시작되는 모든 파일/디렉터리 삭제
#rm -rf a* c* <-- a와 c로 시작되는 모든 파일/디렉터리 삭제
#rm -rf [ac]* <-- a와 c로 시작되는 모든 파일/디렉터리 삭제
#rm -rf [^bd]* <-b와 d로 시작되는 모든 파일/디렉터리를 제외하고 삭제
#rm -rf [!bd]* <-b와 d로 시작되는 모든 파일/디렉터리를 제외하고 삭제
#rm -rf [^a-b]* <-a와 b로 시작되는 모든 파일/디렉터리를 제외하고 삭제
#rm -rf [!a-b]* <-a와 b로 시작되는 모든 파일/디렉터리를 제외하고 삭제
ex)
08. 파일 확인/생성/추가
#cat [옵션] [파일명]
> (파일 내용) 덮어쓰기
#cat file2.txt > file3.txt
> (파일 내용) 추가
#cat file2.txt >> file3.txt
<옵션>
-n: 행 번호 출력
-b: 빈 행을 제외하고 행 번호 출력
#nl <옵션> [파일명]
#nl file.txt <-- 행 번호 자동 출력
#nl -w20 file.txt <-- 좌측 여백 20으로 지정
#nl -i2 passwd <-- 행 번호 2씩 증가하여 출력
#nl -i2 -v10 passwd <-- 10행부터 2씩 증가하여 출력
#nl -i2 -v0 passwd <-- 짝수로 증가하여 출력
#nl -i2 -v1 passwd <-- 홀수로 증가하여 출력
ex)
--------------------------------------------------------------------
[vi 편집기]
> 모드형 편집기
1) 명령 모드
2) 편집 모드
3) 실행 모드(ex 모드)
#vi [파일명]
> vi 편집기 실행 시 명령 모드 --> 편집 모드(i, a, o) --> 명령 모드로 전환(ESC) --> 실행 모드(:)
<편집 모드>
> i, a, o
<명령 모드>
> 복사
nyy: n줄 복사
ndd: n줄 삭제
nG: n번째 줄로 이동
G: 문서 끝으로 이동
p: 붙여넣기
u: 편집 작업 되돌리기
<실행 모드>
:q <-- 저장하지 않고 나가기
:wq <-- 저장하고 나가기
: q! <-- 강제로 저장하지 않고 나가기
:wq! <-- 강제로 저장하고 나가기
:w <-- 저장하기
x: <-- 저장하고 나가기
:se nu <-- 행 번호 붙이기
:set number
set nonu <-- 행 번호 해제
:set nonumber
> 숨김 파일/디렉터리
#touch .file
#mkdir .dir
---------------------------------------------------------------
<파일 종류>
-: (일반) 파일
d: 디렉터리
l: 심볼릭 링크
c: 문자 장치 파일
b: 블록 장치 파일
강의 소감
오늘도 리눅스 기본 명령어에 대해 여러 가지를 배웠다
아직 타이핑에 익숙하지 않고 명령어가 많아서 많이 연습해 봐야겠지만
정보 보안 수업을 듣다 보니까 아는 명령어들도 몇 개 나와서 반가웠다
하려는 공부에 있어서 도움이 되도록 오늘도 열심히 해야겠다