์ƒˆ์†Œ์‹

python/ROS

์šฐ๋ถ„ํˆฌ ๋ฆฌ๋ˆ…์Šค ๊ฐ„๋‹จ ์‚ฌ์šฉ๋ฒ•

  • -
๐Ÿ“˜

์ฒ˜์Œ ํ™”๋ฉด

ํ„ฐ๋ฏธ๋„ ํ™˜๊ฒฝ์—์„œ ์ž‘์—…์ด ๋งŽ์Šต๋‹ˆ๋‹ค. ํ„ฐ๋ฏธ๋„์€ Applications์—์„œ Terminal์„ ์„ ํƒํ•˜์‹œ๊ฑฐ๋‚˜,

๋‹จ์ถ•ํ‚ค ctrl + alt + t ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์œ ์šฉํ•œ ๋งํฌ๋“ค

ํ•œ๊ธ€์ž…๋ ฅ๊ธฐ ์„ค์น˜

fcitx-hangul ํŒจํ‚ค์ง€ ์‚ฌ์šฉ

$ sudo apt install fcitx-hangul

Region & Language ์„ค์ • > Manage Installed Language์—์„œ Korean ์„ค์น˜ํ•˜๊ณ 

์ž…๋ ฅ๋ฐฉ์‹์„ fcitx๋กœ ์„ค์ •

์žฌ๋ถ€ํŒ… ํ›„, ํ•œ๊ธ€ ๋ณ€ํ™˜ํ‚ค๋ฅผ Alt_L (ํ•œ์˜ํ‚ค)๋กœ ์„ค์ •

ํ„ฐ๋ฏธ๋„์šฉ ํฐํŠธ ์„ค์น˜

์ถ”์ฒœํฐํŠธ: D2Coding (https://github.com/naver/d2codingfont)

๋ฐฐํฌ๋˜๋Š” ํฐํŠธ๋ฅผ ๋‹ค์šด๋กœ๋“œ, ์••์ถ•์„ ํ’€๊ณ 

์‚ฌ์šฉํ•˜๋ ค๋Š” ํฐํŠธ๋ฅผ /usr/local/share/fonts์— ๋ณต์‚ฌ ํ›„

$ sudo fc-cache -v

์ž๋™ ์™„์„ฑ (Tab ํ‚ค)

ํ„ฐ๋ฏธ๋„ ํ™˜๊ฒฝ์—์„œ Tabํ‚ค๋ฅผ ์ž˜ ํ™œ์šฉํ•˜๋ฉด ํŽธํ•ฉ๋‹ˆ๋‹ค.

๋ช…๋ น์ด๋‚˜ ๊ธฐํƒ€ ์ž…๋ ฅ ์‹œ Tab์„ ๋ˆ„๋ฅด๋ฉด ์ž๋™ ์™„์„ฑ์ด ๋ฉ๋‹ˆ๋‹ค. ์ผ์ผ์ด ๋‹ค ์ž…๋ ฅํ•˜๋Š” ์ˆ˜๊ณ ๋ฅผ ๋œ์–ด์ค๋‹ˆ๋‹ค.

history

ํ„ฐ๋ฏธ๋„์—์„œ ์ž…๋ ฅํ–ˆ๋˜ ๋ช…๋ น์–ด๋“ค์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

ํ™”์‚ดํ‘œ โฌ†๏ธ โฌ‡๏ธํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ „ํ™˜ ๊ฐ€๋Šฅ

ctrl + r ์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฒ€์ƒ‰๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๊ณ„์† ๋ˆ„๋ฅด๋ฉด ์—ญ๋ฐฉํ–ฅ ๊ฒ€์ƒ‰

$ history

Vim (vi ์—๋””ํ„ฐ)

ํ„ฐ๋ฏธ๋„์—์„œ ๊ฐ„๋‹จ(?)ํ•˜๊ฒŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํŽธ์ง‘๊ธฐ

๊ฐ„๋‹จํ•œ ํŽธ์ง‘์„ ํ•˜๋Š”๋ฐ ๊ตณ์ด GUI ํ™˜๊ฒฝ์˜ ์—๋””ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ํ•„์š”๋Š” ์—†๋‹ค. (GUI ํ™˜๊ฒฝ์ด ์ œ๊ณต๋˜์ง€ ์•Š๋Š” ํ™˜๊ฒฝ์ด๋ผ๋ฉด?)

Ubuntu ์ฒ˜์Œ ์„ค์น˜์‹œ vim-tiny (๊ธฐ๋Šฅ ์ถ•์†ŒํŒ)์ด ์„ค์น˜๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ, ์ด๋ฅผ ์ง€์šฐ๊ณ  vim ์„ค์น˜

$ sudo apt purge vim-tiny
$ sudo apt install vim

์‹คํ–‰์€ ํ„ฐ๋ฏธ๋„์—์„œ vi ์ž…๋ ฅ

$ vi

ํ„ฐ๋ฏธ๋„ ๋‚ด ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด๋“ค

ls : ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ์˜ ํŒŒ์ผ ๋ชฉ๋ก ๋ณด์—ฌ์ฃผ๊ธฐ

$ ls
$ ls -a
$ ll
$ ls -la
$ ll -a
$ ls /dev

cd : ๋””๋ ‰ํ† ๋ฆฌ ์ด๋™

$ cd
$ cd ~
$ cd /
$ cd ..

pwd : ํ˜„์žฌ ๊ฒฝ๋กœ ์ถœ๋ ฅ

$ pwd

cp : ๋ณต์‚ฌ

$ cp file1.txt file1_copy.txt
$ cp -r ./directory ./directory_copy

mv : ์ด๋™

$ mv file1.txt file2.txt
$ mv ./directory ./directory_copy

rm : ์‚ญ์ œ

$ rm file2.txt
$ rm -r directory

touch : ์‚ฌ์ด์ฆˆ๊ฐ€ 0์ธ ํŒŒ์ผ ์ƒ์„ฑ, ํŒŒ์ผ์ด ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ ํŽธ์ง‘ ์‹œ๊ฐ„์„ ํ˜„์žฌ๋กœ ์กฐ์ •

$ touch file2.txt

mkdir : ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ

$ mkdir direcotry2

cat : ํŒŒ์ผ ๋‚ด์šฉ ์ถœ๋ ฅ

$ cat file1.txt

head, tail : ํŒŒ์ผ ๋‚ด์šฉ ์ค‘ ์•ž 10ํ–‰, ๋’ค 10ํ–‰๋งŒ ์ถœ๋ ฅ

$ head file1.txt
$ tail file1.txt

more : ํŒŒ์ผ ๋‚ด์šฉ์„ ํŽ˜์ด์ง€ ๋‹จ์œ„๋กœ ์ถœ๋ ฅ (๊ณ„์†์ถœ๋ ฅ space, ์ข…๋ฃŒ q)

$ more file1.txt

less : more์™€ ๋น„์Šท

$ less file1.txt

file : ํŒŒ์ผ ํƒ€์ž… ์ถœ๋ ฅ

$ file file1.txt

clear : ํ˜„์žฌ ํ„ฐ๋ฏธ๋„ ํ™”๋ฉด ์ง€์šฐ๊ธฐ, ๋‹จ์ถ•ํ‚ค (ctrl + l)

$ clear

which : ์‹คํ–‰ ํŒŒ์ผ์˜ ์œ„์น˜ ์ถœ๋ ฅ

$ which ls

locate : ์กฐ๊ฑด์— ๋งž๋Š” ํŒŒ์ผ๋ช… ์ „์ฒด ์ถœ๋ ฅ

$ locate *.so

find : ์ •ํ•ด์ง„ ๊ฒฝ๋กœ ์•„๋ž˜์—์„œ ์กฐ๊ฑด์— ๋งž๋Š” ํŒŒ์ผ ๊ฒ€์ƒ‰

$ find ./ -name '*.txt'

๋ฆฌ๋ˆ…์Šค ํŒŒ์ผ ์‹œ์Šคํ…œ

/
โ”œโ”€โ”€ bin          ๊ธฐ๋ณธ๋ช…๋ น์–ด ๋ชจ์Œ
โ”œโ”€โ”€ boot         ์ปค๋„ ๋ฐ ๋ถ€ํŒ… ๊ด€๋ จ
โ”œโ”€โ”€ cdrom
โ”œโ”€โ”€ dev          ์žฅ์น˜๋ฆฌ์ŠคํŠธ
โ”œโ”€โ”€ etc          ๊ฐ์ข… ์„ค์ • ํŒŒ์ผ๋“ค
โ”œโ”€โ”€ home         ์‚ฌ์šฉ์ž ๋””๋ ‰ํ† ๋ฆฌ
โ”œโ”€โ”€ lib          ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
โ”œโ”€โ”€ lib64
โ”œโ”€โ”€ lost+found
โ”œโ”€โ”€ media
โ”œโ”€โ”€ mnt
โ”œโ”€โ”€ opt
โ”œโ”€โ”€ proc
โ”œโ”€โ”€ root         ๋ฃจํŠธ๊ณ„์ • ๋””๋ ‰ํ† ๋ฆฌ
โ”œโ”€โ”€ run
โ”œโ”€โ”€ sbin         ๋ช…๋ น์–ด ๋ชจ์Œ
โ”œโ”€โ”€ snap
โ”œโ”€โ”€ srv
โ”œโ”€โ”€ sys          ์‹œ์Šคํ…œ๊ด€๋ จ ํŒŒ์ผ
โ”œโ”€โ”€ tmp          ์ž„์‹œํŒŒ์ผ ๋ชจ์Œ
โ”œโ”€โ”€ usr          ์‚ฌ์šฉ์ž ๊ด€๋ จ ํŒŒ์ผ, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋“ฑ๋“ฑ
โ””โ”€โ”€ var

์‚ฌ์šฉ์ž, ๊ทธ๋ฃน

๊ธฐ๋ณธ์ ์œผ๋กœ Linux๋Š” ๋‹ค์ค‘ ์‚ฌ์šฉ์ž ์‹œ์Šคํ…œ

root๋Š” ์œ ์ € ์ค‘ ํŠน์ˆ˜ํ•œ ํ˜•ํƒœ์˜ super user, ๋ญ๋“ ์ง€ ๊ฐ€๋Šฅ

๋ชจ๋“  ์‚ฌ์šฉ์ž๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ ๊ทธ๋ฃน์— ํฌํ•จ๋˜์–ด ์žˆ์Œ

์‹œ์Šคํ…œ์˜ ์‚ฌ์šฉ์ž ๋ฆฌ์ŠคํŠธ๋Š” /etc/passwd์— ์กด์žฌ

์‚ฌ์šฉ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” /etc/shadow ํŒŒ์ผ์— ์ €์žฅ (๋ฌผ๋ก  ์•”ํ˜ธํ™”๋œ ํ˜•ํƒœ๋กœ)

์‚ฌ์šฉ์ž ๊ทธ๋ฃน์€ /etc/group ํŒŒ์ผ์— ์ •์˜

์‚ฌ์šฉ์ž ์ถ”๊ฐ€, ์‚ญ์ œ ๋“ฑ๋“ฑ์˜ ๋ช…๋ น์–ด๋“ค์€ ๋”ฐ๋กœ ์ฐพ์•„๋ณด๊ธธ ๊ถŒ์žฅ (ํ˜ผ์ž ์‚ฌ์šฉํ•˜๋Š” ๊ฐœ๋ฐœ๋จธ์‹ ์—์„  ๋ณ„๋กœ ํ•„์š”์—†์Œ)

root ๊ณ„์ •์€ ์œ„ํ—˜์„ฑ์ด ์žˆ๊ธฐ์— ๋Œ€๋ถ€๋ถ„ ๋น„ํ™œ์„ฑํ™”

root ๊ด€๋ จ ๋ช…๋ น์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ sudo ๋ช…๋ น์œผ๋กœ ์ž„์‹œ ์‚ฌ์šฉ

sudo ๋ช…๋ น์€ sudoer๋กœ ์ง€์ •๋œ ์œ ์ €๋งŒ ๊ฐ€๋Šฅ

passwd : ํ˜„์žฌ ๊ณ„์ •์— ๋Œ€ํ•œ ์•”ํ˜ธ ๋ณ€๊ฒฝ)

$ passwd

๊ถŒํ•œ

๋ชจ๋“  ํŒŒ์ผ/๋””๋ ‰ํ† ๋ฆฌ๋Š” ์†Œ์œ /๊ถŒํ•œ์ด ์„ค์ •๋˜์–ด ์žˆ์Œ.

๊ถŒํ•œ, ๊ทธ๋ฃน ๊ด€๋ จ ๋ช…๋ น๋“ค

chgrp, chown, chmod

ํ•˜๋“œ๋งํฌ, ์†Œํ”„ํŠธ๋งํฌ

ln

  • ํ•˜๋“œ๋งํฌ๋Š” ํ•˜๋‚˜์˜ ๋ฌผ๋ฆฌ์ ์ธ ํŒŒ์ผ์— ๋Œ€ํ•ด ์—ฐ๊ฒฐ, ํ•˜๋‚˜๋ฅผ ์ง€์›Œ๋„ ์ƒ๊ด€์—†์Œ
  • ์‹ฌ๋ณผ๋ฆญ๋งํฌ๋Š” ๋ฌผ๋ฆฌ์ ์ธ ํŒŒ์ผ์— ๋Œ€ ํ•ด ์—ฐ๊ฒฐ๋งŒ ์ง€์›, ์›๋ณธํŒŒ์ผ์ด ์ง€์›Œ์ง€๋ฉด ์‹ฌ๋ณผ๋ฆญ๋งํฌ๋Š” ์‚ฌ์šฉ ๋ถˆ๊ฐ€
$ ln file1.txt file_hardlink.txt
$ ln -s file1.txt file_sym.txt

ํŒŒ์ดํ”„, ๋ฆฌ๋‹ค์ด๋ ‰์…˜

| : ๋‘ ๊ฐœ์˜ ๋ช…๋ น์— ๋Œ€ํ•ด ์ถœ๋ ฅ ์ •๋ณด ์—ฐ๊ฒฐ

$ cat file.txt | more
$ ls -al | more
$ ls -al /dev | grep video

> : ๋ฆฌ๋‹ค์ด๋ ‰์…˜ ์•ž์ชฝ์˜ ๋ช…๋ น์–ด์— ๋Œ€ํ•œ ์ถœ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ๋’ค์ชฝ์œผ๋กœ ๋ณด๋‚ด์คŒ

$ ls -al > file_list.txt

ํ”„๋กœ์„ธ์Šค

ํ”„๋กœ์„ธ์Šค: ์‹คํ–‰ํŒŒ์ผ์ด ์‹คํ–‰๋œ ํ›„ ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋”ฉ๋œ ์ธ์Šคํ„ด์Šค

Foreground Process: ์‹คํ–‰ํ™”๋ฉด์— ๋‚˜ํƒ€๋‚˜ ์‚ฌ์šฉ์ž์™€ ์ธํ„ฐ๋ ‰์…˜์„ ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค

Background Process: ์‹คํ–‰์€ ๋˜์—ˆ์œผ๋‚˜ ํ™”๋ฉด์— ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๊ณ  ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค

pid: ํ”„๋กœ์„ธ์Šค์˜ ๊ณ ์œ  ๋ฒˆํ˜ธ

$ ps
$ ps -a
$ ps -ax

$ kill -9 <pid>

$ pstree

$ top
$ htop

ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ

๋ฐฐํฌํŒ์— ๋”ฐ๋ผ ๋‹ค๋ฅด์ง€๋งŒ ๋ฐ๋น„์•ˆ ๊ณ„์—ด์˜ ๋ฐฐํฌํŒ์€ ์†Œํ”„ํŠธ์›จ์–ด ์„ค์น˜๋ฅผ ์œ„ํ•œ deb ํŒจํ‚ค์ง€๋ฅผ ์ œ๊ณต

Ubuntu ์—ญ์‹œ ๋ฐ๋น„์•ˆ๊ณ„์—ด์˜ ๋ฐฐํฌํŒ์œผ๋กœ deb ํŒจํ‚ค์ง€๋ฅผ ์ด์šฉํ•ด ์†Œํ”„ํŠธ์›จ์–ด ์„ค์น˜

apt, dpkg ๋“ฑ์˜ ๋ช…๋ น์–ด ๋“ค์ด ์ œ๊ณต๋จ.

$ sudo dpkg -i package_name.deb
$ dpkg -l
$ dpkg -L <package_name>
$ sudo dpkg -r package_name

๋Œ€๋ถ€๋ถ„ apt๋ฅผ ์ด์šฉํ•ด ์„ค์น˜

$ sudo apt update
$ sudo apt install <package-name>
$ sudo apt remove <package-name>
$ sudo apt purge <package-name>
$ sudo apt upgrade

์••์ถ•ํŒŒ์ผ ๊ด€๋ จ

tar.gz, zip ๋“ฑ ์••์ถ•ํŒŒ์ผ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

ํ•ด๋‹น๋˜๋Š” ํŒŒ์ผ ํ™•์žฅ์ž์— ๋”ฐ๋ผ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์••์ถ• ๋ฐ ์••์ถ•ํ•ด์ œ ๊ฐ€๋Šฅ

$ tar czf <file-name>.tar.gz <target-files>
$ tar zxf <file-name>.tar.gz
$ unzip <file-name>.zip

๋„คํŠธ์›Œํฌ ๊ด€๋ จ

18.04๋ถ€ํ„ฐ ๋„คํŠธ์›Œํฌ ๊ด€๋ จํ•œ ํˆด๋“ค์€ ๋”ฐ๋กœ ์„ค์น˜ํ•ด์•ผ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

$ sudo apt install net-tools

$ ifconfig
$ netstat
$ iwconfig

์‰˜ (Shell)

๊ธฐ๋ณธ์œผ๋ก  bash ๋ฅผ ์‚ฌ์šฉ

ํ”„๋กฌํ”„ํŠธ ($, #)

  • $: ์ผ๋ฐ˜ ์œ ์ € ๊ณ„์ •
  • #: ํ˜„์žฌ ์Šˆํผ์œ ์ € ๊ณ„์ •

ํ™˜๊ฒฝ๋ณ€์ˆ˜

  • ์‰˜ ํ™˜๊ฒฝ ๋‚ด์—์„œ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ๊ฐ’๋“ค์„ ์ €์žฅํ•œ ๋ณ€์ˆ˜
  • ๋ณดํ†ต ๋Œ€๋ฌธ์ž_๋Œ€๋ฌธ์ž๋กœ ๋˜์–ด ์žˆ์Œ

$ env

echo๋กœ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ๊ฐ’ ํ™•์ธ ๊ฐ€๋Šฅ

export๋กœ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์ • ๊ฐ€๋Šฅ


Uploaded by N2T

Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.