linux常用命令总结

作者 Lei da 日期 2019-07-05
linux常用命令总结
  • 根目录下查找名称前缀为my的文件(文件夹)
1
find / -name 'my'
  • linux向linux复制文件,-P(大写P)表示端口号(默认22)
1
scp -P 2233 passwordModify_encrypt.php     root@118.192.66.57:/var/www/opensips-cp/web/
  • ssh远程登录(小写p)
1
ssh -p 2233 root@118.192.66.57
  • windows下向linux拷贝文件
1
pscp -l leida file.zip 192.168.50.24:/home/leida/
  • 查找目录下包含某一字段的文件
1
grep "client" ./ -nr
  • iptables添加开放端口
1
2
3
4
5
6
7
8
9
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
service iptables save
service iptables restart

-A 指append添加规则(末尾),-I指插入,-D指删除
INPUT指输入数据包,相对的是OUTPUT
--dport指目的端口,相对的是sport源端口
-j ACCEPT 表示动作,相对的是DROP
注意:新添加的规则要插入到 RH-Firewall-1-INPUT 之前才能生效,具体原因有待探究
  • ubuntu下卸载apache2
1
2
3
4
5
6
apt purge remove apache2
apt purge remove apache2.2-common
apt autoremove

find /etc/ -name "*apache*" | xargs rm -rf
rm -rf /var/www
  • 查看linux版本
1
2
3
4
cat /etc/issue#适合所有版本系统
lsb_release -a #适合所有版本
cat /etc/redhat-release#这种方法只适合Redhat系的Linux
uname -a#查看系统内核版本
  • 查看仓库包
1
yum repolist all
  • centos7加载本地光盘yum源
1
2
3
4
5
6
7
8
9
10
11
12
13
14
mount /dev/cdrom/ /mnt/
cd /etc/
mv yum.repos.d yum.repos.d.bak
mkdir yum.repos.d
vim yum.repos.d/Centos-Local.repo

[Local]
name=Local Yum
baseurl=file:///mnt/
gpgcheck=0
enabled=1

yum clean
yum makecache
1
2
3
4
5
6
/usr/local/nginx/sbin/nginx
# 启动
/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
# 检查配置是否正确
/usr/local/nginx/sbin/nginx -s reload
# 修改配置后使配置生效
  • centos7命令行和图形界面互相切换
1
2
3
4
vim /etc/inittab
systemctl get-default
systemctl set-default multi-user.target
systemctl set-default multi-user.target
  • 创建多层文件夹

    1
    2
    mkdir -p demoCA/newcerts
    touch ./demoCA/index.txt ./demoCA/serial #创建多个文件
  • grep满足多个可选关键字

1
grep -E "me|data" meDec.php
  • grep排除字段

    1
    grep -v "message" meDec.php
  • 删除多级目录下同一格式的文件

1
find ./ -name *.o -exec rm -rf {} \;
  • apache2加载php7.0
1
2
3
4
apt purge libapache2-mod-php7.0 libapache2-mod-php
apt install libapache2-mod-php7.0 libapache2-mod-php
a2enmod php7.0
# 不是a2enmod php
  • 为用户添加sudo
1
2
3
chmod 640 /etc/sudoers
leida ALL=(ALL) ALL
chmod 440 /etc/sudoers
  • 获取外网ip
1
curl icanhazip.com
  • 获取本机ip
1
ip route get 8.8.8.8 | awk '{print $NF; exit}'
  • docker开启一个终端

    1
    docker exec -it testv4 /bin/bash
  • 查看正在监听的端口

1
netstat -nltp
  • docker镜像导入导出两种方法不可混用
1
2
3
4
5
docker save ubuntu:load>/root/ubuntu.tar
docker load<ubuntu.tar

docker export 98ca36> ubuntu.tar
cat ubuntu.tar | sudo docker import - ubuntu:import
  • docker 运行mysql容器
1
docker run --name mysql4 -e MYSQL_ROOT_PASSWORD=1234567  -d -P mysql
  • docker 挂载volume
1
docker run --name mysql4 -e MYSQL_ROOT_PASSWORD=1234567 --mount src=mydata,dst=/var/lib/mysql -d -P mysql
  • linux系统时间
1
2
3
4
5
6
7
8
1.date                        //查看本地
2.hwclock --show //查看硬件的时间
3.如果硬件的时间是对不上,那就对硬件的时间进行修改、
4.hwclock --set --date '2016-01-08 15:15:15' //设置硬件时间
5.hwclock --hctosys //设置系统时间和硬件时间同步
6.clock -w //保存时钟

7.最后在通过重启,init 6 (reboot) //重启后,查看系统时间是否真正生效
  • 添加用户
1
2
useradd leida
passwd leida
  • 网卡未启动时,通过该命令来自动获取ip
1
dhclient
  • docker registry获取存放镜像信息
1
2
curl http://127.0.0.1:5000/v2/_catalog
curl http://127.0.0.1:5000/v2/centos/tags/list
  • daemon.json
1
2
#里面不能写注释
#客户端加上 "insecure-registries": [ "192.168.50.161:5000"]才能通过http访问,否则需要配置https
  • centos6更新yum源
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
1、备份

cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d//CentOS-Base.repo.ori

2、下载新的CentOS-Base.repo 到/etc/yum.repos.d/

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
# -O表示重命名
3、清理

 yum clean all

4、更新缓存

yum makecache
#yum install tree -y
yum update -y
  • 删除mysql
1
2
3
4
5
6
7
yum remove  mysql mysql-server mysql-libs mysql-server;

find / -name mysql 将找到的相关东西delete掉;

rpm -qa|grep mysql(查询出来的东东yum remove掉)

rpm -e mysql相关文件
  • centos下载service
1
yum install initscripts -y
  • centos下载telnet
1
2
yum install  xinetd
yum install telnet
  • yum下载crontab
1
yum -y install vixie-cron
  • docker使用entrypoint一定要加#!/bin/bash
  • docker使用entrypoint 一定要加tail -f
  • 刚开新虚拟机配置网络
1
2
3
4
5
6
7
8
9
10
11
12
#网络配置文件:/etc/sysconfig/network-scripts/ifcfg-ens33
#static assignment
NM_CONTROLLED=no #表示该接口将通过该配置文件进行设置,而不是通过网络管理器进行管理
ONBOOT=yes #开机启动
BOOTPROTO=static #静态IP
IPADDR=192.168.50.161 #本机地址
NETMASK=255.255.255.0 #子网掩码
GATEWAY=192.168.50.1 #默认网关
DNS1=180.76.76.76
DNS2=8.8.8.8

systemctl restart network
  • 下载netstat
1
yum -y install net-tools
  • run.sh的执行路径是根目录,不是/root/
  • 查看当前文件夹下文件大小
1
du -sh *
  • vim相关命令
1
2
3
4
5
6
:set nu
#显示行号
:32,56d
#删除上下行号之间的代码
shift+G
#跳到最后一行
  • firewall相关
1
2
3
4
5
6
#添加开放端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
#查看所有打开的端口
firewall-cmd --zone=public --list-ports
#更新防火墙规则
firewall-cmd --reload
  • 选择时区
    1
    tzselect