λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

Linux

λ¦¬λˆ…μŠ€ λͺ…λ Ήμ–΄ 정리

  • SHELL?
    • μ‚¬μš©μžμ™€ OS(ubuntu)κ°€ λŒ€ν™”ν•˜κΈ° μœ„ν•΄μ„œ ν•„μš”ν•œ μ–Έμ–΄
  • clear : ν™”λ©΄μ˜ κΈ€μžλ“€μ„ μ—†μ• μ€Œ
  • pwd : ν˜„μž¬ μ–΄λŠ κ²½λ‘œμ— μžˆλŠ”μ§€ μ•Œλ €μ€Œ
  • cd : 폴더 이동을 ν•  λ•Œ μ‚¬μš©
    • cd .. : ν•œ μΉΈ μœ„λ‘œ 이동
    • cd {경둜} : {경둜}둜 이동
    • cd ubunut : /home/ubunut 둜 이동
    • μ ˆλŒ€κ²½λ‘œλ‘œ 이동('/' λΆ€ν„° μ‹œμž‘ν•΄μ„œ 이동), μƒλŒ€κ²½λ‘œλ‘œ μ΄λ™ν•˜λŠ” 방법이 있음 (ν˜„μž¬ μœ„μΉ˜λ₯Ό κΈ°μ€€μœΌλ‘œ 이동)
  • '/' : ubuntu μ΅œμƒμœ„ 경둜
  • ls : ν˜„μž¬ 폴더에 μžˆλŠ” λͺ¨λ“  파일과 ν΄λ”μ˜ μƒνƒœλ₯Ό λ³΄μ—¬μ€Œ (색상이 μžˆλŠ”κ²Œ 폴더)
    • ls -l : μžμ„Ένžˆ 보기 (μ•žμ— 'd' κ°€ λΆ™μ–΄μžˆμœΌλ©΄ 폴더, '-' κ°€ μ•žμ— λΆ™μ–΄μžˆμœΌλ©΄ 파일, 'lr'이 λΆ™μœΌλ©΄ μ†Œν”„νŠΈ 링크)
    • a or --all μ˜΅μ…˜ : 숨긴 파일(μ•žμ— '.'이 뢙은) 을 ν¬ν•¨ν•œ λͺ¨λ“  νŒŒμΌμ„ λ³Ό 수 있음
      • OS의 μ€‘μš”ν•œ νŒŒμΌλ“€μ€ 거의 λ‹€ 숨긴 파일
    • ls -al : λͺ¨λ“  νŒŒμΌμ„ μžμ„Ένžˆ 보기 (or - ls -la)
  • --help : λͺ¨λ“  λͺ…λ Ήμ–΄μ˜ μ‚¬μš©λ²•μ„ μ•Œλ €μ€Œ
  • mkdir {폴더λͺ…} : {폴더λͺ…}의 폴더λ₯Ό 생성
  • touch {파일λͺ….ν™•μž₯자} : {파일λͺ….ν™•μž₯자}의 νŒŒμΌμ„ 생성
  • rm : μ‚­μ œ λͺ…λ Ήμ–΄
    • -f : κ°•μ œ μ‚­μ œ μ˜΅μ…˜
    • -r : 디렉토리 μ•ˆμ˜ νŒŒμΌλ„ μ‚­μ œ (폴더 μ‚­μ œν•  λ•Œ μ‚¬μš©ν•΄μ•Ό 함, rm -r {폴더λͺ…}, rm {파일λͺ…})
  • command + c : μ·¨μ†Œν•  λ•Œ μ‚¬μš©
  • cp : 볡사 λͺ…λ Ήμ–΄
    • ex) cp a.txt b.txt
  • mv : 이동 λͺ…λ Ήμ–΄
    • ex) mv a.txt {μ ˆλŒ€ 경둜 or μƒλŒ€ 경둜}
    • ex) mv a.txt {μ ˆλŒ€ 경둜 or μƒλŒ€ 경둜}/{λ°”κΏ€ 파일λͺ….ν™•μž₯자} 도 κ°€λŠ₯ (경둜 μƒλž΅ μ‹œ 파일λͺ… λ³€κ²½λ§Œ μ‹€ν–‰)
  • ln : 링크 λͺ…λ Ήμ–΄
    • -s : μ†Œν”„νŠΈ 링크 μ˜΅μ…˜, λ°”λ‘œ κ°€κΈ° 파일(μ‹€μ œ 파일이 μ•„λ‹ˆλΌ 원본을 μ°Έμ‘°) 생성
      • ex) ln -s a.txt a-link.txt
      • ls -l 둜 쑰회 μ‹œ μ•žμ— "lr"이 λΆ™κ³  μ—°ν•œμƒ‰
      • /bin : μ‹€ν–‰νŒŒμΌμ΄ λͺ¨μ—¬μžˆλŠ” 곳이며 μ†Œν”„νŠΈ 링크둜 된 λ°”λ‘œκ°€κΈ° νŒŒμΌλ“€λ„ 많음
  • apt
    • νŒŒμΌμ„ λ‹€μš΄λ‘œλ“œ μ‚¬μš©ν•˜κΈ° μœ„ν•΄μ„  λ§Žμ€ 과정이 ν•„μš”
      • μ‚¬μ΄νŠΈμ—μ„œ wget으둜 λ‹€μš΄λ‘œλ“œ, tar μ••μΆ• ν’€κΈ° , .deb둜 μ„€μΉ˜ν•˜κΈ° ...
    • ubuntu repository
      • 각각의 ν”„λ‘œκ·Έλž¨μ΄ λͺ¨μ—¬μžˆμŒ
      • /etc/apt/sources.list.d에 λ ˆν¬μ§€ν„°λ¦¬ 경둜λ₯Ό λ“±λ‘ν•˜λ©΄ μ ‘κ·Ό κ°€λŠ₯
      • apt update둜 apt λͺ©λ‘(λ ˆν¬μ§€ν„°λ¦¬μ— μžˆλŠ” ν”„λ‘œκ·Έλž¨ λͺ©λ‘) 등둝 & κ°±μ‹  κ°€λŠ₯
      • apt install Aν”„λ‘œκ·Έλž¨ λͺ…λ Ήμ–΄λ‘œ μ„€μΉ˜
        • λ‹€μš΄λ‘œλ“œ ν›„ -> μžλ™ μ„€μΉ˜ (λ°©ν™”λ²½, ν™˜κ²½λ³€μˆ˜ λ“± μžλ™ μ„€μΉ˜)
    • PPA μ €μž₯μ†Œ (Personal Package Archive)
      • 개인 μ €μž₯μ†Œ
      • ubuntu repository에 μ—†λŠ” μ΅œμ‹  ν”„λ‘œκ·Έλž¨μ΄ 동기화 λ˜μ–΄μžˆμŒ
      • /etc/apt/sources.list.d 에 μ£Όμ†Œ 등둝
      • apt update μ‹œ PPA μ €μž₯μ†Œμ— μžˆλŠ” ν”„λ‘œκ·Έλž¨λ„ λͺ©λ‘μ— 등둝됨
      • "launchpad.net/ubuntu/+ppas" 검색 ν›„ μ›ν•˜λŠ” 자료 검색 κ°€λŠ₯
      • sudo add-apt-repository ppa:{μœ μ €id}/{ν”„λ‘œκ·Έλž¨ 이름}둜 ν”„λ‘œκ·Έλž¨μ„ λ¦¬μŠ€νŠΈμ— μΆ”κ°€ (apt update둜 κ°±μ‹  ν•„μš”)
        • /etc/apt/source.list.d의 λͺ©λ‘μ— ν”„λ‘œκ·Έλž¨μ΄ μΆ”κ°€ 됨 (cat으둜 열어보면 μ£Όμ†Œκ°€ λ‚˜μ˜΄)
        • 버전이 λ§žμ•„μ•Ό μ‚¬μš©ν•  수 있음
        • sudo add-apt-repository -- remove ppa:{μœ μ €id}/{ν”„λ‘œκ·Έλž¨ 이름} λͺ…λ Ήμ–΄λ‘œ μ‚­μ œ κ°€λŠ₯
    • apt list
      • apt의 λͺ¨λ“  λͺ©λ‘μ„ λ³Ό 수 있음
    • apt-cache : apt λͺ©λ‘ 쑰회 κ°€λŠ₯
      • ex) apt-cache search tomcat | grep tomcat
    • apt install {ν”„λ‘œκ·Έλž¨λͺ…} : {ν”„λ‘œκ·Έλž¨λͺ…}의 ν”„λ‘œκ·Έλž¨ μ„€μΉ˜
      • -y μ˜΅μ…˜ : μ„€μΉ˜ μœ λ¬΄μ— 'yes' 둜 λŒ€λ‹΅
      • ν”„λ‘œκ·Έλž¨λͺ…에 apt λͺ©λ‘μ— μžˆλŠ” 이름과 μΌμΉ˜ν•˜λŠ” 이름을 λ„£μ–΄μ€˜μ•Όν•¨
    • remove (μ„€μ • νŒŒμΌμ€ μ•ˆ 지움) or --purge remove (μ„€μ • νŒŒμΌκΉŒμ§€ λͺ¨λ‘ 지움)
  • sudo
    • super μœ μ €μ˜ κΆŒν•œμ„ μœ„μž„ λ°›μ•„μ„œ λͺ…λ Ήμ–΄ μ‹€ν–‰ κ°€λŠ₯
  • νŒŒμ΄ν”„λΌμΈ | κ³Ό grep
    • grep은 λ­”κ°€λ₯Ό μ°Ύμ•„λ‚΄κ³  좔릴 λ•Œ μ‚¬μš©
    • grep 뒀에 λ‚˜μ˜€λŠ” λ¬Έμžμ—΄μ„ μ°Ύμ•„μ€Œ
  • whoami
    • κΆŒν•œμ„ λ³Ό 수 있음
    • λ¦¬λˆ…μŠ€μ˜ μ΅œμƒμœ„ κ΄€λ¦¬μžλŠ” root
  • netstat -nlpt
    • net-tools μ„€μΉ˜ ν•„μš”
    • ν˜„μž¬ μ‚¬μš©μ€‘μΈ ν¬νŠΈλ“€μ΄ λ³΄μž„
  • cat
    • 파일 μ•ˆμ˜ λ‚΄μš©μ„ λ³Ό 수 있음
  • lsb_release -a
    • μš°λΆ„νˆ¬ 버전 및 μ½”λ“œλͺ… 확인 κ°€λŠ₯
  • service (μš”μ¦˜μ€ 잘 μ•ˆμ”€)
    • service --status-all : λͺ¨λ“  μ„œλΉ„μŠ€λ“€μ„ 보여주고 μ‹€ν–‰ μ—¬λΆ€λ₯Ό μ•Œλ €μ€Œ
    • sudo service {service 이름} : stop -> serviceκ°€ 쀑지됨 , start -> service μ‹€ν–‰
    • service λͺ…λ Ήμ–΄λŠ” systemctl의 wrapper script μž„μœΌλ‘œ λͺ¨λ“  μ„œλΉ„μŠ€ μ œμ–΄ λΆˆκ°€λŠ₯
  • systemctl list-unit-files
    • 싀행쀑인 μ‹œμŠ€ν…œλ“€μ΄ λͺ¨λ‘ λ‚˜μ˜΄
    • νŒŒμ΄ν”„λΌμΈκ³Ό grep으둜 μ›ν•˜λŠ” ν”„λ‘œκ·Έλž¨ μ°ΎκΈ°
  • systemctl (status or stop or start) {service 이름}
    • statusκ°€ exited 일 μ‹œ -> ν”„λ‘œμ„ΈμŠ€ μƒμœΌλ‘  μ’…λ£Œ(kill둜 μ’…λ£Œλœ μƒνƒœ), systemctl μƒμœΌλ‘  μΌμ‹œμ •μ§€ 같은 μƒνƒœ (systemctl start λ‘œλŠ” μž¬κ΅¬λ™ λΆˆκ°€λŠ₯, restart둜 μž¬κ΅¬λ™ κ°€λŠ₯ -> restart μ‹œ running, (or stop -> start))
  • ps
    • ef : 싀행쀑인 ν”„λ‘œμ„ΈμŠ€λ₯Ό λ‹€ λ³Ό 수 있음
      • UID : ν”„λ‘œμ„ΈμŠ€μ˜ 주인
      • PID : ν”„λ‘œμ„ΈμŠ€ 아이디
      • PPID : λΆ€λͺ¨ ν”„λ‘œμ„ΈμŠ€ 아이디
      • C : cpu μ‚¬μš©λŸ‰
      • νŒŒμ΄ν”„λΌμΈ + grep 으둜 μ°Ύκ³  싢은 ν”„λ‘œμ„ΈμŠ€λ₯Ό 찾을 수 있음
      • ps -ef 쑰차도 ν”„λ‘œμ„ΈμŠ€λΌ ps -efμ—μ„œ 쑰회됨 (grep 을 좔가해도..)
        • "grep -v grep" 으둜 grep이 λ“€μ–΄κ°„ ps -ef ν”„λ‘œμ„ΈμŠ€ λͺ…λ Ήμ–΄λ₯Ό μ œμ™Έ κ°€λŠ₯
  • kill : ν”„λ‘œμ„ΈμŠ€ μ’…λ£Œ λͺ…λ Ήμ–΄
    • ν”„λ‘œμ„ΈμŠ€κ°€ μ’…λ£Œ μ•ˆ 될 μ‹œ 직접 κ°•μ œ μ’…λ£Œ κ°€λŠ₯
    • μ„œλΉ„μŠ€λ‘œ 등둝이 μ•ˆλ˜μ–΄ μžˆλŠ” ν”„λ‘œμ„ΈμŠ€λ„ μ’…λ£Œ κ°€λŠ₯ (본인이 직접 μ••μΆ• ν’€κ³  μ‹€ν–‰ 파일 μ‹€ν–‰ν•œ 경우)
    • -l : μ’…λ£Œν•  수 μžˆλŠ” μ˜΅μ…˜λ“€ 확인 κ°€λŠ₯
      • 9 : κ°•μ œμ’…λ£Œ μ˜΅μ…˜ (SIGKILL)
      • 15 : μ•ˆμ „ν•˜κ²Œ μ’…λ£Œν•˜κΈ° μœ„ν•΄μ„  SIGTERM μ‚¬μš© (default)
      • 2 : SIGINTλŠ” ctrl + c 와 같은 μ˜΅μ…˜
    • systemctl μž…μž₯에선 exit 이기 λ•Œλ¬Έμ— restart둜만 μ‹€ν–‰ κ°€λŠ₯ (or stop -> start)
  • awk
    • 배열을 κΈ°μ€€μœΌλ‘œ λ°°μ—΄ 토큰화 ν•΄μ€Œ
    • 1λ²ˆλΆ€ν„° κΈ°μ€€
    • ex) ps -ef | grep tomcat8 | grep -v grep | awk '{print $1}' => ν”„λ‘œμ„ΈμŠ€ 이름 좜λ ₯
    • ex) kill ps -ef | grep tomcat8 | grep -v grep | awk '{print $2}' => ν”„λ‘œμ„ΈμŠ€ kill, 백틱은 μΉ˜ν™˜ λͺ…λ Ήμ–΄, 감싼 뢀뢄을 μ‹€ν–‰κ²°κ³Όλ‘œ μΉ˜ν™˜

'Linux' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

λ¦¬λˆ…μŠ€ κΆŒν•œ λͺ…λ Ήμ–΄  (0) 2023.02.19
ubuntu에 php μ†ŒμŠ€ μ„€μΉ˜  (0) 2022.03.17
ubuntu에 MySql μ†ŒμŠ€ μ„€μΉ˜  (0) 2022.03.17
ubuntu에 Apache μ†ŒμŠ€ μ„€μΉ˜  (0) 2022.03.16