Linux命令大全(手册)

https://www.linuxcool.com/
docker exec -i mysql mysql -uroot -proot123 < kaicang.sql 导入数据集

mysqldump -u root -h 172.31.236.239 -p —all-databases > back239_2022_0125.sql

mysqldump -u root -h 172.31.239.204 -p —all-databases > kaicang_239204_0403.sql
mysqldump -u root -h 172.31.236.240 -p —all-databases > dbbakdeploy_240_0216.sql

导出数据集
/opt/mysql/bin/mysqldump -uroot -proot123 -h127.0.0.1 —all-databases> back.sql

导入数据集
/opt/mysql/bin/mysql -uroot -proot123 -h127.0.0.1 -P 3306 < bask.sql

pkill -f mssql

  1. 把一段内容直接放进一个文件,eof代表结尾结束
    cat >>文件路径文件名<文件内容
    eof

在一个文件中写入内容,可以vim打开编辑模式,输入我们想要的内容,此次我们使用echo命令
来在一个文件夹中写入内容。
echo命令:
第一种:
echo ‘i love u’ >a.txt 在a.txt这个文件中输入i love u,如果没有这个文件则创建。如果有这个文件,那么新内容代替原来的内容。
第二种:
echo ‘i love u’ >>a.txt
在a.txt这个文件中输入i love u,如果没有这个文件则创建.如果有这个文件,那么新内容添加在原来内容的后面

  1. last
    lastlog
    who
    who am i
    pkill -kill -t pts/3 踢人

write root pts/1
内容
ctl + d 发送并退出

whereis 名字二进制文件

  1. du -sh 文件夹或者文件名 查看占用内存
    例如 du -sh ./opt
  2. lsblk -a 显示所有设备 树状
    lsblk -nl 以列表格式列出设备,而不是默认的树状格式
  3. find -name 文件名(支持 * 通配符)
    find -size 大小(k, M, G )
    find -type 类型查找
    find -iname 忽略大小写
    find . 列出当前目录及子目录下所有文件和文件夹

在/var/log目录下忽略大小写查找以.log结尾的文件名:
find /var/log -iname “*.log”

在/home目录下查找以.txt结尾的文件名:
find /home -name “*.txt”

搜索超过七天内被访问过的所有文件
find . -type f -atime +7

搜索访问时间超过10分钟的所有文件:
find . -type f -amin +10

显示系统所有相关信息
uname -a

curl命令是一个利用URL规则在shell终端命令行下工作的文件传输工具;
它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具。

作为一款强力工具,curl支持包括HTTP、HTTPS、ftp等众多协议,
还支持POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征;
做网页处理流程和数据检索自动化。

语法格式:curl [参数] [网址]

常用参数:
-O 把输出写到该文件中,保留远程文件的文件名
-u 通过服务端配置的用户名和密码授权访问

netstat -a 显示所有连线中的Socket

利用ping命令获取指定网站的IP地址
ping -c 1 www.baidu.com| grep from | cut -d “ “ -f 4

压缩
把/home目录下面的mydata目录压缩为mydata.zip:
zip -r mydata.zip mydata

把/home目录下面的abc文件夹和123.txt压缩成为abc123.zip:
zip -r abc123.zip abc 123.txt 文件夹和文件一起压缩

把/home目录下面的mydata.zip解压到mydatabak目录里面:
unzip mydata.zip -d mydatabak

bc命令
yum install bc

echo “6^6” | bc 输出6的6次方

rcp命令
rcp命令默认系统没有安装,需要安装rsh和rsh-server这2个库,
通过配置实现网络文件复制。
yum install rsh
yum install rsh server

安装pstree命令
yum -y install psmisc
psmisc是个进程管理软件包套装,它里面包含了很多小工具用于管理Linux系统进程,pstree只是其中之一:

fuser – 使用文件或套接字识别进程
killall – 结束给定名称的进程
prtstat – 输出进程的统计信息
pslog – 输出进程日志路径
pstree – 以树状形式显示当前运行的进程
peekfd – 显示通过文件描述符传输的数据

ps -a 列出所有运行中/激活进程
ps -aux - 显示进程信息,包括无终端的(x)和针对用户(u)的进程:如USER, PID, %CPU, %MEM等

top 提供实时的系统状态信息

htop 命令

下载源码
wget http://sourceforge.net/projects/htop/files/latest/download
解压并进入htop-1.0.2目录

tar -zxf download

cd htop-1.0.2

编译安装(执行./configure如果执行报错 configure: error: You may want to use —disable-unicode or install libncursesw,表明缺少lib 包,安装lib包:yum install ncurses-devel -y)

./configure && make && make install

验证

htop

w
who
who am i
last

cut 最常用的选项是-d和-f的组合。它基本上会根据特定的分隔符和列出的字段提取内容。

cut -d ‘:’ -f 1 /etc/passwd 使用分隔符:打印/etc/passwd文件中每一行的第一个字段。

hostnamectl status 显示当前主机名设置

hostnamectl set-hostname 设置系统主机名

export 显示所有的环境变量

在Linux下查看二进制文件的软件:

xxd 2进制文件
hexdump 16进制文件
编辑使用的软件 biew hexedit vim

more 显示文件的第一部分 用空格键翻页,用回车键 加载下一行
输入q退出

head 文件名 显示文件的前10行

tail 文件名 显示文件的最后10行

diff 文件1 文件2 比较两个文件的差异

wc 文件名 输出文件有多少行 多少单词 多少字符

sed ‘s/空格/-/g’ 文件名 使用横线替换所有空格

sed ‘s/[0-9]/d/g’ 文件名 使用d替换所有数字

nl -s “.” 文件名带行号显示文件

文件名 将得到的结果追加到文件中
例如 ls /opt >opt.txt

du -S | sort -n 目录中内存占用最大的文件

date 显示当前日期和时间

cal 显示月份的日历

man 指定命令 显示指定命令的手册

wget 下载文件

从本地主机复制到远程主机
scp 复制的文件 服务器用户名@服务器地址:文件绝对路径
例子 scp xiaobo.txt root@172.31.236.76:/opt/docker/

at命令 任务定时执行 需要专门安装

ed是Linux中功能最简单的文本编辑程序,一次仅能编辑一行
而非全屏幕方式的操作
适合 编辑大文件或对于在shell脚本程序

egrep 字符串规则 文件 查找文件中某字符

rmdir -p 文件夹名 删除空的目录名,
-p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。

tree 树状图显示所有文件和目录

stat 文件名/ 目录名 最近访问、更改的时间、权限、inode

eval 命令1;命令2;命令3……多个命令同时执行,分号隔开

export -p 列出当前环境变量

time 命令
time 指令 记录某特定指令运行所使用的时间
例如 time ls

poweroff 关机服务器, 慎重操作
服务器直接关机了

shutdown -h now 立马关机

shutdown -r now 立刻重启

poweroff 关闭计算器并切断电源
docker exec -i mysql mysql -uroot -proot123 < kaicang.sql 导入数据集
mysqldump -u root -h 172.31.236.239 -p —all-databases > back239_2022_0125.sql
mysqldump -u root -p —all-databases > backdb_2022_0120.sql

mysqldump -u root -h 172.31.236.239 -p —all-databases > backdb_239_2022_0120.sql

mysqldump -u root -h 172.31.239.204 -p —all-databases > 3.0_0114_239_204.sql

备份数据库::::::

  1. 备份系统中所有数据库
    mysqldump -u root -h host地址(如172.31.236.76) -p —all-databases > backdb.sql
  2. 直接复制整个数据库目录(慎用此法!!!!!!
    该方式必须确保原数据库和待还原的数据库主版本号一致,并且只适用于MyISAM引擎的表。)
    linux: /var/lib/mysql
    windowns: installpath/mysql/data
  3. 备份多个数据库
    mysqldump -u root -h host -p —databases dbname1, dbname2
  4. 备份数据库中的某个表
    mysqldump -u root -h host -p dbname tbname1, tbname2 > backdb.sql
  5. 备份整个数据库
    mysqldump -u root -h host -p dbname > backdb.sql

docker exec -i mysql mysql -uroot -proot123 < kaicang.sql 导入数据集
mysqldump -u root -h 172.31.23 -p dbname tbname1, tbname2 > backdb.sql

docker

docker version
docker info

sudo service docker start

sudo systemctl start docker

docker image ls 列出本机的所有 image 文件

一个是容器 一个是镜像

docker image rm 容器镜像模板名 删除容器镜像模板

docker container run image文件

docker container ls —all 查出容器的 ID

docker container rm [containerID] 删除指定的容器文件

docker login 登录docker

docker container stop [containerID] 容器id 终止容器

docker logs 容器名/或者容器ID -f

uname -a 内核信息

  1. 查看物理CPU的个数
    #cat /proc/cpuinfo |grep “physical id”|sort |uniq|wc -l
  2. 查看逻辑CPU的个数
    #cat /proc/cpuinfo |grep “processor”|wc -l
  3. 查看CPU是几核
    #cat /proc/cpuinfo |grep “cores”|uniq
  4. 查看CPU的主频
    #cat /proc/cpuinfo |grep MHz|uniq

(查看当前操作系统发行版信息)
cat /etc/issue | grep Linux

查看内核centos版本
cat /etc/redhat-release

当前centos 版本与redhat对应的版本的命令
cat /proc/version

使用redhat-lsb工具查看系统版本,没有的话需要安装
yum install -y redhat-lsb

lsb_release -a
结果类似于
LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.5.1804 (Core)
Release: 7.5.1804
Codename: Core

CPU型号
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

CPU的详细信息:
cat /proc/cpuinfo

硬盘大小
fdisk -l |grep Disk

sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
sudo mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup

进入容器内部
docker exec -it 容器名 bash

进入容器
docker exec -it 容器名 bash
lsof -i: 端口号

cat > 文件名 << EOF:用来创建文件,在这之后输入的任何东西,都是在文件里的,输入完成之后以EOF结尾代表结束。

cat >> 文件名 << EOF:和上面一样,只不过是追加到文件,上面那个是覆盖写。

grep 字符 文件名

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple mysql-connector

国内常用镜像源:
清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
百度:https://mirror.baidu.com/pypi/simple

GC

  1. 垃圾回收机制 Garbage Collection
  2. 网络用语 支持的意思
  3. 全局目录”Global Catalog
  4. 科研用语,即Gas Chromatography(气相色谱法
  5. Grid Communication 网格通信

一条命令
实现计算器
python -c ‘print(1+2*3-4)’

一行命令计算距离某一天还有多少天
python -c “import datetime;today = datetime.date.today();someday = datetime.date(2021, 1, 1);diff = someday-today;print diff.days”

一行命令对数据进行加密
python -c “import hashlib;print(hashlib.md5(‘password’).hexdigest())”

修改服务器名称
hostname 名称,退出连接再进来就生效了

cmd=’ls’
if [[ “$cmd” =~ “docker-compose.yml” ]];then
rm -fr evo-*
echo “清理完成”
fi

docker exec -i mysql mysql -uroot -proot123 < kaicang.sql 导入数据集

if [ $# -ne 1 ];then的意思是,如果shell传递到脚本的参数不等于1,则执行某命令。
$#:是指传递到脚本的参数个数。
-ne:是指不等于则为真。

使用vim,如何删除所有包含某个字符串的所在行?

用 :g 。它的工作原理是在全文中搜索字串,然后在匹配的行上执行一个命令。命令的格式是 “g/搜索的正则表达式/要执行的命令”如果是删除的话,用 :d 这个命令。
:g/text/d

如果是在linux操作系统下,可以借助外部的grep命令
:%!grep -A 1 ‘china’
:g/—/d

删除注释行 :g/^#/d
删除空白行 :g/^\s$/d
:g 代表在全文档范围内
^代表行的开始
\s
代表空白字符
$代表行的结束
d代表删除

创建递归文件夹
mkdir -vp /opt/docker/monitor/textfile

设置时区

ntpdate 0.asia.pool.ntp.org