Linux实用命令大合集(长期更新)【2020年04月16日】

这篇文章主要介绍了Linux运维的多个常用命令,总结了一些实用运维必备命令,需要的朋友可以参考下

2020年4月16日 11:37:36

1.清理内存

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

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

netstat -tln

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

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

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

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

 5.系统信息

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

6.进程控制

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

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

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

8.rm 命令

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

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

First make sure port 80/443 is not used by any other service or
application with netstat command:

# netstat -tulpn| grep :80

If port 80 is bind to httpd, kill all process:
# killall -9 httpd

Now start the httpd:
# /etc/init.d/httpd start

Also make sure you are root while starting the httpd.

10.Nginx强制http转https

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

11.Ubuntu中设置永久DNS

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

12.Ubuntu更换阿里源

#备份原有源
cd /etc/apt/
sudo passwd # 第一次设置你的root密码
su root
cp sources.list sources.list.old
#制作新源
#清空,获得root权限才行
echo '' > sources.list

nano sources.list
将下列代码写入sources.list,最好分两批。
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
#更新系统
apt update
apt upgrade
#没root权限的可能是
sudo apt-get update
sudo apt-get upgrade

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

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

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

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

15.CentOS7安装图形界面

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

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

sudo passwd root #设置root密码

nano /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf #在里面加上greeter-show-manual-login=true

nano  /etc/lightdm/lightdm.conf #把autologin-user=后面的用户名改为root,重启即可

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

1、增加一行(这个最重要)(在php.ini)

fastcgi.impersonate = 1

2、修改两项(解开注释就可以了)

cgi.fix_pathinfo=1
cgi.force_redirect = 0

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

nano /etc/ssh/sshd_config

把PermitRootLogin *****改成

PermitRootLogin yes

service ssh restart #重启ssh

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

ls -i  #找到文件或文件夹的节点编号

find -inum xxxxx -delete #xxx代表文件编号

20.小影主题更换emoji表情地址

/wp-includes/js/wp-emoji-release.min.js

#更换maxcdn路径

#执行CDN刷新

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

netstat -anp | grep 1080 #1080指端口

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

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

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

su - 用户 -c "命令"

24.wget加上referer下载文件

wget --referer=xxx xxx

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

echo "1" >/proc/sys/net/ipv4/icmp_echo_ignore_all    #关闭ICMP协议(禁止ping)

echo "0" >/proc/sys/net/ipv4/icmp_echo_ignore_all    #开启ICMP协议(允许ping)

26.Linux查看文件夹大小

du -sh *

27.快速生成100MB文件

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

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

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

29.安装BBR

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

30.安装EPEL

yum install epel-release

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

每五分钟执行  */5 * * * *

每小时执行     0 * * * *

每天执行        0 0 * * *

每周执行       0 0 * * 0

每月执行        0 0 1 * *

每年执行       0 0 1 1 *

32.Nginx限速

    location / {
        limit_rate 100k;
    }

33.PHP跳转

<?php
//重定向跳转
header("Location: https://miku.hk");
exit;
?>

34.centos下安装python3.7.0以上版本时报错ModuleNotFoundError: No module named ‘_ctypes’的解决办法

#3.7版本需要一个新的包libffi-devel,安装此包之后再次进行编译安装即可。
yum install libffi-devel -y

35. CentOS 7 修改时区为东八区

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

 

2 条评论

落叶大大进行回复 取消回复

*