일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- createtextnode
- FOR
- createElement
- VAR
- boolean
- htmlFor
- const
- Openlayers
- 학습법 #집중력
- appendChild
- Append
- Let
- input
- Today
- Total
Atomic Habits
리눅스 명령어 모음(유튜브) 본문
01:20 pwd, ls 명령어 : 현재 위치, 파일, 디렉토리 목록 출력
04:08 chmod 명령어 : 권한 변경
08:48 mkdir, touch, rm 명령어 : 디렉토리 생성, 빈 파일 생성, 삭제
09:33 cd 명령어 : 디렉토리 이동
12:29 mv 명령어 : 파일 이름 변경 및 이동
13:08 cp 명령어 : 파일 복사
14:16 ln 명령어 : 하드링크, 소프트링크 생성
22:34 cat 명령어 : 파일 출력
24:51 head, tail 명령어 : 머리글, 꼬리글 출력
26:30 grep 명령어 : 파일 내용 검색
27:35 less 명령어 : 파일 뷰어
29:22 tar 명령어 : 파일과 디렉토리 압축
31:15 sudo 명령어 : root 권한 명령어
32:56 chown 명령어 : 소유자, 그룹 변경
34:05 find 명령어 : 파일, 디렉토리 검색
35:22 which 명령어 : 명령어 위치 검색
35:39 top 명령어 : cpu, memory, process 상태 출력
36:30 w, who 명령어 : 서버 접속 정보 출력
36:48 ping 명령어 : 네트워크 상태 모니터링
38:17 ps 명령어 : 프로세스 상태 출력
39:47 kill 명령어 : 프로세스 죽이기
41:48 adduser, deluser 명령어 : 사용자 계정 생성, 삭제
43:34 uname, hostname, reboot, halt 명령어 : 기타 명령어
================ 파일/디렉토리 리스트 확인 ===================
1) 우분투 앱 실행
- 최초 실행 후 경로는 /hmoe/계정명
ytgo@DESKTOP-8B0ADNK:~$ pwd
/home/ytgo
- window c: 경로 접근 방법
ytgo@DESKTOP-8B0ADNK:~$ cd /mnt/c
ytgo@DESKTOP-8B0ADNK:/mnt/c$ pwd
/mnt/c
- 최상위 root 경로 이동 (c:로 이동한 상태에서도 가능)
cd /
01:20 pwd, ls 명령어 : 현재 위치, 파일, 디렉토리 목록 출력
ls -l : 파일 리스트 상세보기 , ls -al 숨겨진 파일 모두 보기
파일 리스트에서 .으로 시작하면 숨긴 파일
================ 파일/디렉토리 권한 변경 ===================
drwxrwxrwx 1 root root 4096 Nov 7 07:02 test
앞 root는 소유자 계정, 뒤 root는 그룹 계정, 4096 바이트크기, 최종 수정 날짜
개발 1팀 그룹에 ty 사원, sb 사원 등으로 관리 가능(그외 사용자 other)
- rwx rwx rwx : 777
d rwx r-x r-x : 755
l rwx r-- --- : 740
- : file, d : directory, l : Link
1st : user
2nd : group
3rd : other
--x : 읽고 쓰는 건 불가하나 실행은 가능
r-x : 읽고 실행은 가능하나 수정은 불가하나
111 : 3 bits ( 2^2 = 4 , 2^1=2 , 2^0 = 1 : 7, 4, 1 로 설정)
$ vi test.c (c 코드 작성)
chmod(change mode)
현재 rwx rwx r-x : 775
변경 rw- rw- r-- : 664
$ chmod 664 a.out (file.c의 컴파일된 결과 파일 a.out)
$ ./a.out
-> 실행 할 수 없다는 에러
ytgo@DESKTOP-8B0ADNK:/mnt/c/it/test$ chmod 664 a.out
chmod: changing permissions of 'a.out': Operation not permitted
+, - 권한 빼고 더하기
$ chmod u-w a.out : user 에 a.out 파일에 대한 쓰기 권한 해제(-)
$ chmod g-x a.out : group 에 a.out 파일에 대한 실행 권한 해제(-)
$ chmod o+x a.out : other 에 a.out 파일에 대한 실행 권한 부여(+)
================ 파일/디렉토리 생성 및 제거 ===================
ytgo@DESKTOP-8B0ADNK:/mnt/c/it/test$ mkdir dir3
ytgo@DESKTOP-8B0ADNK:/mnt/c/it/test$ ls -l
-rwxrwxrwx 1 root root 16696 Nov 7 08:17 a.out
drwxrwxrwx 1 root root 4096 Nov 7 08:35 dir3
-rwxrwxrwx 1 root root 84 Nov 7 08:16 file.c
ytgo@DESKTOP-8B0ADNK:/mnt/c/it/test$ touch file3 : 빈 파일 생성
ytgo@DESKTOP-8B0ADNK:/mnt/c/it/test$ rm -f file3 : 파일 삭제
ytgo@DESKTOP-8B0ADNK:/mnt/c/it/test$ rm -r dir3 : 폴더 삭제
================ 경로 탐색 및 이동 ===================
현재 경로 확인 : pwd
/ : 절대 경로
./ : 현재 위치
../ : 현재 위치 상위
~/ : Home 위치 기준
절대경로 기준 cd /home/guest1/dir1
현재위치 기준 cd ./dir1
홈 경로 기준 cd ~/dir1
최상위 계층으로 이동 : cd /
상위 폴더로 이동 : cd .. , cd ../
본 계정의 home directory로 이동 : cd
================ 파일명 변경, 이동, 복사 ===================
mv oldName newName : 파일명 변경
mv dir1 ./dir3/dir4 : dir1을 현재 폴더 의 dir3 아래 dir4 안으로 이동
cp t1.txt t2.txt : t1과 같은 파일을 t2 라는 이름으로 복사
cp t1.txt ../t2.txt : 상위 폴더에 t2 라는 이름으로 복사
cp -R dir1 dir3 : 폴더 복사
cp -r a/b x/y/
b폴더 자체를 x/y/b로 복사하고 b 내부 파일까지 함께 복사한다.
-> x/y/b/f1.txt, f2.txt
cp /a/b/* x/y/
b 하위 파일만 복사한다.
-> x/y/f1.txt, f2.txt
================ 하드, 소프트 링크 ===================
<소프트 링크>
1) 빈 파일을 배포되는 라이브러리라고 간주하고 생성하자
touch library.0.1.so
2) 소프트링크 파일인 library.so은 library.0.1.so 을 참조하게 하자.
ln -s library.0.1.so library.so (존재하지 않으면 library.so는 자동 생성됨)
3) 새로 배포되는 라이브러리2를 생성하자
touch library.0.2.so
4) 기존 링크 파일인(참조하는) library.so는 제거하자
rm -f library.so
5) 다시 library.so 가 새로 배포되는 library.0.2.so 를 참조하게 하자.
ln -s library.0.2.so library.so
6) 확인(ls -l)
-rw-r--r-- 1 ytgo ytgo 0 Nov 7 09:38 lib.0.1.so
-rw-r--r-- 1 ytgo ytgo 0 Nov 7 09:41 lib.0.2.so
lrwxrwxrwx 1 ytgo ytgo 10 Nov 7 09:42 lib.so -> lib.0.2.so
7) 개발자들은 0.1버전에서 0.2버전으로 바뀌더라도
계속 lib.so 파일을 참조(링크)해서 개발하면 된다.
* library.so가 참조하는 원본 library.0.2.so 가 삭제되면
소프트링크 파일인 library.so는 참조할 대상이 없어져 링크가 깨진다.
아무런 역할을 하지 않게된다.
<하드 링크>
1) 원본 file1, 복사본 myfile을 생성하자.
touch file1 생성한 후, myfile은 하드링크로 새로 생성한다.
ln file1 myfile (일종의 복사가 되며 같은 저장 위치를 바라봄)
2) ls -li 로 inode 번호를 확인하자.
file1 myfile 2개의 inode가 동일
-> 하나의 파일을 수정하면 둘다 수정됨(같은 저장 위치를 바라봄)
3) 둘 중 하나를 삭제하면, 나머지 하나는 그대로 남아 있음.
================ cat 표준 출력 ===================
man cat : cat 명령어의 메뉴얼 보기
cat test.c : 파일 내용 출력
cat test.c | more : 더 긴 화면까지 보기(space 누르면 다음 화면 이동)
cat test1.txt > t2.txt : 복사(t2.txt 존재 시 덮어쓰기)
cat test1.txt >> t2.txt : t2의 마지막 라인에 추가
(cp와는 달리 디렉토리를 복사할 수는 없음)
$ ls | xargs cat > total.txt :
ls의 결과를 xargs로 전달해서 cat t1 t2 t3 > total 과 같은 형식으로 파일 병합
[https://do-study.tistory.com/75]
================ find ===================
find .(현재경로) -name system.log : 현재 디렉토리 아래 해당 파일이 어디에 있는지 찾기
현재 디렉토리 경로 기준으로 하위 디렉토리 포함 경로 내 모든 텍스트 파일을 출력하는 명령어
find . -type f -name '*.txt' -exec cat {} +
find . -type f -exec cat {} + :
find . -name '*t*' -type f : 이름 중간에 t, 파일인 경우 출력하라
./t1.txt
./t2.txt
./t3.txt
find . -iname '*t*' -type f | xargs cat > new.txt :
iname : 대소문자 구분없이 이름에 t가 들어간, f 파일 목록을 xargs로 넘기고
cat으로 합쳐서 new.txt에 저장하라.
텍스트 파일을 모두 연달아서 출력하고 output.txt 에 그 모든 텍스트를 하나로 합쳐서 저장하라.
find . -type f -name '*.txt' -exec cat {} + > output.txt
[https://bear1227.tistory.com/15] 현재 디렉토리 기준 모든 텍스트 파일 출력 및 합치기
[https://jhnyang.tistory.com/144] find 옵션 상세 예시
find . -iname '*.txt' -exec rm {} + : 텍스트 파일은 모두 삭제하라.
{}는 -exec의 결과가 rm 뒤 {}에 들어간다는 의미.
$ find . -name '*.txt' -exec grep 'aa' {} +
./new.txt:aaa1
./t2.txt:aaa1
: 텍스트 파일을 모두 exec 실행해서 aa가 들어간 행이 있는 파일과 행을 출력하라
find . -name '*.txt' -exec grep 'aa' {} \;
+대신 \; 을 쓰면 어느 파일인지는 알려주지 않음
aaa1
aaa1
================ head/tail ===================
head n1.txt : 위 10행만 출력
tail n1.txt : 아래 10행만 출력
tail -f system.log : -f 옵션으로 trace 걸기
echo "error message!" >> system.log (다른 터미널 창에서 추가)
-> 에러 메세지가 log의 마지막에 추가되는 순간 실시간으로 메세지가 출력된다.
================ grep ===================
원하는 문자열 검색
grep xx *.txt : xx라는 문자열 포함되고 .txt로 끝나는 파일에 있다면 출력하라.
grep -H xx *.txt
n1.txt:xx12
n1.txt:xx1
new.txt:xx1123
t3.txt:13xx11
grep -w a1 *.txt : 정확하게 a1과 일치하는 것만 찾는다.
================ less ===================
vim으로 용량 1GB파일을 오픈하면 메모리에 1GB가 올리가서 과부하.
원격으로 1GB 파일을 vim으로 오픈하면 네트워크 트래픽 문제 발생한다.
less는 읽기 전용이지만, 화면에 출력되는 만큼만 20~30kb 정도 읽고
메모리에 업로드되므로, cpu, 메모리, 네트워크 자원낭비가 없다.
q : 빠져나오기
less new.txt
[텍스트 모드 시에 단축키]
PAGE UP 또는 b : 한 페이지 위로
PAGE DOWN 또는 Space bar : 한 페이지 아래로
위 방향키 : 한 줄 위로
아래 방향키 : 한 줄 아래로
1G 또는 g : 텍스트 파일의 처음 부분으로 이동
G : 텍스트 파일의 마지막 부분으로 이동
/문자열 : 입력된 문자열 찾기
n : 이전 검색어의 다음 찾기 shift+n 위로 찾기
h : 도움말 보기
q : 프로그램 종료
https://www.youtube.com/watch?v=9_KIdQ8abH4
29:26
================ ===================
================ ===================
================ ===================
================ ===================
================ ===================
================ ===================
================ ===================
================ ===================
================ ===================
================ ===================
================ ===================
================ ===================
================ ===================
================ ===================
04:08 chmod 명령어 : 권한 변경
08:48 mkdir, touch, rm 명령어 : 디렉토리 생성, 빈 파일 생성, 삭제
09:33 cd 명령어 : 디렉토리 이동
12:29 mv 명령어 : 파일 이름 변경 및 이동
13:08 cp 명령어 : 파일 복사
14:16 ln 명령어 : 하드링크, 소프트링크 생성
22:34 cat 명령어 : 파일 출력
24:51 head, tail 명령어 : 머리글, 꼬리글 출력
26:30 grep 명령어 : 파일 내용 검색
27:35 less 명령어 : 파일 뷰어
29:22 tar 명령어 : 파일과 디렉토리 압축
31:15 sudo 명령어 : root 권한 명령어
32:56 chown 명령어 : 소유자, 그룹 변경
34:05 find 명령어 : 파일, 디렉토리 검색
35:22 which 명령어 : 명령어 위치 검색
35:39 top 명령어 : cpu, memory, process 상태 출력
36:30 w, who 명령어 : 서버 접속 정보 출력
36:48 ping 명령어 : 네트워크 상태 모니터링
38:17 ps 명령어 : 프로세스 상태 출력
39:47 kill 명령어 : 프로세스 죽이기
41:48 adduser, deluser 명령어 : 사용자 계정 생성, 삭제
43:34 uname, hostname, reboot, halt 명령어 : 기타 명령어
'IT > Linux-Vim' 카테고리의 다른 글
[sed] 문자열 치환하기 (0) | 2021.12.01 |
---|---|
VI 에디터 사용법[표] (0) | 2021.12.01 |
DOS 명령어 (2) | 2021.11.08 |
리눅스(우분투) 설치 및 간단 명령어 (0) | 2021.11.07 |
Vim 사용법 (0) | 2021.11.07 |