컨테이너 -> SSH설정
비밀번호를 발급받고 명령어를 그대로 powershell에 복붙한다.
계속접속할꺼냐고 묻는데 yes로 넘어간다
그후 비밀번호를 입력한다 (비밀번호는 보이지 않으므로 shift+insert나 우클릭으로 붙여넣는게 좋다)
접속완료
sudo
root superuser 권한 현재는 subtitle
-r
recursive (해당폴더와 하위 모든것 포함)
-f
force 강제로 진행
참고한사이트
Aaron Toponce : The Meaning of 'su'
https://acloudguru.com/ | linux commands for beginners sudo
https://newbedev.com | best practices to alias the rm command and make it safer
sudo rm -rf /*
퇴사하기
man 명령어
명령어 메뉴얼 출력
alias
명령어 정의하기
alias ls='ls -a'
ls
를 ls -a
형태로 출력하도록 저장 풀려면 unalias ls
alias rm='rm -f'
이런거 위험
alias delete='rm -f'
명령어를 지정할수도 있다.
rm -rf folderIjustmade/
이렇게(?) 쓰는사람도 있다고한다.
https://stackoverflow.com/questions/19143006/why-does-anyone-think-alias-rm-rm-i-is-a-good-idea
ls
현재 디렉토리의 리스트를 출력한다.
ls -a
현재 디렉토리의 숨겨진 목록까지 출력한다.
ls -al
현재 디렉토리의 숨겨진 목록을 자세히 표기한다.
리빙포인트 :
Ctrl c
로 명령을 멈출 수 있다.
ls -R
을 실행하고 ls -a
나 ls -al
를 입력하면 보이지않던 디렉토리가 출력된다.
왜그런거지..
거기다 리스트 수도 total 84 로 늘어났다, 84개 있다는 소린데 짤린건 어떻게 보는지 모르겠다.
위에는 ~로 홈디렉토리고 아래는 /로 최상위 디렉토리이다. 그래서 달랐던것..
그렇다면 홈디렉토리는 어디일까
pwd
현재 경로를 알 수 있다
홈 디렉토리는 /root 였다.
cd
,cd ~
홈 디렉토리로 이동한다 여기에선 root@goorm:~
(/root
) 으로 가게된다cd ..
현재 디렉토리의 상위디렉토리로 이동cd -
이전 디렉토리로 이동cd /
최상위 디렉토리로 이동홈디렉토리랑 최상위 디렉토리는 root@goorm:~
root@goorm:/
로 구분되는것 같다
cd 절대경로
해당 경로의 디렉토리로 이동cd workspace/deloytest/resume
vi 파일경로/이름
으로 파일을 불러와 수정할 수 있다.
없는 경우엔 명령어에 입력된 이름으로 새로 만든다.
i
편집모드
o
커서깜빡이는 곳부터 한줄 아래로 내리고 편집모드 시작
s
커서깜빡이는 곳부터 수정모드로 편집시작 (삽입이 아니라 쓸때마다 삭제됨)
a
커서깜빡이는 곳 뒤부터 끼워넣기
shift a
맨 뒤에서 추가
shift v
여러줄 선택하기 y
눌러서 복사 p
누르면 붙여넣기
/찾을문자열
커서기준으로 아래로 문자열 찾기
n
목록위로찾기 N
목록 아래로 찾기u
실행취소
esc
편집모드에서 명령모드로 전환
:q
저장하지 않고 나가기
:wq
저장하고 나가기
:wq!
저장하고 나가기, 에러 발생시 무시
명령모드에서 dd
- 한줄 삭제
명령모드에서 yy
- 복사
명령모드에서 p
-한줄아래에 붙여넣기
cat 파일명
파일 내용 출력
more 대용량파일명
대용량 파일 열 경우 ls -al | more
이렇게 쓰는 것도 가능
enter
로 1행 아래로 이동가능z
또는 스페이스바
1페이지 다음페이지Shift + Insert
복사한 텍스트 붙여넣기 (클립보드 포함)
q
: 종료
enter
: 1행 아래로
b
: 이전페이지
=
: 현재 행번호 표시
v
현재 위치에서 vi실행
find ./ -name '파일이름'
해당 이름 찾기 , ./
안붙이면 모두 검색해버려서 결과만 몇분 출력한다.
grep 문자열
문자열을 포함한 개체 찾기
ps -e | grep abc
abc를 포함한 프로세스를 모든프로세스 중에서 찾기cat test.js | JavaScript
JavaScript를 포함한 프로세스를 모든프로세스 중에서 찾기U+0041
a:U+0061
mkdir a
a라는 디렉토리를 만든다.
touch a.txt
a.txt
의 타임스탬프를 바꾼다. a.txt
가 존재하지 않을 경우 a.txt
라는 파일을 만든다.
rm -r a
a 를 재귀적으로(하위폴더와 파일까지 포함하여) 삭제
rm -rf
강제로 재귀적 삭제 안쓸것 같지만 써야할때가 있다고 한다..
zip -r mm.zip ./a
a폴더와 그 안의 모든것들을 압축 -r(recursive)를 붙이지 않으면 폴더만 갖고와서 압축한다.
unzip mm.zip
mm.zip 압축해제
a > b
a를 b의 데이터에 덮어쓴다
echo "hello world"
hello world 라는 문자열 출력
echo "hello world" > test2.txt
echo "hello world"
출력값을 test.2.txt
파일에 쓰기
cat test2.txt
를 해보면 hello world라는 내용이 보인다.
mv a b
a를 b로 이동
a
디렉토리에 있는 test.txt
파일을 b
디렉토리에 옮기기
mv test.txt b/test.txt
혹은 mv test.txt b/
mv b/test.txt b
라고 입력한 경우
경로를 지정하지 않을 경우 현재위치기준으로 옮김
이름바꾸기
mv abc.txt xyz.js
abc.txt
를 xyz.js
로 이동
그러면 결과적으로 xyz.js
로 이름을 바꾼결과가 됨
ps
간단하게 현재 동작중인 프로세스를 나타낸다.
-ps aux
동작중인 모든 프로세스를 자세한 정보와 함께 나타낸다.
kill -option PID
해당 PID를 가지고 있는 프로세스를 -option에 따라 종료한다
-9 SIGKILL -15 SIGTERM 옵션을 지정하지 않을 경우 -15가 기본값이다.
-9 종료방법은 문제가 생길 수 있다고 합니다.
참고한 사이트
https://lesstif.com | Unix, Linux 에서 kill 명령어로 안전하게 프로세스 종료 시키는 방법
;
touch test2.txt;touch test3.txt
;
는 다른 명령을 실행하겠다라는 뜻 test2.txt 파일과 test3.txt파일이 생성된다.
touch test{3..5}.txt
touch test6.txt test7.txt
touch test88.txt&&touch test99.txt
이렇게 사용하기도한다.
|
앞에부분을 연채로 다음 명령을 실행하겠다라는 뜻
cat test.txt | grep "javascript"
test.txt에서 "javascript" 문자열 대소문자 구분해서 찾기
ps -e | grep abc
abc를 포함한 프로세스를 모든프로세스 중에서 찾기
리스트명령어에서 볼 수 있듯이 자유로운 명령어 조합이 가능
이거할때가 아닌데... Sass정리해야하는데...
안녕하세요 :) 구름입니다. 저희 서비스를 잘 사용해주고 계신 거 같아서 온라인으로 이야기 나누고 싶어 연락드리는데, 혹시 contact@goorm.io 로 연락주실 수 있을까요?