ورود

View Full Version : Source code دستور tail در linux



alirzn
پنج شنبه 07 مهر 1390, 03:12 صبح
tail در linux ده خط آخر یک فایل رو نمایش می دهد؟ چطور میشه source code شو دید که چطور این دستور code نویسی شده؟

alieblice
پنج شنبه 07 مهر 1390, 16:07 عصر
از گوگل کد میشه استفاده کرد که تحریم هستیم
از این راهی که اینجا گفته شده هم میشه تو سیستم هایه debian بیس استفاده کرد
http://www.thegeekstuff.com/2010/02/get-source-code-for-any-linux-command/

alirzn
پنج شنبه 07 مهر 1390, 23:43 عصر
من در google code سرچ کردم اما چیزی پیدا نکردم. شما link شو دارید؟

از گوگل کد میشه استفاده کرد که تحریم هستیم
از این راهی که اینجا گفته شده هم میشه تو سیستم هایه debian بیس استفاده کرد
http://www.thegeekstuff.com/2010/02/get-source-code-for-any-linux-command/

FastCode
جمعه 08 مهر 1390, 10:32 صبح
http://bazaar.launchpad.net/~vcs-imports/util-linux-ng/trunk/files/

داخل directory ه text-utils
tailf

alirzn
جمعه 08 مهر 1390, 20:07 عصر
ممنون از پاسختون. من برنامه رو compile کردم در linux اما کلی error در زمان compile میده. مشکلش چی میتونه باشه؟
tailf(const char *filename, int lines)
53
{
54
char *buf, *p;
55
int head = 0;
56
int tail = 0;
57
FILE *str;
58
int i;
59
60
if (!(str = fopen(filename, "r")))
61
err(EXIT_FAILURE, _("cannot open \"%s\" for read"), filename);
62
63
buf = xmalloc((lines ? lines : 1) * BUFSIZ);
64
p = buf;
65
while (fgets(p, BUFSIZ, str)) {
66
if (++tail >= lines) {
67
tail = 0;
68
head = 1;
69
}
70
p = buf + (tail * BUFSIZ);
71
}
72
73
if (head) {
74
for (i = tail; i < lines; i++)
75
fputs(buf + (i * BUFSIZ), stdout);
76
for (i = 0; i < tail; i++)
77
fputs(buf + (i * BUFSIZ), stdout);
78
} else {
79
for (i = head; i < tail; i++)
80
fputs(buf + (i * BUFSIZ), stdout);
81
}
82
83
fflush(stdout);
84
free(buf);
85
fclose(str);
86
}
87


http://bazaar.launchpad.net/~vcs-imports/util-linux-ng/trunk/files/

داخل directory ه text-utils
tailf

FastCode
جمعه 08 مهر 1390, 22:17 عصر
همه ی util-linux-ng رو دانلود کردید؟
چه مراحلی رو انجام دادید؟
دستور ه اجرای gcc /g++ تون چی بوده؟

alirzn
جمعه 08 مهر 1390, 22:22 عصر
من فقط اون تیکه کد فانکشن tailf رو copy و paste کردن درون vim بعد با دستور زیر compile کردم.
gcc filename.c -o filename
من فقط برنامه ای که 10 خط اخر یک فایل رو نمایش میده رو میخوام. که هموم tail هست.

همه ی util-linux-ng رو دانلود کردید؟
چه مراحلی رو انجام دادید؟
دستور ه اجرای gcc /g++ تون چی بوده؟