linux命令控制 linux系统控制台( 三 )


①zip:压缩
②unzip:解压缩
只能压缩文件不能压缩目录,不保留原来的文件 。
gzip 文件 (只能将文件压缩为*.gz文件)
gunzip 文件.gz(解压缩文件命令)
例: crontab -e
(1)进入crontab编辑界面 。会打开vim编辑你的工作 。
(2)每隔1分钟,向/root/bailongma.txt文件中添加一个11的数字
*/1 * * * * /bin/echo ”11”/root/bailongma.txt
(3)可以用tail-f目标文件来实施监控追加的内容
查看日志
可以用tail -f /var/log/cron.log观察
Cron表达式见文章:
ls [选项] [目录或是文件]
cd[参数]
例: cd-P$(dirname $p1) ; pwd先跳转到文件的所在目录 , 再打印$p1文件的实际路径
概述
①cp(copy):只能在本机中复制
②scp(secure copy):可以复制文件给远程主机
scp-rtest.shhxr@hadoop102:/root
③rsync(remote sync):功能与scp相同,但是不会改文件属性
rsync-avtest.shtest.shhxr@hadoop102:/root
④nc(netcat):监听端口,可以实现机器之间传输文件 。
nc -lk 7777 (-l表示listen,-k表示keep)
强制覆盖不提示的方法:\cp
例:scp-rtest.shhxr@bigdata1:/root
例:rsync-avtest.shhxr@bigdata1:/root
例:
nc -lp 10000nc_test.txt
nc -w 1 hadoop102nc_test.txt
远程登录时默认使用的私钥为~/.ssh/id_rsa
生成密钥对
将公钥发送到本机
将密钥发送到需要登录到本机的服务器上
修改密钥的权限
远程登陆
如果有多个节点需要远程登陆,可以在.ssh下创建config并输入
再次登陆
①正向代理:
②反向代理:
所谓“反向代理”就是让远端启动端口,把远端端口数据转发到本地 。
HostA 将自己可以访问的 HostB:PortB 暴露给外网服务器 HostC:PortC,在 HostA 上运行:
那么链接 HostC:PortC 就相当于链接 HostB:PortB 。
使用时需修改 HostC 的 /etc/ssh/sshd_config 的一条配置如下,不然启动的进程监听的ip地址为127.0.0.1 , 即只有本机可以访问该端口 。
相当于内网穿透,比如 HostA 和 HostB 是同一个内网下的两台可以互相访问的机器,HostC是外网跳板机,HostC不能访问 HostA,但是 HostA 可以访问 HostC 。
那么通过在内网 HostA 上运行ssh -R告诉 HostC,创建 PortC 端口监听 , 把该端口所有数据转发给我(HostA),我会再转发给同一个内网下的 HostB:PortB 。
同内网下的 HostA/HostB 也可以是同一台机器 , 换句话说就是 内网 HostA 把自己可以访问的端口暴露给了外网 HostC 。
例: 比如在我的内网机192.168.32.244上有一个RabbitMQ的客户端,端口号为15672 。现在我希望在外网上访问固定ip的云服务器chenjie.asia的6009端口 , 通过跳板机192.168.32.243来转发请求到192.168.32.244:15672,从而实现在外网访问内网服务的功能,即内网穿透 。
①在192.168.32.244上启动RabbitMQ服务
②将chenjie.asia云服务器的私钥复制到跳板机192.168.32.243的~/.ssh下,并重命名为id_rsa 。通过如下命令看是否可以远程登陆到云服务 , 可以登陆则进行下一步 。
③修改chenjie.asia服务器的ssh配置文件 /etc/ssh/sshd_config  , 允许其linux命令控制他节点访问
然后重启sshd服务
④在跳板机192.168.32.243启动ssh反向代理
这个进程在关闭session时会停止,可以添加启动参数-CPfN
例:
以 root 身份执行的程序有了所有特权,这会带来安全风险 。Kernel 从 2.2 版本开始,提供了 Capabilities 功能,它把特权划分成不同单元,可以只授权程序所需的权限,而非所有特权 。

推荐阅读