linux常用命令笔记

1.查找文件位置: find / -name filename -print

2.远程登陆服务器: ssh username@ip       eg: ssh [email protected]

   登陆服务器指定端口: ssh username@ip -p port

   返回本机时:exit;

3.远程下载文件或文件夹:scp username@servername:/path/filename /tmp/local_destination

       eg:scp -r [email protected]:/yun/soft/tomcat7 /usr/local(下载文件夹)

4.远程上传文件或文件夹:scp /path/local_filename username@servername:/path

      eg:scp -r /usr/local [email protected]:/yun/soft/tomcat7

5.查看地盘空间:df -h;

6.查看所有进程: top;

    杀死进程时:kill -9 进程号

7.数据库备份命令:mysqldump -uroot -p database > savepath/*.sql

    如果报mysqldump: command not find ,可以通过以下方式解决

    第一步:find / -name mysqldump -print  找出mysqldump的绝对路径

    第二部:ln -s path /usr/bin  建立软链接,相当于快捷方式

    出现这种问题的原因是linux系统会默认到/usr/bin目录下寻找命令

8.数据库恢复命令:

    第一步: mysql -uroot -p     进入mysql

    第二步:use database     选择需要恢复的数据库

    第三步:source path/*.sql   执行sql语句(path为sql文件的绝对路径)

9.数据库开启关闭以及重启命令: /etc/init.d/mysql start|stop|restart

10.vi命令细节:vi path/filename  ,之后默认进入命令模式,此时所有的输入均视为命令;此时,再次按i或者a进入编辑模式,i表示在光标前插入,a表示在光标后插入,完成后esc返回命令模式;:wq保存并退出。

另外,ctrl+shift+f下一页,ctrl+shift+b 上一页

11.增强linux系统安全性的常用方法:

    第一种:加强root密码的等级,建议使用在线密码生成器生成密码,eg:%yTxBEj^PlL*IUgw

    第二种:禁止使用root账户远程ssh登陆,首先确认安装了openssh server,安装执行:apt-get install openssh-server;然后修改配置文件 vi /etc/ssh/sshd_config,将PermitRootLogin设为no;最后重启ssh服务,service sshd restart。

    第三种:修改ssh登陆的端口为非常用端口,如2211。首先,增加一个修改后的端口2211,vi /etc/ssh/sshd_config,增加Port=2211,重启ssh服务,service sshd restart,此时ssh将有两个工作端口号;编辑防火墙添加我们增加的新端口:/sbin/iptables -I INPUT -p tcp --dport 2222 -j ACCEPT,之后重启防火墙/etc/init.d/iptables restart,查看端口是否开放:/etc/init.d/iptables status;如果是ubuntu系统,直接使用ufw为防火墙增加开放端口sudo ufw allow 2211,使用ufw status查看端口开放情况;再使用ssh登陆当前端口号,如果登陆成功表示端口开放;最后再次编辑sshd_config,删除原来的登陆端口,重启ssh服务。

12.Ubuntu防火墙基本操作:

      启动防火墙:sudo ufw enable;       关闭防火墙:sudo ufw disable

      添加开放端口:fufw allow 2211;     删除添加的开放端口:ufw delete allow 2211;

      查看开放端口情况:ufw status

13.查看各个文件夹的大小: du -sm /etc/*

14.centos7端口命令:

     systemctl start firewalld

     firewall-cmd --zone=public --add-port=2328/tcp --permanent

     firewall-cmd --reload

     firewall-cmd --state    //running 表示运行

     firewall-cmd    --query-port=2328/tcp

     systemctl restart sshd.service

     systemctl status sshd.service

      jps -lv |grep billing-service.jar      查看billing-service服务是否启动

      less service.log    查看日志:pageUp/pageDown上下翻页

15. 查看系统版本命令: cat /etc/issue

16.linux本地文件夹同步:

      rsync -zvrtopg -progress ./soft/ ./soft2/  

      第一个目录为待同步目录, 第二个目录为同步目标

      远程文件夹同步:

      rsync -zvrtopg -progress -e 'ssh -p 端口号' [email protected]:/文件目录/  本机的目录地址

17. mysql

     show profiles;

     show profile cpu, block io for query ID;

18.中国移动网络访问服务器时断时续

     具体操作步骤:  vi   /etc/sysctl.conf

       net.ipv4.tcp_tw_recycle = 0     保存退出   sysctl -p 
       我们在一些高并发的 WebServer上,为了端口能够快速回收,打开了 tcp_tw_reccycle ,而在关闭 tcp_tw_reccycle 的时候,kernal 是不会检查对端机器的包的时间戳的;打开了 tcp_tw_reccycle 了,就会检查时间戳,很不幸移动的cmwap发来的包的时间戳是乱跳的,所以我方的就把带了“倒退”的时间戳的包当作是“recycle的tw连接的重传数据,不是新的请求”,于是丢掉不回包,造成大量丢包。