NJUPT GNU/Linux编程 实验1-6总结(走过的坑)

时间:2022-08-19 04:43:55

课程小结:

本门课的课程性质是专业基础选修课。

实验课件、代码、实验报告地址:


实验总结:

实验一  Linux基本命令权限管理

1.明确主用户组和附加用户组的区别:

 创建用户组 
$ groupadd student
$ groupadd banji01 //创建班级01
$ groupadd banji02 //创建班级02
创建用户
$ useradd zhangs -g banji01 -G student
//创建用户zhangs,banji01作为主用户组,student为附加用户组
$ useradd lisi -g student -G student
//创建用户lisi,student作为主用户组和附加用户组
lisi 在主目录下创建了文件夹folder
$ chmod g+w folder
这时候zhangs的附加用户组是lisi的主用户组student,所以zhangs有权限访问folder。

相反,如果zhangs创建了文件夹给用户组权限,那么lisi不能访问。

实验二  Linux基本命令进程管理

如果是centos 7 minimal安装,无pstree命令解决方法:

1.打开网络
http://blog.csdn.net/think_ycx/article/details/50240757
2.yum install psmisc


实验三  shell程序设计 shell基础

1.创建本地变量时:

$ var1="hello Linux" <strong>注意不要加空格</strong>//定义本地变量var1
$ read var2 //定义本地变量vae2
$ echo $var1 $var2 //显示本地变量的值

2.环境变量的设置(有用,可以在执行当前目录的脚本的时候不加 ./ 用TAB自动补全 )

可通过用户主目录下的配置文件,改变系统的启动参数,例如:可通过修改.bash_profile修改环境变量PATH,具体操作如下:
若文件中有下列行:
PATH= $PATH;$HOME/bin
则在PATH路径中增加当前路径,修改后外:
PATH= $PATH;$HOME/bin:.
重新登录系统即可


实验四  shell程序设计: shell控制语句

1.shell脚本中if循环注意格式:

#!/bin/bash 
echo -n "Enter your login name: "
if [ "$name" = "$USER" ]; 注意if 和 [] 之间的空格 或者写成 if test "$name" = "$USER"
then
echo "Hello, $name. How are you today ?"
else
echo "You are not $USER, so who are you ?"
fi

补充:

本章的很多程序一个一个敲进去如果觉得类,可以先把文件传输到某个网站空间上,然后

wget URI
再给个权限,就可以执行啦~: )


实验五  Linux/C开发环境 gcc编译和make项目管理

1.make管理源代码的编译比较方便,注意写make规则的时候,<Tab>键,不要用空格代替。

Makefile文件:

app: app.o add.o sum.o 
gcc -o app app.o add.o sum.o
add.o:add.c
gcc -c add,c
sum.o:sum.c
gcc -c sum.c
clean:
rm -rf *.o

实验六  Linux/C开发环境 函数库和glibc

这篇理解一下静态函数库和动态函数库、glibc即可。学会创建和使用。