sudo ps -ef | grep sshd
首先查看sshd的状态
方法一:Ubuntu下默认ssh的配置生效后,连接老是自己会断,一段时间不理它就会失去响应不能输入,这是因为OpenSSH保证自己的安全。本人习惯长时间用自己的mac连接Ubuntu工作,方便工作,现给出方法修改客户端的配置:
vim /etc/ssh/ssh_config(注意不是 /etc/ssh/sshd_config);
在文件里面输入这一段字符:
Host *
ServerAliveInterval 30
然后按下 esc健,输入“:wq”保存退出,即能生效。
解释一下:每 30 秒就会自动发送一个信号给 服务器(好比你自己输入命令给服务器),等待服务器的回应然后保持联系,防止超过服务器自身的超时时间从而断开连接。
方法二:如果不想修改本机的配置也可以输入一条命令,不过等到关闭Terminal程序之后就会失效。
ssh -o ServerAliveInterval=30 IP地址
方法三:在服务端
编辑服务器 /etc/ssh/sshd_config,最后增加
ClientAliveInterval 60
ClientAliveCountMax 1
这 样,SSH Server 每 60 秒就会自动发送一个信号给客户端,而等待客户端的回应
经常需要查看服务器的磁盘使用情况,常用这几条命令很方便。
df
df [-ahikHTm] [目录或文件名]
-ahikHTm 为所有选项与参数,可单独和合并使用,不做详细介绍。
example:
root@iZ23tl966q0Z:/# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 82436784 1841952 76384260 3% /
none 4 0 4 0% /sys/fs/cgroup
udev 2013224 4 2013220 1% /dev
tmpfs 404816 392 404424 1% /run
none 5120 0 5120 0% /run/lock
none 2024072 0 2024072 0% /run/shm
none 102400 0 102400 0% /run/user
不加任何参数会将系统内所有的 (不含特殊内存内的文件系统与 swap) 都以 1 Kbytes 的容量来列出来!
example:
root@iZ23tl966q0Z:/# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 79G 1.8G 73G 3% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 2.0G 4.0K 2.0G 1% /dev
tmpfs 396M 392K 395M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 2.0G 0 2.0G 0% /run/shm
none 100M 0 100M 0% /run/user
filesystem为分区,mounted on 分区挂载点
du
du [-ahskm] 文件或目录名称
常用来检查当前目录下所有文件大小和目录磁盘使用情况,如果在根目录使用该命令就会遍历完Linux系统所有的常规文件。
列出目前目录下的所有文件容量
root@iZ23tl966q0Z:~# du
4 ./.cache
24 .
-ahskm 为所有选项与参数,可单独和合并使用,不做详细介绍。
fdisk
三 :文件和目录操作
1、 删除文件夹和该文件下所有文件(记住:Linux没有回收站):
rm -rf 目录名字;
-r:向下递归删除
-f:直接强行删除,没有任何提示
2、删除文件命令
rm -f 文件名;
3、新建文件
vi 文件名;
touch 文件名;
4、新建文件夹
mkdir 文件目录名;
四:修改文件和目录的属主属组和修改文件和目录的操作访问权限
1、修改某个文件和目录权限
chmod 777 文件;(针对文件)
chmod -R 777 文件夹;(针对文件夹)
五:从本地传输文件到服务器或者下载到本地(类似于 FTP服务器)
复制文件到服务器:
scp local_file remote_username@remote_ip:remote_folder
example:
scp -r /users/user/downloads/sh [email protected]
复制目录到服务器:
scp -r local_folder remote_username@remote_ip:remote_folder
从远处复制文件到本地目录:
scp root@remote_ip:remote_folder local_folder
六:查找某个文件或者目录
Linux下which、whereis、locate、find命令的区别
1、which
which passwd
which是通过 PATH环境变量 到该路径内查找可执行文件,所以基本的功能是寻找可执行文件
2、whereis
whereis [-bmsu] 文件或者目录名称
-b : 只找二进制文件
-m: 只找在说明文件manual路径下的文件
-s : 只找source源文件
-u : 没有说明文档的文件
whereis passwd
将和passwd文件相关的文件都查找出来
3、 locate
locate 文件或者目录名称
4、find
find 路径 参数
find 就是根据条件查找文件。
当我们用whereis和locate无法查找到我们需要的文件时,可以使用find,但是find是在硬盘上遍历查找,因此非常消耗硬盘的资源,而且效率也非常低,因此建议大家优先使用whereis和locate。
七、vim命令
i是编辑模式,ESC是退出编辑模式进入命令行模式
:wp,是在命令行模式下进行保存并强制退出。
:q!放弃所有编辑强制退出
v: 复制
p:命令行模式下粘贴
/字符:查找字符
八、用户
who:查看当前用户
exit:退出当前用户
九:开关机
shutdown -h now 关机
shutdown -r now 重启
halt(电源没有关机)/poweroff(关闭电源)/reboot(重启)/suspend(休眠)以上命令无需带参数
十:重启(关闭)服务
两种,一是service,二是systemctl
service sshd restart
Systemctl start sshd
十一:网络命令
ifconfig
curl ifconfig.me :查看外网IP
Ubuntu的默认存储库包含Postgres软件包,因此您可以使用apt打包系统安装这些软件包。
sudo apt update
sudo apt install postgresql postgresql-contrib
PostgreSQL查看版本信息
sudo -u postres psql -version
进入postgresql中
sudo -u postgres psql
出现:
postgres=#
退出postgressql输入:ctrl+z
TimescaleDB需要PostgreSQL 9.6或更高版本,我们需要在设置TimescaleDB之前安装好PostgreSQL,上述命令已经安装完成了。
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
三、安装TimescaleDB
sudo add-apt-repository ppa:timescale/timescaledb-ppa
sudo apt-get update
sudo apt install timescaledb-postgresql-10
编辑postgresql.conf以加载必要的TImescaleDB库。
sudo vim /etc/postgresql/10/main/postgresql.conf
找到下面的行并更改显示的值(如果需要,取消注释):
shared_preload_libraries = ‘timescaledb’
保存更改后重新启动postgresql服务:
sudo systemctl restart postgresql
四、测试TimescaleDB安装是否成功
我们现在可以通过创建一个新的空数据库来测试我们的TimescaleDB安装是否成功,或者将现有的PostgreSQL数据库转换为使用TimescaleDB。
使用名为postgres的超级用户连接到PostgreSQL:
su - postgres
$ psql
postgres=# CREATE database test_db;
CREATE DATABASE
[1]、添加TimescaleDB
连接到数据库:
postgres=# \c test_db
You are now connected to database “test_db” as user “postgres”.
[2]、使用TimescaleDB扩展数据库(连接当前数据库执行如下语句)
test_db=# CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;
查看当前状态下磁盘挂载情况
fdisk –l
再插入U盘,再次执行,看U盘是否出现,并查找路径。
我的系统中U盘的路径为“/dev/sdb1”
执行mount /dev/sdb1 /media命令进行挂载,成功后即可在/media路径下找到U盘中的文件了;
如果出现,ubuntu挂载移动硬盘出现错误:mount:unknown filesystem type ‘exfat’
解决:安装exfat-fuse
sudo apt-get install exfat-fuse
挂载后,我们再通过 df 命令查看是否挂载成功。
如果发现U盘有中文不显示,则需要更改,先卸载硬盘重新挂载
sudo umount /dev/sdb1
通过cp命令拷贝U盘中的文件和文件夹到制定位置。
mkdir ~/data
cp [选项] 源文件或目录 目标文件或目录
cp /media/(path)/****.sql /root/data/
开始提交执行sql
1)创建数据库和用户
sudo su –u postgres psql
\l # 显示数据库;
create user cyy with password ‘123456’;
create database cyy owner cyy;
导入表数据
\l # 显示数据库;
\c cyy;
ALTER DATABASE cyy SET timescaledb.restoring=‘on’;
\i /root/data/pg_full_2019_01_09.sql(备注:Mysql中用 source /path/***.sql)
ALTER DATABASE cyy SET timescaledb.restoring=‘off’;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO cyy;
如果运行一个脚本*.sql的时候出现如下错误提示:
[oracle@localhost scripts]$ ./backup.sql
-bash: ./backup.sql: Permission denied
解决方法:
chmod u+x *.sql
或者
chmod 777 *.sql
或者
这个问题是,不是什么文件夹都有接收传过来的文件,只有根目录下的tmp文件夹才有权限接收,所以需要改成:
sudo scp /Users/mac/Desktop/v/Sheet1.sql [email protected]:/tmp
进入sql中
\i /tmp/pg_full_2019_01_09.sql
sql执行完成后,查看数据表
\c database
\dt 查看所有数据表