-
[Chapter1] 리눅스의 추억5(feat. 막힘없이 실무까지)Backend/LINUX 2022. 6. 27. 23:36
본 포스팅은 2020년에 작성했던 포스팅입니다, blog를 이관하게 되어 재포스팅 하였습니다.
※ 아래 포스팅은 제가 수강하였던 동영상 강의, 각종 블로그 혹은 공식 홈페이지에서 습득한 자료들 제 나름대로 재구성하여 포스팅 한 자료입니다. 잘못된 내용이 있을 수도 있습니다. 최대한 글 읽으시는 시간이 헛되지 않게 검토하여 올리겠습니다. 편하게, 재미있게 제 글을 읽어주셨으면 좋겠습니다. 틀린 부분이 있으면 댓글이나 메일 주시면 수정하여 놓겠습니다. 제 글을 읽어주셔서 감사합니다^^
- 목차 -
Chapter1. 리눅스 맛보기
Chapter2. 리눅스 활용하기
Chapter3. 리눅스 개발 및 운영하기
(12) 파일 다루기 - 파일 만들기, 조회하기, 삭제하기
(12)-1.touch
sudo touch test3.txt test4.txt
저번 시간에 언급하긴 했지만 touch 명령어는 위와 같이 여러 개의 파일을 만들 수도 있고,
아래와 같이 특정 '확장자'를 선택해서 조회할 수도 있습니다.
리눅스에서는 와일드카드(*)를 쓸 일이 많은 것 같습니다.
ls *.txt
(12)-2.more
brandon@brandon-VirtualBox:/test-folder$ ls test1.txt test2.txt test3.txt test4.txt brandon@brandon-VirtualBox:/test-folder$ more test1.txt brandon@brandon-VirtualBox:/test-folder$ more /var/log/syslog Sep 8 19:34:26 brandon-VirtualBox anacron[675]: Job `cron.daily' terminated Sep 8 19:38:55 brandon-VirtualBox dhclient[808]: DHCPREQUEST of 192.168.58.101 on enp0s8 to 192.168.58.100 por t 67 (xid=0x3e8a2674) . . . .
more라는 명령어는 문자 그대로 더 많이 알려줍니다. 다른 공간으로 이동하지 않고 해당 프롬프트에서 cat으로 로그를 조회하듯 쭉쭉 보아냅니다. space bar로 아래로 내려가며 조회할 수 있습니다.
아무것도 없는 파일은 보려고 해도 아무것도 나오지 않고 위에서는 /var/log/syslog를 조회하였습니다.
(12)-3.less
brandon@brandon-VirtualBox:/$ less /var/log/syslog
이 명령어가 more과 다른 점은, 볼 것이 많은 파일에 less 명령어를 쓰면 새로운 프롬프트 참으로 이동합니다.
상/하/좌/우 방향 키로 navigation 가능하다는 점도 more 명령어와의 다른 점입니다.
(12)-4.rm
brandon@brandon-VirtualBox:/test-folder$ ls test1.txt test2.txt test3.txt test4.txt brandon@brandon-VirtualBox:/test-folder$ sudo rm test1.txt brandon@brandon-VirtualBox:/test-folder$ ls test2.txt test3.txt test4.txt
rm -rf, rm -r 이런 명령어는 지난 강좌에서도 언급했지만 자주 쓰는 명령어는 이렇게 간간이 반복하여 익숙해지시도록 하겠습니다. 폴더를 지울 때는 recursive의 -r을 써서 폴더 안의 폴더까지 지울 수 있습니다.
폴더든 파일이든 rm 명령어로 처리할 수 있습니다.
파일을 단순하게 조회하거나 만들고 싶다?
touch, cat / more / less
이렇게 기억해 주시면 될 것 같습니다
(13) 복사하기
(13)-1. 파일 복사하기
brandon@brandon-VirtualBox:/test-folder$ sudo cp test2.txt test22.txt brandon@brandon-VirtualBox:/test-folder$ ls test22.txt test2.txt test3.txt test4.txt test-folder2
cp 복사하고 싶은 파일 이름 새롭게 복사를 써놓고 싶은 파일 이름
이렇게 사용해 주시면 됩니다. copy의 약자입니다.
(13)-2. 파일을 폴더 안으로 복사
brandon@brandon-VirtualBox:/test-folder$ sudo cp test22.txt test-folder2/ brandon@brandon-VirtualBox:/test-folder$ ls test22.txt test2.txt test3.txt test4.txt test-folder2 brandon@brandon-VirtualBox:/test-folder$ cd test-folder2/ brandon@brandon-VirtualBox:/test-folder/test-folder2$ ls test22.txt
cp 복사하고 싶은 파일 이름 폴더 경로
위와 같이 사용할 수 있습니다. 여러 가지 파일들을 줄줄이 입력하고 맨 마지막에 폴더 이름만 입력해도 다 지정한 폴더로 꽂히기 때문에 mv를 입력하시는 게 조금 껄끄러우신(?)분들은 cp를 사용하여 파일을 다 복사하신 후에 확인하시고 지우셔도 좋을 것 같습니다. 솔직히 조금 번거로워도 안전한 게 좋은 것 같습니다 ㅎㅎ
(14).심볼릭 링크
심볼릭 링크라는 개념에 대해서는 잠깐 이야기를 드려야 할 것 같습니다.
여러분 혹시 Window 운영체제를 이용하실 때에 자주 쓰는 폴더가 너무 폴더의 깊숙하게 있어서
바탕화면에 바로 가기라는 기능을 우측 클릭하셔서 지정해보신 적이 있으신가요?
심볼릭 링크는 이름은 조금 더 간지나면서 바탕화면 바로 가기와 아주 비슷한 역할을 하는 놈이라고 보시면 됩니다.
심링크라고 불립니다.
brandon@brandon-VirtualBox:/test-folder/test1$ sudo ln -s hello.txt helloSymbolicLink brandon@brandon-VirtualBox:/test-folder/test1$ ls -al total 8 drwxr-xr-x 2 root root 4096 9월 8 19:56 . drwxr-xr-x 4 root root 4096 9월 8 19:53 .. -rw-r--r-- 1 root root 0 9월 8 19:51 hello2.txt lrwxrwxrwx 1 root root 9 9월 8 19:56 helloSymbolicLink -> hello.txt -rw-r--r-- 1 root root 0 9월 8 19:51 hello.txt
ln -s 심볼릭 링크로 지정하고 싶은 대상 심볼릭 링크 이름
위와 같이 지정하면 끝입니다.
(15) 리눅스의 매뉴얼, 간단하게 리눅스의 매뉴얼을 살펴보며 일하기
지금까지 아주아주 기초적이고 기본적인 명령어를 살펴보았는데요.
여러분 명령어를 사용하시면서 이런 생각이 들지 않으셨나요?
명령어 -주고싶은기능
이런 식으로 대시마 뒤에 쓰여있는 알파벳들 말이에요. 아무리 철자를 본따서 축약되어 있다고 해도 일일이 외울 수도 없는 노릇이고 어떻게 저걸 알지?라는 생각 말입니다. 저도 그런 생각을 했었습니다. 주위 사람들한테 여쭈어보시면 아마 '자주 쓰는 명령어는 정해져 있다'라는 답변을 많이 듣게 되실 겁니다. 그렇게 말씀 주신 개발자분들 말씀이 틀렸다는 것이 절대 아닙니다. 다만 저는 그냥 알고 싶었습니다. "볼 수 있는 곳은 없을까?" 정답은 man이라는 명령어에 있었습니다. man이라는 명령어는 manual라는 영단어를 축약시킨 명령어입니다.
man이라는 명령어 자체를 어떻게 사용하는지 알고 싶으시면 (매뉴얼의 사용법을 알고 싶으시면)
아래와 같이 입력하시면 됩니다.
brandon@brandon-VirtualBox:/$ man man
저희가 자주 쓰는 명령어인 ls에 대한 매뉴얼을 조회해볼까요?
brandon@brandon-VirtualBox:/$ man ls
그러면 아래와 같이 매뉴얼이 나옵니다 ...
LS(1) User Commands LS(1) NAME ls - list directory contents SYNOPSIS ls [OPTION]... [FILE]... DESCRIPTION List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort is specified. Mandatory arguments to long options are mandatory for short options too. -a, --all do not ignore entries starting with . -A, --almost-all do not list implied . and .. --author with -l, print the author of each file -b, --escape print C-style escapes for nongraphic characters --block-size=SIZE scale sizes by SIZE before printing them; e.g., '--block-size=M' prints sizes in units of 1,048,576 bytes; see SIZE format below -B, --ignore-backups do not list implied entries ending with ~ -c with -lt: sort by, and show, ctime (time of last modification of file status information); with -l: show ctime and sort by name; otherwise: sort by ctime, newest first -C list entries by columns --color[=WHEN] colorize the output; WHEN can be 'always' (default if omitted), 'auto', or 'never'; more info below -d, --directory list directories themselves, not their contents -D, --dired generate output designed for Emacs' dired mode -f do not sort, enable -aU, disable -ls --color -F, --classify append indicator (one of */=>@|) to entries --file-type likewise, except do not append '*' --format=WORD across -x, commas -m, horizontal -x, long -l, . . . . .
다음 시간에는 유저의 권한에 대해 알아보도록 하겠습니다.
리눅스를 사용하시는 분들, 저를 포함해서 유저의 권한에 대해서 잘 모르시는 분들이 많습니다.
저도 그냥 su -라는 명령어를 남발하곤 하니까요.
그런데 리눅스의 철학에 따른다면, sudo라는 명령어로 '권한'을 빌려서 일련의 작업들을 처리하는 것이 리눅스가 추구하는 방향이라고 하더군요. 다음 포스팅에서는 그 부분에 대해 다루어볼까 합니다.
Thanks for reading!
'Backend > LINUX' 카테고리의 다른 글
[Chapter1] 리눅스의 추억7(feat. 막힘없이 실무까지) (0) 2022.06.28 [Chapter1] 리눅스의 추억6(feat. 막힘없이 실무까지) (0) 2022.06.27 [Chapter1]리눅스의 추억4(feat.막힘없이 실무까지) (0) 2022.06.27 [Chapter1]리눅스의 추억3(feat.막힘없이 실무까지) (0) 2022.06.27 [Chapter1] 리눅스의 추억(feat. 막힘없이 실무까지) (0) 2022.06.27