上传公钥实现ssh登录
linux ssh-copy-id ssh生成密钥和公钥
如果之前已经存在就不用重新生成了
$ ssh-keygen -t rsa
上传公钥
$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
其中root 服务器用户, 192.168.0.1 是服务器ip。之后按照提示输入密码即可
连接到服务器
直接使用ssh直接连接服务器,无需输入密码
$ ssh [email protected]
如果之前已经存在就不用重新生成了
$ ssh-keygen -t rsa
$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
其中root 服务器用户, 192.168.0.1 是服务器ip。之后按照提示输入密码即可
直接使用ssh直接连接服务器,无需输入密码
$ ssh [email protected]
在 Linux 命令行上使用元字符是提高生产力的一个好方法。
许多 Linux 电脑是无头运行的,你可以在命令行上完成所有的管理任务。它使用许多所有人都熟悉的基本命令,如 ls、ls-l、ls-l、cd、pwd、top 等等。
Linux 上的 Shell 元字符
你可以通过使用元字符来扩展这些命令。
假设我想知道我的系统上运行的 Firefox 的所有实例。我可以使用带有 -ef 参数的 ps 命令来列出我系统上运行的所有程序实例。现在我想只看那些涉及 Firefox 的实例。我使用了我最喜欢的元字符之一,管道符 |,将其结果送到 grep,用它来搜索模式:
$ ps -ef | grep firefox
另一个我最喜欢的元字符是输出重定向 >。我用它来打印 dmesg 命令结果中所有 AMD 相关的结果。你可能会发现这在硬件故障排除中很有帮助:
$ dmesg | grep amd > amd.txt
$ cat amd.txt
[ 0.897] amd_uncore: 4 amd_df counters detected
[ 0.897] amd_uncore: 6 amd_l3 counters detected
[ 0.898] perf/amd_iommu: Detected AMD IOMMU #0 (2 banks, 4 counters/bank).
星号 *(通配符)是寻找具有相同扩展名的文件时我的最爱,如 .jpg 或 .png。我首先进入我的系统中的 Picture 目录,并使用类似以下的命令:
Read more...由于微信官网 https://weixin.qq.com/ 没有linux版本的下载和安装方法,但微信确实提供了优麒麟发行版的官方版本,所以就有了下面的安装方法。
打开优麒麟应用商店官网,然后下载应用,就看到微信了 https://www.ubuntukylin.com/applications/106-cn.html 下载deb包,用命令sudo dpkg -i ,就能安装上了,而且可以用。 这是linux原生的,功能少点,但比wine的要轻巧不少。
下载链接在方法1中,优麒麟应用商店微信应用页面右键 “64位下载” ——> “复制链接” 终端下载Deb安装:
wget -O ~/weixin.deb "http://archive.ubuntukylin.com/software/pool/partner/weixin_2.1.1_amd64.deb"
sudo dpkg -i ~/weixin.deb
安装docker,可参考 安装docker及简单的使用 或 百度解决;
拉取postgreSQL的docker镜像文件:
docker pull postgres
docker volume create dv_pgdata
docker run --name my_postgres -v dv_pgdata:/var/lib/postgresql/data -e POSTGRES_PASSWORD=xxxxxx -p 5432:5432 -d postgres
docker volume ls
cn2d6@navxin-desktop:~$ docker inspect dv_pgdata
cn2d6@navxin-desktop:~$ cd /var/lib/docker/volumes/dv_pgdata/_data
cn2d6@navxin-desktop:~$ ll
cn2d6@navxin-desktop:~$docker exec -it 618 bash
root@618f1a4128ee:/# psql -U postgres -d postgres -p 5432 -h 127.0.0.1
docker pull dpage/pgadmin4
docker run --name pgadmin -p 5080:80 \
-e '[email protected]' \
-e 'PGADMIN_DEFAULT_PASSWORD=xxxxxx' \
-e 'PGADMIN_CONFIG_ENHANCED_COOKIE_PROTECTION=True' \
-e 'PGADMIN_CONFIG_LOGIN_BANNER="Authorised users only!"' \
-e 'PGADMIN_CONFIG_CONSOLE_LOG_LEVEL=10' \
-d dpage/pgadmin4
安装docker-compose
Read more...Systemd 是 Linux 系统工具,用来启动守护进程,已成为大多数发行版的标准配置。
历史上,Linux 的启动一直采用init进程。
下面的命令用来启动服务。
$ sudo /etc/init.d/apache2 start
# 或者
$ service apache2 start
这种方法有两个缺点。
一是启动时间长。init进程是串行启动,只有前一个进程启动完,才会启动下一个进程。
二是启动脚本复杂。init进程只是执行启动脚本,不管其他事情。脚本需要自己处理各种情况,这往往使得脚本变得很长。
Systemd 就是为了解决这些问题而诞生的。它的设计目标是,为系统的启动和管理提供一套完整的解决方案。
根据 Linux 惯例,字母d是守护进程(daemon)的缩写。 Systemd 这个名字的含义,就是它要守护整个系统。
使用了 Systemd,就不需要再用init了。Systemd 取代了initd,成为系统的第一个进程(PID 等于 1),其他进程都是它的子进程。
$ systemctl --version
上面的命令查看 Systemd 的版本。
创建希望开机马上执行的脚本,本文举例脚本存放位置为 /home/navxin/Example/startup.sh,脚本内容如下:
#!/bin/bash
# 开机时在脚本的同级目录下创建一个名为 StartupTouch.txt 的文件
touch /home/navxin/Example/startup.sh.txt
chmod u+x /home/navxin/Example/startup.sh
chmod g+x /home/navxin/Example/startup.sh
# 进入 systemd 的 service 目录
cd /usr/lib/systemd/system
# 查看文件列表
ls -al
在该目录创建一个新的 .service 文件用于配置开机启动脚本,本例中的文件名为 StartupExample.service,所执行命令和文件中的配置内容如下:
sudo touch /usr/lib/systemd/system/StartupExample.service
以下为 StartupExample.service 配置文件的内容
Read more...镜像(Image):docker镜像好比一个模板,相当于一个文件系统
容器(Container):容器需要通过镜像来创建。镜像和容器就像是面向对象中的类和实例一样。容器可以被创建/启动/停止/删除等
仓库(Repository):仓库就是存放镜像的地方,分为私有仓库和公有仓库。类似git
docker是一个Client-Server结构的系统,docker的守护进程运行在主机上,通过socket从客户端访问。dockerServer接收到docker-Client的指令,就会执行这个命令。
1.1 homebrew的cask应支持Docker for Mac,所以可以直接安装 brew cask install docker
1.2 也可以直接到官网下载,https://download.docker.com/mac/stable/Docker.dmg
1.3 docker的参考文档:https://docs.docker.com
1.4 dockerhub查找镜像源地址:https://hub.docker.com
docker --version
docker-compose --version
docker-machine --version
docker info
docker help
docker stats
镜像相关命令:
docker search nginx
docker pull nginx:latest #(:后面跟镜像版本)
docker run -d -p 81:80 --name webserver nginx
可选项:
Read more...sudo apt-get purge firefox
或 sudo apt-get remove firefox
wget -O ~/firefox.tar.bz2 "https://download.mozilla.org/?product=firefox-latest&os=linux64"
sudo tar xjf ~/firefox.tar.bz2 -C /opt/
sudo ln -s /opt/firefox/firefox /usr/lib/firefox/firefox
在/usr/lib/中创建一个firefox可执行链接文件,该文件指向/opt中firefox可执行主程序位置。
终端启动Firefox
firefox
进入/usr/share/applications目录
touch firefox.desktop
nano firefox.desktop
添加内容:
[Desktop Entry]
Name=firefox
Comment=firefox
Exec=/opt/firefox/firefox
Icon=/opt/firefox/browser/chrome/icons/default/default128.png
Terminal=false
Type=Application
Categories=Application;
Encoding=UTF-8
StartupNotify=true
通过上面方法安装的Firefox,如果想删除,可以在终端种输入以下命令:
sudo rm -rf /opt/firefox
sudo rm /usr/share/applications/firefox.desktop
tcpdump 是 Linux 上可用的最强大和使用最广泛的 命令行 数据包嗅探器(包分析器)工具。
在您要监控的计算机的终端应用程序中:
sudo tcpdump -i ethX icmp and icmp[icmptype]=icmp-echo
选项:
-n avoid a (potentially slow) reverse DNS query
−i interface
icmp[icmptype]=icmp-echo To print all ICMP packets that are echo requests/replies
它将开始侦听 ethX 并等待到达的数据包。
示例:我有 2 台 pc win7 192.168.0.8 , Ubuntu 192.168.0.57 它将监控到达的数据包: 在Win上:
ping 192.168.0.57
在 Ubuntu 上:
tcpdump -i eth0 icmp and icmp[icmptype]=icmp-echo -n
参考:nixCraft[1]
磁盘空间已经不像计算机早期那样珍贵,但无论你有多少磁盘空间,总有耗尽的可能。计算机需要一些磁盘空间才能启动运行,所以为了确保你没有在无意间用尽了所有的硬盘空间,偶尔检查一下是非常必要的。在 Linux 终端,你可以用 df 命令来做这件事。
df 命令可以显示文件系统中可用的磁盘空间。
要想使输出结果易于阅读,你可以加上 –human-readable(或其简写 -h)选项:
$ df --human-readable
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 1.0T 525G 500G 52% /
在这个例子中,计算机的磁盘已经用了 52%,还有 500 GB 可用空间。
由于 Linux 从整体上看待所有挂载设备的文件系统,df 命令会展示出连接到计算机上的每个存储设备的详细信息。如果你有很多磁盘,那么输出结果将会反映出来:
$ df --human-readable
Filesystem Size Used Avail Use% Mounted on
/dev/root 110G 45G 61G 43% /
devtmpfs 12G 0 12G 0% /dev
tmpfs 12G 848K 12G 1% /run
/dev/sda1 1.6T 1.3T 191G 87% /home
/dev/sdb1 917G 184G 687G 22% /penguin
/dev/sdc1 57G 50G 4.5G 92% /sneaker
/dev/sdd1 3.7T 2.4T 1.3T 65% /tux
在这个例子中,计算机的 /home 目录已经用了 87%,剩下 191 GB 的可用空间。
Read more...如果你尝试在 Ubuntu 上安装 zlib,它会抛出 “unable to locate package zlib” 错误。
Zlib 是一个用于数据压缩的开源库。
作为使用者,你可能会遇到需要安装 zlib(或 zlib-devel 包)作为另一个应用程序的依赖项的情况。
但问题来了,如果你尝试在 Ubuntu 上安装 zlib,它会抛出 “unable to locate package zlib” 错误。
sudo apt install zlib
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package zlib
为什么会看到这个 Ubable to locate package 错误呢?因为没有名为 zlib 的包。
如果你 使用 apt search 命令,你会发现有几个包可以让你安装:zlib 1g 和 zlib 1g-dev。当你知道这些后,只需一个 apt 命令就可以安装它们。
Read more...