全部博文(370)
分类: LINUX
2011-07-27 08:05:53
西邮Linux兴趣小组10级暑期学习周总结
第一周(7月15日至7月21日)
第四组
组长:李攀
组员:王情 杨东明 韩伟 周媛媛 张京鹏
本周任务:
完成《鸟哥Linux的私房菜》基础学习篇第一部分的学习。
主要掌握linux安装方法,各种设备在linux中的识别代号,熟悉linux基础的应用。在本部分里面经常用的是man命令,这是一个很有用的命令,用它可以帮助我们获得其他的命令的具体的描述和使用方法。
完成《Linux C 编程实战》前五章
了解Linux系统和常用的命令;C 编程基础的巩固,vim,gcc,gdb,makefile的学习和使用。(这里只安排一周的时间,但需要以后的不断练习,这里的这些工具要反复的使用才能熟练的掌握)
李攀:
学习心得
对于新接触的Linux来说,有太多的陌生,也有许多我们难以理解的地方,也许在看书的时候一章看完可都好不知道自己究竟看了什么东西,但是遇到困难就一定要坚持,不要轻言放弃,因为在学习新知识的时候,困惑是难免的,一遍看不懂,没关系,坚持看下去,只要有个大概的印象,再看第二遍的时候也许你就会有新的收获!
遇到的问题:
1)txt文本汉字乱码
在终端输入gconf-editor,会启动一个类似windows注册表的东西
进入目录apps->gedit-2->preferencea->encodings
选择右边的auto_detected2点右键选择编辑键
然后添加gb18030再上移到第二位
2)用gedit编辑完文件之后,用vi打开,里头的很多汉字注释全成了乱码由于在gedit下,我使用的输入法是fcitx,fcitx默认是gb编码,而我的vim默认是utf-8(我查了一下,好像gedit默认也是utf-8),所以打开会成乱码。修改了一下配置文件,使vi支持gb编码就好了。
修改.vimrc:
let &termencoding=&encoding
set fileencodings=utf-8,gbk
3)main函数参数问题
int main(int argc , char *argv[])有两个参数
其中
默认argc为1,argv[0]为程序名称
如果输入一个参数,则argc为2,argv[0]为程序名称,argv[1]为输入的那个参数
依此类推,多个参数的情况
4)桌面点右键创建文档模板问题
打开$HOME目录下的模板文件夹,把一个word_template.doc的Ms
Word文件作为文档模板放入此文件夹,打开右键菜单,果然看到了"word_template.doc"的菜单项。点击该菜单项,一个新doc文件就创建成功了,其实Ubuntu就是将"模板"目录下的word_template.doc文档模板复制了一份供你使用。
未解决的问题:
磁盘配额quotacheck问题
在终端输入quotacheck -auvg后显示
quotacheck: 无法从 /dev/sda10 上的文件名猜测其格式,请在命令行中指定一个确切的格式。
尝试在quotacheck -avug 后加 ext4后显示:
quotacheck -avug ext4
参数数量有误。
王情:
学习心得:
这周的学习,使我系统的了解了Linux相关知识,懂得了Linux的一些基本应用,但只是初步了解仍有很多问题尚未解决。
学习《鸟哥的Linux私房菜》让我了解了Linux的发展史,Linux与unix的关系以及操作系统,内核等相关知识。书中详细介绍了它的硬件以及安装配置,规划等内容,由于之前对电脑知识缺乏了解,所以虽然学习完后有所了解了,但仍对这些专业知识很迷惑,其中涉及的很多专业术语都不清楚,没有什么概念。《LinuxC编程实战》和《鸟哥的Linux私房菜》都讲解了很多有关于Linux的基本命令,学习完后自己能进行一些基本操作,但还有很多命令不懂,并且命令太多容易混淆。
这几天通过看书学习以及上网查询等方式,使我从对Linux一窍不通到能进行一些基本应用,但自己和别人的差距还很大,需要更多的努力。
学习进度:
《鸟哥的Linux私房菜》学习了第一部分;
《Linux C编程实战》学习了第一篇;
《数据结构》学习了第一章;
make的使用,电脑配置,程序安装等学得不好。
已解决的问题(问题太多,简单列举):
1. 什么是root用户或者超级用户?在系统中怎样使用root?
解答:root是在安装Linux过程中创建的第一个用户。
root用户也叫做超级用户,因为它在系统中没有任何限制。作为root,你可以作任何事情,所以叫做超级用户。
安装完成使用,除了root之外,创建至少一个普通用户是一个很好的主意。在Linux 安装过程中,Linux安装器将提醒你做这样的事情。
一个最好的习惯就是使用普通用户登录Linux系统,而不是使用root去完成平常的任务,并且只当需要的时候才以root身份登录。某些任务只允许root用户去完成。
作为方便使用,在Linux系统使用图形用户界面(GUI),有一些菜单选项在运行前,会自动提醒输入root用户的密码。
在使用终端和命令行界面时,用户可以使用命令su(替换用户)去获得root的用户标识。例如,/var/log/secure的文件内容是不允许普通用户访问的:
$ cat /var/log/secure
cat: /var/log/secure: Permission denied
如果普通用户知道root的密码,那用户可以使用su命令成为root用户:
$ su
Password:
# cat /var/log/secure
Aug 2 09:14:38 somehost ...
2.怎样使用快捷键简化操作,有哪些快捷键?
解答:
<1>.
切换到第一个文本终端。在Linux下你可以有多达六个不同的终端。这个命令的意思是:"同时按住
<2>.
切换到第n个文本终端。在文本终端下(不是在X窗口),你也可以简单使用
<3>. fgconsole
打印出你正在使用的终端名称
<4>.
切换到第一个图形用户界面(一般来说X-window在第七个终端)
<5>.
切换到第n个图形用户界面。根据缺省,第一个X-Window在第7个终端运行,从第8到第12什么也没有,当然你可以逐个启动这些图形用户界面。
<6>.
(在文本终端下)可以使用TAB自动完成命令,或者显示所有的可选项。这个快捷键真的非常好用,经常使用你会发觉它可以节约你很多的时间。
<7>.
滚动终端输出。对于登录提示也起作用,所以你可以使用它回滚启动信息。你显卡的内存大小决定你可以回滚多少内容
<8>.
回滚终端输出
<9>.
(在X窗口下) 改变X服务器的屏幕解析率
(如果你设置X服务器有多个不同的屏幕解析率)。比如对于我的标准SVGA卡和显示器,在文件/etc/X11/XF86Config有以下的设置行:
(从缺省开始,到可以支持的最大虚拟屏幕解析率)
Modes "1024x768" "800x600" "640x480" "512x384" "480x300" "400x300" "1152x864"Z
当然,首先我必须设置我的X服务器,可以使用using Xconfigurator, xf86config,
也可以手工编辑文件:/etc/X11/XF86Config。XFdrake (Mandrake使用图形用户界面进行配置
)。你也可以参考命令xvidtune和xvidgen。
<10>
(在X窗口下)把X服务器的屏幕解析率修改到上一次的设置。
<11>.
(适用于文本终端下)关机和重新启动。这是一个在文本终端下的正常关机命令,千万不要按计算机上的reset键来重新关机和重新启动!
<12>.
终止当前进程(对于一般的小型文本模式的应用程序)
<13>.
(在一个空白的命令行上输入)退出当前的终端。参加下一个命令。
<14>.
给当前的进程送文件结束符合。不要按两次否则你会把自己退出系统。
<15>.
停止终端传输
<16>.
从新开始终端传输。如果你的终端突然莫名其妙的停止响应,可以参考上一条命令。
<17>.
把当前进程送到后台处理。
<18>.exit
退出系统。我也可以使用logout命令达到同样效果。(如果你启动了第二个shell程序,比如,使用bash,这条命令将使你退出第二个shell回到第一个shell,但是不会退出系统。当然,可以再一次使用exit退出)
<19>.reset
恢复崩溃的终端(有些终端显示一些奇怪的字符)到缺省的设置。当你使用cat命令准备显示一个二进制文件时,你可能看不到你所输入的命令,尽管命令仍然照常工作。
3.man page 等一些帮助信息的使用方法:
4.一些逻辑性编程问题的思考
举例:
在6个嫌疑人里面找出作案的人,用C语言编写程序;
1.AB至少有1人作案;
2.AEF3人中至少有2人参与作案;
3.AD不可能是同案犯;
4.BC或同时作案或都不作案
5.CD中有且只有一人作案;
6.如果D没作案,则E也不作案;
#include
void main(void)
{
int a,b,c,d,e,f;
for(a=0;a<2;a++)
{
for(b=0;b<2;b++)
{
if(a||b) /*AB至少有1人作案*/
{
for(c=0;c<2;c++)
{
if((!b)&&(!c)||(b&&c)) /*BC或同时作案或都不作案*/
{
for(d=0;d<2;d++)
{
if(((c&&!d)||(!c&&d))&&(!(a&&d))) /*AD不可能是同案犯;CD中有且只有一人作案;*/
{
if(d==0) /*如果D没作案,则E也不作案;*/
{
e=0;
}
for(f=0;f<2;f++)
{
if((a&&e)||(a&&f)||(e&&f)||(a&&e&&f))
{
if(a==1)
{
printf("A是作案人!\n");
}
if(b==1)
{
printf("B是作案人!\n");
}
if(c==1)
{
printf("C是作案人!\n");
}
if(d==1)
{
printf("D是作案人!\n");
}
if(e==1)
{
printf("E是作案人!\n");
}
if(f==1)
{
printf("F是作案人!\n");
}
}
}
}
}
}
}
}
}
}
}
5.............
尚未解决的问题:
1.Linux里面缺省是什么意思(上网未找到合适的答案)?
2.makefile的编写:<1>.输完文件行之后,怎样像书上列举的那样,在文件行的下一行输入命令
<2>.按书上列举的格式输入后总有错误 ,总的来说就是不理解makefile的编写 <3>.不理解文件 和目录的关系
<4>......
3.Linux的安装,主机硬件等配置以及其各种型号不明白......
4.各种各样的命令总是混淆......
杨东明
心得体会:
留校,虽然没有了很多的娱乐时间,但过的十分充实。通过一周的学习,对计算机的组成以及架构、工作原理有了认识,对 Linux 有了初步的了解,掌握了基本的操作命令,对 Linux 系统的目录配置 、文件的权限有了进一步的认识,掌握了 vim 的基本应用。感觉只有把看书和实际操作结合,才能学好 Linux。
学习进度:
1.:《鸟Liunx的鸟哥私房菜》看到第七章。
2. c 编程实战: 看到 2.5 完。
遇到的问题。
1、显卡驱动无法正常运行。
无论是官网上的单独驱动,还是驱动催化剂,还有第三方驱动都无法让显卡正
常运行,只能调节分辨率,无法让 gnome 3.0.1 运作,无法实现硬件加速。显卡型号
Radeon HD 550v (Radeon HD 4650 降频版 )。求解。
2、想实现 man 中文手册失败。
网上方法:
1.首先下载中文 man 压缩包
2.解压缩并安装,指令如下:
tar zxvf manpages-zh-1.5.1.tar.gz
cd manpages-zh-1.5.1
./configure
make && make install
3.测试中文是否正常
man ls
如果看到中文,可以不用进行以下步骤了!如果中文乱马,请见查当前环境 LC*设置是否正确,检查在
当前终端窗口的编码是否与 LC*相符如果不相符,请同意改成 zh_CN.UTF-8,如果相符,按照如下步骤
修改
修改 /etc/man.config 文件
替换
NROFF /usr/bin/nroff -c --legacy NROFF_OLD_CHARSET -mandoc 2>/dev/null
修改为
NROFF
/usr/bin/groff -Tutf8i -mandoc
然后 man ls
按这个方法无法实现中文 man,求解。
系统: fedora 15。
周媛媛
未解决问题(P68)
a.用逻辑表达式,for循环语句求解逻辑题,编写程序确定比赛名次。
问题所在:不能将书面语言翻译成逻辑表达式,没有明确的思路将for循环加到代码中去。
解决方法:与两个同学进行交流讨论,但最终没有什么实质性进展。有一点发现,这道题没有答案。因为按照题目要求推断,它本身就是相矛盾的。
b.gdb调试器的使用不够熟练,对于那么多的命令,只有少部分能够熟练应用,如:breakpoint,run,print,display,next,step.有相当一部分不能很好掌握与使用。所以,导致只能将一部分较简单的程序调试成功,对复杂的程序束手无策。
解决方法:参照课本与gdb学习手册进行实际操作练习,但由于时间问题还是不太熟练,有待加强。另外,课本与学习手册讲的太过于理论化,不
太容易理解,所以,找会的同学指导交流,进步的应该会快一些。
c.《鸟哥的私房菜》第一部分讲述的都是硬件方面的内容,不很理解,虽然说是看了过去,但是看与不看的差别不大,
已解决问题基本没什么印象。
a.运算时变量类型的转换。
b.理解了指向函数的指针。
如:int max(int i,int j)
{
return i>j?i:j;
}
int (*p) (int m,int n);
p = max;
p就是指向max函数的指针
c.用穷举算法求解爱因斯坦阶梯问题。(P68)
心得体会
庞大的命令要记清楚不是件容易的事,需要不断的练习。遇到不会的问题应该及时记录下来,多与同学探讨。对于同一个问题,多了解一下别人的方法,开阔自己的思维模式。
韩伟
学习心得与体会
总的来说,通过这一周的学习收获了不少。学习要善于交流,通过同学间的讨论学到了ssh远程登录和Linux版的飞鸽传书inpux,熟悉了
vim,gdb,gcc,当然要掌握还需要不断的运用,大量的练习。我觉得看书要边看边想,还要加上实践,实践是硬道理!对于基本命令,闲了没事记上几
个,多运用,加强掌握!而且通过这周学习,我认为学习一定要有效率,当你觉得实在看不下去的时候,去外面转转或者听听歌啥的放松放松,再一个,一定要注意休息,不然脑子不好使!还有,一定别心急,总觉的自己好像没学到啥似的,一朝一夕的进步是很难发现的,当量的积累达到一定程度才会有质的飞跃!!!!
学习进度
学完了《LinuxC编程实战》前五章,鸟哥比较粗糙,由于安装那部分自己看着有点乱,所以跳着看,不是很清楚安装的过程,看了点后面命令的知识,第三版只看了第0章!还差的远,我会尽全力学习鸟哥,超过进度的!
遇到的问题及解决方法
问题1.关于struct和uion中字节对其问题 -----已解决
方法:通过上网查资料(浏览刘亚运学长的博客),加上多题的练习,基本已掌握!
心得:遇到问题要善于查资料,交流,解决问题!
问题2. 关于Linux的规划和安装,至今不是很清楚-----未解决!!
问题3. vim里面编译的汉字运行时是乱码---未能全部解决
方法:通过问学长,查资料解决了退出vim时不是乱码,但vim里面编译的汉字运行时是乱码!!!
问题4.了解了远程登录ssh
方法:通过同学间的交流!!
感悟
对于知识,要实践!对于问题要交流,要学会查资料!对于自己,要鼓励,要坚持!!!!
张京鹏
暑假留校的第一周马上就要结束了,许多事情慢慢的也进入正轨了,比如说心理方面,生活作息方面等等,看着大家这么努力,我想没有人会无动于衷的,不进则退,这个道理大家都懂的。
第一周的任务我感觉还是很轻松的,因为许多东西前面已经看过了,对我而言,算是基本完成了,但谈不上精通,这需要以后多加练习。我这周学习的内容包括鸟哥的前7章的复习以及shell的初步了解,实战编程的前4章的复习以及make和Makefile的学习,还有数据结构图的学习,本来想要学习一些关于英语方面的东西,但一直没有行动起来,下周开始吧!
在学习的过程中,出现了一些问题,我个人没法解决,希望能够在小组讨论中得到解决。C实战编程方面关于GDB,我觉的这种调试方式实在是很繁琐,远不如那些集成的好用,那么gdb它的适用环境在哪呢?数据结构方面觉的已经看明白了那些算法,但还是不知道什么时候用。
关于具体的知识方面没有什么大的问题,基本上百度就可以解决,这周的问题就是这些了,期待小组讨论能够让我发现自己身上还欠缺的东西。
小组周总结
组内讨论:
李攀 王情 杨东明 韩伟 周媛媛 张京鹏
转眼我们进入Linux这个心得世界已经过去了一周,在这短短的一周中,我们正慢慢的适应和windows大不一样的系统,在这过程中我们遇到了许多问题,当然也发现了许多只属于Linux的精彩。
在这一周中,小组成员按照学习计划,基本上都完成了任务,都对Linux操作系统有了一个初步的认识,能熟练的进行Linux的基本操作。
通过组内讨论,大部分个人的问题都已得到解决。
小组还未解决的问题:
1.man手册的中文化。
2.磁盘配额的启动。
在接下来的一周中,我们将对Linux系统进一步的了解,并开始学习Linux下c语言对文件的操作,
对数据结构进行初步的了解。