linux 环境下服务器向另外一个服务器传输文件的命令
scp a.txt root @ 172.169.0.203 : /root / work
注: 在操作前ping 一下看是否能连接对方的服务器 ping 172.169.0.203
a.txt : 为你要传的文件
root:以root 权限执行
@ 172.169.0.203 :@要传的目的服务器
:/ 加要传的目录位置
要传输整个文件夹(包括其中的文件和子文件夹),可以使用 -r
参数来递归复制。
scp -r [源文件夹] [目标地址]
其中:
源文件夹
是指要复制的文件夹的路径。目标地址
是指目标主机的用户名和主机名,以及目标文件夹的路径。
例如,如果要将本地文件夹 folder
复制到远程服务器的 /home/user
目录下,并且远程服务器的用户名为 username
,可以使用以下命令:
scp -r folder username@remotehost:/home/user
这将递归复制整个 folder
文件夹及其所有内容到远程服务器。
不使用vi 进入文件的情况下把文件中指定字符进行替换
sed -i "s/int/INT/g"
把当前目录下所有文件中包含int的字符替换为INT
sed -i 就是直接对文本文件进行操作的
s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!
加了 g 就是每行都全局替换。没有 g 就是每行只替换第一个匹配的
加上要替换的目录时
sed -i "s/int/INT/g" /root/work/inittab
在不确定要替换的文件时可使用通配符查询
sed -i "s/int/INT/g" 'grep -l int ./*'
grep -l 用于在多个文件中,查询是否存在匹配的内容
“:x”和”:wq”的真正区别:
:wq
强制性写入文件并退出.
即使文件没有被修改也强制写入,
并更新文件的修改时间.
:x
写入文件并退出.
仅当文件被修改时才写入,
并更新文件修改时间,
否则不会更新文件修改时间.
FTP与SFTP 的区别
FTP 不提供任何安全通道来在主机之间传输文件; FTP使用TCP / IP协议,明文传输用户信息和数据。 FTP使用TCP端口21上的控制连接建立连接;
SFTP协议提供了一个安全通道,用于在网络上的主机之间传输文件。 SFTP是SSH协议的一部分,它是一种远程登录信息,基于SSH来加密传输文件,可靠性高,可断点续传。SFTP是在客户端和服务器之间通过SSH协议(TCP端口22)建立的安全连接来传输文件
linux 的线程与进程
进程是资源分配的最小单位,进程有独立地址空间,多个线程是共享地址空间和公共变量
线程是cpu时间片分配的最小单位,程序执行的最小单位。
一个进程至少包含一个线程,即主线程
退出所有正在执行的操作
CTRL + C
删除当前磁盘内所有包含’normal‘ 的文件名的文件 的命令
find ./ -name '*normal*' | xargs rm -f
xargs(英文全拼: eXtended ARGuments)是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。
xargs 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据。
xargs 也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。
xargs 默认的命令是 echo,这意味着通过管道传递给 xargs 的输入将会包含换行和空白,不过通过 xargs 的处理,换行和空白将被空格取代。
xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令。
之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了 xargs 命令,例如:
find /sbin -perm +700 |ls -l #这个命令是错误的
find /sbin -perm +700 |xargs ls -l #这样才是正确的
从A服务器test1 用户跳转到B服务器test2 用户下,使用命令
ssh test2 @B服务器ip地址
查看ls 的帮助
man ls
显示文件索引节点号
ls -i
显示文件单位
ls -h
在不打开文件的情况下,只使用一个命令将一个文件的内容清空
通过重定向来清空文件内容
该方法是最简单的,通过shell重定向null到指定文件即可
$ > system.log
还有两个重定向方法:
重定向:或者true到指定文件
$ :> system.log
或者
$ true > system.log
使用echo命令清空,此时会在文件中写入一个空行“\n",命令如下:
echo "">file_name
要想彻底清空文件内容,可以使用echo命令的-n选项,该选项将告诉echo,不再输出一个空白行
$ echo -n "" > system.log
管道符的用法
基本语法
bash命令 | 管道命令
bash命令,就是Linux中的一切具有能够输入的命令,例如ps输出进程信息,ls输出文件列表等等
管道命令,就是能够接收标准输出,例如grep,less,head,tail等命令
截取出ps -ef命令里带有docker字符的所有命令
[root@iZ1608aqb7ntn9Z Test0901]# ps -ef|grep docker
截取带有java进程的命令也是如此:
[root@iZ1608aqb7ntn9Z Test0901]# ps -ef|grep java
查看前一条命令输入的个数:
[root@iZ1608aqb7ntn9Z Test0901]# ls | wc -l
显示或修改系统时间与日期;
date
显示或修改系统时间与日期;
用于设置用户密码:
passwd
passwd root
改变用户身份(切换到超级用户):
su -
用于清除屏幕信息
clear
显示指定命令的帮助信息:
man
查询系统处于什么运行级别:
who -r
显示目前登录到系统的用户:
who -buT
显示系统内存状态(单位MB):
free -m
ps
显示系统进程运行动态:
ps -ef
查看sshd进程的运行动态:
ps -ef | grep sshd
用于分页查看文件,例如每页10行查看boot.log文件:
more -c -10 /var/log/boot.log
用于查看文件,例如查看Linux启动日志文件文件,并标明行号:
cat -Ab /var/log/boot.log
压缩与解压
tar
将/etc文件夹中的文件归档到文件etc.tar(并不会进行压缩):
tar -cvf /mydata/etc.tar /etc
用gzip压缩文件夹/etc中的文件到文件etc.tar.gz:
tar -zcvf /mydata/etc.tar.gz /etc
用bzip2压缩文件夹/etc到文件/etc.tar.bz2:
tar -jcvf /mydata/etc.tar.bz2 /etc
分页查看压缩包中内容(gzip):
tar -ztvf /mydata/etc.tar.gz |more -c -10
解压文件到当前目录(gzip):
tar -zxvf /mydata/etc.tar.gz
解压文件到指定目录(gzip):
tar -zxvf /mydata/etc.tar.gz -C /mydata/etc
软件的安装与管理
rpm
RPM是Red-Hat Package Manager的缩写,一种Linux下通用的软件包管理方式,可用于安装和管理.rpm结尾的软件包。
安装软件包:
rpm -ivh nginx-1.12.2-2.el7.x86_64.rpm
模糊搜索软件包:
rpm -qa | grep nginx
精确查找软件包:
rpm -qa nginx
查询软件包的安装路径:
rpm -ql nginx-1.12.2-2.el7.x86_64
查看软件包的概要信息:
rpm -qi nginx-1.12.2-2.el7.x86_64
验证软件包内容和安装文件是否一致:
rpm -V nginx-1.12.2-2.el7.x86_64
更新软件包:
rpm -Uvh nginx-1.12.2-2.el7.x86_64
删除软件包:
rpm -e nginx-1.12.2-2.el7.x86_64
yum
Yum是Yellow dog Updater, Modified的缩写,能够在线自动下载RPM包并安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,非常方便!
安装软件包:
yum install nginx
检查可以更新的软件包:
yum check-update
更新指定的软件包:
yum update nginx
在资源库中查找软件包信息:
yum info nginx*
列出已经安装的所有软件包:
yum info installed
列出软件包名称:
yum list nginx*
模糊搜索软件包:
yum search nginx
压缩
tar –cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg
tar –czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
tar –cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
tar –cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux
zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux
解压
tar –xvf file.tar //解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2 //解压 tar.bz2
tar –xZvf file.tar.Z //解压tar.Z
unrar e file.rar //解压rar
unzip file.zip //解压zip
评论