博客主页:🏆看看是李XX还是李歘歘 🏆

🌺每天分享一些包括但不限于计算机基础、算法等相关的知识点🌺

💗点关注不迷路,总有一些📖知识点📖是你想要的💗

⛽️今天的内容是      linux介绍      ⛽️💻💻💻

目录

​Linux 使用的进程间通信方式?​

​什么是root帐户​

​什么是BASH?​

​什么是DOS?​

​什么是GUI?​

​什么是硬链接和软链接?​

​什么叫 CC 攻击?什么叫 DDOS 攻击?​

​什么是网站数据库注入?​

​ ln 命令​

​命令​

​cat 命令​

​touch 命令​

​vim 命令​

​tail 命令​

​ head 命令​

​cp 命令​

​find 命令​

​which 命令​

​mv 命令​

​rm 命令​

​grep 命令​

​wc 命令​

​cd 命令​

​ls命令​

​mkdir 命令​

​pwd 命令​

​ifconfig 命令​

​ping 命令​

​kill 命令​

​rpm 命令​

​top 命令​

​scp命令​



Unix和Linux有什么区别?

Linux和Unix都是功能强大的操作系统,都是应用广泛的服务器操作系统,有很多相似之处,甚至有一部分人错误地认为Unix和Linux操作系统是一样的,然而,事实并非如此,以下是两者的区别。

开源性

Linux是一款开源操作系统,不需要付费,即可使用;Unix是一款对源码实行知识产权保护的传统商业软件,使用需要付费授权使用。

跨平台性

Linux操作系统具有良好的跨平台性能,可运行在多种硬件平台上;Unix操作系统跨平台性能较弱,大多需与硬件配套使用。

可视化界面

Linux除了进行命令行操作,还有窗体管理系统;Unix只是命令行下的系统。

硬件环境

Linux操作系统对硬件的要求较低,安装方法更易掌握;Unix对硬件要求比较苛刻,安装难度较大。

用户群体

Linux的用户群体很广泛,个人和企业均可使用;Unix的用户群体比较窄,多是安全性要求高的大型企业使用,如银行、电信部门等,或者Unix硬件厂商使用,如Sun等。

相比于Unix操作系统,Linux操作系统更受广大计算机爱好者的喜爱,主要原因是Linux操作系统具有Unix操作系统的全部功能,并且能够在普通PC计算机上实现全部的Unix特性,开源免费的特性,更容易普及使用!

Linux 使用的进程间通信方式?

  • 管道(pipe)、流管道(s_pipe)、有名管道(FIFO)
  • 信号(signal)
  • 消息队列
  • 共享内存
  • 信号量
  • 套接字(socket)


什么是root帐户

root帐户就像一个系统管理员帐户,允许你完全控制系统。你可以在此处创建和维护用户帐户,为每个帐户分配不同的权限。每次安装Linux时都是默认帐户。

什么是BASH?

BASH是​​Bourne Again SHell​​​的缩写。它由Steve Bourne编写,作为原始​​Bourne Shell​​​(由​​/ bin / sh​​表示)的替代品。它结合了原始版本的Bourne Shell的所有功能,以及其他功能,使其更容易使用。从那以后,它已被改编为运行Linux的大多数系统的默认shell。

Bash是一个命令处理器,通常运行于文本窗口中,并能执行用户直接输入的命令。Bash还能从文件中读取命令,这样的文件称为脚本。和其他Unix shell 一样,它支持文件名替换(通配符匹配)、​​管道​​​、​​here文档​​​、命令替换、变量,以及条件判断和循环遍历的结构控制语句。包括关键字、语法在内的基本特性全部是从​​sh​​​借鉴过来的。其他特性,例如历史命令,是从​​csh​​​和​​ksh​​​借鉴而来。总的来说,Bash虽然是一个满足​​POSIX​​规范的shell,但有很多扩展。

什么是DOS?

DOS的英文是(Disk Operating System)磁盘操作系统的缩写。是个人计算机上的一类操作系统。

DOS主要是一种面向磁盘的系统软件,说得简单些。DOS就是人给机器下达命令的集合,是存储在操作系统中的命令集。有了DOS,我们就可以更容易理解怎么给机器下命令,不必去深入了解机器的硬件结构,也不必去死记硬背那些枯燥二进制数字的机器命令,只需通过一些接近于英语的DOS命令,我们就可以轻松地完成绝大多数的日常操作。

什么是GUI?

图形用户界面(​​Graphical User Interface​​,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。图形用户界面是一种人与计算机通信的界面显示格式,允许用户使用鼠标等输入设备操纵屏幕上的图标或菜单选项,以选择命令、调用文件、启动程序或执行其它一些日常任务。与通过键盘输入文本或字符命令来完成例行任务的字符界面相比,图形用户界面有许多优点。

什么是硬链接和软链接?

1)硬链接 由于 Linux 下的文件是通过索引节点(inode)来识别文件,硬链接可以认为是一个指针,指向文件索引节点的指针,系统并不为它重新分配 inode 。每添加一个一个硬链接,文件的链接数就加 1 。不足:1)不可以在不同文件系统的文件间建立链接;2)只有超级用户才可以为目录创建硬链接。

软链接 软链接克服了硬链接的不足,没有任何文件系统的限制,任何用户可以创建指向目录的符号链接。因而现在更为广泛使用,它具有更大的灵活性,甚至可以跨越不同机器、不同网络对文件进行链接。

不足:因为链接文件包含有原文件的路径信息,所以当原文件从一个目录下移到其他目录中,再访问链接文件,系统就找不到了,而硬链接就没有这个缺陷,你想怎么移就怎么移;还有它要系统分配额外的空间用于建立新的索引节点和保存原文件的路径。实际场景下,基本是使用软链接。总结区别如下:· 硬链接不可以跨分区,软件链可以跨分区。· 硬链接指向一个 inode 节点,而软链接则是创建一个新的 inode 节点。· 删除硬链接文件,不会删除原文件,删除软链接文件,会把原文件删除。

什么叫 CC 攻击?什么叫 DDOS 攻击?

CC 攻击,主要是用来攻击页面的,模拟多个用户不停的对你的页面进行访问,从而使你的系统资源消耗殆尽。DDOS 攻击,中文名叫分布式拒绝服务攻击,指借助服务器技术将多个计算机联合起来作为攻击平台,来对一个或多个目标发动 ​​DDOS​​​攻击。攻击,即是通过大量合法的请求占用大量网络资源,以达到瘫痪网络的目的。怎么预防 CC 攻击和​​DDOS​​​攻击?防 ​​CC​​​、​​DDOS​​​攻击,这些只能是用硬件防火墙做流量清洗,将攻击流量引入黑洞。流量清洗这一块,主要是买 ​​ISP​​服务商的防攻击的服务就可以,机房一般有空余流量,我们一般是买服务,毕竟攻击不会是持续长时间。

什么是网站数据库注入?

由于程序员的水平及经验参差不齐,大部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断。

应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的 SQL 注入。

​SQL​​​注入,是从正常的 ​​WWW​​​端口访问,而且表面看起来跟一般的 Web 页面访问没什么区别,如果管理员没查看日志的习惯,可能被入侵很长时间都不会发觉。如何过滤与预防?数据库网页端注入这种,可以考虑使用 ​​nginx_waf​​做过滤与预防。

 ln 命令

功能是为文件在另外一个位置建立一个同步的链接,当在不同目录需要该问题时,就不需要为每一个目录创建同样的文件,通过 ln 创建的链接(link)减少磁盘占用量。链接分类:软件链接及硬链接 软链接:

1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式 2.软链接可以 跨文件系统 ,硬链接不可以 3.软链接可以对一个不存在的文件名进行链接 4.软链接可以对目录进行链接

硬链接:

1.硬链接,以文件副本的形式存在。但不占用实际空间。2.不允许给目录创建硬链接 3.硬链接只有在同一个文件系统中才能创建 需要注意:第一:ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;第二:ln的链接又分软链接和硬链接两种,软链接就是ln –s 源文件 目标文件,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接 ln 源文件 目标文件,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。第三:ln指令用在链接文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则会把前面指定的所有文件或目录复制到该目录中。若同时指定多个文件或目录,且最后的目的地并非是一个已存在的目录,则会出现错误信息。

常用参数:

-b 删除,覆盖以前建立的链接
-s 软链接(符号链接)
-v 显示详细处理过程

实例:

(1)给文件创建软链接,并显示操作信息

ln -sv source.log link.log

(2)给文件创建硬链接,并显示操作信息

ln -v source.log link1.log

(3)给目录创建软链接

ln -sv /opt/soft/test/test3 /opt/soft/test/test5


命令

cat 命令

cat 命令用于连接文件并打印到标准输出设备上。


cat [-AbeEnstTuv] [--help] [--version] fileName

-n 或 --number:由 1 开始对所有输出的行数编号。
-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
-E 或 --show-ends : 在每行结束处显示 $。
-T 或 --show-tabs: 将 TAB 字符显示为 ^I。
-A, --show-all:等价于 -vET。
-e:等价于"-vE"选项;
-t:等价于"-vT"选项;

常用:

1.一次显示整个文件:

cat filename

2.从键盘创建一个文件:

cat > filename

只能创建新文件,文件名重复会覆盖,control+c结束新建。

3.将几个文件合并为一个文件:

cat file1 file2 > file

4.-b对非空输出行号 -n 输出所有行号

cat -b file1
cat -n file2

5.反向列示

tac filename

touch 命令

​Linux touch​​命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。​​ll​​可以显示档案的时间记录。

touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][--help][--version][文件或目录…]
参数说明:
a 改变档案的读取时间记录。
m 改变档案的修改时间记录。
c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
f 不使用,是为了与其他 unix 系统的相容性而保留。
r 使用参考档的时间记录,与 --file 的效果一样。
d 设定时间与日期,可以使用各种不同的格式。
t 设定档案的时间记录,格式与 date 指令相同。
--no-create 不会建立新档案。
--help 列出指令格式。
--version 列出版本讯息。

常用:

1.修改文件"testfile"的时间属性为当前系统时间

touch testfile

2.新建文件,使用指令"touch"时,如果指定的文件不存在,则将创建一个新的空白文件。

touch filename

vim 命令

Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

分为:命令模式(Command mode)输入模式(Insert mode)底线命令模式(Last line mode)

命令模式:

  • i、o、a切换到输入模式,以输入字符。
  • :(英文冒号)切换到底线命令模式,可以在最底一行输入命令。

输入模式:

  • ESC,退出输入模式,切换到命令模式。
  • 回车,回到命令模式

底线命令模式:

  • :(英文冒号)就进入了底线命令模式。

在底线命令模式中,基本的命令有(已经省略了冒号):

  • q 退出程序
  • wq 保存文件,退出程序
  • wq! 强制储存后离开
  • q! 不保存文件,退出程序

按ESC键可随时退出底线命令模式。

1.打开文件并跳到第 10 行

vim +10 filename

​2.进入文件后跳到第10行​

vim filename

进入问价后输入

:10

tail 命令

tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。


tail [options] [name]

-f 循环读取(常用于查看递增的日志文件)
-n<行数> 显示行数(从后向前)

1.查看最新请求日志

tail -f ping.log

2.查看文件最后2行

tail -n 2 filename

3.查看文件第2行到文件尾的内容

tail -n +2 filename

 head 命令

head 用来显示档案的开头至标准输出中,默认 head 命令打印其相应文件的开头 10 行。

-q 隐藏文件名
-v 显示文件名
-c<数目> 显示的字节数。
-n<行数> 显示的行数。

常用:

1.显示 filename文件中前 20 行

head filename -n 20

2.显示 filename文件前 20 字节

head -c 20 log2014.log

3.显示 filename 最后 10 行

head -n -10 t.log

cp 命令

将源文件复制至目标文件,或将多个源文件复制至目标目录。注意:命令行复制,如果目标文件已经存在会提示是否覆盖,而在 shell 脚本中,如果不加 -i 参数,则不会提示,而是直接覆盖!

-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容
-f:覆盖已经存在的目标文件而不给出提示。
-i:与 -f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答 y 时目标文件将被覆盖。
-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l:不复制文件,只是生成链接文件。

常用:

1.复制 a.txt 到 test 目录下,保持原文件时间,如果原文件存在提示是否覆盖。

cp -ai filename1 filename2

2.cp 将当前目录 test/ 下的所有文件复制到新目录 newtest 下

cp –r test/ newtest

find 命令

用于在文件树中查找文件,并作出相应的处理。命令格式:

find pathname -options [-print -exec -ok ...]

命令参数:

pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
-print:find命令将匹配的文件输出到标准输出。
-exec:find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。
-ok:和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。

-exec 参数后面跟的是 command 命令,它的终止是以 ; 为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。{} 花括号代表前面find查找出来的文件名。

-options选项:

name 按照文件名查找文件
perm 按文件权限查找文件
user 按文件属主查找文件
group 按照文件所属的组来查找文件。
type 查找某一类型的文件,诸如:
b - 块设备文件
d - 目录
c - 字符设备文件
l - 符号链接文件
p - 管道文件
f - 普通文件

常用:

1.查找 48 小时内修改过的文件

find -atime -2

2.在当前目录查找 以 .log 结尾的文件。. 代表当前目录

find ./ -name '*.log'

3.查找 /opt 目录下 权限为 777 的文件

find /opt -perm 777

4.查找大于 1K 的文件

find -size +1000k

5.查找等于 1000 字符的文件

find -size +1000c

which 命令

在 linux 要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索:

which 查看可执行文件的位置。
whereis 查看文件的位置。
locate 配合数据库查看文件位置。
find 实际搜寻硬盘查询文件名称。

which 是在 PATH 就是指定的路径中,搜索某个系统命令的位置,并返回第一个搜索结果。使用 which 命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

常用参数:

-n 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。

常用:

1.使用指令"which"查看指令"go"的绝对路径

which go

mv 命令

移动文件或修改文件名,根据第二参数类型(如目录,则移动文件;如为文件则重命令该文件)。当第二个参数为目录时,第一个参数可以是多个以空格分隔的文件或目录,然后移动第一个参数指定的多个文件到第二个参数指定的目录中。

-b: 当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份。
-i: 如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作。
-f: 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。
-n: 不要覆盖任何已存在的文件或目录。
-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。

常用:

1.将文件 filename1  重命名为 filename2

mv filename1 filename2

2.将文件 filename1 、filename2 移动到上一级目录的 test 目录中

mv filename1 filename2 ../test/

(3)将文件 file1 改名为 file2,如果 file2 已经存在,则询问是否覆盖,输入y则覆盖。

mv -i log1.txt log2.txt

(4)移动当前文件夹下的所有文件到上一级目录

mv * ../

rm 命令

删除一个目录中的一个或多个文件或目录,如果没有使用 ​​-r​​​ 选项,则 ​​rm​​​ 不会删除目录。如果使用 ​​rm​​ 来删除文件,通常仍可以将该文件恢复原状。

rm [options] name
-i 删除前逐一询问确认。
-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-r 将目录及以下之档案亦逐一删除。

常用:

1.删除任何 .filename 文件,删除前逐一询问确认:

rm -i *.filename

2.删除 test 子目录及子目录中所有档案删除,并且不用一一确认:

rm -rf test

3.删除以 ​​-f​​ 开头的文件

rm f*

grep 命令

强大的文本搜索命令,grep(​​Global Regular Expression Print​​) 全局正则表达式搜索

grep [option] pattern file|dir

常用参数:

-A n --after-context显示匹配字符后n行
-B n --before-context显示匹配字符前n行
-C n --context 显示匹配字符前后n行
-c --count 计算符合样式的列数
-i 忽略大小写
-l 只列出文件内容符合指定的样式的文件名称
-f 从文件中读取关键词
-n 显示匹配内容的所在文件中行数
-R 递归查找文件夹

grep 的规则表达式:

^ #锚定行的开始 如:'^grep'匹配所有以grep开头的行。
$ #锚定行的结束 如:'grep$'匹配所有以grep结尾的行。
. #匹配一个非换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p。
* #匹配零个或多个先前字符 如:'*grep'匹配所有一个或多个空格后紧跟grep的行。
.* #一起用代表任意字符。
[] #匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep。
[^] #匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。
\(..\) #标记匹配字符,如'\(love\)',love被标记为1。
\< #锚定单词的开始,如:'\<grep'匹配包含以grep开头的单词的行。
\> #锚定单词的结束,如'grep\>'匹配包含以grep结尾的单词的行。
x\{m\} #重复字符x,m次,如:'0\{5\}'匹配包含5个o的行。
x\{m,\} #重复字符x,至少m次,如:'o\{5,\}'匹配至少有5个o的行。
x\{m,n\} #重复字符x,至少m次,不多于n次,如:'o\{5,10\}'匹配5--10个o的行。
\w #匹配文字和数字字符,也就是[A-Za-z0-9],如:'G\w*p'匹配以G后跟零个或多个文字或数字字符,然后是p。
\W #\w的反置形式,匹配一个或多个非单词字符,如点号句号等。
\b #单词锁定符,如: '\bgrep\b'只匹配grep。

常用:

1.查找go的进程

ps -ef | grep go

2.从文件中读取关键词

grep "lcc" filename

3.从文件中读取关键词出现行数

grep -c "lcc" filename

4.从文件中读取关键词出现行内容及其行数

grep -n "lcc" filename

5.查询输出结果匹配的内容

cat filenmae  | grep "lcc"

wc 命令

wc(word count)功能为统计指定的文件中字节数、字数、行数,并将统计结果输出 命令格式:

wc [option] file..

命令参数:

-c 统计字节数
-l 统计行数
-m 统计字符数
-w 统计词数,一个字被定义为由空白、跳格或换行字符分隔的字符串

常用

1.查找文件的 行数 单词数 字节数 文件名

wc text.txt

结果:

7 8 70 test.txt

2.统计输出结果的行数

cat test.txt | wc

cd 命令

cd(changeDirectory) 命令语法:

cd [目录名]

常用:

1.进入根目录

cd /

2.进入 “home” 目录

cd ~

3.进入上一次工作路径

cd -

4.跳到目前目录的上两层

cd ../..

ls命令

就是 list 的缩写,通过 ls 命令不仅可以查看 linux 文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等。常用参数搭配:

ls -a 列出目录所有文件,包含以.开始的隐藏文件
ls -A 列出除.及..的其它文件
ls -r 反序排列
ls -t 以文件修改时间排序
ls -S 以文件大小排序
ls -h 以易读大小显示
ls -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来

mkdir 命令

mkdir 命令用于创建文件夹。可用选项:


mkdir [-p] dirName

-m: 对新建目录设置存取权限,也可以用 chmod 命令设置;
-p: 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不在的目录,即一次可以建立多个目录。

常用:

当前工作目录下创建名为 t 的文件夹

mkdir t

(2)在 tmp 目录下创建路径为 test/t1/t 的目录,若不存在,则创建:

mkdir -p /tmp/test/t1/t

pwd 命令

pwd 命令用于查看当前工作目录路径。

常用:

查看当前路径

pwd

ifconfig 命令

ifconfig 用于查看和配置 Linux 系统的网络接口。

显示网络设备信息:​​ifconfig -a​​ 。

ping 命令

Linux ping命令用于检测主机。执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。

指定接收包的次数

ping www.baidu.com
ping 127.0.0.1:8080/ping

kill 命令

发送指定的信号到相应进程。不指定型号将发送SIGTERM(15)终止指定进程。如果任无法终止该程序可用"-KILL" 参数,其发送的信号为SIGKILL(9) ,将强制结束进程,使用ps命令或者jobs 命令可以查看进程号。root用户将影响用户的进程,非root用户只能影响自己的进程。

常用参数:

-l 信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称
-a 当处理当前进程时,不限制命令名和进程号的对应关系
-p 指定kill 命令只打印相关进程的进程号,而不发送任何信号
-s 指定发送信号
-u 指定用户

先使用lsof查询端口占用情况

lsof -i:8998

linux介绍及其常用命令(开发常用)_linux

强制杀死进程

kill -9 pid

rpm 命令

Linux rpm 命令用于管理套件。rpm(redhat package manager) 原本是 Red Hat Linux 发行版专门用来管理 Linux 各项套件的程序,由于它遵循 GPL 规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM 套件管理方式的出现,让 Linux 易于安装,升级,间接提升了 Linux 的适用度。

# 查看系统自带jdk
rpm -qa | grep jdk
# 删除系统自带jdk
rpm -e --nodeps 查看jdk显示的数据
# 安装jdk
rpm -ivh jdk-7u80-linux-x64.rpm

top 命令

显示当前系统正在执行的进程的相关信息,包括进程 ID、内存占用率、CPU 占用率等 常用参数:

-c 显示完整的进程命令
-s 保密模式
-p <进程号> 指定进程显示
-n <次数>循环显示次数

scp命令

用于 Linux 之间复制文件和目录。


scp [可选参数] file_source file_target

-1: 强制scp命令使用协议ssh1
-2: 强制scp命令使用协议ssh2
-4: 强制scp命令只使用IPv4寻址
-6: 强制scp命令只使用IPv6寻址
-B: 使用批处理模式(传输过程中不询问传输口令或短语)
-C: 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
-p:保留原文件的修改时间,访问时间和访问权限。
-q: 不显示传输进度条。
-r: 递归复制整个目录。
-v:详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
-c cipher: 以cipher将数据传输进行加密,这个选项将直接传递给ssh。
-F ssh_config: 指定一个替代的ssh配置文件,此参数直接传递给ssh。
-i identity_file: 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
-l limit: 限定用户所能使用的带宽,以Kbit/s为单位。
-o ssh_option: 如果习惯于使用ssh_config(5)中的参数传递方式,
-P port:注意是大写的P, port是指定数据传输用到的端口号
-S program: 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。

上传文件: 

scp 本地目录文件 用户名@ip:目录文件

用户

 查当前用户

whoami

切换用户

sudo -iu xxx

上传本地文件到服务器

linux介绍及其常用命令(开发常用)_linux_02