Advertisement

Linux下source命令的使用详解

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
本文详细介绍了在Linux系统中如何使用source命令来执行shell脚本或配置文件,解释了它的工作原理及其与bash的区别。 当我在Linux系统中编辑了/etc/profile文件并希望立即应用更改而无需重新登录时,我会使用source命令来实现这一目的,例如:source /etc/profile。 我对source命令进行了研究,并将其与用sh执行脚本的方式做了对比。现在我将总结一下我的发现: - source命令也被称为“点”(.)符号,在bash中是一个内部命令。 - 它的主要功能是让Shell读取指定的shell程序文件并依次执行该文件中的所有语句,从而使得修改后的初始化文件立即生效,而无需注销和重新登录。 用法如下: ``` source filename 或者 . fi ```

全部评论 (0)

还没有任何评论哟~
客服
客服
  • Linuxsource使
    优质
    本文详细介绍了在Linux系统中如何使用source命令来执行shell脚本或配置文件,解释了它的工作原理及其与bash的区别。 当我在Linux系统中编辑了/etc/profile文件并希望立即应用更改而无需重新登录时,我会使用source命令来实现这一目的,例如:source /etc/profile。 我对source命令进行了研究,并将其与用sh执行脚本的方式做了对比。现在我将总结一下我的发现: - source命令也被称为“点”(.)符号,在bash中是一个内部命令。 - 它的主要功能是让Shell读取指定的shell程序文件并依次执行该文件中的所有语句,从而使得修改后的初始化文件立即生效,而无需注销和重新登录。 用法如下: ``` source filename 或者 . fi ```
  • Linuxmake使
    优质
    本文详细介绍在Linux环境下使用make命令的过程和技巧,包括其基本语法、常用选项及变量设置方法。适合编程爱好者和技术人员参考学习。 在Linux操作系统中,“make”命令是一种强大的自动化构建工具,它使得编译、链接等重复性工作变得更加高效。“make”命令的核心在于解析并执行名为“Makefile”的配置文件,该文件定义了项目中的目标文件及其依赖关系,以及如何生成这些目标的规则。 那么,“make”命令是如何工作的呢? 在运行“make”时,它首先读取“Makefile”,分析其中的目标和依赖。每个目标都有一个或多个依赖项,这些依赖项可能是其他目标或源文件。当执行“make”时,它会检查每个目标及其依赖的修改时间,如果目标比它的依赖更新或者依赖没有被创建,“make”将执行相应的命令来更新该目标。 例如,在一个简单的“Makefile”中可能包含如下内容: ```makefile all: program program: main.o util.o gcc -o program main.o util.o main.o: main.c gcc -c main.c util.o: util.c gcc -c util.c clean: rm -f *.o program ``` 在这个例子中,“all”是默认目标,它依赖于“program”。而“program”又依赖于“main.o”和“util.o”,这两个“.o”文件分别依赖于对应的“.c”源文件。“clean”目标用于清除编译过程中产生的中间文件。 以下是使用“make”的一些常见实例: 1. **首次构建**:当你运行`make`或`make all`时,它会根据“Makefile”中的规则来编译所有必要的源代码,并生成最终的可执行程序。 2. **增量构建**:如果你修改了一个源文件并再次运行“make”,那么只有改变过的那个目标及其依赖项会被重新编译,从而节省了时间。 3. **强制构建**:使用`-B`选项(如`make -B`),即使目标是最新的,“make”也会忽略时间戳而重新编译所有目标。 4. **打印调试信息**:通过使用`-d`选项(例如 `make -d`),可以输出详细的调试信息,显示“make”在处理“Makefile”时的每一步动作。这对于调试和理解make”的行为非常有用。 借助于“make”,开发人员能够为复杂项目创建构建流程,并确保每次构建都能基于最新的源代码且仅重新编译必要的部分。这不仅提高了工作效率,也简化了大型软件项目的维护工作。“make”通常与其他版本控制系统(如Git)及持续集成工具(例如Jenkins)结合使用,以建立自动化的工作流。
  • Linux rlogin使
    优质
    本文将详细介绍Linux系统中的rlogin命令,包括其基本用法、参数设置以及安全注意事项,帮助用户掌握远程登录技巧。 Linux rlogin命令用于远端登录。 执行rlogin指令可以开启终端机阶段操作,并连接到远程主机。 语法:`rlogin [-8EL][-e ][-l ][主机名称或IP地址]` 必要参数: -E 忽略转义字符; -8 只识别八位字节的字符; -L 允许rlogin会话运行在litout模式下; -e 设置转义字符为c; -c 断开连接前要求确认; -a 强制远程主机请求密码,即使本地用户名为空也一样; -f 向远端主机发送一个本地认证信息; -F 向远程主机发送一个可被转发的本地认证信息; -7 强制执行七位传输模式; -d 打开用于与远端主机通信的TCP套接口调试。
  • Linuxstrace
    优质
    本文详细介绍了在Linux系统中使用strace命令的方法和技巧,帮助读者深入理解程序的系统调用过程。 Linux的strace命令详解 Strace是一个强大的工具,在Linux系统中用于跟踪进程的系统调用及其接收的参数,并显示进程接收到的各种信号;还可以统计进程执行过程中的错误信息以及输出的信息,使得开发者能够深入理解程序的工作原理和调试问题时提供重要的线索。
  • LinuxYum
    优质
    本文将详细介绍在Linux系统中使用的Yum命令,包括其安装、配置及常用操作方法,帮助读者轻松管理软件包。 YUM(全称 Yellow dog Updater, Modified)是Fedora、RedHat以及SUSE等Linux发行版中的一个Shell前端软件包管理器。它基于RPM包管理系统,简化了软件安装、更新及管理过程,并能自动处理依赖关系,避免用户手动解决复杂的依赖问题。 1. **安装软件** 使用`yum install`命令来安装新软件。例如,要安装名为`package1`的软件包,请输入 `yum install package1`。若想一次性安装所有可用的更新,可以不带参数运行 `yum update` 或直接使用该命令。 2. **更新与升级** - 使用 `yum update` 更新系统中已有的所有软件包; - 若要仅对特定软件包进行更新,请执行 `yum update package1`; - 通过 `yum check-update` 检查哪些软件有可用的更新; - 利用 `yum upgrade package1` 升级指定的`package1` 软件包; - 使用 `yum groupupdate group1` 更新整个程序组。 3. **查询与显示信息** - 通过执行 `yum info package1` 查看软件包详细信息; - 执行 `yum list` 列出所有已安装和可安装的软件包; - 输入 `yum list package1` 检查某个特定软件包的状态; - 使用 `yum groupinfo group1` 显示程序组的信息; - 通过执行命令 `yum search string` 根据关键词搜索相关的软件包。 4. **删除软件** 使用以下方法来移除不需要的软件: - 运行 `yum remove | erase package1` 删除特定的`package1`; - 使用 `yum groupremove group1` 移除整个程序组; - 执行命令 `yum deplist package1` 查看某个包的所有依赖关系。 5. **清理缓存** 使用以下命令清除YUM的缓存: - 通过执行 `yum clean packages` 清理软件包; - 使用 `yum clean headers` 删除headers文件; - 运行 `yum clean oldheaders` 移除旧版header; - 或者,运行 `yum clean all` 来清理所有类型的缓存。 例如,如果要安装游戏程序组,则需要先通过执行命令`yum grouplist`来查找可用的程序组。假设发现名为Games and Entertainment的程序组存在,则可以使用 `yum groupinstall Games and Entertainment` 进行安装(注意:如果有空格的话,请用双引号将名称包围,以避免解析错误)。 YUM还允许用户通过编辑 `/etc/yum.conf` 配置文件来选择不同的软件源,以适应特定的网络环境或软件需求。此外,使用 `man yum` 命令可以获得详细的YUM命令帮助文档。 借助上述的YUM命令,无论是安装新软件、更新现有程序还是删除不再需要的应用程序都变得非常简单和高效。对于系统管理员及普通用户而言,YUM是维护Linux系统软件生态的重要工具。
  • Linuxconfigure
    优质
    本文章详细解析了在Linux系统中使用configure脚本命令的方法与技巧,帮助读者掌握如何配置软件编译环境。 在Linux环境下安装软件并非易事;尤其是通过源代码编译后再进行安装会更加复杂一些。尽管现在有很多关于如何安装各种软件的教程可供参考,但掌握基础知识仍然是解决问题的关键所在。其中Configure脚本配置工具是基础之一,它是autoconf工具的基本应用。
  • Linuxpstack
    优质
    本文详细介绍了在Linux系统中使用pstack命令的方法和技巧,帮助读者了解如何利用该命令查看程序堆栈信息,以便于进行调试。 pstack命令用于显示进程的栈跟踪信息,并且必须由该进程的所有者或root用户执行。可以使用它来确定导致进程挂起的具体位置。此命令仅需要一个参数,即目标进程的pid值。有关pstack更详细的介绍,请参阅man手册: [root@DB-Server ~]# man pstack PSTACK(1) Linux Programmer’s Manual PSTACK(1) NAME pstack – 打印运行中进程的栈跟踪信息 SYNOPSIS pstack [pid]
  • Linux中lsof使
    优质
    本文详细介绍在Linux系统中如何使用lsof命令来查看打开的文件和进程信息,帮助读者掌握其常见用法与应用场景。 Linux中的`lsof`(list open files)命令是一个强大的工具,用于查看系统中活动进程打开的文件、目录、网络连接等信息。在Linux环境中,一切资源都可以抽象为文件,包括网络连接和硬件设备。因此,`lsof`不仅能够展示进程对常规文件的使用情况,还能揭示进程的网络连接状态,如TCP和UDP套接字。 ### 常用选项 1. `-a`: 表示与其他选项之间为逻辑“与”的关系,即只有同时满足所有条件时才会显示结果。 2. `-c <进程名>`: 显示指定进程名的进程打开的文件。 3. `-d <文件描述符>`: 列出占用特定文件描述符的进程。 4. `+d <目录>`: 显示指定目录及其子目录下被打开的文件和目录(非递归)。 5. `+D <目录>`: 递归显示指定目录及其子目录下被打开的文件和目录。 6. `-i <条件>`: 输出符合条件的网络相关文件,例如IP地址、端口号等。 7. `-n`: 不解析主机名,保留IP地址显示。 8. `-p <进程号>`: 输出指定PID的进程打开的文件。 9. `-P`: 不解析端口号,保持端口号显示。 10. `-t`: 只输出进程ID,不显示其他信息。 11. `-u <用户名>`: 显示指定用户打开的文件。 12. `-U`: 显示打开的UNIX域套接字文件。 13. `-h`: 显示帮助信息。 14. `-v`: 显示版本信息。 ### 基本输出 不带任何参数运行`lsof`会列出所有活动进程打开的所有文件,信息量较大。通过指定某些选项,可以更精确地筛选需要的信息。例如,仅显示当前Bash进程打开的文件: ```bash sudo lsof -c bash ``` 输出结果包括以下字段: - `COMMAND`: 进程名称。 - `PID`: 进程ID。 - `USER`: 进程所有者。 - `FD`: 文件描述符,如`cwd`(当前工作目录)、`rtd`(根目录)、`txt`(可执行文件)、`mem`(内存映射文件)等,以及数字表示的文件描述符。 - `TYPE`: 文件类型,如`DIR`(普通目录)、`REG`(普通文件)、`CHR`(字符设备)和`BLK`(块设备),还有UNIX域套接字、FIFO队列及IPv4/IPv6网络连接等。 - `DEVICE`: 设备编号。 - `SIZE`: 文件大小(以字节为单位)。 - `NODE`: 索引节点,文件在磁盘上的唯一标识符。 - `NAME`: 打开文件的完整路径。 ### FD列中的常见内容 - `cwd`:当前工作目录 - `rtd`:根目录 - `txt`:可执行文件 - `mem`:内存映射文件 - 数字表示的文件描述符,例如0、1和2分别对应标准输入、输出和错误。 ### TYPE列中的常见内容 - `REG`: 普通文件。 - `DIR`: 目录。 - `CHR`: 字符设备。 - `BLK`: 块设备。 - `UNIX`: UNIX域套接字 - `FIFO`: 先进先出队列 - IPv4/IPv6: TCP/IP套接字 ### 常见用法 查看哪个进程打开了特定文件: ```bash sudo lsof pathtofile ``` 查找指定目录及其子目录下被打开的文件和目录: ```bash sudo lsof +d pathtodirectory (非递归) sudo lsof +D pathtodirectory (递归查找) ``` 查看特定PID进程所打开的所有文件: ```bash sudo lsof -p PID ``` 通过灵活运用`lsof`的选项,我们可以监控系统资源使用情况、定位问题进程和排查网络连接异常。此外,在卸载文件系统前检查是否有活动进程正在访问相关文件也是确保操作安全性的有效手段之一。因此,了解并熟练掌握`lsof`命令对于Linux系统的管理和维护至关重要。
  • Linuxnetstat.pdf
    优质
    本PDF详细解析了Linux系统下的netstat命令,涵盖了其基本用法、常用选项及网络连接状态监测等实用内容。适合初学者和进阶用户参考学习。 从整体上看,netstat的输出结果可以分为两个部分:一个是Active Internet connections(有源TCP连接),另一个是Active UNIX domain sockets(有源Unix域套接口)。在前者中,“Recv-Q”和“Send-Q”分别表示接收队列和发送队列。这些数字一般应为0;如果不是,则表明软件包正在队列中堆积,这种情况较为罕见。 Proto显示了连接使用的协议, RefCnt表示连接到本套接字上的进程号, Types显示套接口的类型, State显示套接口当前的状态, Path则指明了与该套接字相连的其它进程中使用路径名。
  • Linux tar使实例
    优质
    本文深入浅出地讲解了Linux系统中tar命令的各种用法和应用场景,并提供了丰富的实例供读者参考学习。 Linux中的`tar`命令是一个非常重要的工具,它用于创建、管理和提取档案文件。这些档案文件可以包含一个或多个文件和目录,便于数据备份、存储和传输。最初设计的目的是为了在磁带上存储数据,但现在广泛应用于各种存储媒介。 **基本语法:** 使用 `tar (选项) (参数)` 命令格式来执行操作。选项定义了操作模式及特殊行为,而参数则是待处理文件或目录名称。 **常用选项:** 1. `-c` 或 `--create`: 创建新的档案。 2. `-x` 或 `--extract` 或 `--get`: 从档案中提取文件。 3. `-t` 或 `--list`: 列出档案内容。 4. `-v` 或 `--verbose`: 显示详细信息。 5. `-f<备份文件>` 或 `--file=<备份文件>`: 指定档案名称。 6. `-z` 或 `--gzip` 或 `--ungzip`: 使用 gzip 进行压缩或解压。 7. `-j`: 使用 bzip2 进行压缩或解压。 8. `-r`: 向已存在的档案添加新文件。 9. `-u`: 更新档案中已有的文件。 10. `-A` 或 `--catenate`: 将文件追加到现有档案。 11. `-C <目录>`: 指定提取的目标目录。 12. `-p` 或 `--same-permissions`: 保持原始权限不变。 13. `-N <日期格式>` 或 `--newer=<日期时间>`:仅包含指定日期之后修改的文件。 **实例:** 1. **打包文件**: ``` tar -cvf archive.tar file1 file2 dir1 ``` 这会将`file1`、`file2`和`dir1`打包成一个名为 `archive.tar` 的档案,但不会压缩。 2. **压缩文件**: ``` tar -zcvf archive.tar.gz file1 file2 dir1 ``` 打包并使用gzip进行压缩。 3. **解压文件**: ``` tar -zxvf archive.tar.gz -C pathtoextract ``` 将档案 `archive.tar.gz` 解压至指定目录 `pathtoextract`。 4. **仅打包新修改的文件**: ``` tar -N 201831 -zcvf log.tar.gz test ``` 只将自2018年3月1日以后被修改过的文件从目录 `test` 打包压缩进档案。 **注意事项:** - 在打包和压缩之前,需要理解两者之间的区别。打包是合并多个文件到一个单一的档案中,而压缩则是进一步减小这个档案的大小。 - 使用 `-P` 选项保留绝对路径,在解压时特别有用,尤其是当文件跨越不同目录的时候。 - `--exclude=<模式>` 可以用来排除不需要包含在档案中的特定文件或目录。 熟练掌握 `tar` 命令对于Linux系统管理至关重要。通过理解不同的选项和实例,可以更高效地进行数据备份、恢复及大量文件传输等工作。不断实践可以帮助你更好地利用这个强大的工具来满足各种需求。