๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

TIL (Today I Learned)/Linux

๋ฆฌ๋ˆ…์Šค ๊ธฐ๋ณธ ๋ช…๋ น์–ด (Basic Linux Commands)

728x90

๋ฆฌ๋ˆ…์Šค ๊ธฐ๋ณธ ๋ช…๋ น์–ด

  • ls - ํ˜„์žฌ ์œ„์น˜์˜ ํŒŒ์ผ ๋ชฉ๋ก์„ ์กฐํšŒํ•˜๋Š” ๋ช…๋ น์–ด
  • cd - ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ด๋™ํ•˜๋Š” ๋ช…๋ น์–ด
  • touch - ํŒŒ์ผ์˜ ์šฉ๋Ÿ‰์ด 0์ธ ํŒŒ์ผ์„ ์ƒ์„ฑ, ๋‚ ์งœ ๋ณ€๊ฒฝํ•˜๋Š” ๋ช…๋ น์–ด
  • mkdir - ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ช…๋ น์–ด
  • cp - ํŒŒ์ผ์„ ๋ณต์‚ฌํ•˜๋Š” ๋ช…๋ น์–ด
  • mv - ํŒŒ์ผ์„ ์ด๋™์‹œํ‚ค๋Š” ๋ช…๋ ์–ด
  • rm - ํŒŒ์ผ์„ ์ œ๊ฑฐํ•˜๋Š” ๋ช…๋ น์–ด
  • cat - ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ํ™”๋ฉด์— ์ถœ๋ ฅํ•˜๊ฑฐ๋‚˜ ํŒŒ์ผ์„ ๋งŒ๋“œ๋Š” ๋ช…๋ น์–ด
  • redirection - ํ™”๋ฉด์— ์ถœ๋ ฅ๋˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ํŒŒ์ผ๋กœ ์ €์žฅํ•˜๋Š” ๋ช…๋ น์–ด
  • alias - ์ž์ฃผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ช…๋ น์–ด๋“ค์„ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •ํ•˜๋Š” ๋ช…๋ น์–ด
  • putty ์‹คํ–‰image์ ‘์† ์žฅ๋ฉดimageId Password ์ž…๋ ฅimage

01. ls(list segments)

  • ls๋Š” ํ˜„์žฌ ์œ„์น˜์˜ ํŒŒ์ผ ๋ชฉ๋ก์„ ์กฐํšŒํ•˜๋Š” ๋ช…๋ น์–ด
    • ls -l : ํŒŒ์ผ๋“ค์˜ ์ƒ์„ธ์ •๋ณด๋ฅผ ์ถœ๋ ฅ
    • ls -a : ์ˆจ์–ด์žˆ๋Š” ํŒŒ์ผ๋“ค๋„ ํ‘œ์‹œ
    • ls -t : ํŒŒ์ผ๋“ค์„ ์ƒ์„ฑ๋œ ์‹œ๊ฐ„๋ณ„๋ฃŒ ํ‘œ์‹œ
    • ls -rt : ํŒŒ์ผ๋“ค์„ ์˜ค๋ž˜๋œ ์‹œ๊ฐ„๋ถ€ํ„ฐ ํ‘œ์‹œ
    • ls -F : ํŒŒ์ผ์„ ํ‘œ์‹œํ•  ๋•Œ ๋งˆ์ง€๋ง‰์— ์œ ํ˜•์„ ๋‚˜ํƒ€๋‚ด๋Š” ํŒŒ์ผ๋ช…์„ ๋์— ํ‘œ์‹œ
      • ๊ฐ ์˜ต์…˜๋“ค์€ ์ž์œ ์ž์žฌ๋กœ ํ•ฉ์„ฑํ•ด์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
      • cf) ls -lrt : ํŒŒ์ผ๋“ค์˜ ์ƒ์„ธ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ด๋ฉฐ, ์˜ค๋ž˜๋œ ๊ฒƒ๋ถ€ํ„ฐ ํ‘œ์‹œ

image

 

image

02. cd(change directory)

  • cd๋Š” ๊ฒฝ๋กœ๋ฅผ ์ด๋™ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด
    • cd ~ : ์–ด๋А ๊ณณ์—๋“ ์ง€ ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ๋ฐ”๋กœ ์ด๋™
    • cd.. : ์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™
    • cd/dir : ์ ˆ๋Œ€๊ฒฝ๋กœ dir๋กœ ์ด๋™
    • cd - : ์ด๋™ํ•˜๊ธฐ ๋ฐ”๋กœ ์ „์˜ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™
      image

03. touch

  • touch๋Š” ํŒŒ์ผ์˜ ์šฉ๋Ÿ‰์ด 0์ธ ํŒŒ์ผ์„ ์ƒ์„ฑ, ๋‚ ์งœ ๋ณ€๊ฒฝํ•˜๋Š” ๋ช…๋ น์–ด
    • touch filename : filename์˜ ํŒŒ์ผ์„ ์ƒ์„ฑ
    • touch -c filename : filename์˜ ์‹œ๊ฐ„์„ ํ˜„์žฌ์‹œ๊ฐ„์œผ๋กœ ๋ณ€๊ฒฝ
    • touch -t 202107201500 filename : filename์˜ ์‹œ๊ฐ„์„ ๋‚ ์งœ์ •๋ณด(YYYYMMDDhhmm)๋กœ ๋ณ€๊ฒฝ
    • touch -r filename1 filename2 : filename2์˜ ๋‚ ์งœ ์ •๋ณด๋ฅผ filename1์˜ ๋‚ ์งœ ์ •๋ณด์™€ ๊ฐ™๊ฒŒ ๋ณ€๊ฒฝ

04. mkdir(make directory)

  • mkdir์€ ์ƒˆ๋กœ์šด ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด
    • mkdir dirname : dirname์˜ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑ
    • mkdir -p dirname/subdname : ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๋””๋ ‰ํ† ๋ฆฌ์˜ ํ•˜์œ„๋””๋ ‰ํ† ๋ฆฌ๊นŒ์ง€ ์ƒ์„ฑ
    • mk -m 644 dirname : ํŠน์ • ํผ๋ฏธ์…˜์„ ๊ฐ–๋Š” ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑ 
    • image
    • mkdir directory2

05. cp(copy)

  • cp๋Š” ํŒŒ์ผ์„ ๋ณต์‚ฌํ•˜๋Š” ๋ช…๋ น์–ด
    • cp file cfile : file์„ cfile์ด๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค.
    • cp -f file cfile : ๋ณต์‚ฌํ•  ๋•Œ ๋ณต์‚ฌ๋Œ€์ƒ์ด ์žˆ์œผ๋ฉด ์ง€์šฐ๊ณ  ๊ฐ•์ œ๋กœ ๋ณต์‚ฌ
    • cp -R dir cdir : ๋””๋ ‰ํ† ๋ฆฌ ๋ณต์‚ฌํ•  ๋•Œ ์‚ฌ์šฉ, ํด๋”์•ˆ์˜ ๋ชจ๋“  ํ•˜์œ„๊ฒฝ๋กœ์™€ ํŒŒ์ผ๋“ค์„ ๋ชจ๋‘ ๋ณต์‚ฌ
    • $ cp -f directory2 directoryCopy

06. mv(move)

  • mv๋Š” ํŒŒ์ผ์„ ์ด๋™ํ•˜๋Š” ๋ช…๋ น์–ด
    • mv fname mfname : fname์˜ ํŒŒ์ผ์„ mfname์˜ ์ด๋ฆ„์œผ๋กœ ์ด๋™/๋ณ€๊ฒฝ
    • mv -b fname mfname : mfname์˜ ํŒŒ์ผ์ด ์กด์žฌํ•˜๋ฉด mfname์„ ๋ฐฑ์—…ํ•œ ๋’ค์— ์ด๋™
    • mv -f fname mfname : mfname์˜ ํŒŒ์ผ์ด ์กด์žฌํ•˜๋ฉด ๋ฐฑ์—… ์—†์ด ๋ฎ์–ด์”€
      image

07. rm(remove)

  • rm์€ ํŒŒ์ผ์ด๋‚˜ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์‚ญ์ œํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด
    • rm fname : fname์„ ์‚ญ์ œ
    • rm -f fname : fname์„ ๋ฌป์ง€ ์•Š๊ณ  ์‚ญ์ œcat
    • rm -r dir : dir์„ ์‚ญ์ œ
      • ๋””๋ ‰ํ† ๋ฆฌ๋Š” -r์˜ต์…˜์œผ๋กœ ์‚ญ์ œ ๋ถˆ๊ฐ€!

08. cat(catenate)

  • cat fname : fname์˜ ๋‚ด์šฉ์„ ์ถœ๋ ฅ
  • cat fname1 fname2 : fname1๊ณผ fname2์˜ ๋‚ด์šฉ์„ ์ด์–ด์„œ ์ถœ๋ ฅ
  • cat fname1 fname2 | more : fname1๊ณผ fname2๋ฅผ ์ถœ๋ ฅํ•˜๋Š”๋ฐ ํŽ˜์ด์ง€๋ณ„๋กœ ์ถœ๋ ฅ
  • cat fname1 fname2 | head : fname1๊ณผ fname2๋ฅผ ์ถœ๋ ฅํ•˜๋Š”๋ฐ ์ฒ˜์Œ๋ถ€ํ„ฐ 10๋ฒˆ์งธ๊นŒ์ง€๋งŒ ์ถœ๋ ฅ
  • cat fname1 fname2 | tail : fname1๊ณผ fname2๋ฅผ ์ถœ๋ ฅํ•˜๋Š”๋ฐ ๋์—์„œ๋ถ€ํ„ฐ 10๋ฒˆ์งธ๊นŒ์ง€๋งŒ ์ถœ๋ ฅ

09. redirection('>', '>>')

  • redirection์€ ๋ฆฌ๋ˆ…์Šค ์ŠคํŠธ๋ฆผ์˜ ๋ฐฉํ–ฅ์„ ์กฐ์ •ํ•˜๋Š” ๋ช…๋ น์–ด
    • ๋ช…๋ น > ํŒŒ์ผ : ๋ช…๋ น์˜ ๊ฒฐ๊ณผ๋ฅผ ํŒŒ์ผ๋กœ ์ €์žฅ
      • cat fname1 fname2 > fname3 : fname1, fname2๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  fname3์ด๋ผ๋Š” ํŒŒ์ผ์— ์ €์žฅ
    • ๋ช…๋ น >> ํŒŒ์ผ : ๋ช…๋ น์˜ ๊ฒฐ๊ณผ๋ฅผ ํŒŒ์ผ์— ์ถ”๊ฐ€
      • cat fname4 >> fname3 : fnmae3์— fname4์˜ ๋‚ด์šฉ์„ ์ถ”๊ฐ€
    • ๋ช…๋ น < ํŒŒ์ผ : ํŒŒ์ผ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ช…๋ น์— ์ž…๋ ฅ
      • cat < fname1 : fnmae1์˜ ๋‚ด์šฉ์„ ์ถœ๋ ฅ
    • cf) cat < fname1 > fname2 : fname1์˜ ๋‚ด์šฉ์„ ์ถœ๋ ฅํ•˜๋Š” ๊ฒฐ๊ณผ๋ฌผ์„ fname2์— ์ €์žฅ

10. alias

  • alias๋Š” ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด๋ฅผ ๊ฐ„๋‹จํ•œ ๋ช…๋ น์–ด๋กœ ์„ค์ •ํ•˜๋Š” ๋ช…๋ น์–ด
  • ํ•ด์ œ ๋ฐฉ๋ฒ• : unalias
    • alias new = 'command' : command๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์ƒˆ ๋ช…๋ น์–ด new๋ฅผ ๋งŒ๋“ ๋‹ค.
      • ex) alias ls = 'ls -l' : ls๋ฅผ ์‹คํ–‰ํ•˜๋ฉด -l ์˜ต์…˜์„ ๊ฐ–๋Š” ls๋ฅผ ์‹คํ–‰
    • alias : ํ˜„์žฌ alias ๋ชฉ๋ก์„ ์ถœ๋ ฅ
    • unalias new : new๋ผ๋Š” alias๋ฅผ

image

$ unalias new

์•Œ์“ธ์‹ ์žก(์•Œ์•„๋‘๋ฉด ์“ธ๋ฐ์žˆ๋Š” ์‹ ๋น„ํ•œ ์žกํ•™์‚ฌ์ „)

c์–ธ์–ด ๊ตฌ์กฐ์ฒด์˜ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์ด์ฆˆ

  1. sizeof ์—ฐ์‚ฐ์ž
    • ํ•ด๋‹น ๋ณ€์ˆ˜ ๋ฐ ๋ฐ์ดํ„ฐํƒ€์ž…์˜ ํฌ๊ธฐ๋ฅผ ์ •์ˆ˜ํ˜•ํƒœ๋กœ ๋˜๋Œ๋ ค ์ค€๋‹ค.
    • int a; double b; char c;

sizeof(a) // 4
sizeof(b) // 8
sizeof(c) // 1

2. ๊ตฌ์กฐ์ฒด์˜ ํฌ๊ธฐ
```C
#include<stdio.h>

typedef struct stu{
    char a;
    int b;
}S;

void main() {
    struct stu a;
    printf("S์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„ ํฌ๊ธฐ = %d\n", sizeof(S));
    printf("S์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„ ํฌ๊ธฐ = %d\n", sizeof(a));
}
  • a๋Š” 1๋ฐ”์ดํŠธ ๋ฌธ์žํ˜•, b๋Š” 4๋ฐ”์ดํŠธ ์ •์†Œํ˜• ๊ทธ๋ ‡๋‹ค๋ฉด 5๋ฐ”์ดํŠธ???
    image
  • $ gcc c.c -o c // c.cํŒŒ์ผ์„ gcc๋กœ c source๋ฅผ ์ปดํŒŒ์ผ
  • ๊ฒฐ๊ณผ๋Š” 8๋ฐ”์ดํŠธ๊ฐ€ ๋‚˜์˜จ๋‹ค.
  • ์ด์œ ๋Š” ๊ตฌ์กฐ์ฒด๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์žก๋Š” ์›๋ฆฌ์— ์žˆ๋‹ค.
    • A. ๊ฐ๊ฐ์˜ ๋ฉค๋ฒ„๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ธฐ๋ณธ 4๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.
    • B. ๊ตฌ์กฐ์ฒด ๊ฐ ๋ฉค๋ฒ„์ค‘์— ๊ฐ€์žฅ ํฐ ๋ฉค๋ฒ„์˜ ํฌ๊ธฐ์— ์˜ํ–ฅ์„ ๋ฐ›๋Š”๋‹ค.

-cf)

์˜ˆ์‹œ1

  • a๋Š” 1๋ฐ”์ดํŠธ b๋Š” 4๋ฐ”์ดํŠธ
    image
  • typedef struct student { char a; int b; }S;
  • a๋Š” 1๋ฐ”์ดํŠธ b๋Š” 4๋ฐ”์ดํŠธ์ด์ง€๋งŒ, ์‹ค์ œ๋กœ๋Š” A๋•Œ๋ฌธ์— 3๋ฐ”์ดํŠธ์˜ ์—ฌ์œ ๊ณต๊ฐ„์„ ๋‘๊ฒŒ๋œ๋‹ค.
    typedef struct student
    {
    char a;
    char b;
    int c;
    }S;
    image
  • ์˜ˆ์‹œ2
  • a๋Š” 1๋ฐ”์ดํŠธ b๋Š” 1๋ฐ”์ดํŠธ, C๋Š” 4๋ฐ”์ดํŠธ์˜ ๊ณต๊ฐ„์„ ๋‘๊ฒŒ๋œ๋‹ค.
    typedef struct student
    {
    char a;
    int c;
    char b;
    }S;
    image
  • ์˜ˆ์‹œ3
  • a๋Š” 1๋ฐ”์ดํŠธ b๋Š” 1๋ฐ”์ดํŠธ, C๋Š” 4๋ฐ”์ดํŠธ์˜ ์—ฌ์œ ๊ณต๊ฐ„์„ ๋‘๊ฒŒ๋œ๋‹ค. ์„ ์–ธํ•  ๋•Œ ๊ฐ™์€ ์ž๋ฃŒํƒ€์ž…์ด์ง€๋งŒ ๋ฐฐ์—ดํ•˜๋Š” ์ˆœ์„œ์— ์˜ํ•ด ํ• ๋‹น๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ๊ณต๊ฐ„์ด ๋‹ฌ๋ผ์ง์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋”ฐ๋ผ์„œ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ผ๋ฆฌ, ์ž‘์€ ์ž๋ฃŒํ˜•์„ ์•ž์—๋‹ค๊ฐ€ ์„ ์–ธํ•˜๋Š” ๊ฒƒ์ด ์œ ๋ฆฌํ•˜๋‹ค.
    typedef struct student
    {
    char a;
    double b;
    }S;
    image
  • ์˜ˆ์‹œ4
  • a๋Š” 1๋ฐ”์ดํŠธ b๋Š” 8๋ฐ”์ดํŠธ์ด๋ฏ€๋กœ ๊ธฐ๋ณธ์ ์ธ ๊ณต๊ฐ„์„ 8๋ฐ”์ดํŠธ๋กœ ์žก๊ฒŒ๋œ๋‹ค. B์˜ ๊ทœ์น™์„ ๋”ฐ๋ฅธ๋‹ค.

'TIL (Today I Learned) > Linux' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Linux] vi ํ™”๋ฉด ๋ถ„ํ•   (0) 2021.08.23
[Linux] shell script  (0) 2021.08.23
[Linux] ๋‹ค์ค‘ ์“ฐ๋ ˆ๋“œ  (0) 2021.08.22
[Linux]ctags ์‚ฌ์šฉ๋ฒ•  (0) 2021.07.22
vi/vim ํŽธ์ง‘๊ธฐ ๋ช…๋ น์–ด ์ •๋ฆฌ  (0) 2021.07.21