Linux、Mysql、MongoDB、Redis、Hbase、Docker使用

本文汇总了Linux系统中常用的命令,包括文件操作、数据库管理、内存监控等实用技巧。介绍了如何进行文件查找、进程管理、目录跳转以及数据库的复制等操作。
0X00
作用linux命令
查找包含字符的文件ll | grep -ir xxx
查看建表语句SHOW CREATE TABLE runoob_tbl \G;
先用ps查找进程,然后用kill杀掉ps -ef | grep vim kill 3268、kill 3268
返回上次目录cd -
内存使用情况free -m
linux 下查找大于100M的文件find . -type f -size +100M
查看之前是否有安装rpm -qa | grep -i mysql
复制cp /test1/file1 /test3/file2
删除rm -rf 目录名字
移动mv my.cnf my1.cnf
打包tar -cvf /tmp/etc.tar /etc
查看运行级别runlevel
倒序打印tac
看日志持续打印tail -f filename
linux读取本地文件rz
将本机文件复制到远程服务器上scp /home/administrator/news.txt root@192.168.0.1:/etc/squid
数据库导入数据source /root/runoob-mysql-join-test.sql
复制数据库mysql -u用户名 -p密码 数据库名 < 数据库名.sql#mysql -uabc_f -p abc < abc.sql
显示文件属性lsattr
统计文件行数wc -l filename
当前目录的大小du -sh
查看文件目录大小du -sh *
PHP的配置文件php.ini
创建会话screen -S 会话名称
同时看别人敲命令screen -x dafanshu、退出是 ctrl+a ctrl+d 一起按、-S是创建 -x是进入
查看会话screen -ls
重新连接会话screen -r 16582
作用Mysql命令
INNER JOIN 获取两个表中字段匹配关系的记录SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a INNER JOIN tcount_tbl b ON a.runoob_author = b.runoob_author;
LEFT JOIN 会读取左边数据表的全部数据,即便右边表无对应数据SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a LEFT JOIN tcount_tbl b ON a.runoob_author = b.runoob_author;
RIGHT JOIN 会读取右边数据表的全部数据,即便左边边表无对应数据。SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a RIGHT JOIN tcount_tbl b ON a.runoob_author = b.runoob_author;
数据库显示用户SELECT User, Host, Password FROM mysql.user;
作用MongoDB命令
查看数据库show dbs
查看当前所在数据库db
创建数据库use openfire (临时创建 如果不做操作 则离开后被系统删除)
在当前数据库删除当前数据库db.dropDatabase()
查看当前库的所有用户show users
查看集合(或者叫表)show collections
创建集合db.createCollection(“mycollection”)
创建集合并制定集合的属性db.createCollection(“mycol”, { capped : true, autoIndexID : true, size : 6142800, max : 10000 } )
作用Redis命令(String)
查找值keys
设置值set key value
查找值get key
查找值getset key newvalue
递增1incr key
递减1decr key
递减1decr 不存在的key(默认是0,所以结果是-1)
作用Hbase命令
查找rowkeyget ‘tablename:inpatient’,‘rowkey’
计算count ‘tablename:inpatient’
删除truncate ‘tablename:inpatient’
作用Docker命令
宿主机与容器(container)互相拷贝传递文件的方法,在宿主机中执行命令docker cp mycontainer:/opt/testnew/file.txt /opt/test/
从宿主机拷贝文件到容器,在宿主机中执行命令docker cp /opt/test/file.txt mycontainer:/opt/testnew/
寻找镜像docker search
拉取镜像docker pull dockername
删除镜像docker rmi id
上传镜像sudo docker load -i xx-no-xx.tar
查看镜像列表sudo docker images
推动镜像到仓库sudo docker push xx.xxx.com/xxx/lk-xx-xx:0.0.16
作用Sublime常用快捷键
Esc退出当前面板
Ctrl + Shift + F开启多文件搜索&替换
0X01复制

命令格式:cp [-adfilprsu] 源文件(source) 目标文件(destination)
cp [option] source1 source2 source3 … directory
参数说明:
-a:是指archive的意思,也说是指复制所有的目录
-d:若源文件为连接文件(link file),则复制连接文件属性而非文件本身
-f:强制(force),若有重复或其它疑问时,不会询问用户,而强制复制
-i:若目标文件(destination)已存在,在覆盖时会先询问是否真的操作
-l:建立硬连接(hard link)的连接文件,而非复制文件本身
-p:与文件的属性一起复制,而非使用默认属性
-r:递归复制,用于目录的复制操作
-s:复制成符号连接文件(symbolic link),即“快捷方式”文件
-u:若目标文件比源文件旧,更新目标文件
如将/test1目录下的file1复制到/test3目录,并将文件名改为file2,可输入以下命令:
cp /test1/file1 /test3/file2

0X02删除

很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中。
直接rm就可以了,不过要加两个参数-rf 即:rm -rf 目录名字
-r 就是向下递归,不管有多少级目录,一并删除
-f 就是直接强行删除,不作任何提示的意思

使用这个rm -rf的时候一定要格外小心,linux没有回收站的
很多朋友在使用前没有看到这一点重要的提示信息,以至于删除之后再想找回就很难了

0X03文件移动命令mv

命令格式:mv [-fiv] source destination
参数说明:
-f:force,强制直接移动而不询问
-i:若目标文件(destination)已经存在,就会询问是否覆盖
-u:若目标文件已经存在,且源文件比较新,才会更新
如将/test1目录下的file1复制到/test3 目录,并将文件名改为file2,可输入以下命令:
mv /test1/file1 /test3/file2

假定我们当前所在目录为/home/pungki/Documents,而我们想将my.cnf重命名为my1.cnf。那么命令应该如下:

 mv  my.cnf  my1.cnf

如果是绝对路径,它应该像下面这样:

mv /home/Documents/my.cnf /home/Documents/my1.cnf
0X04创建新的数据库
SET NAMES utf8;
SET FOREIGN_KEY_CHECKS = 0;
--  Table structure for `employee_tbl`
DROP TABLE IF EXISTS `employee_tbl`;
CREATE TABLE `employee_tbl` (
  `id` int(11) NOT NULL,
  `name` char(10) NOT NULL DEFAULT '',
  `date` datetime NOT NULL,
  `singin` tinyint(4) NOT NULL DEFAULT '0' COMMENT '登录次数',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--  Records of `employee_tbl`
BEGIN;
INSERT INTO `employee_tbl` VALUES ('1', '小明', '2016-04-22 15:25:33', '1'), ('2', '小王', '2016-04-20 15:25:47', '3'), ('3', '小丽', '2016-04-19 15:26:02', '2'), ('4', '小王', '2016-04-07 15:26:14', '4'), ('5', '小明', '2016-04-11 15:26:40', '4'), ('6', '小明', '2016-04-04 15:26:54', '2');
COMMIT;
SET FOREIGN_KEY_CHECKS = 1;

为了方便快速复制一个数据库,可以用以下命令
将Security数据库的数据以及表结构复制到newdb数据库

#mysql -u root -p123456

mysql>CREATE DATABASE `newdb` DEFAULT CHARACTER SET UTF8 COLLATE UTF8_GENERAL_CI;

复制数据库,使用mysqldump及mysql的命令组合,一次性完成复制

#mysqldump db1 -u root -p123456 --add-drop-table | mysql newdb -u root -p123456

注意-p123456参数的写法:-p后面直接跟密码,中间没有空格)

以上是在同一台MySQL服务器上复制数据库的方法。如果要复制到远程另一台MySQL服务器上,可以使用mysql的“ -h 主机名/ip”参数。前提是mysql允许远程连接,且远程复制的传输效率和时间可以接受。

不在同一个mysql服务器上

#mysqldump Security -uroot -p123456 --add-drop-table | mysql -h 192.168.1.111 newdb -u root -p123456
CentOS 7.0默认使用的是firewall作为防火墙,使用iptables必须重新设置一下

1、直接关闭防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
2、设置 iptables service
yum -y install iptables-services
如果要修改防火墙配置,如增加防火墙端口3306
vi /etc/sysconfig/iptables
增加规则
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
保存退出后
systemctl restart iptables.service #重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动
最后重启系统使设置生效即可。

Linux —— [ Linux ]

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值