如何在 Linux 启动时自动执行命令或脚本
Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。有用户想要在Linux启动时候自动执行命令脚本,应该怎么设置呢?这篇文章主要介绍了详解如何在 Linux 启动时自动执行命令或脚本,主要有两种方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。 方法步骤 在启动时执行 Linux 脚本 有两种传统的方法可以实现在启动时执行命令或脚本: 方法 #1 - 使用 cron 任务 除了常用格式(分 / 时 / 日 / 月 / 周)外,cron 调度器还支持 @reboot 指令。这个指令后面的参数是脚本(启动时要执行的那个脚本)的绝对路径。 然而,这种方法需要注意两点: a) cron 守护进程必须处于运行状态(通常情况下都会运行),同时 b) 脚本或 crontab 文件必须包含需要的环境变量(如果有的话,参考 StackOverflow 获取更多详细内容)。 方法 #2 - 使用 /etc/rc.d/rc.local 这个方法对于 systemd-based 发行版 Linux 同样有效。不过,使用这个方法,需要授予 /etc/rc.d/rc.local 文件执行权限: # chmod +x /etc/rc.d/rc.local 然后在这个文件底部添加脚本。 下图说明如何分别使用 cron 任务和 rc.local 运行两个示例脚本(/home/gacanepa/script1.sh 和 /home/gacanepa/script2.sh)。 script1.sh: #!/bin/bash DATE=$(date +'%F %H:%M:%S') DIR=/home/gacanepa echo "Current date and time: $DATE" > $DIR/file1.txt script2.sh: #!/bin/bash SITE="Tecmint.com" DIR=/home/gacanepa echo "$SITE rocks... add us to your bookmarks." > $DIR/file2.txt *启动时执行 Linux 脚本 * 记住,一定要提前给两个示例脚本授予执行权限: $ chmod +x /home/gacanepa/script1.sh $ chmod +x /home/gacanepa/script2.sh 在登录或注销时执行 Linux 脚本 要在登录或注销时执行脚本,分别需要使用 ~.bash_profile 和 ~.bash_logout 文件。多数情况下,后者需要手动创建。在每个文件的底部,添加调用脚本代码,如前面例中所示,就可以实现这个功能。 补充:Linux基本命令 1.ls命令: 格式::ls [选项] [目录或文件] 功能:对于目录,列出该目录下的所有子目录与文件;对于文件,列出文件名以及其他信息。 常用选项: -a :列出目录下的所有文件,包括以 . 开头的隐含文件。 -d :将目录像文件一样显示,而不是显示其他文件。 -i :输出文件的i节点的索引信息。 -k :以k字节的形式表示文件的大小。 -l :列出文件的详细信息。 -n :用数字的UID,GID代替名称。 -F : 在每个文件名后面附上一个字符以说明该文件的类型,“*”表示可执行的普通文 件;“/”表示目录;“@”表示符号链接;“l”表示FIFOS;“=”表示套接字。 2.cd命令 格式:cd [目录名称] 常用选项: cd .. 返回上一级目录。 cd ../.. 将当前目录向上移动两级。 cd - 返回最近访问目录。 3.pwd命令 格式: pwd 功能:显示出当前工作目录的绝对路径。 相关阅读:Linux主要特性 完全兼容POSIX1.0标准 这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。 多用户、多任务 Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。 良好的界面 Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。 支持多种平台
利用awk命令提取其中一列包括特定字符的所有行怎么办
awk:用于一行中分成数个“字段”来处理。适合处理 小型数据。
运行模式:awk '条件类型1{动作1} 条件类型2{动作2} ...' filename
# last | awk '{print $1 "\t" $3}' <== 查看登录者的数据,只显示登录名和ip地址,并以[tab]隔开
awk 的内置变量
变量名称代表的含义
NF每一行($0)拥有的字段总数
NR当前 awk 所处理的是 “第几行” 数据
FS当前分隔符,默认空格键
awk 的逻辑运算符
运算单元代表含义
>大于
<小于
>=大于或等于
<=小于或等于
==等于
!=不等于
范例:
cat /etc/passwd | awk '{FS=":"} $3 < 10 {print $1 "\t" $3}' <== 文件/etc/passwd是以":"分隔的,查看第三栏小于10的数据,并且只显示帐号与第三栏