본문 바로가기
Linux BSP

[Linux] Linux 명령어

by TYB 2024. 2. 1.
반응형

sudo halt    :    전원 종료

그냥 전원을 뽑아버리면 메모리의 버퍼에 내용이 HardWare와 동기화가 되지 않기 때문에 전원을 종료할 때는 반드시 정상적으로 종료해야함.

 

 

#실행되고 있는 process를 list up 해주는 정보 아래의 상태는 bash만 process로 할당되어 있는 상태
pi@pi08:~/gpio.d $ ps
  PID TTY          TIME CMD
 3252 pts/1    00:00:00 bash
 3482 pts/1    00:00:00 ps

#잘못된 명령을 입력해서 return -1을 했을 때 echo $? 를 쳐서 return 값을 확인 할 수 있음.
#gpio가 자식 프로세스가 되는거고 종료되면서 자식 프로세스의 return 값을 bash에게 전달해준거임.
#그걸 bash에게 echo명령을 통해 보여달라고 하는거고

pi@pi08:~/gpio.d $ ./gpio
usage: ./gpio GPIO_NO
pi@pi08:~/gpio.d $ echo $?
255


#아래는 정상적으로 명령을 입력해준 후 ctrl C로 프로그램 종료 후 echo명령어를 통해 return 값을 확인한거
pi@pi08:~/gpio.d $ ./gpio 7
^C
pi@pi08:~/gpio.d $ echo $?
130
pi@pi08:~/gpio.d $ echo $?
0

 

 

리눅스에서 사용되는 네트워크 관련 명령어

 

시스템 콜 함수는 HW를 접근하기 위해 KERNEL에서 제공하는 기능이고,

시스템을 제어하기 위한 프로그램이므로 시스템 프로그래밍이라고도 함.

 

device를 운영하는 sw가 device driver이고 그 driver는 kernel에 적재되어 있음.

lsmod를 치면 driver들과 상태를 볼 수 있음. 

사용중이지 않은 친구들은 삭제도 가능함.

ubuntu@ubuntu8:~$ lsmod
Module                  Size  Used by
uas                    28672  0
usb_storage            77824  1 uas
nls_iso8859_1          16384  1
binfmt_misc            24576  1
snd_intel8x0           49152  2
snd_ac97_codec        155648  1 snd_intel8x0
ac97_bus               16384  1 snd_ac97_codec
snd_pcm               135168  2 snd_intel8x0,snd_ac97_codec
intel_rapl_msr         20480  0
snd_seq_midi           20480  0
snd_seq_midi_event     16384  1 snd_seq_midi
snd_rawmidi            49152  1 snd_seq_midi
joydev                 32768  0
vboxvideo              28672  1
drm_vram_helper        24576  1 vboxvideo
drm_ttm_helper         16384  2 drm_vram_helper,vboxvideo
intel_rapl_common      40960  1 intel_rapl_msr
ttm                    86016  2 drm_vram_helper,drm_ttm_helper
snd_seq                77824  2 snd_seq_midi,snd_seq_midi_event
drm_kms_helper        307200  4 drm_vram_helper,vboxvideo
snd_seq_device         16384  3 snd_seq,snd_seq_midi,snd_rawmidi
cec                    61440  1 drm_kms_helper
crct10dif_pclmul       16384  1
input_leds             16384  0
snd_timer              40960  2 snd_seq,snd_pcm
ghash_clmulni_intel    16384  0
snd                   106496  11 snd_seq,snd_seq_device,snd_intel8x0,snd_timer,s                                                      nd_ac97_codec,snd_pcm,snd_rawmidi
soundcore              16384  1 snd
aesni_intel           376832  0
crypto_simd            16384  1 aesni_intel
rc_core                61440  1 cec
fb_sys_fops            16384  1 drm_kms_helper
syscopyarea            16384  1 drm_kms_helper
sysfillrect            20480  1 drm_kms_helper
sysimgblt              16384  1 drm_kms_helper
mac_hid                16384  0
vboxguest              45056  0
serio_raw              20480  0
cryptd                 24576  2 crypto_simd,ghash_clmulni_intel
sch_fq_codel           24576  2
nfsd                  561152  13
msr                    16384  0
auth_rpcgss           139264  1 nfsd
nfs_acl                16384  1 nfsd
parport_pc             53248  0
lockd                 110592  1 nfsd
ppdev                  24576  0
grace                  16384  2 nfsd,lockd
lp                     28672  0
parport                69632  3 parport_pc,lp,ppdev
sunrpc                585728  18 nfsd,auth_rpcgss,lockd,nfs_acl
ramoops                28672  0
drm                   618496  7 drm_kms_helper,drm_vram_helper,vboxvideo,drm_ttm                                                      _helper,ttm
reed_solomon           28672  1 ramoops
pstore_blk             16384  0
efi_pstore             16384  0
pstore_zone            32768  1 pstore_blk
ip_tables              32768  0
x_tables               53248  1 ip_tables
autofs4                49152  2
hid_generic            16384  0
usbhid                 65536  0
hid                   147456  2 usbhid,hid_generic
psmouse               176128  0
crc32_pclmul           16384  0
xhci_pci               24576  0
ahci                   45056  2
pata_acpi              16384  0
video                  61440  0
i2c_piix4              28672  0
libahci                45056  1 ahci
e1000                 155648  0
xhci_pci_renesas       20480  1 xhci_pci

 

network device

저장장치를 처리해주는 device가  1. block 디바이스(1K,2K,4K,8K~등의 블록단위로 접근) 2. 논 블락 디바이스는 바이트 단위로 접근

 

 

ubuntu@ubuntu8:~/linuxC$ ls
copy  copy.c  copy1.c  창민이니
ubuntu@ubuntu8:~/linuxC$ !!
ls
copy  copy.c  copy1.c  창민이니

!!를 쳐주면 직전에 실행한 명령어 다시 실행임.

 

 

chmod

아래의 명령어는 읽기 전용으로 바꿔주는 명령어

vi copy.txt
chmod u-r copy.txt
vi copy.txt

열고 수정해보려고 하면 아래 사진처럼 안된다.

 

C 코드 상에서 파일 권한을 설정해주는 값들도 있음. S_IRUSR, S_IWUSR이 그건데 ctrl+] 를 통해 타고 들어가서 보면 각각 0x0400 0200 0100 으로 값이 define 되어 있음.

 

rwx     read write exec도 다 파일에 저장되어 있음.

 

반응형