2023. 2. 1. 13:04ㆍDEV
이번 포스팅에서는 리눅스 명령어에 대해서 정리를 해보겠습니다.
현재 작업 중인 디렉토리 정보 출력 : 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’
더 많은 명령어가 있겠지만 추후에 업데이트를 하겠습니다.
여기까지 읽어주셔서 감사합니다.
'DEV' 카테고리의 다른 글
husky를 이용해서 git hook 관리하기(feat. eslint, commitlint) (0) | 2023.02.10 |
---|---|
2022년 어느 개발자의 회고 (0) | 2023.01.30 |
2021년 어느 개발자의 첫 회고 (0) | 2021.12.31 |