Categories
Linux/Unix

bash 中的双引号和单引号

a=3
echo "b=$a+2"     # 显示 b=3+2
echo 'b=$a+2'     # 显示 b=$a+2

在 bash 中,

单引号 可以保证引用区域内的文字不被转换,起到保护作用,一般可以用在显示 code 之类;
双引号 可以包含文字或者函数段。其中,反引号中的函数,$ 开头的变量和 \ 开头反转换的字符外,其他都是直接输出。

之所以用双引号,是因为在bash中的变量替换发生在双引号内,如果不用引号,bash会把它们解释为命令。

Categories
Linux/Unix

SSH/SCP 不用输入密码连接远程 Linux 主机

其实步骤很简单:

1)在本地主机生成密钥对

ssh-keygen -t rsa

再输入密钥时候,直接按回车,我们的目的是不用输入密码嘛。

这个命令生成一个密钥对:id_rsa(私钥文件)和 id_rsa.pub(公钥文件)。默认被保存在 ~/.ssh/ 目录下。

2)将公钥添加到远程主机的 authorized_keys 文件中
SSH 到登陆到远程主机,将公钥追加到 authorized_keys 文件中

Categories
Linux/Unix

Linux 下使用 Crontab 命令实现定时操作重启(计划任务)

crond 服务是一个定时执行的服务,可以通过 crontab 命令添加或者编辑需要定时执行的任务:

  • crontab -u //设定某个用户的 crond 服务,一般 root 用户在执行这个命令的时候需要此参数
  • crontab -l //列出某个用户的 crond 服务的详细内容
  • crontab -r //删除没个用户的 crond 服务
  • crontab -e //编辑某个用户的 crond 服务

编辑中的内容格式:

#MIN HOUR DAY MONTH DAYOFWEEK COMMAND

 

比如:

  • #每天早上6点10分

        10 6 * * * date

  • #每两个小时

        0 */2 * * * date (solaris 5.8似乎不支持此种写法)

  • #晚上11点到早上8点之间每两个小时,早上8点

        0 23-7/2,8 * * * date

  • #每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点

        0 11 4 * mon-wed date

  • #1月份日早上4点

        0 4 1 jan * date