千赢娱乐手机登录_ qy8com千赢手机版_千赢网页手机版
做最好的网站

千赢娱乐手机登录

当前位置:千赢娱乐手机登录 > 千赢娱乐手机登录 > Linux使用expect脚本实现远程机器自动登录,给新手

Linux使用expect脚本实现远程机器自动登录,给新手

来源:http://www.modeLspro.net 作者:千赢娱乐手机登录 时间:2019-08-30 21:16

给新手的 10 个有用 Linux 命令行技巧

我记得我第一次使用 Linux 的时候,我还习惯于 Windows 的图形界面,我真的很讨厌 Linux 终端。那时候我觉得命令难以记忆,不能正确使用它们。随着时间推移,我意识到了 Linux 终端的优美、灵活和可用性,说实话,我没有一天不使用它。今天,我很高兴和刚开始接触 Linux 的人一起来分享一些有用的技巧和提示,希望能帮助他们更好的向 Linux 过渡,并帮助他们学到一些新的东西(希望如此)。

图片 1

10 个 Linux 命令行技巧

  • 5 个有趣的 Linux 命令行技巧
  • 管理 Linux 文件类型的 5 个有用命令

这篇文章希望向你展示一些不需要很高的技术就可以像一个高手一样使用 Linux 终端的有用技巧。你只需要一个 Linux 终端和一些自由时间来体会这些命令。

 

Linux使用expect脚本实现远程机器自动登录

首先创建一个expect脚本ssh_expect,文件内容如下:

#!/usr/bin/expect -f
set hostname [lindex $argv 0]
set user [lindex $argv 1]
set passwd [lindex $argv 2]
set timeout 30

set force_conservative 1
if {$force_conservative} {
    set send_slow {128 .1}
}
spawn ssh [email protected]$hostname;
expect {
        "*continue connecting (yes/no)?" { send -s "yesr"; exp_continue }
        "*assword:" {
                send -s "$passwdr";
        }
}
interact

然后定义一些命令别名,比如:

alias   h101='ssh_expect 192.168.0.101  '
alias   h102='ssh_expect 192.168.0.102  '

这些别名可以写到~/.bashrc文件中

然后执行 h101 就可以自动登录192.168.0.101机器了。

首先创建一个expect脚本ssh_expect,文件内容如下: #!/usr/bin/expect -fset hostname [lindex $argv 0]set user [li...

Debian Stable (Jessie 8.1) 的normal.mod not found

打算重置下default-brower, 输入了dpkg-reconfigure 结果按了个g,又按了tab,最后还输了回车.就变成了

dpkg-reconfigure grub-pc

进入dpkg配置grub-pc的界面后, 里面让握输入linux-command-line, 按了下Esc没想到没退出反而按到了` , 就是数字1上的那个符号. 接下来就进入了下一个选项. 这个只有个OK的可以移动到. 然后敲了下回车. 就没管它了. 没想到重启后. 就直接报错了.
**
提示

error: file '/boot/grub/i386-pc/normal.mod' not found
grub rescue>

绝大多数命令都不能获得, 只有简单的几个ls,set可以

这是说normal模块找不到了. 我手里也没有liveCD的U盘.

下面是完整的恢复grub的流程, 仅供debian下的朋友参考:

grub rescue>ls
(hd0, msdos), (hd0, msdos1), (hd0, msdos5)
  • 1

因为我的机器只有一个硬盘, 没有分区, 所以msdos1是我的主目录.

grub rescue>set root=(hd0,msdos1)
grub rescue> ls /usr/lib/grub/i386-pc/
normal.mod, xxx.mod search.mod ......
grub rescue>set prefix=(hd0,msdos1)/usr/lib/grub
grub rescue>insmod normal
grub rescue>normal

这样就加载上了normal.mod
图片 2

但是这里还没完.
进入到了grub

grub>vmlinuz vmlinuz-linux-headers-3.16.0.4-xxxx
grub>initrd initrd-linux-headers-3.16.0.4-xxxx
grub>boot

这里会卡一会儿然后进入到initramdisk
实际上这里就是因为没找到相关的其它mod,导致了错误.
图片 3
图片 4
图片 5

重新强制关机, 重复上面的操作.
然后换了一个内核,报了如下错误
图片 6
图片 7

这就好办了. 说明这些mod都不在/boot/grub/i386-pc下.
于是我们回到最开始加载normal.mod的时候, 把这些缺失的mod都加载一次

grub rescue>set prefix=(hd0,msdos1)/usr/lib/grub
grub rescue>insmod normal
grub rescue>insmod search
grub rescue>insmod echo
grub rescue>insmod linux
grub rescue>insmod initrd
grub rescue>normal

这些就有了正常的大部分模块, 进入了一个不是完好的grub menu.list
图片 8

然后随便选一个就可以进tty了, 进了tty就好说多了.
直接修复一下grub就好.

root> fdisk -l
这里查看下你的硬盘, 我只有一块, 分了几个区. /dev/sda1, /dev/sda2, /dev/sda5, 说明挂载的是/dev/sda
root> grub-install /dev/sda
root> update-grub
root> shutdown -r now

重启后. 就正常登录了. 

本文永久更新链接地址:

Stable (Jessie 8.1) 的normal.mod not found 打算重置下default-brower, 输入了dpkg-reconfigure 结果按了个g,又按了tab,最后还输了回车.就变成了 dpkg -r...

1. 找到正确的命令

执行正确的命令对你的系统来说非常重要。然而在 Linux 中有如此多的、难以记忆的各种的命令行。那么怎样才能找到你需要的正确命令呢?答案是 apropos。你只需要运行:

  1. # apropos <description>

其中你要用真正描述你要查找的命令的语句代替 “description”。这里有一个例子:

  1. # apropos "list directory"
  2. dir(1)-list directory contents
  3. ls(1)-list directory contents
  4. ntfsls (8)-list directory contents on an NTFS filesystem
  5. vdir (1)-list directory contents

左边你看到的是命令,右边是它们的描述。

 

2. 执行之前的命令

很多时候你需要一遍又一遍执行相同的命令。尽管你可以重复按你键盘上的向上光标键,但你也可以用 history 命令替代。这个命令会列出自从你上次启动终端以来所有输入过的命令:

  1. # history
  2. 1fdisk-l
  3. 2apt-get install gnome-paint
  4. 3hostname tecmint.com
  5. 4hostnamectl tecmint.com
  6. 5manhostnamectl
  7. 6hostnamectl--set-hostname tecmint.com
  8. 7hostnamectl-set-hostname tecmint.com
  9. 8hostnamectlset-hostname tecmint.com
  10. 9mount-t "ntfs"-o
  11. 10fdisk-l
  12. 11mount-t ntfs-3g/dev/sda5 /mnt
  13. 12mount-t rw ntfs-3g/dev/sda5 /mnt
  14. 13mount-t -rw ntfs-3g/dev/sda5 /mnt
  15. 14mount-t ntfs-3g/dev/sda5 /mnt
  16. 15mountman
  17. 16manmount
  18. 17mount-t -o ntfs-3g/dev/sda5 /mnt
  19. 18mount-o ntfs-3g/dev/sda5 /mnt
  20. 19mount-ro ntfs-3g/dev/sda5 /mnt
  21. 20cd/mnt
  22. ...

正如你上面看到的,你会得到一个你运行过的命令的列表。每一行中有一个数字表示你在第几行输入了命令。你可以通过以下方法重新调用该命令:

  1. !#

其中要用命令的实际编号代替 #。为了更好的理解,请看下面的例子:

  1. !501

等价于:

  1. # history

 

3. 使用 midnight 命令

如果你不习惯使用类似 cd、cp、mv、rm 等命令,你可以使用 midnight 命令。它是一个简单的可视化 shell,你可以在上面使用鼠标:

图片 9

Midnight 命令

借助 F1 到 F12 键,你可以轻易地执行不同任务。只需要在底部选择对应的命令。要选择文件或者目录,按下 “Insert” 键。

简而言之 midnight 就是所谓的 “mc”。要安装 mc,只需要运行:

  1. $ sudoapt-get install mc [OnDebian based systems]

  1. #yum install mc [OnFedora based systems]

下面是一个使用 midnight 命令器的简单例子。通过输入以下命令打开 mc:

  1. # mc

现在使用 TAB 键选择不同的窗口 - 左和右。我有一个想要移动到 “Software” 目录的 LibreOffice 文件:

图片 10

Midnight 命令移动文件

按 F6 按钮移动文件��新的目录。MC 会请求你确认:

图片 11

移动文件到新目录

确认了之后,文件就会被移动到新的目标目录。

  • 扩展阅读:如何在 Linux 中使用 Midnight 命令文件管理器

 

本文由千赢娱乐手机登录发布于千赢娱乐手机登录,转载请注明出处:Linux使用expect脚本实现远程机器自动登录,给新手

关键词: 千亿国际qy8.vip

上一篇:压力测试工具,linux内存分配之mmap

下一篇:没有了