Linux实用命令大合集(长期更新)

1.清理内存

  1. free -m #查看内存使用情况
  2. echo 1 > /proc/sys/vm/drop_caches #清理内存
  3. dmidecode | grep -A16 "Memory Device$" #查看内存条参数命令

2.查看当前对外开放端口

  1. netstat -tln

3.查看进程按内存从大到小排列

  1. ps -e -o "%C : %p : %z : %a"|sort -k5 -nr

4.按cpu利用率从大到小排列

  1. ps -e -o "%C : %p : %z : %a"|sort -nr

5.系统信息

  1. arch #显示机器的处理器架构(1)
  2. uname -m #显示机器的处理器架构(2)
  3. uname -r #显示正在使用的内核版本
  4. dmidecode -q #显示硬件系统部件 - (SMBIOS / DMI)
  5. cat /proc/cpuinfo #显示CPU info的信息
  6. cat /proc/interrupts #显示中断
  7. cat /proc/meminfo #校验内存使用
  8. cat /proc/swaps #显示哪些swap被使用
  9. cat /proc/version #显示内核的版本
  10. cat /proc/net/dev #显示网络适配器及统计
  11. cat /proc/mounts #显示已加载的文件系统

6.进程控制

  1. ps -auxw #列出当前进程ID
  2. kill 进程PID #终止单一进程
  3. Killall 程序名 #终止该程序所有进程
  4. xkill #终止X-Window程序
  5. #查看资源占用情况
  6. top
  7. free
  8. dmesg

7.zip压缩与unzip解压缩命令

  1. 1、把/home目录下面的mydata目录压缩为mydata.zip
  2. zip -r mydata.zip mydata #压缩mydata目录
  3. 2、把/home目录下面的mydata.zip解压到mydatabak目录里面
  4. unzip mydata.zip -d mydatabak
  5. 3、把/home目录下面的abc文件夹和123.txt压缩成为abc123.zip
  6. zip -r abc123.zip abc 123.txt
  7. 4、把/home目录下面的wwwroot.zip直接解压到/home目录里面
  8. unzip wwwroot.zip
  9. 5、把/home目录下面的abc12.zipabc23.zipabc34.zip同时解压到/home目录里面
  10. unzip abc*.zip
  11. 6、查看把/home目录下面的wwwroot.zip里面的内容
  12. unzip -v wwwroot.zip
  13. 7、验证/home目录下面的wwwroot.zip是否完整
  14. unzip -t wwwroot.zip
  15. 8、把/home目录下面wwwroot.zip里面的所有文件解压到第一级目录
  16. unzip -j wwwroot.zip
  17. 主要参数
  18. -c:将解压缩的结果
  19. -l:显示压缩文件内所包含的文件
  20. -p:与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换
  21. -t:检查压缩文件是否正确
  22. -u:与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其它文件解压缩到目录中
  23. -v:执行是时显示详细的信息
  24. -z:仅显示压缩文件的备注文字
  25. -a:对文本文件进行必要的字符转换
  26. -b:不要对文本文件进行字符转换
  27. -C:压缩文件中的文件名称区分大小写
  28. -j:不处理压缩文件中原有的目录路径
  29. -L:将压缩文件中的全部文件名改为小写
  30. -M:将输出结果送到more程序处理
  31. -n:解压缩时不要覆盖原有的文件
  32. -o:不必先询问用户,unzip执行后覆盖原有文件
  33. -P:使用zip的密码选项
  34. -q:执行时不显示任何信息
  35. -s:将文件名中的空白字符转换为底线字符
  36. -V:保留VMS的文件版本信息
  37. -X:解压缩时同时回存文件原来的UID/GID

8.rm 命令

  1. #rm是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令。
  2. 1.命令格式:
  3. rm [选项] 文件…
  4. 2.命令功能:
  5. #删除一个目录中的一个或多个文件或目录,如果没有使用- r选项,则rm不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。
  6. 3.命令参数:
  7. -f, --force 忽略不存在的文件,从不给出提示。
  8. -i, --interactive 进行交互式删除
  9. -r, -R, --recursive 指示rm将参数中列出的全部目录和子目录均递归地删除。
  10. -v, --verbose 详细显示进行的步骤
  11. --help 显示此帮助信息并退出
  12. --version 输出版本信息并退出

9.Apache Address already in use: make_sock: could not bind to port 80 error and solution

  1. First make sure port 80/443 is not used by any other service or
  2. application with netstat command:
  3.  
  4. # netstat -tulpn| grep :80
  5.  
  6. If port 80 is bind to httpd, kill all process:
  7. # killall -9 httpd
  8.  
  9. Now start the httpd:
  10. # /etc/init.d/httpd start
  11.  
  12. Also make sure you are root while starting the httpd.

10.Nginx强制http转https

  1. rewrite ^(.*)$ https://$host$1 permanent;

11.Ubuntu中设置永久DNS

  1. nano /etc/resolvconf/resolv.conf.d/base #编辑这个文件
  2. nameserver 223.5.5.5
  3. nameserver 223.6.6.6 #阿里的DNS,可以自己换
  4. resolvconf -u #重新加载

12.Ubuntu更换阿里源

  1. #备份原有源
  2. cd /etc/apt/
  3. sudo passwd # 第一次设置你的root密码
  4. su root
  5. cp sources.list sources.list.old
  6. #制作新源
  7. #清空,获得root权限才行
  8. echo '' > sources.list
  9.  
  10. nano sources.list
  11. 将下列代码写入sources.list,最好分两批。
  12. deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
  13. deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
  14. deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
  15. deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
  16. deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
  17. deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
  18. deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
  19. deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
  20. deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
  21. deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
  22. #更新系统
  23. apt update
  24. apt upgrade
  25. #没root权限的可能是
  26. sudo apt-get update
  27. sudo apt-get upgrade

13.1130 – Host “IP地址” is not allowed to connect to this MySQL server

  1. mysql -u root -p
  2. grant all privileges on *.* to 'root'@'%' identified by '数据库密码' with grant option;

14.Nginx带www的域名跳转到不带www的域名,rewrite重定向

  1. if ($host != 'moeloli.cc'){
  2. rewrite ^/(.*)$ http://moeloli.cc/$1 permanent;
  3. }
  4. #注意:如果开启了HTTPS,那么这个应该放在443的server段下

15.CentOS7安装图形界面

  1. yum groupinstall "GNOME Desktop" "Graphical Administration Tools"
  2. ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target
  3. startx

16.Ubuntu开启root登录并且开机默认登录root

  1. sudo passwd root #设置root密码
  2.  
  3. nano /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf #在里面加上greeter-show-manual-login=true
  4.  
  5. nano /etc/lightdm/lightdm.conf #把autologin-user=后面的用户名改为root,重启即可

17.运行PHP出现No input file specified错误的解决办法

  1. 1、增加一行(这个最重要)(在php.ini
  2.  
  3. fastcgi.impersonate = 1
  4.  
  5. 2、修改两项(解开注释就可以了)
  6.  
  7. cgi.fix_pathinfo=1
  8. cgi.force_redirect = 0

18.Ubuntu使用root登录ssh以及WinSCP

  1. nano /etc/ssh/sshd_config
  2.  
  3. PermitRootLogin *****改成
  4.  
  5. PermitRootLogin yes
  6.  
  7. service ssh restart #重启ssh

19.Linux服务器删除乱码文件和文件夹的方法

  1. ls -i #找到文件或文件夹的节点编号
  2.  
  3. find -inum xxxxx -delete #xxx代表文件编号

20.Linux查看端口被哪个程序占用

  1. netstat -anp | grep 1080 #1080指端口

21.Linux下切换用户出现This account is currently not available

  1. nano /etc/passwd
  2. #把需要登录的用户的shell的“/sbin/nologin”改成“/bin/bash”

22.Linux下以其他用户的身份执行命令

  1. su - 用户 -c "命令"

23.wget加上referer下载文件

  1. wget --referer=xxx xxx

24.Linux开启ICMP协议与关闭ICMP协议(Linux的禁ping开关)

  1. echo "1" >/proc/sys/net/ipv4/icmp_echo_ignore_all #关闭ICMP协议(禁止ping)
  2.  
  3. echo "0" >/proc/sys/net/ipv4/icmp_echo_ignore_all #开启ICMP协议(允许ping)

25.Linux查看文件夹大小

  1. du -sh *

26.快速生成100MB文件

  1. dd if=/dev/zero of=100MB.bin bs=1M count=100
  2. #生成一个100M的100MB.bin文件,文件内容为全0(因从/dev/zero中读取,/dev/zero为0源)

27.Centos7更换阿里云的源(其余源同)

  1. mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
  2. #备份源
  3. wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  4. #下载源
  5. yum clean all
  6. #清除yum缓存
  7. yum makecache
  8. #缓存yum源

28.安装BBR

  1. wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh

29.安装EPEL

  1. yum install epel-release

30.crontab 每分钟、每小时、每天、每周、每月、每年定时执行

  1. 每五分钟执行 */5 * * * *
  2.  
  3. 每小时执行 0 * * * *
  4.  
  5. 每天执行 0 0 * * *
  6.  
  7. 每周执行 0 0 * * 0
  8.  
  9. 每月执行 0 0 1 * *
  10.  
  11. 每年执行 0 0 1 1 *

31.Nginx限速

  1. location / {
  2. limit_rate 100k;
  3. }

32.PHP跳转

  1. <?php
  2. //重定向跳转
  3. header("Location: https://moeloli.cc");
  4. exit;
  5. ?>

转载自:https://mikublog.com/free/218

原文地址:https://www.cnblogs.com/wuluogan/p/10462551.html