티스토리 뷰

Linux

리눅스 기본 명령어/자주 쓰는 명령어

단미라이프 2022. 2. 24. 18:04
반응형

 

pwd (print working directory)

현재 작업중인 디렉토리 정보 출력
$ pwd
/home/test

 

mkdir (make directory)

디렉토리 생성
  •  p  : 옵션을 주면 하위 디렉토리까지 한 번에 생성 가능
$ mkdir testdir
$ ls
testdir

 

touch

파일이나 디렉토리가 존재하지 않으면 빈 파일 생성
$ touch testfile1

$ ls -l
total 4
drwxrwxrwx 2 root root 4096  2월 24 16:01 testdir
-rw-r--r-- 1 root root    0  2월 24 16:07 testfile1

 

ls (list)

디렉토리 목록 확인
  •  -a  : 옵션 (all) 숨겨진 파일이나 디렉토리도 보여줌
  •  -l  : 옵션 (long) 자세한 내용(퍼미션(권한), 포함된 파일수, 소유자, 그룹, 파일크기, 수정일자, 파일이름)을 출력
  •  -S  : 옵션 (size) 파일 크기 순으로 정렬하여 출력
  •  -r  : 옵션 (reverse) 거꾸로 출력
  •  -R  : 옵션 (recursive) 하위 디렉토리까지 출력
$ ls
testdir/  testfile1  testfile2  testfile3

$ ls -l
total 4
drwxrwxrwx 2 root root 4096  2월 24 16:01 testdir
-rw-r--r-- 1 root root    0  2월 24 16:07 testfile1
-rw-r--r-- 1 root root    0  2월 24 16:20 testfile2
-rw-r--r-- 1 root root    0  2월 24 16:20 testfile3


$ ls -a
.  ..  testdir  testfile1  testfile2  testfile3


$ ls -al
total 12
drwxr-xr-x 3 root root 4096  2월 24 16:20 .
drwxr-xr-x 5 root root 4096  2월 24 15:59 ..
drwxrwxrwx 2 root root 4096  2월 24 16:01 testdir
-rw-r--r-- 1 root root    0  2월 24 16:07 testfile1
-rw-r--r-- 1 root root    0  2월 24 16:20 testfile2
-rw-r--r-- 1 root root    0  2월 24 16:20 testfile3


$ pwd
/home/test

 

cd (change directory)

경로 이동
절대 경로와 상대 경로로 이동 가능
$ cd /home/test/testdir
$ pwd
/home/test/testdir

$ cd ..
$ pwd
/home/test

 

cp (copy)

파일 혹은 디렉토리를 복사

 

  •  -i  : 복사될 파일이 이름이 이미 존재할 경우, 사용자에게 덮어 쓰기 여부를 묻기
  •  -b  : 복사될 파일이 이름이 이미 존재할 경우, 백업파일을 생성
  •  -f  : 복사 될 파일이 이름이 이미 존재 할 경우, 강제로 덮어쓰기
  •  -r : 하위 디렉토리 까지 모두 복사
  •  -a  : 원본 파일의 속성, 링크 정보까지 모두 복사
  •  -p   : 원본 파일의 소유자, 그룹, 권한 등의 정보까지 모두 복사
  •  -v   : 복사 진행 상태를 출력

 

$ cp testfile1 testfile_cp
$ ls
testdir/  testfile1  testfile2  testfile3  testfile_cp

$ cp -r testdir testdir_cp
$ ls
testdir/  testdir_cp/  testfile1  testfile2  testfile3  testfile_cp

 

mv (move)

파일 혹은 디렉토리 이동
실제로 원하는 위치로 이동할때도 사용하지만, 이름을 변경하는 용도로도 사용
cp와는 달리 디렉토리를 이동할때도 별다른 옵션이 필요 없음
$ ls
testdir/  testdir_cp/  testfile1  testfile2  testfile3  testfile_cp

$ mv testfile1 testfile_mv
$ ls
testdir/  testdir_cp/  testfile2  testfile3  testfile_cp  testfile_mv


$ mv testfile_mv testdir/
$ ls
testdir/  testdir_cp/  testfile2  testfile3  testfile_cp

$ ls testdir/
testfile_mv

 

rm (remove)

파일이나 디렉토리를 삭제

 

  •  -f  : 강제로 파일이나 디렉토리를 삭제하고 대상이 없는 경우에는 메시지를 출력하지 않음
  •  -r  : 디렉토리 내부의 모든 내용을 삭제
  •  -d  : 비어있는 디렉토리들만 제거
  •  -i  : 삭제 여부 묻기
  •  -l  : 3개의 이상의 파일을 삭제하거나 디렉토리 내부가 비어있지 않을때만 삭제 여부 묻기
  •  -v  : 삭제되는 대상의 정보를 출력

 

$ ls
testdir/  testdir_cp/  testfile2  testfile3  testfile_cp

$ rm -f testfile_cp
$ ls
testdir/  testdir_cp/  testfile2  testfile3

$ rm -rf testdir/
$ ls
testdir_cp/  testfile2  testfile3

 

cat (concatenate)

단순히 파일의 내용을 출력하거나
파일 여러개를 합쳐서 하나의 파일로 만들 수도 있음
기존 파일의 내용을 다른 파일에 덧붙일수도 있음
새로운 파일을 만들때에도 사용
  • 파일 합치기 : cat 파일명1 파일명2 > 파일명3
  • 파일 내용 덧붙이기 : cat 파일명1 >> 파일명2 
$ cd testdir_cp
$ pwd
/home/test/testdir_cp

$ ls
file1  file2  file3

$ cat file1
1

$ cat file2
2

$ cat file3
3

cat file1 file2 > file3
$ ls
file1  file2  file3

$ cat file3
1
2

$ cat file1 >> file2
$ cat file2
2
1

$ cat > file4
hello
world
(작성이 끝나면 ctrl +d 로 파일 저장)

$ cat file4
hello
world

 

 

반응형

head

파일의 앞부분부터 보고싶은 줄 수만큼 보여줌
옵션을 지정하지 않으면 파일 상위 10줄
$ cat testfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

$ head -3 testfile
1
2
3

 

tail

파일의 뒷부분을 보고싶은 줄 수만큼 보여줌
옵션을 지정하지 않으면 파일 하위 10줄
  •  -F  : 파일 내용을 화면에 계속 띄워주고 새로운 업데이트된 내용을 갱신
    주로 실시간으로 내용이 추가되는 로그파일을 모니터링할때 유용하게 사용
$ cat testfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

$ tail -3 testfile
13
14
15

$ tail testfile
6
7
8
9
10
11
12
13
14
15

$ tail -F testfile
6
7
8
9
10
11
12
13
14
15
(명령어가 종료되지 않고 계속 해당 화면을 출력하며, 파일 내용 변경시 자동으로 갱신해준다)

 

find

특정 파일이나 디렉토리를 검색
find [검색경로] -name [파일명]
$ ls
dir1  dir2  file1  file2  pic1.jpg  pic2.jpg

$ find ./ -name 'file1'
./file1

$ find ./ -name "*.jpg"
./pic1.jpg
./pic2.jpg
  •  exec  : 옵션을 사용해 해당 파일만 바로 삭제 가능
$  find ./ -name "*.jpg" -exec rm {} \;

$ ls
dir1  dir2  file1  file2
  •  -type  : 디렉토리나 파일만 지정해서 검색
$ find ./ -type f
./file2
./file1

find . -name "*1" -type f
./file1
  •  wc -l  : 특정 디렉토리에 find 조건에 맞는 결과 값이 몇개 존재하는지
$ find ./ -type f | wc -l
2
  •  sed  : 특정 조건에 해당하는 파일들의 내용을 전부 찾아서 바꾸는 것
    (txt 파일 안에 있는 ‘hi’ 라는 문자열을 ‘hello’로 바꾸기)
$ cat dir1/test.txt
hi

$ find ./ -name "*.txt" -exec sed -i 's/hi/hello/g' {} \;
$ cat dir1/test.txt
hello

 

history

이전에 입력 한 명령어 확인
만약 이전에 동일한 명령을 실행하려면, 키를 눌러 선택

 

clear

터미널 화면 지우기 

 

man

명령에 대한 매뉴얼
  •  q  :  나가기 (quit)
  •  h  :  man 사용법 확인 (help)
  •  ↑    ,   엔터키  : 한줄씩 넘기기
  •  Page Up  ,  Page Down 스페이스바  : 한 페이지씩 넘기기
  •  /  : 내용 문자 검색
     n  : 다음문자 찾기
     N  : 이전문자 찾기
$ man rm
/-r

 

반응형
댓글
반응형
공지사항