《Beginning Linux Programming》读书笔记(一)

简介:
1,第一个程序

#include <stdio.h>
int main()
{
    printf("hello,linux\n");
    return 0;
}
编译运行:

gcc -o hello hello.c
./hello
2,链接目标文件


#include <stdio.h>

void fred(int arg)
{
    prinft("fred: you %\n",arg);
}
 

#include <stdio.h>

void bill(char *arg)
{
    printf("bill: you passed %s\n", arg);
}
编译:

gcc –c bill.c fred.c
 

/*
    This is lib.h. It declares the functions fred and bill for users
*/

void bill(char *);
void fred(int);
 

复制代码
#include "lib.h"

int main()
{
bill("Hello World");
fred(100);
    exit(0);
}
复制代码
编译运行:

gcc –c program.c
gcc –o program program.o bill.o fred.o
./program
3,打包为静态链接库再链接

ar crv libfoo.a bill.o fred.o
gcc -o program program.o libfoo.a
./program
也可以这样

gcc -o program program.o -L. -lfoo
这里的-L.就指明编译器在当前目录下寻找库文件,-lfoo告诉编译器使用名为libfoo.a的静态库(或名为libfoo.so的共享库)

4,要查看obj文件,库或可执行文件中包含的函数,可以使用nm命令,

nm libfoo.a
5,可以使用ldd来查看程序所需要的共享库

ldd program
 6,一个简单的脚本

复制代码
#!/bin/bash

for file in *
    do 
        if grep -q bash $file
        then
            echo $file
        fi
    done

exit 0
复制代码
可以有两种执行方式

/bin/bash first
或者先改变脚本文件的权限,给用户加上可执行权限

chmod u+x first
然后直接执行

first
     如果报错说“找不到命令“,则说明Shell环境变量PATH中没有设置当前目录这一项,可以有两种方式改变,要么输入”PATH=$PATH:. “,再用”export”使之生效,要么编辑.bash_profile文件,将这个命令加入到文件末尾,然后登出再登陆回来。当然另一种暂行的方法是输入”./first”。当然最后一种方式是linux推荐的。

      另外,我们可以将上面这个脚本文件放到别的目录下共享

sudo cp first /usr/local/bin
chmod 755 /usr/local/bin/first
最后一行是给予组用户和其他用户执行权限

7,在Windows下,查看环境变量的命令是:set,这个命令会输出系统当前的环境变量,那Linux下应该如何查看呢,命令是:

export
如果你想查看某一个名称的环境变量,命令是:echo $环境变量名,比如:

echo $JAVAHOME    
 

--------------------------------------------------------------------------------

设置环境变量

如果使用的是bash外壳,则键入如下命令:

JAVA_HOME=/ path/ to/ jdk

export JAVA_HOME

其中/path/to/jdk是安装Java的路径。

如果使用的是tcsh,则键入如下命令:

setenv JAVA_HOME /path/to/jdk

--------------------------------------------------------------------------------

删除环境变量

字符模式下设置/删除环境变量

bash下

设置:export 变量名=变量值

删除:unset 变量名

csh下

设置:setenv 变量名 变量值

删除:unsetenv 变量名


本文转自Phinecos(洞庭散人)博客园博客,原文链接:http://www.cnblogs.com/phinecos/archive/2008/11/24/1339685.html,如需转载请自行联系原作者
目录
相关文章
|
4月前
|
缓存 IDE Linux
《Linux是怎么样工作的》读书笔记(二)
《Linux是怎么样工作的》读书笔记
43 0
《Linux是怎么样工作的》读书笔记(二)
|
4月前
|
存储 缓存 固态存储
《Linux是怎么样工作的》读书笔记(一)
《Linux是怎么样工作的》读书笔记
97 0
《Linux是怎么样工作的》读书笔记(一)
|
11月前
|
消息中间件 存储 网络协议
《硬核linux攻略》读书笔记更新中
《硬核linux攻略》读书笔记更新中
|
Shell Linux Perl
《Linux Shell脚本攻略》读书笔记
《Linux Shell脚本攻略》读书笔记
176 0
|
存储 Shell Linux
《Linux命令行与shell脚本编程大全》读书笔记————第一章 初识Linux shell
本章内容 1、什么是Linux 2、Linux内核的组成   1、1 什么是Linux Linux课划分为以下四部分 a)Linux内核 b)GNU工具 c)图形化桌面环境 d)应用软件   1.1.1 深入探究Linux内核 内核主要负责以下四种功能 a)系统内存管理 b)软件程序管理 c)硬件设备管理 d)文件系统管理   1、系统内存管理 内核不仅管理服务器上的可用内存,还可以创建和管理虚拟内存(即实际上不存在的内存)。
1247 0
|
Linux 机器学习/深度学习 安全
|
关系型数据库 Linux
《Linux就该这么学》读书笔记
cat /proc/cpuinfo lsmod 安装VNC服务 重置root密码: image.png RPM操作: image.png 日期: image.
1257 0
《Linux内核设计与实现》读书笔记 - 目录 (完结)
《Linux内核设计与实现》读书笔记 - 目录 (完结) 读完这本书回过头才发现, 第一篇笔记居然是 2012年8月发的, 将近一年半的时间才看完这本书(汗!!!).
|
3天前
|
机器学习/深度学习 缓存 监控
linux查看CPU、内存、网络、磁盘IO命令
`Linux`系统中,使用`top`命令查看CPU状态,要查看CPU详细信息,可利用`cat /proc/cpuinfo`相关命令。`free`命令用于查看内存使用情况。网络相关命令包括`ifconfig`(查看网卡状态)、`ifdown/ifup`(禁用/启用网卡)、`netstat`(列出网络连接,如`-tuln`组合)以及`nslookup`、`ping`、`telnet`、`traceroute`等。磁盘IO方面,`iostat`(如`-k -p ALL`)显示磁盘IO统计,`iotop`(如`-o -d 1`)则用于查看磁盘IO瓶颈。
|
1天前
|
Ubuntu Linux Shell
linux免交互登陆远程主机并执行命令(密钥对和Expect)
linux免交互登陆远程主机并执行命令(密钥对和Expect)