实验1(1-1-1):Linux定制安装
内容(略)
实验2(1-1-2):Linux常见命令使用
1. useradd命令
useradd用于添加用户,用法:useradd [选项] 用户名
例:使用useradd命令添加smb用户
#useradd smb //添加名字为smb的普通用户,创建之后在/home目录下多了smb文件夹,这就是smb这个用户的主目录。
2. passwd命令
passwd命令用于设置账户密码,用法:passwd [选项] 用户名
例:#passwd smb //使用passwd命令设置smb账户密码
3. su命令
su命令用于切换用户,用法:su [选项] [用户名]
例:$su – root //使用su命令切换到root用户
4. shutdown命令
shutdown命令用于关机,用法:shutdown [-t sec][-arkhncfFHP] time [warning message]
例:#shutdown now //使用shutdown命令立刻关机.
5. cp命令
cp命令用于拷贝,用法:cp [选项] 源文件或目录 目标文件或目录
例:#cp /home/test /tmp/ //使用cp命令将/home目录下的test文件拷贝到/tmp目录下
例:#cp –r /home/dir1 /tmp/ //使用cp命令将/home目录下的dir1目录拷贝到/tmp目录下。
6. mv命令
mv命令用于移动或更名,用法:mv [选项] 源文件或目录目标文件或目录
例:#mv /home/test /home/test1 //使用mv命令将/home目录下的test文件更名为test1
例:#mv /home/dir1 /tmp/ //使用mv命令将/home目录下dir1目录移动(剪切)/tmp目录下
7. rm命令
rm命令用于删除文件或目录,用法:rm [选项] 文件或目录
例:#rm /home/test //使用rm命令删除/home目录下的test文件
例:#rm –r /home/dir //使用rm命令删除/home目录下的dir目录
8. mkdir命令
mkdir命令用于创建目录,用法:mkdir [选项] 目录名
例:#mkdir /home/workdir //使用命令mkdir在/home目录下创建workdir目录
例:#mkdir –p /home/dir1/dir2 //使用命令mkdir创建/home/dir1/dir2目录,如果dir1不存在,先创建dir1
9. cd命令
cd命令用于改变工作目录,用法:cd 目录名
例:#cd /home/ //用cd命令进入/home目录
10. pwd命令
pwd命令用于查看当前路径,用法:pwd
例:#pwd //使用pwd命令显示当前工作目录的绝对路径
11. ls命令
ls命令用于常看目录,用法:ls [选项] [目录或文件]
例:#ls /home //使用ls命令显示/home目录下的文件与目录(不包含隐藏文件)
例:#ls –a /home //使用ls命令显示/home目录下的所有文件与目录(包含隐藏文件)
例:#ls –l /home //用ls命令显示/home目录下的文件与目录的详细信息
例:#ls –c /home //使用ls命令显示/home目录下的文件与目录,按修改时间顺序
12. tar命令
tar命令用于打包与压缩,用法:tar [选项] 目录或文件
例:#tar cvf tmp.tar /home/tmp //使用tar命令将/home/tmp目录下的所有文件和目录打包成一个tmp.tar文件
例:#tar xvf tmp.tar //使用tar命令将打包文件tmp.tar在当前目录下解开
例:#tar cvzf tmp.tar.gz /home/tmp //使用tar命令将/home/tmp目录下的所有文件和目录打包并压缩成一个tmp.tar.gz文件
例:#tar xvzf tmp.tar.gz //使用tar命令将打包压缩文件tmp.tar.gz在当前目录下解开
13. unzip命令
unzip命令用于解压缩,用法:unzip [选项] 压缩文件名.zip
例:#unzip tmp.zip //使用unzip命令解压tmp.zip文件
14. chmod命令
chmod命令用于改变访问权限,用法:chmod [who] [+|-|=]
[mode] 文件名
例:#chmod g+w hello.c //使用chmod命令给hello.c文件的所有者同组用户加上写的权限
例:#chmod 761 hello.c 使用chmod命令将文件hello.c的访问权限改变为文件所有者可读可写可执行、文件所有者同组的用户可读可写、其他用户可执行。
15. df命令
df命令用于查看磁盘使用情况,用法:df [选项]
例:#df –k //使用df命令以KB为单位显示磁盘使用情况
16. du命令
du命令用于查看目录打下,用法:du [选项] 目录
例:#du –b ipc //使用du命令以字节为单位显示ipc这个目录的大小
17. ifconfig命令
ifconfig命令用于网络配置,用法:ifconfig [选项] [网络接
口]
例:#ifconfig eth0 192.168.0.100 //使用ifconfig命令配置eth0这一网卡的ip地址为192.168.0.100
例:#ifconfig eth0 down //使用ifconfig命令暂停eth0这一网卡的工作
例:#ifconfig eth0 up //使用ifconfig命令恢复eth0这一网卡的工作
18. netstat命令
netstat命令用于查看网络状态,用法:netstat [选项]
例:#netstat –a //使用netstat命令查看系统中所有的网络监听端口
19. grep命令
grep命令用查找字符串,用法:grep [选项] 字符串
例:#grep “file” ./ -rn //使用grep命令在当前目录及其子目录中,查找包含file字符串的文件
例:#netstat –a | grep tftp //使用grep命令查看所有端口中用于tftp的端口
20. rpm命令
rpm命令用于软件安装,用法:rpm [选项] [安装文件]
例:#rpm -ivh tftp-server-0.42.1.i386.rpm //使用rpm命令安装名字为tftp-server-0.42.1.i386的文件
例:#rpm –qa //使用rpm命令列出所有已安装的rpm包
例:#rpm –qa | grep tftp //使用rpm命令查找所有安装包中关于tftp的包
例:#rpm –e tftp-server-0.42-3.1 //使用rpm命令卸载名字为tftp-server-0.42-3.1的rpm包
21. mount命令
mount命令用于挂载,用法:mount [选项] 设备源 目标目
录
例:#mount /dev/cdrom /mnt //使用mount命令将将光驱挂载到/mnt目录下
22. umount命令
umount命令用于卸载,用法:umount 目标目录
例:umount /mnt //使用umount命令取消光驱在/mnt下的挂载
23. find命令
find命令用于查找文件,用法:find 路径 name ‘文件名’
例:#find ./ -name ‘smb*’ //使用find命令在在当前目录及其子目录中寻找名为tmp开头的文件。
例:#find ./ -name ‘test’ //使用find命令在当前目录及其子目录中寻找名为test的文件
24. top命令
top命令用于动态查看CPU使用,用法:top
例:#top //使用top命令查看系统中的进程对cpu、内存等的占用情况
25. ps命令
ps命令用于查看进程,用法:ps [选项]
例:#ps aux //使用ps命令查看系统中的所有进程
26. kill命令
kill命令用于杀死进程,用法:kill [选项] 进程号
例:#kill –s SIGKILL 10670 //在一个终端运行命令top,然后另一个终端运行命令ps aux,查看到命令top产生的进程号,并使用kill命令杀掉这个进程。
27. man命令
man命令用于查看命令或者函数的使用信息,用法:man
命令名
例:#man grep //使用man命令查看grep命令的使用方法
例:#man ping //使用man命令查看ping命令的使用方法
实验3(1-1-3):Vi使用
1. 在当前目录下键入命令vi hello.c创建名为hello.c的文件。
2. 键入i进入插入模式。
3. 在插入模式下输入文字hello word!
4. 按[Esc]键退出到命令行模式。
5. 按shift+;键,即:键进入底行模式。
6. 键入wq保存退出。
7. 将文件/etc/samba/smb.conf拷贝到当前目录下,下面的实验步骤是为了让大家能够熟练使用vi中的常见操
作。
命令:cp /etc/samba/smb.conf ./
8.用vi打开文件smb.conf,设定显示行号,指出“ShareDefinitiongs”的所在行号
在底行模式下,输入:set nu显示行号
这样就可以看到“Share Definitions”所在的行为246行。
9. 将光标移动到248行
命令:248G
即在命令行模式下输入248shitf+g
10. 复制改行以下6行内容
命令:6yy
11. 将光标移动到最后一行行首
命令:G,即shift+g
12. 粘贴复制的内容
命令:p
13. 删除12步粘贴的6行
命令:6dd
14. 撤销第13步的操作
命令:u
15. 查找字符串“Share Definitions”
命令:/Share Definitions
16. 强制退出vi,不存盘
命令::q!
实验7(1-2-4):防火墙设置
Ubuntu Server 使用名为 Uncomplicated Fire Wall(UFW)的防火墙,这实际上是一个 iptable 的管理工具。
1、从命令行输入安装 UFW 。 sudo apt-get install ufw
2、启用 sudo ufw enable
3、禁用 sudo default deny
实验1-3-2 GDB程序调试
1、先用Ⅵ 编辑文件test.c用于geb调试器调试。
2、将test.c文件编程成包含标准调试信息的文件test。
命令 : gcc -g test.c -o test
3、启动gdb进行调试
命令:gdb test
可以看到gdb的启动界面中显示了gdb的版本、自由软件等信息,然后进入了由“gdb”开头的命令行界面。
4、l(list)命令,用于查看文件,可以看到每行代码前面都有对应的行号,这样方便我们设置断点。
5、b (breakpoint)命令,用于设置断点,断点调试是调试程序的一个非常重要的手段,设置方法:在“b”命令之后加上对应的行号
例如:b 3 。在gdb中可以设置多个断点。代码运行时会到断点对应的行之前暂停。
6,info命令,用于查看断点情况,设置好断点后可以用它来查看。
7,r(run)命令,用于运行代码,默认是从首行开始运行,也可以在r后面加上行号,从程序中指定行开始运行。
8、p(print)命令,用于查看变量的值,在调试的时候我们经常要查看某个变量当前的值与我们逻辑设定的值是否相同,输人p+变量名即可。
9、s(step)和n(next)命令
s命令和n命令都用于单步运行,它们的区别在于:如果有函数调用的时候,”S“会进入该函数而,”n”不会进入该函数。
10、finish命令,用于运行程序,直到当前函数结束。
11、c命令用于恢复程序的运行,例如我在一个程序中设置了两个断点,而觉得问题不会出在这两个断点之间的代码上。
那么我们可以在查看完第一个断点的变量及堆栈情况后,使用c命令恢复程序的正常运行,代码就会停在第二个断点处。
12、watch命令,读取指定变量值进行监控,然后用run,程序会自己停在监控处。
13、q(quit)命令,用于退出gdb调试器。