Linux常见命令集锦
这是平常用到的命令在这里做一下总结:
一、python 类
1、pip(已安装)
pip用来安装来自PyPI(https://www.python.org/)的python所有的依赖包,并且可以选择安装任何在PyPI上已上传的先前版本的依赖包,个人认为是python相关的包和第三方包以及各种版本
2、setuptools (已安装)
easy_install
综上:安装pip的方法:
Install pip and virtualenv for Ubuntu 10.10 Maverick and newer
$ sudo apt-get install python-pip python-dev build-essential
$ sudo pip install --upgrade pip
$ sudo pip install --upgrade virtualenv
For older versions of Ubuntu
Install Easy Install
$ sudo apt-get install python-setuptools python-dev build-essential
Install pip
$ sudo easy_install pip
Install virtualenv
$ sudo pip install --upgrade virtualenv
二、ssh
1.无密码:
ssh-keygen -t rsa
cd ~/.ssh
cp id_rsa.pub authorized_keys
cd
ssh a(建立自身链接)
设置b
拷贝a上的.ssh 文件覆盖本地即可
有时候需要 ssh b@ip 先进行链接(更改 /etc/hosts ip1 主机名a ip2 主机名2 ssh 主机名a)
2.scp
三 、 mysql
find / |grep my.cnf
find / -name my.conf
whereis
which
配置文件
1.终端启动MySQL:/etc/init.d/mysql start;(stop ,restart。)
2.登录MySQL:mysql -u root -p (用root账户登录),然后输入密码; mysql -h ip -u root -p 登陆到其他机器
3.查看所有的数据库名字:show databases;
4.选择一个数据库操作: use database_name;
5.查看当前数据库下所有的表名:show tables;
6.创建一个数据库:create database database_name;
7.删除一个数据库:drop database database_name;
8.创建一个表: create table mytest( uid bigint(20) not null, uname varchar(20) not null);
9.删除一个表: drop table mytest;
10.SQL插入语句:insert into table_name(col1,col2) values(value1,value2);
11.SQL更新语句:update table_name set col1='value1',col2='value2' where where_definition;
12.SQL查询语句:select * from table_name where.......(最复杂的语句)
13.SQL删除语句:delete from table_name where...
14.增加表结构的字段:alert table table_name add column field1 date ,add column field2 time...
15.删除表结构的字段:alert table table_name drop field1;
16.查看表的结构:show columns from table_name;
17.limit 的使用:select * from table_name limit 3;//每页只显示3行
select * from table_name limit 3,4 //从查询结果的第三个开始,显示四项结果。
此处可很好的用来作分页处理。
18.对查询结果进行排序: select * from table_name order by field1,orderby field2;多重排序
19.退出MySQL:exit;
20 导入导出 mysqldump
21 导出文件
第一种 :mysql -uroot -pmima -e"select *from contest" jol > /tmp/contest.txt 有时候会有乱码
第二种 :mysql -uroot -ppwd -e"select * fromtable into outfile '/table.txt' fields terminated by ',' lines terminated by '\r\n'"
远程链接 对于给定的ip 地址
mysql > GRANT ALL PRIVILEGES ON *.* TO 'root'@'ip' IDENTIFIED BY 'pwd' WITH GRANT OPTION;
mysql > flush privileges;
四 apache
配置文件 /etc/apache2
日志文件 /var/log/apache2
启动 /etc/init.d/apache2 restart
五、phpmyadmin
本地phpmyadmin远程连接服务器端MySQL 首先要确定你的mysql远程连接已开启,如果没有开启按照下面的二个方法操作:
方法一:改表法
因为在linux环境下,默认是关闭3306端口远程连接的,需要开启,如果你装mysql数据库时开启了3306就OK了。
默认mysql帐号不允许从远程登陆,只允许localhost访问。登入mysql后,更改 "mysql" 数据库 里的 "user"(远程数据库的名称) 表里的 "host" 项,把"localhost"改称"%" 。这样你的mysql就可以远程操作了。
update user set host = '%' where user = 'root';
注意:这样方法只是把本机localhost访问改为了"%"所有地址IP都可以访问mysql服务器,这样很不安全。默认localhost访问的时候有所有操作权限。所以不安全!推荐用第二个方法。
方法二:授权法 (推荐使用)
(1)SQL语句:
grant select,insert,update,delete on *.* to root@"%" Identified by "password";
允许地址IP上root用户,密码dboomysql来连接mysql的所有数据库,只付给select,insert,update,delete权限。 这样比较安全。如果只允许IP(192.168.1.1)上root用户
访问更安全,操作(2)
(2)SQ语句:
grant select,insert,update,delete on *.* to root@"192.168.1.1" Identified by "password";
只允许地址IP(192.168.1.1)上root用户访问更安全了。
(3)
grant all on *.* to root@"192.168.1.1" Identified by "password"
允许地址192.168.1.1上用root用户,密码password来连接mysql的所有数据库,付给所有权限。不太安全。
现在重启mysql服务,如果你的服务器上安装了防火墙,看看3306端口开启没,如果没需要开启3306端口才能用了,在linux下要开启防火墙 打开3306 端口,编辑这个文件vi /etc/sysconfig/iptables
输入
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
保存后在控制台输入 /etc/init.d/iptables restart 重启防火墙,记得一定要重启防火墙。
配置好本地PHP环境,下载PHPMYADMIN
方法一:
(一)、下载phpmyadmin
http://www.phpmyadmin.net/home_page/index.php
(二)、修改libraries文件夹下的config.default.php文件或者phpmyadmin根目录的config.inc.php文件。
1、查找$cfg['PmaAbsoluteUri'] ,将其值设置为你本地的phpmyadmin路径
2、查找$cfg['Servers'][$i]['host'] , 将其值设置为你mysql数据库地址,例如127.0.0.1
3、查找$cfg['Servers'][$i]['user'] , 将其值设置为你mysql数据库用户名,例如admin
4、查找$cfg['Servers'][$i]['password'] , 将其值设置为你mysql数据库密码,例如admin
(三)、在本地访问phpmyadmin 可查看远程mysql数据库,phpMyAdmin 3.3.1只需要修改 $cfg['Servers'][$i]['host']的值,用户名密码 访问phpmyadmin时输入。
方法二:
1,在浏览器中输入:http://localhost/phpmyadmin/setup/
2,点击“新建服务器” ,填写表单:
服务器名称:主机名称
服务器主机名:主机IP
认证方式:config
config 认证方式的用户名:用户名
config 认证方式的密码:用户密码
3,保存后返回setup界面,点击下载,下载的文件为 config.inc.php
4,将下载的文件 config.inc.php 复制到 /usr/share/phpmyadmin/ 目录下
5,编辑 /usr/share/phpmyadmin/config.inc.php
添加以下代码
/* Server: localhost [1] */
$i++;
$cfg['Servers'][$i]['verbose'] = '主机名称';
$cfg['Servers'][$i]['host'] = '主机IP';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = '用户名';
$cfg['Servers'][$i]['password'] = '密码';
六、iptables
iptables -L -n 检查端口情况
为了能采用远程SSH登陆,我们要开启22端口. input链的默认规则是DROP。所以我们就写需要ACCETP的链。
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
iptables -I INPUT -p tcp --dport 3306 -j ACCEPT 开启3306 的端口
iptables -I INPUT -p tcp --dport 3306 -j DROP 关闭
七 vnc
1.每次服务器关闭后,都要重新kill,重新申请vnc端口号。否则出现“authentication failure”
#vncpassword 修改密码
#vncserver -geometry 1280x1024(不能是*,用小写x(字母)) 设置vnc server分辨率
#vncserver -alwaysshared 设置vnc的同一个显示窗口可以连接多个客户机,一般默认是连接最后发送连接请求的客户机
vncserver -kill :15 暴力停止vnc server(一定要记得冒号前加空格,否则kill失败。开多个端口而不用,很浪费资源,一般就一个)
八 、服务器缓存处理
1、
查看目录下有多少个文件及文件夹需在终端输入
ls | wc -w
查看目录下有多少个文件需在终端输入
ls | wc -c
查看文件夹下有多少个文件,多少个子目录需在终端输入
ls -l |wc -l
若只想知道文件的个数,则需在终端输入
/bin/ls -l |grep ^-|wc -l
2、
du -h --max-depth=1 查看文件夹容量
df -h 查看文件系统容量
3、
uname -a 查看系统位数 i686 32 还是 64位
4、find . -mtime +1 -type f -name 'cache*' | xargs rm -rf
寻找 前24小时的文件 放入管道 并且 删除
九、使用shell分析Apache的access.log
#查看80端口的tcp连接
#netstat -tan | grep "ESTABLISHED" | grep ":80" | wc -l
1
#当前WEB服务器中联接次数最多的ip地址:
#netstat -ntu |awk '{print $5}' |sort | uniq -c| sort -n -r
#查看日志中访问次数最多的前10个IP
#cat access.log |cut -d ' ' -f 1 |sort |uniq -c | sort -nr | awk '{print $0 }' | head -n 10 |less
#查看日志中出现100次以上的IP
#cat access.log |cut -d ' ' -f 1 |sort |uniq -c | awk '{if ($1 > 100) print $0}'|sort -nr |less
#查看最近访问量最高的文件
#cat access.log |tail -10000|awk '{print $7}'|sort|uniq -c|sort -nr|less
#从日志里查看该ip在干嘛:
#cat access.log | grep 218.66.36.119| awk '{print $1"/t"$7}' | sort | uniq -c | sort -nr | less
#列出传输时间超过 30 秒的文件
#cat access.log|awk ‘($NF > 30){print $7}’|sort -n|uniq -c|sort -nr|head -20
#列出最最耗时的页面(超过60秒的)的以及对应页面发生次数
#cat access.log |awk ‘($NF > 60 && $7~//.php/){print $7}’|sort -n|uniq -c|sort -nr|head -100
九、vi
查找 /关键字 n继续查找 N网上查找
十、其他
1、(乱码) 已配置 并且禁用了 8中字体
zip 解压时:防止乱码 unzip -O CP936 文件名.zip GBK GB18030 ********
ubuntu默认不支持gbk所以用gbk编码写的东西就会乱码 让Ubuntu支持GBK,方法如下:
修改/var/lib/locales/supported.d/local文件,在文件中添加 zh_CN.GBK GBK zh_CN.GB2312 GB2312 sudo dpkg-reconfigure --force locales 然后在输出的结果中会出现 zh_CN.GB2312 done zh_CN.GBK done 这样, Ubuntu就支持GBK编码了这只是系统支持了 有的程序还是不支持的需要你自己再配置一下
2、cp 不带参数,只能copy一个文件,不能copy带文件的目录,到指定地方.
cp -rf 带参数,就能copy任何数据,到指定地方.
比如:cp test.txt /home/MIR1566-PC/Document 拷贝test文本文件到指定目录下.
比如:cp -rf test /home/MIR1566-PC/Document 拷贝test目录到指定目录下.
3、[****@localhost ~]$ su - username
Password: #输入用户username的密码
4、可以用命令“getconf LONG_BIT”查看,
如果返回的结果是32则说明是32位,返回的结果是64则说明是64位。
此外还可以使用命令“uname -a”查看,
输出的结果中,如果有x86_64就是64位的,没有就是32位的。
后续待补
Linux常见命令集锦的更多相关文章
- 2 . Linux常见命令
Linux常见命令格式: 命令名称 选项 参数 ls -alh 文件/目录 --all #ls 显示当前目录内容 #ls -l 显示文件详细信息 #ls -hl h已常见单位显示文件大小 k M G# ...
- 嵌入式Linux开发教程:Linux常见命令(上篇)
摘要:这是对周立功编著的<嵌入式Linux开发教程>的第7期连载.本期刊载内容有关LinuxLinux常见命令中的导航命令.目录命令和文件命令.下一期将连载网络操作命令.安装卸载文件系统等 ...
- 一个linux常见命令的列表
这是一个linux常见命令的列表. 那些有• 标记的条目,你可以直接拷贝到终端上而不需要任何修改,因此你最好开一个终端边读边剪切&拷贝. 所有的命令已在Fedora和Ubuntu下做了测试 命 ...
- 第二天 Linux常见命令
复习: 判断题 1.fedora.redhat.Centos.suse.ubuntu.都是常见的linux 2./分区.swap分区./boot分区都是linux的必须分区 3./dev/sda5在l ...
- Linux常见命令(二)
随着Linux应用的扩展许多同学开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起.虽然Linux桌面应用发展很快,但是命令在Linux中依然有很强的生命力.Li ...
- Linux常见命令(三)
今天我们来介绍第三个命令:pwd. Linux中用 pwd 命令来查看”当前工作目录“的完整路径. 简单得说,每当你在终端进行操作时,你都会有一个当前工作目录. 在不太确定当前位置时,就会使用pwd来 ...
- Linux常见命令(四)——mkdir
今天我们来介绍第四个命令:mkdir.mkdir (Make Directory 创建目录): 若指定目录不存在则创建目录.在创建目录时,要求创建目录的用户具有写权限,并应保证新建的目录没有重名. 用 ...
- Linux常见命令(五)——rmdir
前 言 JRedu 今天我们来介绍第五个命令:rmdir . 命令英文原意:remove empty directories 命令用途: rmdir:删除空目录,非空的目录不能删除 本章内容将详 ...
- [置顶]
Linux 常用命令集锦
出处:http://www.vaikan.com/what-are-the-most-useful-swiss-army-knife-one-liners-on-unix/ Linux命令行里的&qu ...
随机推荐
- DES、3DES、AES加密方式
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt165 DES 支持8位加密解密,3Des支持24位,Aes支持32位.3De ...
- Java代理详解
一.概述 代理模式是Java常用的设计模式之一,实现代理模式要求代理类和委托类(被代理的类)具有相同的方法(提供相同的服务),代理类对象自身并不实现真正的核心逻辑,而是通过调用委托类对象的相关方法来处 ...
- Windows10下通过anaconda安装tensorflow
博主经历了很多的坎坷磨难才找到一个比较好的在win10下安装TensorFlow的方法: 首先需要说明的是如果你想通过Anaconda来安装tensorflow的话,首先要确认你的python的版本是 ...
- 团队作业8----第二次项目冲刺(Beta阶段) 第七天
BETA阶段冲刺第六天 1.小会议ing 2.每个人的工作 (1)昨天已完成的工作 完成查重部分 (2) 今天计划完成的工作 (3) 工作中遇到的困难: 尤少辉:在测试的时候发现了,文件名保存到数据 ...
- 微信小程序中的微信支付js代码和流程详解
微信支付流程 步骤 (一)获取用户的信息 (二)统一下单(返回的prepay_id用于第(三)步的请求参数) (三)发起支付请求 操作(这边假设你已经获得了用户的openId) (一).获取用户ope ...
- 201521123083《Java程序设计》第5周学习总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 1.2 可选:使用常规方法总结其他上课内容. 2. 书面作业 1. 代码阅读:Child压缩包内源代码 1.1 com.par ...
- 201521123081《Java程序设计》 第8周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 参考资料:XMIND 1.2 选做:收集你认为有用的代码片段 2. 书面作业 本次作业题集 集合 Q1. Li ...
- 201521123009 《Java程序设计》第6周学习总结
1. 本周学习总结 2. 书面作业 Q1:clone方法 1.1 Object对象中的clone方法是被protected修饰,在自定义的类中覆盖clone方法时需要注意什么? 用protected修 ...
- 201521123088《java程序设计》第三周学习总结
1. 本周学习总结 本周学习了关于Java的封装,所谓封装就是将属性私有化,提供公有的方法访问私有属性 2. 书面作业 代码阅读 public class Test1 { private int i ...
- Python[小甲鱼-002用Python设计第一个游戏]
–Code——————————————————————- print("----------第一个小游戏----------") temp = input("猜一下我现在 ...