리눅스 명령어

2023. 2. 1. 13:04DEV

반응형

이번 포스팅에서는 리눅스 명령어에 대해서 정리를 해보겠습니다.

현재 작업 중인 디렉토리 정보 출력 : pwd(print working directory)

$ pwd

경로 이동 : cd(change directory)

$ cd /home/test
$ pwd

/home/test

$ cd ..
$ pwd

/home

디렉토리 목록 확인 : ls(list)

  • F : 파일 유형을 나타내는 기호를 파일명 끝에 표시(디렉토리는 ‘/’, 실행 파일은 ‘*’, 심볼릭 링크는 ‘@’가 나타남)
  • l : 파일에 관한 상세 정보를 나타냅니다
  • a : dot 파일(.access 등)을 포함한 모든 파일 표시
  • t : 파일이 생성된 시간별로 표시
  • C : 도스의 dir/w 명령과 같이 이 한줄에 여러개의 정보를 표시
  • R : 도스의 dir/s 명령과 같이 서브디렉토리 내용까지
$ ls
$ ls -l
$ ls -a
$ ls -al

파일 혹인 디렉토리를 복사 : cp(copy)

(디렉토리를 복사할때는 -r 옵션을 추가)

$ ls

test/ testfile

$ cp testfile testfile2
$ ls

test/ testfile testfile2

$ cp -r test test2
$ ls

test/ test2/ testfile testfile2

파일 혹은 디렉토리 이동 : mv(move)

실제로 원하는 위치로 이동할때도 사용하지만, 이름을 변경하는 용도로도 사용한다. cp와는 달리 디렉토리를 이동할 때도 별다른 옵션이 필요없다.

$ ls

test/ testfile

$ mv testfile testfile2
$ ls

test/ testfil2

$ mv testfile2 test/
$ ls test/

$ ls test/
testfile2

디렉토리 생성 : mkdir(make directory)

(-p 옵션을 주면 하위 디렉토리까지 한 번에 생성 가능)

$ ls

testfile

$ mkdir test
$ ls

test/ testfile

$ mkdir -p a/b/c/d/e
$ ls -R a/

a/:
b/

a/b/c:
d/

a/b/c/d:
e/

a/b/c/d/e:

파일이나 디렉토리를 삭제 : rm(remove)

(디렉토리를 삭제할때는 r 옵션을 주어야한다. -f 옵션을 주면 사용자에게 삭제 여부를 묻지 않고 바로 삭제한다. 디렉토리를 삭제할 때에는 하위 디렉토리까지 모두 삭제되므로 유의 필요)

$ ls

test/ testfile testfile2

$ rm -f testfile
$ ls

test/ testfile2

$ rm -rf test/
$ ls

testfile2

디렉토리 삭제 : rmdir

$ rmdir test

파일이나 디렉토리의 최근 업데이트 일자를 현재 시간으로 변경 : touch

$ ls -l
total 0
--rw-r--r-- 1 test 197121 0 11월 6 22:08 testfile

$ touch testfile
$ ls -l
total 0

--rw-r--r-- 1 test 197121 0 11월 6 22:43 testfile

$ touch testfile2
$ ls -l
total 0

--rw-r--r-- 1 test 197121 0 11월 6 22:43 testfile
--rw-r--r-- 1 test 197121 0 11월 6 22:44 testfile2

cat(concatenate)

  • 파일의 내용을 출력
  • 파일 여러개를 합쳐서 하나의 파일로 만듦
  • 기존 한 파일의 내용을 다른 파일에 덧붙기
  • 새로운 파일을 만들기
$ ls

file1 file2 file2

$ cat file1
1

$ cat file2
2

$ cat file3
3

$ cat file1 file2 > file1_2
$ ls
file1 file1_2 file2 file3

$ cat file1_2
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

$ head testfile
1
2
3
4
5
6
7
8
9
10

파일의 뒷부분을 보고싶은 줄 수만큼 보여주기 : tail

옵션을 지정하지 않으면 파일 하위 10줄을 보여주고, -F 옵션을 주고 실행하면, 파일 내용을 화면에 계속 띄워주고 파일이 변하게 되면 새로운 업데이트된 내용을 갱신해준다. 주로 실시간으로 내용이 추가되는 로그 파일을 모니터링할 때 유용하게 사용할 수 있다.

$ cat testfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

$ tail -3 testfile
14
15
16

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

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

특정 파일이나 디렉토리 검색 : find

$ file [검색경로] -name [파일명]

 

파일명은 직접 풀 네임을 입력해도 되지만, 특정 조건을 적용해 검색할 수도 있다.

$ ls
dir1/ dir2/ dir3/ file1 file2 file3 img.jpg img2.jpg

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

$ find ./ -name '*.jpg'
./img.jpg
./img2.jpg

find 명령어를 이용해서 찾은 파일을 삭제할 수 있다.

$ find ./ -name '*.jpg' -exec rm {} \;
$ ls
dir1/ dir2/ dir3/ file1 file2 file3

find 명령어에 -type 옵션을 주면, 디렉토리나 파일만 지정해서 검색할 수 있다.

$ find ./ -type d
./
./dir1
./dir2
./dir3

$ find ./ -type f
./file1
./file2
./file3

find 명령어와 wc -l 옵션을 같이 사용하면 조건에 맞는 결과가 몇개 존재하는지 숫자로 확인할 수 있다.

$ find ./ -type f | wc -l
4

하드사용량 체크(chkdsk) : du

$ du
$ du -s directory_name

파일 permission 변경 : chmod

  • rwx : 처음 3개 문자 - 사용자 자신의 사용 권한
  • r-x : 그다음 3개 문자 - 그룹 사용자의 사용 권한
  • r-x: 마지막 3개 문자 - 전체 사용자의 사용 권한
  • 읽기(read) - 파일 읽기 권한
  • 쓰기(write) - 파일 쓰기 권한
  • 실행(execution) - 파일 실행 권한
$ chmod [변경모드] [파일]
$ chmod 666 test.tar.gz
# test.tar.gz 파일을 자신에게만 rwx 권한을 줌

$ chmod 766 test.tar.gz
# 자신의 모든 권한을 그룹사용자와, 전체사용자에게는 읽기와 쓰기 권한만 줌

별명 지정 : alias

alias ls ‘ls -al’

 

더 많은 명령어가 있겠지만 추후에 업데이트를 하겠습니다.

여기까지 읽어주셔서 감사합니다.

728x90
반응형