一、上机目的
1.掌握Ubuntu Linux系统安札UN个、常用命令使用
2.掌握Ubuntu Linux ApacheWeb服务器配置方法,并且测试
3.了解Shell编程,掌握命令行方式和CodeBlock编译环境运行程序
4.了解Linux系统内核代码结构:掌握如何往Linux内核中添加系统调用程序;编译系统内核;编程实现自添加的系统调用
二、上机环境
1.Ubuntu Linux
2.编程环境:Linux GCC和CodeBlocksIDE
三、上机内容及操作
3.1上机一 UbuntuLinux系统安札UN个以及常用命令
3.1.1 Ubuntu Linux系统安装
下载Ubuntu16.04版本,然后在VMware虚拟机里面安装Linux
3.1.2 Ubuntu常用命令
3.1.2.1 Linux的管理员登录
su登录系统管理员
sudo passwd root重置系统管理员密码
3.1.2.2 Linux命令格式
命令 [选项] [处理对象]
例: ls la
mydir
注意:(1)命令一般是小写字串。注意大小写有别
(2)选项通常以减号,再加上一个或数个字符表示,用来选择一个命令的不同操作
(3)同一行可有数个命令,命令间应以分号隔开
(4)命令后加上&可使该命令后台(background)执行
3.1.2.3 常用命令
1、目录操作
和 DOS 相似,Linux 采用树型目录管理结构,由根目录(/)开始一层层将子目录建下去,各子目录以 / 隔开。用户 login 后,工作目录的位置称为 home directory,由系统管理员设定。‘~’符号代表自己的 home directory,例如 ~/myfile 是指自己 home目录下 myfile 这个文件。
Linux 的通配符有三种:’*’和 ’?’ 用法与 DOS 相同, ‘‘代表区间内的任一字符,如 test[05]即代表 test0,test1,……,test5 的集合。
(1)显示目录文件 ls
执行格式: ls [atFlgR]
[name] (name 可为文件或目录名称)
例: ls 显示出当前目录下的文件
ls a
显示出包含隐藏文件的所有文件
ls t
按照文件最后修改时间显示文件
ls F
显示出当前目录下的文件及其类型
ls l
显示目录下所有文件的许可权、拥有者、文件大小、修改时间及名称
ls lg
同上
ls R
显示出该目录及其子目录下的文件
注:ls与其它命令搭配使用可以生出很多技巧(最简单的如"ls -l | more"),更多用法请输入ls --help查看,其它命令的更多用法请输入命令名 --help 查看.
(2)建新目录 mkdir
执行格式: mkdir directoryname
例: mkdir dir1 (新建一名为dir1 的目录)
(3)删除目录 rmdir
执行格式: rmdir directoryname
或 rm directoryname
例:rmdir dir1 删除目录 dir1,但它必须是空目录,否则无法删除
rm r
dir1 删除目录 dir1 及其下所有文件及子目录
rm -rf dir1 不管是否空目录,统统删除,而且不给出提示,使用时要小心
(4) 改变工作目录位置 cd
执行格式: cd [name]
例: cd 改变目录位置至用户 login 时的 working directory
cd dir1 改变目录位置,至dir1目录
cd ~user 改变目录位置,至用户的workingdirectory
cd .. 改变目录位置,至当前目录的上层目录
cd ../user 改变目录位置,至上一级目录下的user目录
cd /dir-name1/dir-name2 改变目录位置,至绝对路径(Full path)
cd - 回到进入当前目录前的上一个目录
(5)显示当前所在目录 pwd
执行格式: pwd
(6)查看目录大小 du
执行格式: du [s]
directory
例: du dir1 显示目录 dir1 及其子目录容量(以 kb 为单位)
du s
dir1 显示目录 dir1 的总容量
(7)显示环境变量
echo $HOME 显示家目录
echo $PATH 显示可执行文件搜索路径
env 显示所有环境变量(可能很多,最好用"env | more","env |
grep PATH"等)
(8)修改环境变量,在bash下用export,如:
export PATH=$PATH:/usr/local/bin
想知道 export 的具体用法,可以用shell 的 help 命令:help export
2、文件操作
(1)查看文件(可以是二进制的)内容 cat
执行格式:cat filename 或more filename 或 cat filename|more
例: cat file1 以连续显示方式,查看文件 file1 的内容
more file1
或 cat file1|more 以分页方式查看文件的内容
(2)删除文件 rm
执行格式: rm filename
例: rm file?
rm f*
(3)复制文件 cp
执行格式: cp [r]
source destination
例: cp file1 file2 将file1 复制成 file2
cp file1 dir1 将 file1 复制到目录 dir1
cp /tmp/file1 将 file1 复制到当前目录
cp /tmp/file1 file2 将 file1 复制到当前目录名为 file2
cp –r dir1 dir2(recursive copy)复制整个目录。
(4)移动或更改文件、目录名称 mv
执行格式: mv source destination
例: mv file1 file2 将文件file1,更名为 file2
mv file1 dir1 将文件 file1,移到目录 dir1 下
mv dir1 dir2
(5)比较文件(可以是二进制的)或目录的内容 diff
执行格式: diff [r]
name1 name2 (name1、name2 同为文件或目录)
例: diff file1 file2 比较file1 与 file2 的不同处
diff r
dir1 dir2 比较 dir1 与 dir2 的不同处
(6)文件中字符串的查找 grep
执行格式:grep string file
例: grep abc file1 查找并列出串 abc 所在的整行文字
(7)文件或命令的路径寻找
执行格式一:whereis command 显示命令的路径
执行格式二:which command 显示路径及使用者所定义的别名
执行格式三:whatis command 显示命令的功能摘要
执行格式四:find search path
name
filename print
搜寻指定路径下某文件的路径
执行格式五:locate filename
根据系统预先生成的文件/目录数据库(/var/lib/slocate/slocate.db)查找匹配的文件/目录,查找速度很快,如果有刚进行的文件改变而系统未到执行定时更新数据库的时间