Linux studying

2010-10-13
添加用户dl:useradd dl
修改dl密码:passwd dl
删除用户dl: userdel dl
切换用户:su root
关机:shutdown -h +时间
重启: shutdown -r +时间


Linux和XP共享一个网卡
1、启动用户管理器来图形化地创建用户帐号:
点击桌面上的「从这里开始」图标。在它打开的新窗口中,点击「系统设置」图标,然后点击「用户和组群」图标。你还可以选择面板上的「主菜单」 => 「系统设置」 => 「用户和组群」。
你也可以在 shell 提示下键入redhat-config-users 来启动 用户管理器。

2、互联网配置向导
a、在 shell 提示下,键入 internet-druid 命令。
b、系统设置-》网络 统一配置为:
Name: eth0
IP: 192.168.1.3
Mask:255.255.255.0
Default Gateway:192.168.1.1
DNS:192.168.1.1
MAC:00:0c:29:a3:52:5f
主机名:localhost.localdomain
DNS搜寻路径:localdomain
c、系统设置-》服务器设置-》服务
重启:network
d、VMWare中Ethernet配置:Custom:VMnet0
e、XP端配置VMWare Network Adapter VMnet1共享,且设置网络
IP: 192.168.1.1
Mask:255.255.255.0
Default Gateway:192.168.1.1
DNS:192.168.1.1

3、VMare中共享文件夹在Linux路径为:/mnt/hgfs/share


2010-9-11
1、在配置文件里,以#打头的行是注释行。在修改配置文件的时候尽量不要删除旧的设置――可以把原来的设置加上”#”变成注释行
2、

2010-5-6
一、虚拟共享目录地址为:/mnt/hgfs
二、软件安装
1、软件安装卸载,分几种情况:

A:RPM包,这种软件包就像windows的EXE安装文件一样,各种文件已经编译好,并打了包,哪个文件该放到哪个文件夹,都指定好了,安装非常方便,在图形界面里你只需要双击就能自动安装。
==如何卸载:
1、打开一个SHELL终端
2、因为Linux下的软件名都包括版本号,所以卸载前最好先确定这个软件的完整名称。
查找RPM包软件:rpm -qa ×××*
注意:×××指软件名称开头的几个字母,不要求写全,但别错,*就是通配符号“*”,即星号,如你想查找机子里安装的REALPLAYER软件,可以输入:rpm -qa realplay*
3、找到软件后,显示出来的是软件完整名称,如firefox-1.0.1-1.3.2
执行卸载命令:rpm -e firefox-1.0.1-1.3.2

===安装目录,执行命令查找:rpm -ql firefox-1.0.1-1.3.2

===参考文章:http://blog.chinaunix.net/article.p...178&blogId=1438

B:tar.gz(bz或bz2等)结尾的源代码包,这种软件包里面都是源程序,没有编译过,需要编译后才能安装,安装方法为:
1、打开一个SHELL,即终端
2、用CD 命令进入源代码压缩包所在的目录
3、根据压缩包类型解压缩文件(*代表压缩包名称)
tar -zxvf ****.tar.gz
tar -jxvf ****.tar.bz(或bz2)
4、用CD命令进入解压缩后的目录
5、输入编译文件命令:./configure(有的压缩包已经编译过,这一步可以省去)
6、然后是命令:make
7、再是安装文件命令:make install
8、安装完毕

===如何卸载:
1、打开一个SHELL,即终端
2、用CD 命令进入编译后的软件目录,即安装时的目录
3、执行反安装命令:make uninstall

====安装目录:注意make install命令过程中的安装目录,或者阅读安装目录里面的readme文件,当然最好的办法是在安装的过程中指定安装目录,即在./configure命令后面加参数--prefix=/**,
如:./configure --prefix=/usr/local/aaaa,即把软件装在/usr/local/路径的aaaa这个目录里。一般的软件的默认安装目录在/usr/local或者/opt里,可以到那里去找找

C:以bin结尾的安装包,这种包类似于RPM包,安装也比较简单
1、打开一个SHELL,即终端
2、用CD 命令进入源代码压缩包所在的目录
3、给文件加上可执行属性:chmod +x ******.bin(中间是字母x,小写)
3、执行命令:./******.bin(realplayer for Linux就是这样的安装包)
===如何卸载:把安装时中选择的安装目录删除就OK
===执行安装过程中可以指定,类似于windows下安装。

2、安装完软件后如何执行。 安装完软件后可以有好多种方法执行软件:
A、有些软件安装后会自动在应用程序列表里加上快捷键,和windows一样,到那里找就行了。
B、如果在应用程序列表里找不到的话,可以直接在/开始/运行命令里输入命令:启动命令一般就是软件名,如firefox,realplay,xmms等
C、也可以打开一个shell终端,输入软件名,和在“运行命令”里一样。如果不知道命令全程的话,可以输入开头的字母,然后按tab键查找,系统会自动显示以输入字母开头的所有命令/
D、你也可以直接到安装目录下运行启动文件,Linux下的可执行图标和shell终端图标很像
E、到/usr/bin目录里找安装的软件启动文件执行命令。Linux系统把所有可执行的文件命令在/usr/bin目录里都作了启动连接,你可以去那个目录寻找你安装的文件的启动命令,双击启动
三、关机:
halt

2010-3-8
一、gcc调试:
如果编译时,使用下面的指令(增加了参数-g),就会生成带源代码调试符号的可执行文件。编译形成的可执行文件有7KB。之所以增加了2KB,就是因为增加的调试符号。

gcc -o calc calcutlator.c -g
进一步地,就可以执行下面的指令启动调试工具进入调试环境对程序进行调试了。
gdb calc
在调试环境下,可以输入下列指令来控制调试。
l 28 第一个字母是小写的L,列出第28行附近的源程序。
b sum 在sum函数处设断点
b 25 在第25行处设断点
r 运行程序
n 单步执行,不进入函数
s 单步执行,进入函数
c 继续连续执行
p choice 显示变量choice 的值
q 退出调试环境
k 杀死程序

二、g++编译调试
假设用vi编写好了一个C++程序,源程序文件名为hello.cxx。如何编译?编译,指定生成的可执行文件名为hw。
g++ -o hw hello.cxx
带源代码调试符号进行编译。g++ -o hw hello.cxx -g


2010-3-3
1、pwd:显示当前路径
ps:显示当前的进程
startx:进入xwindow图形界面
man:显示帮助手册内容

2、进程:
a、复制,拷贝:fork,clone函数
b、等待:wait3,wait4
c、消亡:exit


2010-3-2
一、安装vmware-tools 学习来源http://os.51cto.com/art/200901/104983_3.htm

点击VMware菜单的——虚拟机——安装VMware Tools,在弹出的对话框中选择“安装”。这时,在Ubuntu下会自动加载Linux版的VMware Tools的安装光盘镜像。你会看到虚拟机的桌面上出现了一个名为VMware Tools的光盘图标,并且被自动打开。其中包括VMwareTools-5.3.3-34685-i386.rpm和VMwareTools- 5.3.3-34685.tar.gz(版本号可能不一致)两个文件。

在终端界面中运行:
$ tar zxf /media/cdrom/VMwareTools-5.3.3-34685.tar.gz(回车后系统会把那个.tar.gz文件解压缩)
$ cd vmware-tools-distrib(回车后目录将转换到解压缩后的那个文件夹)
$ sudo ./vmware-install.pl(回车后会提示输入你的密码,表明你将以更高级权限执行一个动作——安装软件;再次回车后安装开始)

经过一番确认回车后(相当于在Windows里安装软件时所填答的诸多对话框,我们这里均采用缺省设置),直到最后出现“Enjoy——the VMware team”的字样后,VMwareTools终于安装完成了。

在终端中继续运行:
$ /usr/bin/vmware-toolbox
重启就可以看到效果了

二、bash
输入:
path=/home/denglei/senses
echo $path
echo dirs:
dir

输出:
/home/denglei/senses
dirs:
ex1.c  sense


输入:
A=(this is an example of shell script)
echo ${A[0]} ${A[2]} ${A[4]} ${A[6]}
echo ${A[6]}
echo ${A[*]}

输出:
this an example script
script
this is an example of shell script

 

2010-2-25
1、生成静态库libprint.a
利用GCC生成对应目标文件:gcc -c Print.c -->Print.o
用ar创建库文件: arc -rc libprint.a Print.o --->libprint.a

编译使用 gcc -o test test.c libprint.a
注意:编译时-o test 和 test.c libprint.a顺序不可更改,否则失败

编译方法二:(操作路径为/root/compiler/sense)
gcc -c -I/root/compiler/sense/ test.c
gcc -o test -L/root/compiler/sense test.o libprint.a
编译时-o test 和 test.o libprint.a顺序不可更改,否则失败

其中-I/home/hcj/xxxxxxxx和-L/home/hcj/xxxxxxxx是通过-I和-L指定对应的头文件和库文件的路径。

2、生成动态链接库:
创建库文件:
gcc -fpic -shared -o libprint.so Print.c
-fpic 使输出的对象模块是按照可重定位地址方式生成的。
-shared指定把对应的源文件生成对应的动态链接库文件。

编译:
方法一:
gcc -o test2 test.c /root/compiler/sense/libprint.so
./test2
注意:顺序不可颠倒;且*.so路径必须要全名称

方法二:
如果想从系统的库文件路径(通常系统函数库的位于/usr/lib下)链接动态库的话,可以先将生成的库文件拷贝至/usr/lib/下,然后再链接:
cp libprint.so /usr/lib/
gcc -o test2 test.c -lprint
./test2

3、使用nm -s 命令来查看.a文件的内容

2010-2-23
添加用户: useradd tangyang
修改密码:passwd tangyang
删除用户:userdel tangyang


归档文件:tar -cf code.tar code.c code.dll
查看归档文件:tar -tvf code.tar
解压归档文件:tar -xf code.tar

du:统计当前目录下子目录的磁盘使用情况,主要是统计其子目录和所有子目录下文件的大小
df:统计文件系统中空闲的磁盘空间,缺省情况下显示所有安装文件系统的磁盘使用信息
in:用来在目录或文件间建立链接
find:用于查找Linux系统上的文件或目录
tar:是一个文件管理工具,用于将文件归档,或者从归档中恢复文件
gzip:GNU文件压缩工具,用于压缩Linux文件,通常与tar一起使用

2010-2-22
修改文件权限:
chmod u+rw readme.txt
g+w:为组群添加写入权;
o-rwx:删除其他人的所有权限;
u+x:允许文件所有者执行这个文件;
a+rw:允许每个人读取并写入文件;
ug+r:允许所有者和组群读取文件;
g=rx:只允许组群读取和执行(不能写入)。

最后,介绍一下恢复组群的权限的方法。命令如下:、
chmod ug+x tigger

2010-2-6
登录:su root,密码denglei
创建文件夹:mkdir ***
删除文件夹:rm -r ***
创建文件:


2009-12-16

进入vi的命令
vi filename :打开或新建文件,并将光标置于第一行首
vi +n filename :打开文件,并将光标置于第n行首
vi + filename :打开文件,并将光标置于最后一行首
vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename
vi filename....filename :打开多个文件,依次进行编辑


插入文本类命令
i :在光标前
I :在当前行首
a:光标后
A:在当前行尾
o:在当前行之下新开一行
O:在当前行之上新开一行
r:替换当前字符
R:替换当前字符及其后的字符,直至按ESC键
s:从当前光标位置处开始,以输入的文本替代指定数目的字符
S:删除指定数目的行,并以所输入文本代替之
ncw或nCW:修改指定数目的字
nCC:修改指定数目的行


最后行方式命令
:n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下
:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下
:n1,n2 d :将n1行到n2行之间的内容删除
:w :保存当前文件
:e filename:打开文件filename进行编辑
:x:保存当前文件并退出
:q:退出vi
:q!:不保存文件并退出vi
:!command:执行shell命令command
:n1,n2 w!command:将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入
:r!command:将命令command的输出结果放到当前行


操作:
用Esc返回命令状态,i:进入编辑状态

编辑:
gcc -o haha haha.c
./haha
或者:
gcc -c haha.o haha.c
gcc -o haha.exe haha.o

删除文件haha或文件夹haha:
rm haha (rm -f haha)


2009-12-17
mv :移动文件夹或者修改文件名 mv Programa Program
cd: 打开文件

 You can use header files in subdirectories or nonstandard places by specifying the -Iflag (for include) to the C compiler. For example,
         $ gcc -I/usr/openwin/include fred.c
    will direct the compiler to look in the directory /usr/openwin/include

$ grep EXIT_ *.h 搜索EXIT_在*.h中

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章