linux常用命令总结

博客搬家:linux常用命令总结

  • 根目录下查找名称前缀为my的文件(文件夹)
find / -name 'my'
  • linux向linux复制文件,-P(大写P)表示端口号(默认22)
scp -P 2233 passwordModify_encrypt.php root@118.192.66.57:/var/www/opensips-cp/web/

# 带空格的文件夹,空格前加\,同时用引号把整个路径括起来
  • ssh远程登录(小写p)
ssh -p 2233 root@118.192.66.57
  • windows下向linux拷贝文件
pscp -l leida file.zip 192.168.50.24:/home/leida/
  • 查找目录下包含某一字段的文件
grep "client" ./ -nr
  • iptables添加开放端口
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
apt purge remove apache2
apt purge remove apache2.2-common
apt autoremove

find /etc/ -name "*apache*" | xargs rm -rf
rm -rf /var/www

  • 查看linux版本
cat /etc/issue#适合所有版本系统
lsb_release -a #适合所有版本
cat /etc/redhat-release#这种方法只适合Redhat系的Linux
uname -a#查看系统内核版本
  • 查看仓库包
yum repolist all
  • centos7加载本地光盘yum源
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
/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命令行和图形界面互相切换
vim /etc/inittab
systemctl get-default 
systemctl set-default multi-user.target
systemctl set-default multi-user.target
  • 创建多层文件夹
mkdir -p demoCA/newcerts
touch ./demoCA/index.txt ./demoCA/serial #创建多个文件 
  • grep满足多个可选关键字
grep -E "me|data" meDec.php
  • grep排除字段
grep -v "message" meDec.php
  • 删除多级目录下同一格式的文件
find ./ -name *.o -exec rm -rf {} \;
  • apache2加载php7.0
apt purge libapache2-mod-php7.0 libapache2-mod-php
apt install libapache2-mod-php7.0 libapache2-mod-php
a2enmod php7.0
# 不是a2enmod php
  • 为用户添加sudo
chmod 640 /etc/sudoers
leida ALL=(ALL) ALL
chmod 440 /etc/sudoers

  • 获取外网ip
curl icanhazip.com
  • 获取本机ip
ip route get 8.8.8.8 | awk '{print $NF; exit}'
  • docker开启一个终端
docker exec -it testv4 /bin/bash
  • 查看正在监听的端口
netstat -nltp
  • docker镜像导入导出两种方法不可混用
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容器
docker run --name mysql4 -e MYSQL_ROOT_PASSWORD=1234567 -d -P mysql
  • docker 挂载volume
docker run --name mysql4 -e MYSQL_ROOT_PASSWORD=1234567 --mount src=mydata,dst=/var/lib/mysql -d -P mysql
  • linux系统时间
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) //重启后,查看系统时间是否真正生效
  • 添加用户
useradd leida
passwd leida
  • 网卡未启动时,通过该命令来自动获取ip
dhclient

  • docker registry获取存放镜像信息
curl http://127.0.0.1:5000/v2/_catalog
curl http://127.0.0.1:5000/v2/centos/tags/list
  • daemon.json
#里面不能写注释
#客户端加上 "insecure-registries": [ "192.168.50.161:5000"]才能通过http访问,否则需要配置https
  • centos6更新yum源
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
yum remove mysql mysql-server mysql-libs mysql-server;

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

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

rpm -e mysql相关文件 
  • centos下载service
yum install initscripts -y
  • centos下载telnet
yum install xinetd
yum install telnet
  • yum下载crontab
yum -y install vixie-cron
  • docker使用entrypoint一定要加#!/bin/bash

  • docker使用entrypoint 一定要加tail -f

  • 刚开新虚拟机配置网络

#网络配置文件:/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
yum -y install net-tools
  • run.sh的执行路径是根目录,不是/root/
  • 查看当前文件夹下文件大小
du -sh *
  • vim相关命令
:set nu
#显示行号
:32,56d
#删除上下行号之间的代码
shift+G
#跳到最后一行
  • firewall相关
#添加开放端口
firewall-cmd --zone=public --add-port=80/tcp --permanent 
#查看所有打开的端口
firewall-cmd --zone=public --list-ports
#更新防火墙规则
firewall-cmd --reload
  • 选择时区
tzselect
  • 安装ssh
yum install -y openssl openssh-server
  • 下载nohup
yum install coreutils
  • nohup使用
nohup python my.py >> result.log 2>&1 &
nohup my.sh > /dev/null 2>&1 &

0 表示stdin标准输入,用户键盘输入的内容
1 表示stdout标准输出,输出到显示屏的内容
2 表示stderr标准错误,报错内容
2>&1是一个整体,>左右不能有空格,即将错误内容重定向输入到标准输出中去。
  • transmission

transmission使用

  • shell脚本循环执行python脚本
for ((i=1; i<=10; i++))
do
name='data/test/sam0'$i
echo $name
python translate.py --ini data/config.ini $name'.cn' $name'.tran' "secretinfo"
python translate.py --ini data/config.ini $name'.cn' $name'raw.tran' ""
done
  • 清空文件内容
echo "" > testResult.log
# 注意不是>>
  • win下nginx命令
# 开启nginx
start nginx.exe
# 停止nginx
nginx.exe -s stop                   
# 重新加载nginx
nginx.exe -s reload                
# 退出nginx
nginx.exe -s quit                     
  • linux配置Java环境
# etc/profile内容
JAVA_HOME=/usr/java/jdk1.8.0_281
CLASSPATH=.:%JAVA_HOME%/lib/dt.jar:%JAVA_HOME%/lib/tools.jar:%JAVA_HOME%/jre/lib/ext
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export PATH CLASSPATH JAVA_HOME
  • 查看内存使用概况
free -h
  • 查看内存占用最多的程序
ps aux | head -1;ps aux | sort -rnk +4 | head -1
  • 查看cpu使用最多的程序
ps aux | head -1;ps aux | sort -rnk +3 | head -1
  • 查看文件内某个字符串出现次数
grep -c 'html' server.xml
  • 查看文件前几行后几行
head -n 10 /etc/profile
tail  -n 5 /etc/profile
  • 查看包含某个字符串的文件
find / | xargs grep string
  • 查看某个文件字符串的前后五行
cat log.log | grep - 5 ’ parttern ’ #打印匹配行的前后 5 行

cat log.log | grep - C 5 ’ parttern ’ #打印匹配行的前后 5 行

cat log.log | grep - A 5 ’ parttern ’ #打印匹配行的后 5 行  

cat log.log | grep -B 5 ’ parttern ’ #打印匹配行的前 5 行
posted @ 2019-04-05 20:25  数小钱钱的种花兔  阅读(279)  评论(0编辑  收藏  举报