Linux CentOS 命令摘录备忘

可用 pwd 命令查看用户的当前目录

** sudo -i 命令可切换成root用户

Linux查看设置开机启动的服务列表
systemctl list-units --type=service

压缩、解压
tar -cvf fille.tar file(可以多个文件空格隔开)-c: 建立压缩档案;-v: 显示所有过程;-f: 使用档案名字,是必须的,是最后一个参数)
tar -xvf file.tar 解包到当前目录
tar -xvf file.tar -C dir 把文件解压到指定目录中
zip 压缩后文件名 源文件
zip -r 压缩后目录名 原目录
unzip file.zip -d dir 解压到指定目录
gunzip file1.gz 解压 file1.gz
gzip file1 压缩 file1
gzip -9 file 最大程度压缩文件

tar比较常用的使用方式:
打包压缩:“tar -czvf 压缩包名称.tar.gz 要打包的目录”
解压缩:“tar -xzvf 压缩包名称.tar.gz”

文件、目录、文件夹和文件大小
rm -f file 参数-f用来强制删除文件,不提示
rm [文件名] 删除文件
rm -r dir 递归删除其文件和文件夹,就是删除目录是要加上参数-r,否则删除不了
rm -rf dir 强制删除非空文件夹及其内容,不提示。-r 就是向下递归,不管有多少级目录,一并删除。-f 就是直接强行删除,不作任何提示
mv dir/file dir 将文件或者文件夹移动到指定目录
mv -t dir file 将文件或者文件夹移动到指定目录
mkdir dir dir2 创建两个文件夹
mkdir -p /tmp/dir 创建多级目录
cp file file1 将文件file复制一份并命令为file1
cp -r /home/a /www/b 复制文件夹到另一个文件夹
cp -r * /dir 递归复制当前路径下的全部目录及其子目录内的所有内容到另一个目录,参数-r 为递归持续复制
cp -a file/dir dir 将文件或者文件夹复制到指定目录
cp有如下几个参数:-p保留原始文件的属性,-d若对象为“链接文件”,则保留该“链接文件”的属性,-r递归持续复制(用于目录),-i若目标文件存在则询问是否覆盖,-a相当于-pdr(p、d、r 为上述参数)
…………………………..
cp命令使用注意:
使用cp命令在复制目录时要加上-r 参数
例如:
cp -r /data/home/ /data02/
加上-r,表示递归复制包括home文件夹本身及其下面的全部文件和子文件夹。

如果要复制/data/home/下的全部文件和文件夹,而不复制home文件夹本身,可以使用通配符来指定要复制的内容。 可以使用以下命令来实现: cp -r /data/home/* /data02/ 这个命令会将/data/home/下的所有文件和文件夹复制到/data02/目录中,而不会复制home文件夹本身。通配符表示匹配任意文件或文件夹名。请注意,使用这个命令时,目标位置/data02/必须已经存在作为一个目录。如果目标位置不存在,可以先创建一个目录,然后运行上述命令。

如果只想复制home/下的文件则不用加-r(只复制文件,不包括子目录),可以使用以下命令: cp /data/home/* /data02/
这个命令会将/data/home/下的所有文件复制到/data02/目录中,而不会复制子目录。
…………………………………..

远程复制目录或文件:
scp -r /usr/local/abc 192.168.1.49:/usr/local/abc
或者
scp -r /usr/local/abc [email protected]:/usr/local/abc
把本机的目录abc复制到远程机器192.168.1.49中。远程复制不能加参数-f。

…………………………………
rsync命令(使用’yum install rsync’来安装rsync)来实现从服务器A复制和同步文件夹及其内容到服务器B,并支持断点续传。rsync是一个强大的文件同步工具,它可以在本地或远程系统之间同步文件和目录。
以下是使用rsync命令进行复制和同步的示例: rsync -avP --partial --progress /path/to/source/ /path/to/destination/
解释一下上面的命令:
-a:以归档模式进行同步,保留文件的所有属性,包括权限、所有者和组。
-v:显示详细输出,让你看到正在复制的文件。
-P:显示进度和部分传输信息。
–partial:允许部分文件传输,以支持断点续传。
–progress:显示传输进度信息。

默认情况下,rsync命令会复制源目录下的文件和子目录,而不会复制源目录本身。但你可以通过在目标路径中加上源目录的名称来实现将源目录本身一起复制过去。 例如,假设你要将源目录/path/to/source复制到目标目录/path/to/destination,你可以使用以下命令: rsync -av /path/to/source/ /path/to/destination/source/ 这样,rsync会将源目录下的文件和子目录复制到目标目录/path/to/destination/source/下,并且会创建一个名为source的目录来包含这些文件和子目录。 如果你希望目标目录的名称与源目录的名称保持一致,可以使用以下命令: rsync -av /path/to/source/ /path/to/destination/ 这样,rsync会将源目录下的文件和子目录复制到目标目录/path/to/destination/下,并且目标目录的名称将与源目录的名称保持一致。 …………………………………

stat命令 “stat 文件名”
用来查看某个文件的信息属性。其中可以看到列出来的Access,Modify,Change这三行有三个时间的,分别为atime,mtime和ctime。 modification time (mtime):该档案的内容数据变更时,就会更新这个时间!内容数据指的是档案的内容,而不是档案属性或权限喔!
status time (ctime):该档案的状态改变时,就会更新这个时间,举例来说,像是权限与属性被更改了,都会更新这个时间啊。
access time (atime): 当该档案的内容被取用时,就会更新这个读取时间 (access)。举例来说,我们使用 cat 去读取 /etc/man.config , 就会更新该档案的atime 了。

查看文件和文件夹容量大小
ls -lh 文件路径 du -h 文件夹路径
如果对一个目录执行du,du会递归列出目录中的所有文件,并显示其大小,同时也会显示目录中所有文件的大小。
du -h 文件夹名称
查看某个目录下(文件夹)下所有文件占用空间的总大小 du -sh 目录(或文件夹名称)

centos7 拷贝目录下所有文件包含隐藏文件
不能这样使用 cp -a /storage/* /home/ 使用 *不会拷贝隐藏文件
正确的做法 cp -a /storage/. /home/

cd [目录名] 进入某个目录
cd .. 返回上一级目录
cd ../.. 返回上两级目录
cd / 返回根目录
cd或cd ~ 返回home目录
cd - 目录名 返回指定的目录
ls 列举出当前目录中所有文件
ls -a 列举出当前目录中所有文件,包括隐藏文件
ls -l 显示文件的详细信息
ls -ld 查看目录(文件夹)的属性信息
ls -lrt 按时时间排序显示文件
pwd 显示当前路径
ls -lh 查看文件大小

查看硬盘和分区情况
lshw -class disk -short 列出所有磁盘的信息,包括磁盘容量、厂商和型号
parted -l 列出磁盘信息,分区类型、分区大小
df -h 此命令可查看全部的挂载点情况(包括挂载的外部共享磁盘)
df -hl 可查看系统挂载点,但查看不了挂载的外部共享磁盘
lsblk 可以以树形方式查看磁盘大小
fdisk -l 查看设备和分区
blkid 查看分区的UUID信息和文件系统类型
lsblk -f 和 df -T 命令能列出当前挂载的文件系统的信息列出块设备(包括分区)的文件系统信息,包括UUID、文件系统类型和挂载点

查看当前目录下各个文件及目录占用空间大小
du -sh * 按K、M、G为单位显示
du -s * 按兆字节为单位显示
du -sh * | sort -rn 参数-r 从大到小的方式排序
参数-s表示只显示每个参数总的大小,参数-h表示打印人类可读大小。 查看上GB的目录并且排序,可以用这个命令:
du -h –max-depth=1 |grep ‘G’ |sort
如果删除大文件,df -h查看磁盘空间并没有释放,那么就是被删除的文件关联的进程还在执行,那么需要我们将相关进程kill掉或重启,可以用这个命令来查看进程 lsof |grep delete fuser -cu 路径 命令用于显示当前正在使用指定文件或目录的进程和用户

查找大小范围的文件
find -type f -size +100M -exec du -h {} \; 查找大于100M的文件(命令含分号)
find -type f -size +1G -exec du -h {} \; 查找大于1G的文件(命令含分号)

批量查找删除文件 (按时间条件)
find /usr/local/nginx/html/upload/images -mtime +10 -name "*.*" -exec rm -rf {} \; (包括后面的分号)
find /usr/local/nginx/html/upload/files -mtime +10 -exec rm -rf {} \; (包括后面的分号)
解释如下
/usr/local/nginx/html/upload/images :准备要进行清理的任意目录
-mtime:标准语句写法
+10:查找10天前的文件,这里用数字代表天数,+30表示查找30天前的文件
.":希望查找的数据类型,".jpg"表示查找扩展名为jpg的所有文件,"“表示查找所有文件
-exec:固定写法
rm -rf:强制删除文件,包括目录
{} ; :固定写法,一对大括号+空格+/+;

linux 删除文件或批量删除文件(按名称条件)
一般的删除文件的操作
删除几个文件 rm 文件1 文件2
删除文件夹下面所有文件 rm * -rf
删除某些固定字母开头的文件 rm xxx*
删除一类文件 rm *.txt

批量删除文件
首先查找我们要删除的某类批量的文件:
find . -maxdepth 1 -regex ".*ws.*"
maxdepth参数为1表示只在当前目录查找,不递归查找子目录
regex参数是正则表达式
上面的命令表示查找所有文件名中含有“ws”的文件。
批量删除上面查找到的文件:
find . -maxdepth 1 -regex ".*ws.*" | xargs rm -rf
xargs是把前面的输出作为后面的参数,如果多行输出,就多次执行后面的命令
有的linux系统支持的regex正则表达式不一样,可以使用下面的方式替换
find . -maxdepth 1 -name "*.c" | xargs rm -rf
还有使用下面的命令也可以:
find . -maxdepth 1 -regex ".*ws.*" -exec rm -rf {} \;

查找文件夹
find -name 文件夹名称 -depth

whereis 命令用于按照名称快速查找搜索二进制程序(命令)、源代码以及帮助文件所对应的位置,语法格式为“whereis 命令名称”
如:whereis cd

which 命令用于按照指定名称快速搜索二进制程序(命令)所对应的位置,语法格式为“which 命令名称”
如:which cd 会返回cd这个命令所在的目录路径

查看文本文件内容:
cat 命令用于查看纯文本文件(内容较少的),可以参数-n来显示行号
more 命令用于查看纯文本文件(内容较多的),more命令会在最下面使用百分比的形式来提示您已经阅读了多少内容,还可以使用空格键或回车键向下翻页
head 命令用于查看纯文本文件的前 N 行,比如要查看文本中前 10 行的内容:head -n 10 文件名称
tail 命令用于查看纯文本文件的后 N 行或持续刷新文件的最新内容,比如要查看文本内容的最后 10 行:tail -n 10 文件名称
tail 命令能够持续刷新一个文件的内容,当想要实时查看最新的日志文件时, 可以这样使用:tail -f 文件名称

stat 命令用于查看文件的具体存储细节和时间等信息。Linux 系统中的文件包含3 种时间状态,分别是 Access Time(内容最后一次被访问的时间,简称为 Atime),Modify Time(内容最后一次被修改的时间,简称为 Mtime)以及 Change Time(文件属性最后一次被修改的时间,简称为 Ctime)。

touch 命令用于创建空白文件或设置文件的时间,语法格式为“touch [参数] 文件名称”
如新建一个名称为xxx的文件:
touch xxx
使用touch可以修改文件的访问时间和修改时间:
touch -d “2022-11-20 15:50” xxx
参数-d是同时修改“访问时间”和“修改时间”,若只修改“访问时间”,可用参数-a,若只修改“修改时间”,可用参数-m

网络相关
ip addr ( 或者ip a )显示当前ip地址
ifdown eth0 禁用 ‘eth0’ 网络设备
ifup eth0 启用 ‘eth0’ 网络设备
使用 nmtui 可以调出图形界面设置网络参数

查看公网的VPS服务器的公网ip地址:
curl ifconfig.me
wget -qO- ifconfig.me/ip
curl icanhazip.com (测试返回ipv6)

Cenos7、8的网卡配置文件路径:
/etc/sysconfig/network-scripts
如果配置静态ip,则修改如下配置:
BOOTPROTO=static //引导协议:dhcp自动获取、static静态、none不指定
ONBOOT=yes //开机自动激活网卡
IPADDR=192.168.1.110 // 静态ip
GATEWAY=192.168.1.1 // 网关地址
NETMASK=255.255.255.0 // 子网掩码
DNS1=192.168.1.1 // DNS地址
DNS2=8.8.8.8
然后 systemctl restart network 重启网络服务 ……………………………………
Centos8 默认情况下是没有激活网卡的,首先应该激活网卡,这样才能访问网络。
启用网卡连接connection(相当于ifup):
1、查看网上接口信息:nmcli d
2、激活打开网卡连接:nmcli c up ethX(enoX) ethX(enoX)为网卡接口名称
3、设置自动启动网卡:nmcli connection modify ethX(enoX) connection.autoconnect yes
例如 nmcli connection modify ens192 connection.autoconnect yes (实际修改的是网卡配置文件中的ONBOOT=yes)
停止网卡连接connection(相当于ifdown): nmcli c down ethX(enoX)
…………………………………
运行nmtui图形界面: nmtui
……………………………………….
列出网卡设备
使用 ifconfig -a 命令查看;
使用 lspci | grep -i “eth” 或 lspci | grep -i net 命令查看,列出每个pci总线上的设备,通过grep过滤后可得到网卡设备列表
iwconfig 用于查看无线网络
lspci | grep -i eth 查看有线网卡型号
lspci | grep Network 无线网卡型号

查看有哪些外部IP正在访问本机服务器,并按照连接次数从多到少排序:
netstat -n | grep -E 'tcp|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head
………………………………………….
查看HBA卡
lspci | grep -i Fibre

系统相关
查看linux内核版本号的三种命令:
uname -a
uname -r
cat /proc/version hostnamectl 查看linux系统版本号和内核版本号

**查看linux操作系统版本号的四种命令:
cat /etc/redhat-release
rpm -q centos-release
lsb_release -a 如果提示找不到这个命令,可以 yum install redhat-lsb -y 安装后再使用。
cat /etc/issue 适合于ubuntu系统

查看已安装的CPU型号
dmidecode -t processor | grep "Version:" | awk '{print $2" "$3" "$4" "$5" "$6}'

查看物理CPU个数、核数、逻辑CPU个数
总核数 = 物理CPU个数 X 每颗物理CPU的核数
总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数
……………………………………
查看物理CPU的数量
cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
查看单个物理CPU中core的个数(即核数)
cat /proc/cpuinfo | grep "cpu cores" | uniq
查看逻辑CPU的个数
cat /proc/cpuinfo | grep "processor" | wc -l
查看CPU信息
cat /proc/cpuinfo | head -20
查看CPU信息(型号)
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
查看CPU主频
cat /proc/cpuinfo |grep MHz|uniq
……………………………………
列出已安装的内存信息以及内存位于哪个插槽上:

dmidecode -t memory | awk '/^[[:space:]]+Size:/ {size=$2}/^[[:space:]]+Locator:/ {locator=$2} /^[[:space:]]+Type:/ {type=$2} /^[[:space:]]+Speed:/ {speed=$2} /^[[:space:]]+Manufacturer:/ {manufacturer=$2} /^[[:space:]]+Serial Number:/ {serial=$3} /^[[:space:]]+Part Number:/ {part=$3} /^[[:space:]]+Rank:/ {rank=$2} /^[[:space:]]+Configured Clock Speed:/ {config_speed=$4} /^$/ {if (size != "" && locator != "") print size, locator, type, speed, manufacturer, serial, part, rank, config_speed; size=""; locator=""}'

查看内存硬件信息:
dmidecode -t memory | head -45 | tail -24
查询内存条数:
dmidecode -t 17 | grep "Size.*MB" | wc -l
查看现有内存数量和内存大小:
dmidecode | grep -A16 "Memory Device" | grep "Size" | sed 's/^[ \t]*//'
查看最大支持内存容量:
dmidecode|grep -P 'Maximum\s+Capacity'
或者
dmidecode | grep "Maximum Capacity" | sed "s/^[ \t]*//"
查看内存槽数、那个槽位插了内存,大小是多少:
dmidecode|grep -P -A5 "Memory\s+Device"|grep Size|grep -v Range
查看槽位上内存的速率,没插就是unknown:
dmidecode | grep -A16 "Memory Device" | grep 'Speed'
下面这边命令可查看内存的插槽数量(Number Of Devices)、最大扩展内存容量(Maximum Capacity)、单根内存最大容量、当前内存总容量
dmidecode -t 16

……………………………………
列出阵列卡信息:
lspci | grep -i raid 或者 lspci -nn | grep -i raid
列出硬盘信息:
lshw -class disk
……………………………………
dmidecode命令查看硬件信息:
dmidecode -s system-product-name 查看机器的型号
dmidecode -s system-serial-number 查看机器的序列号
同时查看机器的生产制造商、产品型号、产品序列号:
dmidecode | grep "System Information" -A9 | egrep "Manufacturer|Product|Serial"

dmidecode # 打印所有硬件信息
dmidecode -q # 打印所有硬件信息,比较简洁
dmidecode -h # 获取帮助
dmidecode | grep 'Product Name' # 以过滤的方式来查看指定的硬件信息
dmidecode --type bios # 查看BIOS相关的硬件信息,-t 等价于–type
dmidecode --type system # 查看系统相关的硬件信息
dmidecode --type baseboard # 查看主板相关的硬件信息
dmidecode --type chassis # 查看机箱相关的硬件信息
dmidecode --type processor # 查看处理器相关的硬件信息
dmidecode --type memory # 查看内存相关的硬件信息
dmidecode |grep 'Serial Number' # 查看主板的序列号
dmidecode -s system-serial-number # 查看系统序列号
dmidecode -t 11

修改主机名:
hostnamectl set-hostname somename
用hostnamectl设置主机名会立刻生效并且存入配置文件,重启系统不会被重置,不必再修改配置文件。

查询服务器的架构,在命令行中输入:arch 进行查询
输出结果:x86_64 代表 amd64 ; aarch64 代表 arm64

MYSQL相关
查看MYSQL版本信息:
mysql -V
………………………
登录mysql数据库:
mysql -u 用户名 -p 然后按提示输入密码
连接到远程主机上的MYSQL:
mysql -h ip地址 -u 用户名 -p密码
退出mysql命令 :exit
………………………
show databases; //显示数据库列表(包括英文的分号)
use 数据库名称; //打开数据库(包括英文的分号)
show 数据表名称; //显示数据表(包括英文的分号)
describe 表名; //显示数据表的结构(简写:desc 表名;)
备份数据库存命令(在linux命令行中,不用进入mysql>提示符):
mysqldump -u 用户名 -p 要备份的数据库名称 > 备份出来的数据库名称.sql;
比如: mysqldump -u admin -p vm_data_20211216 > vm_data_20211216_bak20221026.sql;
…………………………..
恢复数据库:
可以创建一个新的数据库,也可以不创建。在mysql命令行下,可以使用“select user,host from mysql.user;”查看用户列表,用有权限的用户登录mysql,比如root用户,密码是数据库的密码,不是系统密码
mysql -u root -p;
create database 新建的数据库名称;
exit 退出mysql命令行
mysql -u root -p 刚才新建的数据库名称 < 刚才备份出来的数据库名称.sql;
mysql -u root -p vm_data_20211216_01 < vm_data_20211216_bak20221026.sql;
备份时,要注意备份出来的文件所在的目录路径,恢复时最好是进入文件所在的路径进行操作。
…………………………..

lshw 查看硬件信息
lshw 这个命令是一个比较通用的工具,它可以详细的列出本机的硬件信息。但这个命令并非所有的发行版都有,比如 Fedora 就默认没有,需要自己安装。 lshw 可以从各个 /proc 文件中提取出硬件信息,比如:CPU、内存、usb 控制器、硬盘等。如果不带选项的话,列出的信息将很长,加上 -short 选项时,将只列出概要信息。
lshw -short
lscpu 可以列出本机的 CPU 的相关信息。 free 可以查看系统中使用的、闲置的和 RAM 的总体数量,可带参数 -m 或 -g,来以不同的单位显示容量
free -m 以MB为单位查看内存
free -g 以GB为单位查看内存
lsusb 列出与本机相连的所有 USB 设备的信息。默认情况下,只列出概要信息,使用 -v 选项可以列出每一个 USB 口的详细信息。
lsscsi 可以列出诸如硬盘/光驱等 SCSI/SATA 设备信息。
lspci 列出所有 PCI 总线,以及与 PCI 总线相连的所有设备的详细信息,比如 VGA 适配器、显卡、网络适配器、usb 端口、SATA 控制器等。
lscpu 查看CPU信息。CPU信息记录在 /proc/cpuinfo 中,也可以使用 cat cat /proc/cpuinfo | grep ^cpu 来查看。
查看网络适配器(网卡)的硬件信息,包括其制造商:
lshw -C network

查看显卡信息:

  • lspci | grep VGA
    更详细的显卡信息可使用 lshw -C video
  • 如果知道是Nvidia的显卡,可使用 lspci | grep -i nvidia
    这样会回显类似信息如下:
    “00:02.0 VGA compatible controller:NVIDIA Corporation Device 2236(rev a1)”
    其中2236 就是Nvidia显卡的型号对应的标识ID,其对应的具体型号,可到下面网址查询
    http://pci-ids.ucw.cz/read/PC/
    网页拉到最尾,在搜索框中输入显卡的ID标识进行查询。
  • 如果是nvidia的显卡并安装了驱动程序后,还可以使用命令 nvidia-smi -L 直接查看Nvidia显卡的型号。

查看正在运行的服务:
systemctl | grep running
查看指定服务运行状态:
systemctl | grep apache2

查看进程

  • ps aux #以简单的列表形式显示出进程信息
    a : 显示当前终端下的所有进程信息,包括其他用户的进程
    u :以用户为主的进程状态
    x :通常与 a 这个参数一起使用,显示当前用户在所有终端下的进程信息
    ps -elf #以长格式显示系统的进程信息,并包含更丰富的内容
    -e:显示系统内所有的进程信息
    -l :使用长格式显示进程信息
    -f :使用完整的格式显示进程信息
    ps命令常配合管道命令 | 和查找命令 grep 同时执行来查看特定进程,如: ps -ef | grep caddy
    查找某个进程所在的目录:ps -aux | grep 28990 其中28990是进程的PID,PID可通过top命令查看到。
  • top 命令。top 命令会在当前终端以全屏交互式的界面显示进程排名,及时跟踪CPU、内存等系统资源占用情况,默认情况下每三秒刷新一次,其作用类似于windows系统中的任务管理器。
    top -Hp 查看进程详细信息获取目标线程的CPU使用情况
    默认top命令是3秒刷新一次,可以加参数改成1秒
    即 top -d 1
    按cpu排序:
    top命令后,输入大写的P
    按内存排序:
    top命令后,输入大写的M

jstack 命令是JDK工具之一,使用该命令可以打印正在运行中 Java 进程的栈信息。 首先使用 jps命令查看需要打印线程栈的java进程号; 再链接到某个进程号(如82)上,使用下面命令: jstack 82 可以看到控制台打印出了线程的信息以及线程对应的堆栈信息。

查看开放的端口
netstat -aptn

查看端口占用情况
lsof -i :端口号
例如 lsof -i :80 \查看占用了80端口的进程 netstat
netstat -tunlp 用于显示 tcp,udp 的端口和进程等相关情况。
netstat 查看端口占用语法格式:
netstat -tunlp | grep 端口号
-t (tcp) 仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化为数字
-l 仅列出在Listen(监听)的服务状态
-p 显示建立相关链接的程序名
例如查看 8000 端口的情况,使用以下命令:
netstat -tunlp | grep 8000
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 26993/nodejs
更多命令:
netstat -ntlp //查看当前所有tcp端口,n是使用ip地址不使用域名显示,t是显示TCP协议的连接状态,l是仅列出当前正在监听的服务状态,p是显示正在使用的Socket信息(进程名称和进程id)
netstat -u //查看UDP协议的连接状态 netstat -ntulp | grep 80 //查看所有80端口使用情况
netstat -ntulp | grep 3306 //查看所有3306端口使用情况
netstat -a

kill
在查到端口占用的进程后,如果你要杀掉对应的进程可以使用 kill 命令:
kill -9 PID
如上实例,我们看到 8000 端口对应的 PID 为 26993,使用以下命令杀死进程:
kill -9 26993

df 命令可以列出不同分区的大小,使用情况,使用率,挂载点等信息,加上 -h 选项可以以 k, M, G 等单位表示大小,否则默认是字节,不容易阅读。
列出网卡设备
使用 ifconfig -a 命令查看;
使用 lspci | grep -i “eth” 或 lspci | grep -i net 命令查看,列出每个pci总线上的设备,通过grep过滤后可得到网卡设备列表
iwconfig 用于查看无线网络
dmidecode -t bios 查看BIOS信息。

su 用户名 #用于切换用户
sudo 获取root权限 poweroff 关机
shutdown -h now 关机
shutdown -r now 重启
reboot 重启

docker命令
使用 docker images -a 命令来查看所有镜像
使用 docker rmi 镜像ID号 来删除镜像。如:sudo docker rmi c49ba8e92691

使用 docker ps -a 命令来查找要删除的容器名或ID
使用 sudo docker rm 容器ID或容器名称。如:sudo docker rm 2c4cbc16436f

LNMP 查看Apache Nginx PHP mysql版本命令 linux 下查看Apache版本 httpd -v
linux 下查看Nginx版本 nginx -v
linux 下查看PHP版本 php -v
linux 下查看mysql版本 mysql -V (大写的V)

systemd 语法
systemctl [command] [unit](配置的应用名称)
command可选项
start:启动指定的unit, 如 systemctl start nginx
stop:关闭指定的unit, 如 systemctl stop nginx
restart:重启指定unit, 如 systemctl restart nginx
reload:重载指定unit, 如 systemctl reload nginx
enable:系统开机时自动启动指定unit,前提是配置文件中有相关配置, 如 systemctl enable nginx
disable:开机时不自动运行指定unit,如 systemctl disable nginx
status:查看指定unit当前运行状态,如 systemctl status nginx

查看用户登录记录
who 命令:显示当前当登录的用户的信息
w 命令:显示登录的用户及其当前执行的任务
users 命令:显示当前当登录的用户的用户名
last 命令:显示当前与过去登录系统的用户的信息
lastb 命令:显示所有登录系统失败的用户的信息
lastlog 命令:显示用户最后一次登录的信息
ac 命令:显示用户连接时间的统计数据。ac -d 显示每天的总的连接时间,ac -p 显示每个用户的总的连接时间。
who、w 和 users 等命令通过 utmp(/var/run/utmp) 文件查询当前登录用户的信息。
last 和 ac 命令通过 wtmp(/var/log/wtmp) 文件查询当前与过去登录系统的用户的信息。
lastb 命令通过 btmp(/var/log/btmp) 文件查询所有登录系统失败的用户的信息。
lastlog 命令通过 lastlog(/var/log/lastlog) 文件查询用户最后一次登录的信息。

查看过往历史中使用过的命令:
history
后面加数字可以查看相应的历史命令数量,如果要查看最近10条运行过的命令: history 10

挂载NTFS格式的U盘
安装阿里云yum源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
安装ntfs-3g
yum install ntfs-3g -y
创建挂载目录
mkdir /mnt/u
挂载NTFS格式的U盘
mount -t ntfs-3g /dev/sdc1 /mnt/u
可加参数 -o iocharset=cp936,设定字符集:
mount -t vfat -o iocharset=utf8,codepage=uft8 /dev/sdb1 /mnt/usb
mount -t vfat -o iocharset=cp936,codepage=936 /dev/sdb1 /mnt/usb
cp936是指简体中文,cp950是指繁体中文
检查是否挂载成功
df -hl 查看挂载信息 挂载fat格式的U盘:
mount -t vfat /dev/sdb1 /mnt/

查看已安装的软件包
rpm包
rpm -qa
rpm -qa | grep “软件包名称”
deb
dpkg -l
dpkg -l | grep “软件包名称”
yum
yum list installed
yum list installed | grep “软件包名称”
dnf
dnf list installed
dnf list installed | grep “软件包名称”

软件包安装
yum update 将现有已经安装了的软件包更新到其最新版本,包括操作系统内核和系统的元数据和存储库信息。不会增加新的软件包
yum upgrad 该命令与 yum update 类似,但它除了更新已安装软件包外,还会自动处理依赖关系并升级系统中的软件包。它会将系统中的所有软件包更新到最新可用版本
yum list updates 会列出所有可用的软件包更新,包括已经安装的软件包和尚未安装的软件包。它会显示软件包的名称、版本号和可用的更新版本号
yum check-update 也会列出可用的软件包更新,但它只显示已经安装的软件包的更新信息。如果没有已安装的软件包有可用的更新,它将不会显示任何输出
当使用 yum list updatesyum check-update 查看了可更新的软件包后,可以使用 yum update <package-name> 来升级某个软件包的最新版本,或者使用 update <package-name>-<version> 来升级到指定的某个版本 (将 <package-name> 替换为软件包的名称,将 <version> 替换为要升级到的具体版本号)

新建用户,查看用户,查看用户id信息和所属的组
新建名为user01的用户
useradd user01
查看user01用户所属的用户组
id user01
列出系统中的用户
cat /etc/passwd 或者 getent passwd
修改用户密码:
修改root用户密码passwd ,修改其它用户如user01的密码 passwd user01
除一个用户如user01的密码 用参数-d,密码清除后登录就无需密码:passwd -d user01
查看用户user01的密码状态(是否空密码): passwd -S user01

sosreport 命令用于收集系统配置及架构信息并输出诊断文档,输入该命令后按回车键执行即可

使用 getenforce 命令可以在Linux下查看是否开启了SELinux

ESXI中的centos虚拟机,重新扫描scsi设备重新扫描新添加的磁盘:
yum install scsi-target-utils
rescan-scsi-bus.sh -a
这将重新扫描所有SCSI总线,并将新的磁盘添加到centos中

查看日志
Systemd是Linux系统工具,Systemd拥有强大的解决与系统日志记录功能-systemd-journald。日志目录一般是在/var/log/journal,记录的是二进制文件,我们可以通过journalctl进行查看。
显示所有日志:journalctl
查看启动只有的所有日志:journalctl -b
查看最后10条日志:journalctl -n 10
跟踪日志:journalctl -f
只显示冲突、告警和错误:journalctl -p err..alert
显示某个单元日志(也可以同时显示多个增加多个 -u nginx.service -u php-fom.service):journalctl -u nginx.service

根据时间查找: journalctl --since "20 min ago" #查找20分钟前的日志
journalctl --since today #查找今天的日志
journalctl –until 2020-05-27 #查找2020-05-27日期的日志
查看内核日志:journalctl -k
查找指定客户(UID)日志:journalctl _UID=1000

评论