Linux常见命令集锦

mac2022-06-30  113

这是平常用到的命令在这里做一下总结:

一、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 UbuntuInstall 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方法一:(一)、下载phpmyadminhttp://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.13、查找$cfg['Servers'][$i]['user'] , 将其值设置为你mysql数据库用户名,例如admin4、查找$cfg['Servers'][$i]['password'] , 将其值设置为你mysql数据库密码,例如admin(三)、在本地访问phpmyadmin 可查看远程mysql数据库,phpMyAdmin 3.3.1只需要修改 $cfg['Servers'][$i]['host']的值,用户名密码 访问phpmyadmin时输入。方法二:1,在浏览器中输入:http://localhost/phpmyadmin/setup/2,点击“新建服务器” ,填写表单:服务器名称:主机名称服务器主机名:主机IP认证方式:configconfig 认证方式的用户名:用户名config 认证方式的密码:用户密码3,保存后返回setup界面,点击下载,下载的文件为 config.inc.php4,将下载的文件 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 -l2、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 - usernamePassword: #输入用户username的密码

4、可以用命令“getconf LONG_BIT”查看,如果返回的结果是32则说明是32位,返回的结果是64则说明是64位。

此外还可以使用命令“uname -a”查看,输出的结果中,如果有x86_64就是64位的,没有就是32位的。

 

 

 后续待补

转载于:https://www.cnblogs.com/shizhenqiang/p/5391880.html

最新回复(0)