ubuntu 14.4常见命令

ubuntu 14.4常见命令**

一、让Ubuntu的ssh保持长时间连接

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 秒就会自动发送一个信号给客户端,而等待客户端的回应

二:Linux 磁盘管理

经常需要查看服务器的磁盘使用情况,常用这几条命令很方便。

  1. df:列出文件系统的整体磁盘使用量
  2. du:常用来检查当前目录下所有文件大小和目录磁盘使用情况
  3. fdisk:用于磁盘分区,常用于挂载系统盘

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

案例:ubuntu18.04安装timescaleDB

  1. 用U盘安装ubuntu18.04
  • F10进入引导,设置U盘为第一启动项,检查磁盘和网口是否正常或者打开,然后系统进入U盘的ubuntu选项配置页面,唯一注意的是:密码必须复杂+镜像源:http://mirrors.aliyun.com/ubuntu/
  • 选择安装openssl或者docker,然后重启(务必拔掉U盘)
  1. 更新package,分别用
  • sudo apt-get update
  • sudo apt-get upgrade
安装PostgreSQL

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’

如下图所示:
ubuntu 14.4常见命令_第1张图片

保存更改后重新启动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;
ubuntu 14.4常见命令_第2张图片

使用U盘往timescaledb数据库中导入sql文件
  1. 查看当前状态下磁盘挂载情况
    fdisk –l
    再插入U盘,再次执行,看U盘是否出现,并查找路径。
    我的系统中U盘的路径为“/dev/sdb1”

  2. 执行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

  3. 通过cp命令拷贝U盘中的文件和文件夹到制定位置。
    mkdir ~/data
    cp [选项] 源文件或目录 目标文件或目录
    cp /media/(path)/****.sql /root/data/

  4. 开始提交执行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 查看所有数据表

你可能感兴趣的:(linux)