Linux系统编程:文件操作与环境变量

需积分: 7 0 下载量 46 浏览量 更新于2024-09-09 收藏 3KB TXT 举报
"系统编程文件操作" 在系统编程中,文件操作是至关重要的部分,它涉及到对文件的创建、读取、写入、追加、删除等操作。在Linux或类Unix系统中,这些操作通常通过标准的系统调用如open、read、write、close等完成。下面将详细讲解文件操作的相关知识。 1. 文件路径: - 当前目录:`.`(点)代表当前目录,`..`(双点)表示父目录。 - 没有文件的目录:`~`通常表示用户的家目录,例如`~root`代表root用户的家目录。 - 不存在的目录:`/`开头的绝对路径表示从根目录开始查找,如果没有指定具体文件,如`/nonexistent`,则表示一个不存在的目录。 2. 改变目录: - `cd`命令用于切换目录,如`cd /home`进入home目录,`cd ..`返回上一级目录。 3. 查看网络配置获取IP地址: - 在Red Hat类系统中,可以通过编辑`/etc/sysconfig/network-scripts/ifcfg-eth0`文件来更改网络配置,将`ONBOOT="no"`改为`ONBOOT="yes"`以启用网络接口。 4. 环境变量`PATH`: - `PATH`环境变量定义了系统在执行命令时查找可执行文件的路径列表。 - 添加路径到`PATH`:可以编辑`.bashrc`或`/etc/profile`文件,然后使用`source`命令使更改生效,例如`export PATH=$PATH:/lib/xxx:/lib/aaa:/lib/yyy`。 5. 编译和链接: - `gcc`是常用的C编译器,`-Wall`开启所有警告,`-fPIC`生成位置无关代码用于动态链接,`-shared`生成共享库,`-o`指定输出文件名。 - `ldd`用于检查程序依赖的动态库。 - `static`链接生成静态执行文件,不依赖外部库。 6. shell脚本: - `$0`表示脚本名称,`$#`是参数个数,`$$`是当前shell进程ID,`$*`和`$@`都表示所有参数,但处理方式不同,`$*`视为一个字符串,`$@`视为独立的字符串数组。 - `expr`用于执行算术表达式,如`expr 3 + 4`计算结果。 - `if`语句的条件表达式可以使用方括号`[`,注意结尾也要加上方括号,如`if [ list ]; then`。 7. 盘符和分区管理: - `fdisk`工具用于管理磁盘分区,如查看`sda1`分区信息。 - `export`命令设置环境变量,如`export aaa=123`。 8. shell编程: - 在编写shell脚本时,需注意语法细节,例如`if`条件后面需要分号或新行,`then`前面可以有空格但不应有分号。 以上内容涵盖了系统编程文件操作的基本概念,包括文件路径操作、网络配置、环境变量管理、程序编译、shell脚本编程等,这些都是进行系统编程时不可或缺的基础知识。