LINUX-命令2

本文介绍了Linux系统中的cp、mv、ln、hostname等基础命令的用法,包括文件复制、文件名修改、软连接创建、主机名修改、IP和主机名认证,以及SSH、SCP在文件传输和双机互信中的应用。同时涵盖了磁盘空间管理和查看交换空间的工具如df、du和free。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

cp命令 :复制命令

cp 3.txt 4.txt 	--建立4.txt文件,把3.txt文件的内容复制给4.txt文件。
cp 3.txt test1	--把3.txt文件复制到test1文件夹中
cp -r test1 test2 --把文件夹复制到另一个文件夹下(级联复制,目录下的文件都会复制)
cp test2/hellworld.txt .  -- .代表本目录  ; 这句是把这个文件夹下的文件复制到所在本目录下
cp helloword.txt ../   --把这个文件复制到上级目录里面

mv命令 :修改文件名称或者移动文件
第一种:同级目录下修改文件名称,实际上就是修改文件的绝对路径,功能类似于 windows的 F2
第二种:跨目录下的文件移动,实际上也是修改文件的绝对路径,功能类似于windows的剪贴和黏贴。

mv testmv.txt  testmv1.txt 
   (文件原名称)  (修改以后的名称)
mv   testmv.txt /usr/local
     (原文件)    (文件移动到这个绝对路径下)

linux 的软连接
第一:如果出现了下面的错误:

ERROR 2002(HY000): Can't  to connect to local Mysql server through socket '/tem/mysql.sock'(2)

用下面的命令去解决,直接复制黏贴
软连接:所谓的软连接其实就是和我们windows的快捷方式 是一样的。相当于在其他目录下创建文件的快速连接方式。该连接方式可以直接映射回原文件,不需要再对原文件进行操作了。

ln -s   /data/mysql_data/mysql.sock.        /tmp/mysql.sock   --创建软连接
       

然后再重复上main的mysql -uroot -p命令,并在enter password 的时候直接回车
这时可能会出现第二种情况,报错如下:

ERROR 1045(28000):Access defined for user 'root@localhost'(using pasword:No)

/etc/rc.local文件 开机启动的文件,也是个软连接,是/etc/rc.d原文件的映射

vi rc.local
rm -rf /tmp/mysql.sock.  --在rc.local文件中添加这个命令
ln -s /data/mysql_data/mysql.sock	/tmp/mysql.sock	 --创建软连接

主机名(HOSTNAME)
在我们的操作系统(服务器)一般使用两种方式来认证自己的身份:
第一种方式就是使用IP的方式来认证自己在某个网络下的唯一性。
第二种方式就是通过主机名来验证自己的可识别性。
修改主机名:

---临时修改    hostname命令 + 修改名称
hostname
结果:oracle
hostname mysql
exit
hostname
结果:mysql

shutdow -r now  ---linux重启命令
hostname
结果:oracle		---没有改变
--持久修改主机名
vi /etc/hostname	--把这个文件中的 oracle 改成mysql
reboot   --重新启动操作系统
hostname
结果:mysql

查看操作系统的ip地址

ip  a	--第一种方式
ifconfig 	--第二种方式

vi  /ect/hosts   --修改ip 地址以及修改ip所代表的别名
里面的内容: 127.0.0.1  localhost localhost.localdomain localdomain4 localhost4.localdomain4等
ping localhost	--可以ping的通
我们ping的通某一个ip,但是ping 不通这个ip所代表的hostname,所以需要在/etc/hosts文件中添加这个ip以及这个ip所代表的hostname,例如:在hosts文件中添加  192.168.100.30  mysql  。
那么我们就执行 ping mysql 就可以ping的通。

ssh命令:

ssh 192.168.100.21    ---用户是root ,那么就连接相对应的root用户
ssh oracle@192.168.100.21. --自主选择ip地址中的用户  对方的oracle用户@+IP地址

scp命令 ----> ssh cp (使用ssh协议进行文件和目录复制)

---从本机复制文件到远程的机器上
scp 			3.txt 			   root@192.168.100.21:/root
scp代表的命令头  |代表我要传输的文件   |代表对方接收的用户 @192.168.100.21或者@oracle21c 代表远程主机
:/root	代表对方机器接收文件或者目录的位置, 注意“ : ”必须写,别丢了。
但是这里需要注意一点:对方接收的用户和对方接收的文件或者目录的位置,必须要保证权限是没有问题的,接收用户必须对接收目录要有相关的读写权限。

----从本机复制目录到远程的机器上
scp -r test   root@192.168.100.21:/root		

SCP底层机制是:本地服务器先将文件发送对方机器的内存中(权限是正确的),然后再由对方接收用户写入到接收目录中,所以文件的所属用户与所属组,要根据接收用户的情况发生改变,文件的相关权限也要根据远程服务器接收用户的设置进行改变。

LINUX双机互信:免密登陆

ssh oracle21c 
ssh oracle21c data 
---这些命令都是需要密码才能登陆
--两台机器彼此互信 (192.168.100.30和192.168.100.21)(例如集群的节点)
1.首先使用 cat /etc/hosts 这个命令在两台机器上查看一下host文件是否已经写好
我们用这里的mysql(192.168.100.30)和oracle21c(192.168.100.21)这两台机器为例:
192.168.100.30 mysql
192.168.100.21 oracle21
2.我们在mysql这台机器上生成密钥(给mysql这台机器配置把钥匙,给其他机器使用)
ssh -keygen -t rsa	--生成密钥
ls -al /root/.ssh 	--查询密钥
scp -r .ssh  root@oracle21c:/root 	--这里建议使用主机名,传输密钥到其他机器上
5.在oracle21c这台机器上操作
ls -al /root/.ssh
cd /root/.ssh
cat id_rsa.pub >> authorized_keys	--把这个文件中的内容合并到这个文件中 authorized_keys这个文件可以他自己信任自己。
这样mysql可以免密登陆oracle21c这台机器
6.在oracle21c这台机器上执行	scp  authorized_keys   root@mysql:/root/.ssh   --把这个文件传给mysql这台机器,这样我们在oracle21c这台机器上也可以免密登陆了。

双机互信怎样撤销?

rm -rf /root/.ssh	--在配置的多台机器上都执行这个命令,就可以撤销互信。

配置三台机器互信(mysql和oracle21c和mysql8)

1.在/etc/hosts 文件中加上 192.168.100.30 mysql		
192.168.100.21 oracle21c  	192.168.100.80 mysql8 保存。(修改)
ping mysql8
scp /etc/hosts root@oracle21c:/etc/hosts	--把hosts文件发送到oracle21c这台机器上
scp /etc/hosts root@mysql8:/etc/hosts		--把hosta文件发送到mysql8这台机器上
2.我们在mysql这台机器上面生成密钥
ssh -keygen -t rsa		--生成密钥
ls -al /root/.ssh.      --查看密钥
scp -r /root/.ssh  root@oracle21c:/root/.ssh	--下发到oracle21c机器上
scp -r /root/.ssh  root@mysql8:/root/.ssh 		--下发到mysql8机器上
我们可以发现mysql操作oracle21c和mysql8还需要密码。
所以还需要在oracle21c和mysql8这2台机器上面都执行:cat id_rsa.pub >>authorized_keys
我们在mysql 这台机器上面发现 
ssh oracle21c data			
ssh mysql8 data
都可以免密登陆了,说明oracle21c和mysql8都已经信任了mysql这台机器了。
但是我们在oracle21c这台机器上发现  ssh  mysql data 还需要密码登陆,
ssh oracle21c data 和ssh mysql8 data 已经可以免密登陆了,
在mysql8这机器上也是和oracle21c这台机器是一样的情况,
所以
我们只需要 执行	scp  /root/.ssh/authorized_keys root@mysql:/root/.ssh/suthorized_keys 
发送文件到mysql这台机器上面就可以了。
现在这3台机器已经可以互信了。

du命令:查看目录空间的使用量

du -sh    --查看空间的使用量
结果:4.4M

df -h  	--查看整个系统的空间使用量(G)
结果:Filesystem			       Size        used		Avail  use%      mounted    on
     /dev/mapper/centos-root   72G		   6.1G	    66G     9%       /
df  -m --查看整个系统的空间使用量(M)
结果:Filesystem			       1M-blocks        used		Avail  use%      mounted    on
     /dev/mapper/centos-root   73589		   	6209	    67381     9%       /     
 
free -h   --剩余空间(G)     
free  -m  --剩余空间(M)
结果:
            total		used 		free 		shared 		buff/cache		available
Mem:        7983   		691			6858		10				433			7030
Swap:		7811		0			7811		

--查看swap空间使用情况
swapon
NAME     	TYPE	  	SIZE       USED	 PRIO
/dev/dm-1 	partition 	7.6G		0B   -1
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值