카페에서 우연히 주워들은 프로그램이름인데..
검색해보니 readelf가 조금 더 분석에 강력하다고 한다.
#include <stdio.h>
void main()
{
unsigned char b = 0xF1;
unsigned short c = 0xF1;
unsigned int d = 0xF1;
printf("%X\n",b);
printf("%X\n",c);
printf("%X\n",d);
}
Version References:
required from libc.so.6:
0x0d696910 0x00 02 GLIBC_2.0
Sections:
Idx Name Size VMA LMA File off Algn
0 .interp 00000013 08048114 08048114 00000114 2**0
CONTENTS, ALLOC, LOAD, READONLY, DATA
1 .note.ABI-tag 00000020 08048128 08048128 00000128 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
2 .gnu.hash 00000020 08048148 08048148 00000148 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
3 .dynsym 00000050 08048168 08048168 00000168 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
4 .dynstr 0000004c 080481b8 080481b8 000001b8 2**0
CONTENTS, ALLOC, LOAD, READONLY, DATA
5 .gnu.version 0000000a 08048204 08048204 00000204 2**1
CONTENTS, ALLOC, LOAD, READONLY, DATA
6 .gnu.version_r 00000020 08048210 08048210 00000210 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
7 .rel.dyn 00000008 08048230 08048230 00000230 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
8 .rel.plt 00000018 08048238 08048238 00000238 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
9 .init 00000017 08048250 08048250 00000250 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
10 .plt 00000040 08048268 08048268 00000268 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
11 .text 000001e8 080482b0 080482b0 000002b0 2**4
CONTENTS, ALLOC, LOAD, READONLY, CODE
12 .fini 0000001c 08048498 08048498 00000498 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
13 .rodata 00000010 080484b4 080484b4 000004b4 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
14 .eh_frame 00000004 080484c4 080484c4 000004c4 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
15 .ctors 00000008 080494c8 080494c8 000004c8 2**2
CONTENTS, ALLOC, LOAD, DATA
16 .dtors 00000008 080494d0 080494d0 000004d0 2**2
CONTENTS, ALLOC, LOAD, DATA
17 .jcr 00000004 080494d8 080494d8 000004d8 2**2
CONTENTS, ALLOC, LOAD, DATA
18 .dynamic 000000c8 080494dc 080494dc 000004dc 2**2
CONTENTS, ALLOC, LOAD, DATA
19 .got 00000004 080495a4 080495a4 000005a4 2**2
CONTENTS, ALLOC, LOAD, DATA
20 .got.plt 00000018 080495a8 080495a8 000005a8 2**2
CONTENTS, ALLOC, LOAD, DATA
21 .data 00000004 080495c0 080495c0 000005c0 2**2
CONTENTS, ALLOC, LOAD, DATA
22 .bss 00000008 080495c4 080495c4 000005c4 2**2
ALLOC
23 .comment 00000114 00000000 00000000 000005c4 2**0
CONTENTS, READONLY
SYMBOL TABLE:
08048114 l d .interp 00000000 .interp
08048128 l d .note.ABI-tag 00000000 .note.ABI-tag
08048148 l d .gnu.hash 00000000 .gnu.hash
08048168 l d .dynsym 00000000 .dynsym
080481b8 l d .dynstr 00000000 .dynstr
08048204 l d .gnu.version 00000000 .gnu.version
08048210 l d .gnu.version_r 00000000 .gnu.version_r
08048230 l d .rel.dyn 00000000 .rel.dyn
08048238 l d .rel.plt 00000000 .rel.plt
08048250 l d .init 00000000 .init
08048268 l d .plt 00000000 .plt
080482b0 l d .text 00000000 .text
08048498 l d .fini 00000000 .fini
080484b4 l d .rodata 00000000 .rodata
080484c4 l d .eh_frame 00000000 .eh_frame
080494c8 l d .ctors 00000000 .ctors
080494d0 l d .dtors 00000000 .dtors
080494d8 l d .jcr 00000000 .jcr
080494dc l d .dynamic 00000000 .dynamic
080495a4 l d .got 00000000 .got
080495a8 l d .got.plt 00000000 .got.plt
080495c0 l d .data 00000000 .data
080495c4 l d .bss 00000000 .bss
00000000 l d .comment 00000000 .comment
080482d4 l F .text 00000000 call_gmon_start
00000000 l df *ABS* 00000000 crtstuff.c
080494c8 l O .ctors 00000000 __CTOR_LIST__
080494d0 l O .dtors 00000000 __DTOR_LIST__
080494d8 l O .jcr 00000000 __JCR_LIST__
080495c4 l O .bss 00000004 dtor_idx.5768
080495c8 l O .bss 00000001 completed.5766
08048300 l F .text 00000000 __do_global_dtors_aux
08048360 l F .text 00000000 frame_dummy
00000000 l df *ABS* 00000000 crtstuff.c
080494cc l O .ctors 00000000 __CTOR_END__
080484c4 l O .eh_frame 00000000 __FRAME_END__
080494d8 l O .jcr 00000000 __JCR_END__
08048470 l F .text 00000000 __do_global_ctors_aux
00000000 l df *ABS* 00000000 test.c
080494c8 l .ctors 00000000 .hidden __preinit_array_start
080494c8 l .ctors 00000000 .hidden __fini_array_end
080495a8 l O .got.plt 00000000 .hidden _GLOBAL_OFFSET_TABLE_
080494c8 l .ctors 00000000 .hidden __preinit_array_end
080494c8 l .ctors 00000000 .hidden __fini_array_start
080494c8 l .ctors 00000000 .hidden __init_array_end
080494c8 l .ctors 00000000 .hidden __init_array_start
080494dc l O .dynamic 00000000 .hidden _DYNAMIC
080495c0 w .data 00000000 data_start
080483f0 g F .text 00000005 __libc_csu_fini
080482b0 g F .text 00000000 _start
00000000 w *UND* 00000000 __gmon_start__
00000000 w *UND* 00000000 _Jv_RegisterClasses
080484b4 g O .rodata 00000004 _fp_hw
08048498 g F .fini 00000000 _fini
00000000 F *UND* 0000019f __libc_start_main@@GLIBC_2.0
080484b8 g O .rodata 00000004 _IO_stdin_used
080495c0 g .data 00000000 __data_start
080484bc g O .rodata 00000000 .hidden __dso_handle
080494d4 g O .dtors 00000000 .hidden __DTOR_END__
08048400 g F .text 00000069 __libc_csu_init
00000000 F *UND* 00000039 printf@@GLIBC_2.0
080495c4 g *ABS* 00000000 __bss_start
080495cc g *ABS* 00000000 _end
080495c4 g *ABS* 00000000 _edata
08048469 g F .text 00000000 .hidden __i686.get_pc_thunk.bx
08048384 g F .text 00000066 main
08048250 g F .init 00000000 _init
$ readelf -a a.out
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: EXEC (Executable file)
Machine: Intel 80386
Version: 0x1
Entry point address: 0x80482b0
Start of program headers: 52 (bytes into file)
Start of section headers: 1972 (bytes into file)
Flags: 0x0
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 7
Size of section headers: 40 (bytes)
Number of section headers: 28
Section header string table index: 25
Section Headers:
[Nr] Name Type Addr Off Size ES Flg Lk Inf Al
[ 0] NULL 00000000 000000 000000 00 0 0 0
[ 1] .interp PROGBITS 08048114 000114 000013 00 A 0 0 1
[ 2] .note.ABI-tag NOTE 08048128 000128 000020 00 A 0 0 4
[ 3] .gnu.hash GNU_HASH 08048148 000148 000020 04 A 4 0 4
[ 4] .dynsym DYNSYM 08048168 000168 000050 10 A 5 1 4
[ 5] .dynstr STRTAB 080481b8 0001b8 00004c 00 A 0 0 1
[ 6] .gnu.version VERSYM 08048204 000204 00000a 02 A 4 0 2
[ 7] .gnu.version_r VERNEED 08048210 000210 000020 00 A 5 1 4
[ 8] .rel.dyn REL 08048230 000230 000008 08 A 4 0 4
[ 9] .rel.plt REL 08048238 000238 000018 08 A 4 11 4
[10] .init PROGBITS 08048250 000250 000017 00 AX 0 0 4
[11] .plt PROGBITS 08048268 000268 000040 04 AX 0 0 4
[12] .text PROGBITS 080482b0 0002b0 0001e8 00 AX 0 0 16
[13] .fini PROGBITS 08048498 000498 00001c 00 AX 0 0 4
[14] .rodata PROGBITS 080484b4 0004b4 000010 00 A 0 0 4
[15] .eh_frame PROGBITS 080484c4 0004c4 000004 00 A 0 0 4
[16] .ctors PROGBITS 080494c8 0004c8 000008 00 WA 0 0 4
[17] .dtors PROGBITS 080494d0 0004d0 000008 00 WA 0 0 4
[18] .jcr PROGBITS 080494d8 0004d8 000004 00 WA 0 0 4
[19] .dynamic DYNAMIC 080494dc 0004dc 0000c8 08 WA 5 0 4
[20] .got PROGBITS 080495a4 0005a4 000004 04 WA 0 0 4
[21] .got.plt PROGBITS 080495a8 0005a8 000018 04 WA 0 0 4
[22] .data PROGBITS 080495c0 0005c0 000004 00 WA 0 0 4
[23] .bss NOBITS 080495c4 0005c4 000008 00 WA 0 0 4
[24] .comment PROGBITS 00000000 0005c4 000114 00 0 0 1
[25] .shstrtab STRTAB 00000000 0006d8 0000db 00 0 0 1
[26] .symtab SYMTAB 00000000 000c14 000440 10 27 48 4
[27] .strtab STRTAB 00000000 001054 00025a 00 0 0 1
Key to Flags:
W (write), A (alloc), X (execute), M (merge), S (strings)
I (info), L (link order), G (group), x (unknown)
O (extra OS processing required) o (OS specific), p (processor specific)
There are no section groups in this file.
Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
PHDR 0x000034 0x08048034 0x08048034 0x000e0 0x000e0 R E 0x4
INTERP 0x000114 0x08048114 0x08048114 0x00013 0x00013 R 0x1
[Requesting program interpreter: /lib/ld-linux.so.2]
LOAD 0x000000 0x08048000 0x08048000 0x004c8 0x004c8 R E 0x1000
LOAD 0x0004c8 0x080494c8 0x080494c8 0x000fc 0x00104 RW 0x1000
DYNAMIC 0x0004dc 0x080494dc 0x080494dc 0x000c8 0x000c8 RW 0x4
NOTE 0x000128 0x08048128 0x08048128 0x00020 0x00020 R 0x4
GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RW 0x4
Relocation section '.rel.dyn' at offset 0x230 contains 1 entries:
Offset Info Type Sym.Value Sym. Name
080495a4 00000106 R_386_GLOB_DAT 00000000 __gmon_start__
Relocation section '.rel.plt' at offset 0x238 contains 3 entries:
Offset Info Type Sym.Value Sym. Name
080495b4 00000107 R_386_JUMP_SLOT 00000000 __gmon_start__
080495b8 00000207 R_386_JUMP_SLOT 00000000 __libc_start_main
080495bc 00000307 R_386_JUMP_SLOT 00000000 printf
There are no unwind sections in this file.
Symbol table '.dynsym' contains 5 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 00000000 0 NOTYPE LOCAL DEFAULT UND
1: 00000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__
2: 00000000 415 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.0 (2)
3: 00000000 57 FUNC GLOBAL DEFAULT UND printf@GLIBC_2.0 (2)
4: 080484b8 4 OBJECT GLOBAL DEFAULT 14 _IO_stdin_used
Symbol table '.symtab' contains 68 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 00000000 0 NOTYPE LOCAL DEFAULT UND
1: 08048114 0 SECTION LOCAL DEFAULT 1
2: 08048128 0 SECTION LOCAL DEFAULT 2
3: 08048148 0 SECTION LOCAL DEFAULT 3
4: 08048168 0 SECTION LOCAL DEFAULT 4
5: 080481b8 0 SECTION LOCAL DEFAULT 5
6: 08048204 0 SECTION LOCAL DEFAULT 6
7: 08048210 0 SECTION LOCAL DEFAULT 7
8: 08048230 0 SECTION LOCAL DEFAULT 8
9: 08048238 0 SECTION LOCAL DEFAULT 9
10: 08048250 0 SECTION LOCAL DEFAULT 10
11: 08048268 0 SECTION LOCAL DEFAULT 11
12: 080482b0 0 SECTION LOCAL DEFAULT 12
13: 08048498 0 SECTION LOCAL DEFAULT 13
14: 080484b4 0 SECTION LOCAL DEFAULT 14
15: 080484c4 0 SECTION LOCAL DEFAULT 15
16: 080494c8 0 SECTION LOCAL DEFAULT 16
17: 080494d0 0 SECTION LOCAL DEFAULT 17
18: 080494d8 0 SECTION LOCAL DEFAULT 18
19: 080494dc 0 SECTION LOCAL DEFAULT 19
20: 080495a4 0 SECTION LOCAL DEFAULT 20
21: 080495a8 0 SECTION LOCAL DEFAULT 21
22: 080495c0 0 SECTION LOCAL DEFAULT 22
23: 080495c4 0 SECTION LOCAL DEFAULT 23
24: 00000000 0 SECTION LOCAL DEFAULT 24
25: 080482d4 0 FUNC LOCAL DEFAULT 12 call_gmon_start
26: 00000000 0 FILE LOCAL DEFAULT ABS crtstuff.c
27: 080494c8 0 OBJECT LOCAL DEFAULT 16 __CTOR_LIST__
28: 080494d0 0 OBJECT LOCAL DEFAULT 17 __DTOR_LIST__
29: 080494d8 0 OBJECT LOCAL DEFAULT 18 __JCR_LIST__
30: 080495c4 4 OBJECT LOCAL DEFAULT 23 dtor_idx.5768
31: 080495c8 1 OBJECT LOCAL DEFAULT 23 completed.5766
32: 08048300 0 FUNC LOCAL DEFAULT 12 __do_global_dtors_aux
33: 08048360 0 FUNC LOCAL DEFAULT 12 frame_dummy
34: 00000000 0 FILE LOCAL DEFAULT ABS crtstuff.c
35: 080494cc 0 OBJECT LOCAL DEFAULT 16 __CTOR_END__
36: 080484c4 0 OBJECT LOCAL DEFAULT 15 __FRAME_END__
37: 080494d8 0 OBJECT LOCAL DEFAULT 18 __JCR_END__
38: 08048470 0 FUNC LOCAL DEFAULT 12 __do_global_ctors_aux
39: 00000000 0 FILE LOCAL DEFAULT ABS test.c
40: 080494c8 0 NOTYPE LOCAL HIDDEN 16 __preinit_array_start
41: 080494c8 0 NOTYPE LOCAL HIDDEN 16 __fini_array_end
42: 080495a8 0 OBJECT LOCAL HIDDEN 21 _GLOBAL_OFFSET_TABLE_
43: 080494c8 0 NOTYPE LOCAL HIDDEN 16 __preinit_array_end
44: 080494c8 0 NOTYPE LOCAL HIDDEN 16 __fini_array_start
45: 080494c8 0 NOTYPE LOCAL HIDDEN 16 __init_array_end
46: 080494c8 0 NOTYPE LOCAL HIDDEN 16 __init_array_start
47: 080494dc 0 OBJECT LOCAL HIDDEN 19 _DYNAMIC
48: 080495c0 0 NOTYPE WEAK DEFAULT 22 data_start
49: 080483f0 5 FUNC GLOBAL DEFAULT 12 __libc_csu_fini
50: 080482b0 0 FUNC GLOBAL DEFAULT 12 _start
51: 00000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__
52: 00000000 0 NOTYPE WEAK DEFAULT UND _Jv_RegisterClasses
53: 080484b4 4 OBJECT GLOBAL DEFAULT 14 _fp_hw
54: 08048498 0 FUNC GLOBAL DEFAULT 13 _fini
55: 00000000 415 FUNC GLOBAL DEFAULT UND __libc_start_main@@GLIBC_
56: 080484b8 4 OBJECT GLOBAL DEFAULT 14 _IO_stdin_used
57: 080495c0 0 NOTYPE GLOBAL DEFAULT 22 __data_start
58: 080484bc 0 OBJECT GLOBAL HIDDEN 14 __dso_handle
59: 080494d4 0 OBJECT GLOBAL HIDDEN 17 __DTOR_END__
60: 08048400 105 FUNC GLOBAL DEFAULT 12 __libc_csu_init
61: 00000000 57 FUNC GLOBAL DEFAULT UND printf@@GLIBC_2.0
62: 080495c4 0 NOTYPE GLOBAL DEFAULT ABS __bss_start
63: 080495cc 0 NOTYPE GLOBAL DEFAULT ABS _end
64: 080495c4 0 NOTYPE GLOBAL DEFAULT ABS _edata
65: 08048469 0 FUNC GLOBAL HIDDEN 12 __i686.get_pc_thunk.bx
66: 08048384 102 FUNC GLOBAL DEFAULT 12 main
67: 08048250 0 FUNC GLOBAL DEFAULT 10 _init
Histogram for `.gnu.hash' bucket list length (total of 2 buckets):
Length Number % of total Coverage
0 1 ( 50.0%)
1 1 ( 50.0%) 100.0%
SEE ALSO
The full documentation for link is maintained as a Texinfo manual. If the info and link
programs are properly installed at your site, the command
info link
should give you access to the complete manual.
link 5.97 October 2007 LINK(1)
UNLINK(1) User Commands UNLINK(1)
NAME
unlink - call the unlink function to remove the specified file
SYNOPSIS
unlink FILE
unlink OPTION
DESCRIPTION
Call the unlink function to remove the specified FILE.
--help display this help and exit
--version
output version information and exit
AUTHOR
Written by Michael Stone.
REPORTING BUGS
Report bugs to <bug-coreutils@gnu.org>.
SEE ALSO
The full documentation for unlink is maintained as a Texinfo manual. If the info and
unlink programs are properly installed at your site, the command
DESCRIPTION
In the 1st form, create a link to TARGET with the name LINK_NAME. In the 2nd form, create
a link to TARGET in the current directory. In the 3rd and 4th forms, create links to each
TARGET in DIRECTORY. Create hard links by default, symbolic links with --symbolic. When
creating hard links, each TARGET must exist.
Mandatory arguments to long options are mandatory for short options too.
ln - make links between files 라고 설명도 되어 있는데.. 혹시 ln이 link의 wrapping function 일까?
궁금중 해결!
ln and link are not same commands.
Link supports Files only. you can't link directories with link command. please check man pages of both commands again.
link and ln (without -s option) are same. Bot creates hard links. ln with -s option creates soft link.
$ man -k sleep
Time::HiRes (3pm) - High resolution alarm, sleep, gettimeofday, interval timers
apmsleep (1) - go into suspend or standby mode and wake-up later
clock_nanosleep (2) - Suspend execution of the currently running thread
clock_nanosleep (3p) - high resolution sleep with specifiable clock (ADVANCED REALTIME)
nanosleep (2) - pause execution for a specified time
nanosleep (3p) - high resolution sleep (REALTIME)
sleep (1) - delay for a specified amount of time
sleep (1p) - suspend execution for an interval
sleep (3) - Sleep for the specified number of seconds
sleep (3p) - suspend execution for an interval of time
usleep (1) - sleep some number of microseconds
usleep (3) - suspend execution for microsecond intervals
usleep (3p) - suspend execution for an interval
usleep은 1초 까지만 잠재울수 있는 제약이 있다.(1,000,000usec = 1,000msec = 1sec)
USLEEP(P) POSIX Programmer’s Manual USLEEP(P)
NAME usleep - suspend execution for an interval
SYNOPSIS #include <unistd.h>
int usleep(useconds_t useconds);
DESCRIPTION The usleep() function shall cause the calling thread to be suspended from execution until either the number of realtime microseconds specified by the argument useconds has elapsed or a signal is delivered to the calling thread and its action is to invoke a signal-catching function or to terminate the process. The suspension time may be longer than requested due to the scheduling of other activity by the system.
The useconds argument shall be less than one million. If the value of useconds is 0, then the call has no effect.
sleep은 1초 단위로 무제한으로 쓸수 있다.(실질적인 제약은 시스템에 따라 다르지만 32bit / 64bit unsigned int)
SLEEP(P) POSIX Programmer’s Manual SLEEP(P)
NAME sleep - suspend execution for an interval of time
SYNOPSIS #include <unistd.h>
unsigned sleep(unsigned seconds);
DESCRIPTION The sleep() function shall cause the calling thread to be suspended from execution until either the number of realtime seconds specified by the argument seconds has elapsed or a signal is delivered to the calling thread and its action is to invoke a signal-catching function or to terminate the process. The suspension time may be longer than requested due to the scheduling of other activity by the system.
If a SIGALRM signal is generated for the calling process during execution of sleep() and if the SIGALRM signal is being ignored or blocked from delivery, it is unspecified whether sleep() returns when the SIGALRM signal is scheduled. If the signal is being blocked, it is also unspecified whether it remains pending after sleep() returns or it is discarded.
nanosleep은 REALTIME 확장인 듯 한데.. 먼지 모르겠다 ㄱ-
일단은 위의 sleep, usleep과는 다르게 include 파일이 다르다.
int nanosleep(const struct timespec *rqtp, struct timespec *rmtp);
DESCRIPTION The nanosleep() function shall cause the current thread to be suspended from execution until either the time interval specified by the rqtp argument has elapsed or a signal is delivered to the calling thread, and its action is to invoke a signal-catching function or to terminate the process. The suspension time may be longer than requested because the argument value is rounded up to an integer multiple of the sleep resolution or because of the scheduling of other activity by the system. But, except for the case of being interrupted by a signal, the suspension time shall not be less than the time specified by rqtp, as measured by the system clock CLOCK_REALTIME.
The use of the nanosleep() function has no effect on the action or blockage of any signal.
/A지정된 특성을 가진 파일을 보여줍니다.
특성 D 디렉터리 R 읽기 전용 파일
H 숨김 파일 A 기록 파일
S 시스템 파일 - 부정을 뜻하는 접두사
/B 최소 형식을 사용합니다 (머리말 정보나 요약 없음).
/C 파일 크기에 1000단위로 분리 기호를 보여줍니다. 이것은 기본값
입니다. 분리 기호를 표시하지 않으려면 /-C를 사용하십시오.
/D /W와 같으나 세로로 배열하여 보여줍니다.
/L 소문자를 사용합니다.
/N 파일 이름이 제일 오른쪽에 오도록 새로운 긴 목록 형식을
사용합니다.
/O 파일을 정렬된 순서로 보여줍니다.
정렬순서 N 이름순(문자 순서) S 크기순(작은 것 먼저)
E 확장명순(문자 순서) D 날짜/시간순(가장 이전 것 먼저)
G 그룹 디렉터리 먼저 - 순서를 반대로 하는 접두 기호
/P 정보가 한 화면에 꽉 차면 잠깐 멈춥니다.
/Q 파일 소유자를 보여 줍니다.
/S 지정한 디렉터리와 하위 디렉터리를 포함하여 보여줍니다.
/T 정렬에 사용할 시간 필드를 지정합니다.
시간필드 C 작성한 시간
A 마지막 액세스한 시간
W 마지막 기록한 시간
/W 이름만 가로로 배열하여 보여줍니다.
/X 8.3 파일 이름이 아닌 파일에 대한 짧은 이름을 보여줍니다.
이 형식은 긴 이름 앞에 짧은 이름이 추가된 것으로 /N 형식과
같습니다. 짧은 이름이 없으면 공백을 보여줍니다.
/4 4자리수 연도를 표시합니다.
스위치를 DIRCMD 환경 변수로 미리 설정할 수 있습니다. 하이픈(-)을
스위치 앞에 접두 기호로 주면 미리 설정된 스위치에 우선합니다. (예, /-W)
언제부터였을까? 연필을 쓰지 않게 된게?
대학교에서도 연필은 아니어도 최소한 샤프를 섰었고,
졸업하고 나서는 연필갂는 느낌과, 그 시간에 잠시 머리를 식힌다고 섰었고
취업해서도 한동안을 연필을 섰었다.
그 남은 연필들이 모두 몽당연필이 되어 볼펜에 꼽아서 쓰기에도 짧아 졌을때
그 이후로는 연필을 다시 사지 않았던 것 같다.
중국산 연필을 한타스에 1000원 하길래 샀었는데(지하철에서)
이 써글 연필은 옹이까지 갂아서 만들어 주는 바람에 칼로는 갂기 힘들었고, 이로 인해서
심을 몇번이나 분질러 먹는 바람에 금세 몽당연필이 되었었다.