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
- centos修改root密码
https://blog.csdn.net/akipa11/article/details/81395386 - nginx相关命令
/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
- 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 行