1.安装软件

2.基本命令ls和cd

cd 指令

第一个要知道的指令就是怎么样去到你想去的地方. cd (Change Directory) 就是干这个的. 找到 Linux 的 terminal 窗口, 然后他默认跳出来是在你的用户目录 (Home). Terminal 中的 ~ $ 就是说你输入指令将在 ~ 这个目录下执行. 而 ~ 这个符号代表的是你的 Home 目录. 如果在文件管理器中可视化出来, 就是下面图中那样.

Linux 基本指令 ls 和 cd

使用 cd 指令, 我们能在 Terminal 中轻松切换到不同的文件夹. 想从 Home 去 Documents 这个文件夹? 输入下面的命令就可以了.

~$ cd Documents/
接着你会看到它在下一行跳出了这个东西, 在 $ 前面的 ~/Documents 就说明你现在已经在 Documents 这个文件夹里了. 你现在要执行的命令将会在这个目录下生效.

~/Documents$
接着我们来列举另外一些常用的 cd 命令.

1 返回上一级目录

~/Documents$ cd ..
~$
2 去往子文件夹

~$ cd Documents/folder1/
~/Documents/folder1$
3 返回你刚刚所在的目录

~/Documents/folder1$ cd -
/home/morvan
~$
4 向上返回两次

~/Documents/folder1$ cd ../../
~$
5 去往 Home

~/Documents/folder1$ cd ~
~$
6 去往电脑任何地方, 你需要的是一个绝对路径

~$ cd /home/morvan/Documents/folder1
~/Documents/folder1$

ls 指令

我们现在能在电脑的文件中移动来移动去了, 这还没什么意思, 接着我们就来移动去一个地方, 再看看那个地方有些什么. (有种黑客在偷窥人家文件的感觉, 哈哈).

我在 Documents 目录里放了个文件夹(folder1)和文件(file1). 我们将目录导去 Documents, 然后使用 ls (list 的简写) 看看这里面的东西.

Linux 基本指令 ls 和 cd

~/Documents$ ls
file1 folder1
我们再来看看 ls 的其他使用方式.

1 输出详细信息 -l (long 的简写). 这个指令会打印出文件的权限 (-rw-rw-r-- 之后我们在细说这个), 用户名, 文件大小, 修改日期, 文件名

~/Documents$ ls -l
total 4
-rw-rw-r-- 1 morvan morvan 0 Oct 12 07:38 file1
drwxrwxr-x 2 morvan morvan 4096 Oct 12 07:26 folder1
2 -a (all 的简写) 显示所有文件 . 这里还会显示隐藏的文件 (以 . 开头的)

$ ls -a
. .. file1 folder1 .hidden_file
3 -lh (human), 直接 -l 不方便人看, 这个指令是为了方便给人观看的. 注意这里的文件大小使用了 K, MB, GB 之类概括

$ ls -lh
total 4.0K
-rw-rw-r-- 1 morvan morvan 0 Oct 12 07:38 file1
drwxrwxr-x 2 morvan morvan 4.0K Oct 12 07:26 folder1
4 还有很多其他的功能, 我们可以通过 --help 来查看

$ ls --help

3.基本命令touch,cp和mv

touch 新建

touch 的使用很简单, 我们先去往 Documents 的文件夹, 里面已经有了 folder1 和 file1, 如果我们想新建一个 file2 使用下面的语句就好. 一个空文件就建立好了.

Linux 基本指令 touch, cp 和 mv

$ touch file2
如果你想同时建立多个文件, 输入多个文件的名字, 以空格分开.

$ touch file3 file4 file5

cp 复制

cp (copy) 是复制文件或者文件夹的指令, 常用的方式是复制 “老文件” 到 “新文件”.

$ cp 老文件 新文件
1 我们用上面建立好的 file1 来举例, 将 file1 复制成 file1copy

$ cp file1 file1copy
Linux 基本指令 touch, cp 和 mv

2 -i (interactive) 注意: 如果 file1copy 已经存在, 它将会直接覆盖已存在的 file1copy, 如果要避免直接覆盖, 我们在 cp 后面加一个选项.

$ cp -i file1 file1copy
cp: overwrite 'file1copy'?
在这句问句后面打上 “Yes”, “Y”, 或者任何大小写形式的 “y” 和 “yes”, 它将进行覆盖操作. 直接回车或者打其他字母, 就会放弃复制这项操作.

3 复制去文件夹

$ cp file1 folder1/

4 复制文件夹, 需要加上 -R (recursive)

$ cp -R folder1/ folder2/
5 复制多个文件. 复制名字部分相同的多个文件, * 是说”你就找文件前面是 file 的文件, 后面是什么名字无所谓”

$ cp file* folder2/
或者你可以单独选定几个文件, cp 会默认最后一个选项是要复制去的文件夹. 比如下面把 file1copy 和 file2 复制去 folder1/

$ cp file1copy file2 folder1/

mv 剪切

知道了 cp, mv就好理解多了, 基本是一样的.

1 移动去另一个文件夹

$ mv file1 folder1/
2 重命名文件

因为移动文件到原始的地点, 但是以不同的文件名. 这种做法不就是在重命名嘛!

$ mv file1 file1rename
最后还是想要提一句, 如果想要查看使用说明, 直接在指令后面打上 --help 就能查看.

4.基本命令mkdir,rmdir和rm

mkdir 建立文件夹

mkdir (make directory) 就是创建一个文件夹的意思, 使用起来很简单.

$ mkdir folder2
Linux 基本指令 mkdir, rmdir 和 rm

如果你想在这个目录给 folder2 里面再建一个文件夹也是 Ok.

$ mkdir folder2/f2
这样, f2 这个文件夹就被新建在了 folder2 里面.

rmdir 移除文件夹

rmdir (remove directory) 也就是字面意思, 移除文件夹. 不过这有一个前提条件. 这些要移除的文件夹必须是空的. 不然会失败. 所以如果想刚刚建立的那个 folder2 就不能被移除, 因为里面有个 f2 文件夹.

要移除个空文件夹, 比如我在新建一个 folder3, 然后移除

$ rmdir folder3

rm 移除文件

那文件夹里面有文件的这种情况, 或者是移除单个文件的情况, 我们都能用 rm 来实现. 注意: 执行了 rm 以后是不能进行返回操作的, 请确保别执行像这样的操作 rm /, 这会清空你的电脑.

1 移除单个文件

$ rm file1
2 -i 或 -I 有提示地移除文件 (为了避免误删)

-i 会每个要移除的文件都进行提示
-I 超过3个文件才进行提示
$ rm -i f1 f2 f3 f4
rm: remove regular empty file 'f1'?
rm: remove regular empty file 'f2'? y
rm: remove regular empty file 'f3'?
rm: remove regular empty file 'f4'? y
$ rm -I f1 f2 f3 f4
rm: remove 4 arguments? y
3 -r 或 -R (recursively) 用来删文件夹

和 rmdir 不同, rm -r 可以在文件夹中有文件的情况下删除这个文件夹. 比如我的 folder1 里有 file1 和 file2 两个文件.

$ rm -r folder1

5.基本命令 nano和 cat

nano

nano 是 linux 的一款文字编辑工具. 我们可以拿它来做最基本的 terminal 端的文本编辑, 甚至可以写代码~ 下面我们用 touch 创建一个 Python 脚本. 如果大家不懂 Python 也没关系, 你就知道我们可以拿 nano 来编辑文字或者脚本就好了.

Linux 基本指令 nano 和 cat

然后用 nano 执行这个 t.py 文件.

$ nano t.py
他就会变成一个文本编辑器, 你在里面可以打上一些脚本, 比如像我这样.

Linux 基本指令 nano 和 cat

然后按 “Ctrl + x” 来保存和退出. 如果提示你保存, 你就按一下 “y” 键, 然后回车, 你的文件就被保存下来了.

接着如果你在 terminal 中输入这个, 你就能看到 terminal 执行了你的 python 文件.

$ python t.py
This is a Python script!
(写给会 Python 的朋友: Ubuntu 安装好了以后自带 Python2.7 和 Python3.5的)

cat

cat (catenate) 可以用来显示文件内容, 或者是将某个文件里的内容写入到其他文件里. 我们举例说明.

1 查看文件内容

$ cat t.py
print("This is a Python script!")
2 > 将文件的内容放到另一个文件里

$ cat t.py > t1.py
$ cat t1.py
print("This is a Python script!")
3 > 将多个文件的内容打包一起放入另一个文件

比如这里我们把 t.py 和 t1.py 的内容同时放入了 t2.py, 如果在显示 t2.py 的时候, 它有两行 “print…”.

$ cat t.py t1.py > t2.py
$ cat t2.py
print("This is a Python script!")
print("This is a Python script!")
4 >> 将内容添加在一个文件末尾

我创建了一个 t3 的文件, 文件里写上了 “This is t3”. 我们将这个内容添加进 t2.py 吧. 使用了 >> 会将 t3 的内容添加在 t2.py 的末尾.

$ cat t3 >> t2.py
$ cat t2.py
print("This is a Python script!")
print("This is a Python script!")
This is t3.

6.linux权限

ls 查看权限

查看文件权限的方法很简单, 其实之前我们就已经看到过这样的内容了, 如果你还记得. 我们在说 ls 指令的时候, 提到过权限问题, 不过到了这节内容我们仔细说说权限. 如果你在 Terminal 中输入图片中的指令.

Linux 文件权限

1 在 Terminal 中查看文件的权限

$ ls -l
total 16
----rw-r-- 1 morvan morvan 34 Oct 12 09:51 t1.py
-rw----r-- 1 morvan morvan 80 Oct 12 09:57 t2.py
-rw-rw-r-- 1 morvan morvan 12 Oct 12 09:56 t3
-rwxrw-r-- 1 morvan morvan 55 Oct 13 17:28 t.py
在这里, 像-rw-rw-r--这种, 就是权限的说明. 细节展示在下面的图中. 在下图中, 这串字符得拆成4个部分,

Linux 文件权限

Type: 很多种 (最常见的是 - 为文件, d 为文件夹, 其他的还有l, n … 这种东西, 真正自己遇到了, 网上再搜就好, 一次性说太多记不住的).
User: 后面跟着的三个空是使用 User 的身份能对这个做什么处理 (r 能读; w 能写; x 能执行; - 不能完成某个操作).
Group: 一个 Group 里可能有一个或多个 user, 这些权限的样式和 User 一样.
Others: 除了 User 和 Group 以外人的权限.
如果有朋友对 User, group, others 这几个没什么概念的话, 我这里补充一下. User 一般就是指你, 这个正在使用电脑的人. Group 是一个 User 的集合, 最开始创建新 User 的时候, 他也为这个 User 创建了一个和 User 一样名字的 Group, 这个新 Group 里只有这个 User. 一般来说, 像一个企业部门的电脑, 都可以放在一个 Group 里, 分享了一些共享文件和权限. Others 就是除了上面提到的 User 和 Group 以外的人.

好了, 有了这些理解, 我们拿上面的 t1.py 来举例. 我们可以将 ----rw-r-- 拆成 - (这是文件), ---(这个 user 没有任何权限), rw- (这个 Group 里可以读,写), r-- (其他人只能读).

Linux 文件权限

如果我双击这个 t1.py 上面就弹出这个说我们权限的窗口.

chmod 修改权限

好了, 我们知道了这些权限的问题, 那我们如何改写权限呢? chmod (change mode) 就是来干这个的.

通常的修改形式是

$ chmod [谁][怎么修改] [哪个文件]
举个最简单的例子, 现在的 t1.py 是 ----rw-r--, 如果我们想让你(user)有读的能力. 下面这样改就行了.

$ chmod u+r t1.py
$ ls -l
-r--rw-r-- 1 morvan morvan 34 Oct 12 09:51 t1.py
这里的 u+r 很形象, User + read, 给 t1.py 这个修改. 所以我们的修改形式就能总结出下面这样.

[谁]

u: 对于 User 修改
g: 对于 Group 修改
o: 对于 Others 修改
a: (all) 对于所有人修改
[怎么修改]

+, -, =: 作用的形式, 加上, 减掉, 等于某些权限
r, w, x 或者多个权限一起, 比如 rx
[哪个文件]

施加操作的文件, 可以为多个
我们再举几个例, 巩固一下.

-rw----r-- 1 morvan morvan 80 Oct 12 09:57 t2.py
-rw-rw-r-- 1 morvan morvan 12 Oct 12 09:56 t3
-rwxrw-r-- 1 morvan morvan 55 Oct 13 17:28 t.py

$ chmod u-r t2.py
$ ls -l t2.py
--w----r-- 1 morvan morvan 80 Oct 12 09:57 t2.py

$ chmod g+x-w t3
$ ls -l t3
--w-r-xr-- 1 morvan morvan 12 Oct 12 09:56 t3
除了上面这些修改形式, 还有一些简化版的形式, 不过我觉得不天天用权限这东西, 了解上面就够了. 如果你想更深的了解, 网上搜搜 “linux 权限 数字表示” 对你会有帮助.

一个使用 Python 的技巧

我不怎么用权限这东西, 但是我却发现给 python 文件添加权限 x 还算有用的. 为什么这么说? 因为通常, 如果一个 .py 没有 x 权限, 在 terminal 中你就需要这样执行:

$ python3 t.py
This is a Python script!
如果你有了 x (可执行权限), 你运行这个文件可以直接这样打:

$ ./t.py
This is a Python script!
如果你天天要运行这个脚本, 每次运行的时候少几个字还是挺好的. 如果你决定要这样做, 你在这个 Python 脚本的开头还需要加一句话.

#!/usr/bin/python3 # 这句话是为了告诉你的电脑执行这个文件的时候用什么来加载

print("This is a Python script!")

7.怎么样从 MacOS 或 Linux 通过 SSH 远程 Linux

给 Linux 安装 OpenSSH

为了实现 SSH 功能, 你得确定你的 Linux 上有安装了 SSH 服务, 通常可能是没有安装的. 所以我们将要安装一个开源的 SSH 工具, 叫做 OpenSSH, 将你的 Linux 变成一个服务器 (就是像你访问网站一样访问你的 Linux). 在 Linux 上打开你的 Terminal, 然后输入下面这句话安装 openssh-server. sudo 是使用管理员权限的意思, 所以回车后它可能要求你输入你用户密码.

$ sudo apt-get install openssh-server
如果你之前没有安装过, terminal 会提示你将要有多少东西被安装, 需要你确认. 确认完了以后, 它将会帮你继续安装.

Mac 或 Linux SSH 去 Linux

现在你的 Linux 是一个可以被 SSH 登录的状态了. 我们先从 MacOS 或者是你另一台 Linux 远程这台 Linux 开始. 因为 MacOS 和 Linux 都是类似的系统, 所以操作起来比 Windows 简单.

我有 Mac, 所以使用 Mac 来 demo 具体操作, 这个操作和你用 Linux 操作 SSH 是一样的. 你只需要打开 Mac 上的 Terminal. 然后输入:

$ ssh [要控制的用户名]@[它的IP地址]
举个例子, 我要用 mac 来操控的 Linux 的用户名叫做 morvan, morvan 这台 linux 的 ip 地址可以这样获取. 首先, 回到要控制的 Linux 上, 确保你操控和被操控的两台电脑连接上了同一个路由器. 然后在你 被操控 电脑的 terminal 上输入这个获取 被操控 电脑的 ip 号码.

$ ifconfig
如果它提示你没有安装 ifconfig, 你就按它的要求安装就好. 输入下面指令就能安装.

$ sudo apt install net-tools
确保 ifconfig 能用后, 输入 ifconfig, 接着找到以 inet 开头的字样, 这就是你在这个路由下的 ip 地址了. 比如我现在的 ip 是 192.168.0.114

inet addr:192.168.0.114
找好了 ip (192.168.0.114), 知道你被操控电脑的用户名 (morvan), 现在回到操控电脑的 terminal (我的 Mac). 在 terminal 中输入之前提到的 ssh 开头的命令. 然后它就会要求你输入被操控的 Linux 的用户密码. 很显然, 只有知道密码的人才能登陆你的 Linux, 不然就太容易被黑了.

$ ssh morvan@192.168.0.114
morvan@192.168.0.114's password:
有可能你在尝试这样直接 ssh 的方式失败. 像我, 刚从16版的 Ubuntu 升级到 17 版, 我的 Mac 由于某些原因不让我 ssh 去 17 版的 Ubuntu, 显示了下面的报错, 后来查了一下, 找到了一个解决方式.

ERROR: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
ERROR: @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
ERROR: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
ERROR: IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
ERROR: Someone could be eavesdropping on you right now (man-in-the-middle attack)!
........
ERROR: ECDSA host key for 192.168.0.114 has changed and you have requested strict checking.
ERROR: Host key verification failed.
如果你也看到上面这种报错, 直接在你的电脑上 (我的 Mac 上) 的 terminal 运行下面这个:

$ ssh-keygen -R 要 ssh 去的 ip 比如下面这样
$ ssh-keygen -R 192.168.0.114
恢复正常后, 接着再按上面的步骤 ssh 去 Ubuntu. 输入, 确认密码后, 你在操控电脑的 terminal 就会瞬间变成被操控电脑的 terminal 啦. 他会显示这样一些信息证明你登录成功. 现在你就能自由的运用之前所学的 Linux 的指令, 在你的电脑上远程操控 Linux 电脑啦.

Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-96-generic x86_64)

* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage

147 packages can be updated.
53 updates are security updates.

Last login: Sun Oct 15 00:21:56 2017 from 192.168.0.104
morvan@morvan-Latitude-E5550:~$

省略密码直接登录

不过你还可以更进一步, 现在你每 SSH 登录一次 Linux, 都需要输入密码, 如果你登录次数很频繁, 而却你的密码又设置得很长, 这就非常麻烦. 还好, 我们可以通过提前设置一个”保密协议”, 来让你的 Linux 识别出哪些电脑能不用密码登录. 这就是 public/private rsa key.

我们将在 Mac 或者 Linux (控制电脑) 上生成一个 public/private keypair (公钥和私钥), 然后将公钥(public key) 复制到要被远程的 Linux 上. 这样当你有私钥的控制电脑要远程操控这台有公钥的 Linux, 他会帮你识别配对的. 就不用每次都要输入被远程的电脑密码了.

所以首先我们还是用我的 Mac demo, 在 mac 的 Terminal 上输入指令 ssh-keygen 创建公钥和私钥, 它会提示你要保存这些锁的地方. 我们就用它默认的地方比较好. 所以回车确定.

$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/MorvanZhou/.ssh/id_rsa):
确定后, 它会弹出下面这个, 要你来确定你是否想要一个保障密码, 如果你确定你的局域网是安全的, 这个都可以不填. 我就不填, 所以我直接回车.

Enter passphrase (empty for no passphrase):
然后它会要求你再次确认, 回车

Enter same passphrase again:
最后, 它会显示类似于这样的东西告诉你, 你的锁都已经生成好了.

Your identification has been saved in /Users/MorvanZhou/.ssh/id_rsa.
Your public key has been saved in /Users/MorvanZhou/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:yVr3PAPmxVO1lBd7KvqBsBCZSE8mdYce8mjBiUfRDVE MorvanZhou@Morvan
The key's randomart image is:
+---[RSA 2048]----+
| o=*++*E o+|
| ..**++.. .o+|
| ..=* . .oo|
| ooo. . . ..|
| .. S + = . |
| + * B o |
| . . + * |
| . + |
| . |
+----[SHA256]-----+
接着, 我们就要将这个生成好的 “公钥” 给复制去你的 被控制的 Linux. 指令结构还是和上面一样.

$ ssh-copy-id [被控制的用户名]@[它的ip]
我被控制的 Linux 用户叫 morvan, 他的 IP, 我通过了上面描述的方式找到了. 所以我就输入下面这样. 回车后他会要求你输入一次 被控制端电脑的密码.

$ ssh-copy-id morvan@192.168.0.114

/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/Users/MorvanZhou/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
morvan@192.168.0.114's password:
密码正确后, 它将输出, 并告诉你的怎么用 ssh 登录被控制端的电脑.

Number of key(s) added: 1

Now try logging into the machine, with: "ssh 'morvan@192.168.0.114'"
and check to make sure that only the key(s) you wanted were added.
最后, 我们开开心心地在 Mac/Linux ssh 被控制的电脑吧~ 这次登录的时候没有被要求输入任何密码~

$ ssh morvan@192.168.0.114

Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-96-generic x86_64)

* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage

147 packages can be updated.
53 updates are security updates.

Last login: Mon Oct 16 08:36:26 2017 from 192.168.0.111
下一节内容, 我们来看看如何在 Windows 上实现这个 ssh 功能.

8.怎么样从 Windows 通过 SSH 远程 Linux

9.怎么样从手机 (Android安卓/IOS苹果) 通过 SSH 远程 Linux

10.怎么样用 TeamViewer 和 VNC 从远程控制电脑

11.自己的云计算, 把 Linux 当成你的云计算平台

12.自己的云计算, 多电脑共享你云端文件

莫凡_linux的更多相关文章

  1. 详解Linux交互式shell脚本中创建对话框实例教程_linux服务器

    本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框,对话框在Linux中可以友好的提示操作者,感兴趣的朋友可以参考学习一下. 当你在终端环境下安装新的软件时,你可以经常看到信息 ...

  2. 外网主机访问虚拟机下的Web服务器_服务器应用_Linux公社-Linux系统门户网站

    body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...

  3. 阿里云扩容数据盘_Linux

    扩容数据盘_Linux 更新时间:2018-10-11 15:18:46 · 编辑者 编辑 · ★ 我的收藏 新手学堂 学习路径 本页目录 前提条件 注意事项 步骤 1. 在控制台上扩容数据盘的磁盘空 ...

  4. Linux_服务器_05_CentOS 7安装完成后初始化的方法_Linux

    参考资料 1.CentOS 7安装完成后初始化的方法_Linux

  5. weblogic安装注意事项_linux

    ➠更多技术干货请戳:听云博客 一.安装过程:参考“weblogic安装截屏(linux)” 注意事项:安装weblogic时,需要注意以下两点: 1.首先在安装目录下创建weblogic12文件夹 如 ...

  6. 第2章 Linux系统安装(2)_Linux系统分区及文件系统

    2. 系统分区 2.1 分区类型 (1)主分区:最多只能有4个 (2)扩展分区 ①最多只能有1个,主分区加扩展分区最多有4个. ②不能写入数据,只能包含逻辑分区 (3)逻辑分区 2.2 格式化(高级格 ...

  7. 一看便知_linux安装redis和调试

          rpm包下载地址:     http://vault.centos.org/6.3/os/x86_64/Packages/1.进入目录,解压文件 # tar  -zxvf  redis-3 ...

  8. Mysql数据库的一些命令_LInux

    查看当前数据库的版本,因为有些命令在不同版本中 用法有可能不一样,注意 -V 是大写字母V[root@localhost ~]# mysqladmin -Vmysqladmin  Ver 8.42 D ...

  9. Hadoop_配置_linux下编译eclipse插件

    使用的hadoop版本为hadoop-1.2.1(对应的含源码的安装包为hadoop-1.2.1.tar.gz) 将hadoop和eclipse都解压在home中的用户目录下 /home/chen/h ...

随机推荐

  1. Blazui 常见问题:我更新了数据,为什么界面没刷新?

    首发于:http://www.blazor.group:8000/topic/reply?tpid=9 开门见山,不介绍,不废话 建议食用本文前先食用 https://www.cnblogs.com/ ...

  2. Java Lamada

    Collection: ->stream:返回一个以 colleciotn 元素为数据源的数据流. -->map: 入参 Function 对象,将此流中的元素依次作用于传入的 Funct ...

  3. StarUML之四、StarUML的Diagrams(图)与Elements(元素)及相关属性

    Diagrams(图)可以理解为画布  1:创建图 在右侧的Model Explorer管理界面的第一个节点右键,或者选择菜单中Model | Add Diagram | [DiagramType]都 ...

  4. PMP--1.3 项目环境

    项目所处的环境可能对项目的开展产生有利或不利的影响.影响项目的环境因素==项目经理在项目期间需要考虑的因素.这些因素不需要死记硬背,需要有一定了解就可以,在项目开始前针对文中内容提前把环境了解清楚,并 ...

  5. npm常用命令和脚手架使用

    最近前端同学使用最多的莫过于vue,angualr,react等热门前端框架了.那么就避免不掉的使用npm命令,本人就经常因为这三个脚手架的使用而不得不百度相应的npm命令,不胜其烦,,,因此就整理一 ...

  6. Java连载73-String方法简介

    一.字符串常用的方法 package com.bjpowernode.java_learning; ​ public class D73_StringMethodBriefIntroduction { ...

  7. hive内置方法一览

    引用 https://www.cnblogs.com/qingyunzong/p/8744593.html#_label0 官方文档 https://cwiki.apache.org/confluen ...

  8. Java基础之五、Java编程思想(1-7)

    一.对象导论 1:多态的可互换对象 面向对象程序设计语言使用了后期绑定的概念. 当向对象发送消息时,被调用的代码直到运行时才能确定.也叫动态绑定. 2:单根继承结构 所有的类最终都继承自单一的基类,这 ...

  9. Spring的BeanFactory和FactoryBean

    官方定义 BeanFactory:Spring Bean容器的根接口 FactoryBean:各个对象的工厂接口,如果bean实现了这个接口,它将被用作对象的工厂,而不是直接作为bean实例. 源码解 ...

  10. 智能家居为MCU带来巨大需求量

    新一代年轻消费族群对于生活品质的需求逐渐提高,不仅小米要发展智能家居,中兴通讯也在于近日在北京揭晓智"智能家居"将成为市场主流,而智能家居的崛起也必然引爆MCU的需求量迅速攀升,众 ...