常用linux命令(注:此命令在centos7.5中全部可用)

一、查看当前登录或操作的用户:

whoami

二、从当前用户切换到root用户:

su root

从root用户切换到别的用户:

su 用户名

三、查看cpu型号

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

Intel(R) Core(TM) i7-7820HQ CPU @ 2.90GHz

lscpu也可查看cpu信息

Architecture: x86_64

CPU op-mode(s): 32-bit, 64-bit

Byte Order: Little Endian

CPU(s): 2

On-line CPU(s) list: 0,1

Thread(s) per core: 1

Core(s) per socket: 1

座: 2

NUMA 节点: 1

厂商 ID: GenuineIntel

CPU 系列: 6

型号: 158

型号名称: Intel(R) Core(TM) i7-7820HQ CPU @ 2.90GHz

步进: 9

CPU MHz: 2903.587

BogoMIPS: 5807.17

超管理器厂商: VMware

虚拟化类型: 完全

L1d 缓存: 32K

L1i 缓存: 32K

L2 缓存: 256K

L3 缓存: 8192K

NUMA 节点0 CPU: 0,1

Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 invpcid rtm mpx rdseed adx smap clflushopt xsaveopt xsavec ibpb ibrs stibp arat spec_ctrl intel_stibp arch_capabilities

四、查看内存大小:

free -h 或 free -m

[masy@localhost ~]$ free -m

total used free shared buff/cache available

Mem: 5789 942 4287 15 559 4541

Swap: 8191 0 8191

[masy@localhost ~]$ free -h

total used free shared buff/cache available

Mem: 5.7G 943M 4.2G 15M 559M 4.4G

Swap: 8.0G 0B 8.0G

五、查看硬盘大小:

df -h

[masy@localhost ~]$ df -h

文件系统 容量 已用 可用 已用% 挂载点

/dev/mapper/centos-root 32G 3.7G 28G 12% /

devtmpfs 2.9G 0 2.9G 0% /dev

tmpfs 2.9G 0 2.9G 0% /dev/shm

tmpfs 2.9G 13M 2.9G 1% /run

tmpfs 2.9G 0 2.9G 0% /sys/fs/cgroup

/dev/sda1 397M 158M 240M 40% /boot

tmpfs 579M 8.0K 579M 1% /run/user/42

tmpfs 579M 20K 579M 1% /run/user/1000

/dev/sr0 55M 55M 0 100% /run/media/masy/VMware Tools

六、查看ip及网卡mac地址:

ifconfig -a

[masy@localhost ~]$ ifconfig -a

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

ether 00:0c:29:f1:e8:fa txqueuelen 1000 (Ethernet)

RX packets 1 bytes 110 (110.0 B)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 0 bytes 0 (0.0 B)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536

inet 127.0.0.1 netmask 255.0.0.0

inet6 ::1 prefixlen 128 scopeid 0x10<host>

loop txqueuelen 1000 (Local Loopback)

RX packets 48 bytes 4272 (4.1 KiB)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 48 bytes 4272 (4.1 KiB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500

inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255

ether 52:54:00:6d:b1:56 txqueuelen 1000 (Ethernet)

RX packets 0 bytes 0 (0.0 B)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 0 bytes 0 (0.0 B)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

virbr0-nic: flags=4098<BROADCAST,MULTICAST> mtu 1500

ether 52:54:00:6d:b1:56 txqueuelen 1000 (Ethernet)

RX packets 0 bytes 0 (0.0 B)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 0 bytes 0 (0.0 B)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

七、返回到家目录:

什么是家目录?

家目录是在多用户操作系统上包含该系统的特定用户的文件文件系统目录。家目录的具体内容(如它的名称和位置)是由操作系统参与定义的,由环境变量存储;例如: Windows系统在20002003之间的版本中将家目录放在称为 Documents and Settings 的目录中、Windows Vista 以上系统家目录在 Users 文件夹中、Linux系统在 /home 中。

cd ~

[masy@localhost 文档]$ mkdir a

[masy@localhost 文档]$ cd a

[masy@localhost a]$ pwd

/home/masy/文档/a

[masy@localhost a]$ cd ~

[masy@localhost ~]$ pwd

/home/masy

八、查看当前所在路径:

pwd

九、创建目录:

mkdir 目录名

十、linux目录结构:

[masy@localhost ~]$ cd /

[masy@localhost /]$ ls

bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var

常用的重要目录

/

根目录。

包含了几乎所的文件目录。相当于中央系统。进入的最简单方法是:cd /。

/boot

引导程序,内核等存放的目录。

这个目录,包括了在引导过程中所必需的文件,引导程序的相关文件(例如grub,lilo以及相应的配置文件以及Linux操作系统内核相关文件(例如vmlinuz等一般都存放在这里。在最开始的启动阶段,通过引导程序将内核加载到内存,完成内核的启动(这个时候,虚拟文件系统还不存在,加载的内核虽然是从硬盘读取的,但是没经过Linux的虚拟文件系统,这是比较底层的东西来实现的。然后内核自己创建好虚拟文件系统,并且从虚拟文件系统的其他子目录中(例如/sbin 和 /etc加载需要在开机启动的其他程序或者服务或者特定的动作(部分可以由用户自己在相应的目录中修改相应的文件来配制。如果我们的机器中包含多个操作系统,那么可以通过修改这个目录中的某个配置文件(例如grub.conf来调整启动的默认操作系统,系统启动的择菜单,以及启动延迟等参数。

/sbin

超级用户可以使用的命令的存放目录。

存放大多涉及系统管理的命令(例如引导系统的init程序,是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令(但是时普通用户也可能会用到。这个目录和/usr/sbin; /usr/X11R6/sbin或/usr/local/sbin等目录是相似的,我们要记住,凡是目录sbin中包含的都是root权限才能执行的,这样就行了。后面会具体区分。

/bin

普通用户可以使用的命令的存放目录。

系统所需要的那些命令位于此目录,比如ls、cp、mkdir等命令;类似的目录还/usr/bin,/usr/local/bin等等。这个目录中的文件都是可执行的、普通用户都可以使用的命令。作为基础系统所需要的最基础的命令就是放在这里。

/lib

根目录下的所程序的共享库目录。

此目录下包含系统引导和在根用户执行命令时候所必需用到的共享库。做个不太好但是比较形象的比喻,点类似于Windows上面的system32目录。理说,这里存放的文件应该是/bin目录下程序所需要的库文件的存放地,也不排除一些例外的情况。类似的目录还/usr/lib,/usr/local/lib等等。

/dev

设备文件目录。

在Linux中设备都是以文件形式出现,这里的设备可以是硬盘,键盘,鼠标,网卡,终端,等设备,通过访问这些文件可以访问到相应的设备。设备文件可以使用mknod命令来创建,具体参见相应的命令;而为了将对这些设备文件的访问转化为对设备的访问,需要向相应的设备提供设备驱动模块(一般将设备驱动编译之后,生成的结果是一个*.ko类型的二进制文件,在内核启动之后,再通过insmod等命令加载相应的设备驱动之后,我们就可以通过设备文件来访问设备了。一般来说,想要Linux系统支持某个设备,只要个东西:相应的硬件设备,支持硬件的驱动模块,以及相应的设备文件。

/home

普通用户的家目录($HOME目录。

在Linux机器上,用户主目录通常直接或间接地置在此目录下。其结构通常由本地机的管理员来决定。通常而言,系统的每个用户都自己的家目录,目录以用户名作为名字存放在/home下面(例如quietheart用户,其家目录的名字为/home/quietheart。该目录中保存了绝大多数的用户文件(用户自己的配置文件,定制文件,文档,数据等),root用户除外(参见后面的/root目录。由于这个目录包含了用户实际的数据,通常系统管理员为这个目录单独挂载一个独立的磁盘分区,这样这个目录的文件系统格式就可能和其他目录不一样了(尽管表面上看,这个目录还是属于根目录的一棵子树上),有利于数据的维护。

/root

用户root的$HOME目录

系统管理员(就是root用户或超级用户)的主目录比较特殊,不存放在/home中,而是直接放在/root目录下了。

/etc

全局的配置文件存放目录。

系统和程序一般都可以通过修改相应的配置文件,来进行配置。例如,要配置系统开机的时候启动那些程序,配置某个程序启动的时候显示什么样的风格等等。通常这些配置文件都集中存放在/etc目录中,所以想要配置什么东西的话,可以在/etc下面寻找我们可能需要修改的文件。一些大型套件,如X11,在 /etc 下它们自己的子目录。系统配置文件可以放在这里或在 /usr/etc。 不过所程序总是在 /etc 目录下查找所需的配置文件,你也可以将这些文件链接到目录 /usr/etc。另外,还一个需要注意的常见现象就是,当某个程序在某个用户下运行的时候,可能会在该用户的家目录中生成一个配置文件(一般这个文件最开始就是/etc下相应配置文件的拷贝,存放相应于“当前用户”的配置,这样当前用户可以通过配置这个家目录的配置文件,来改变程序的行为,并且这个行为只是该用户特的。原因就是:一般来说一个程序启动,如果需要读取一些配置文件的话,它会首先读取当前用户家目录的配置文件,如果存在就使用;如果不存在它就到/etc下读取全局的配置文件进而启动程序。就是这个配置文件不自动生成,我们手动在自己的家目录中创建一个文件的话,也有许多程序会首先读取到这个家目录的文件并且以它的配置作为启动的选项(例如我们可以在家目录中创建vim程序的配置文件.vimrc,来配置自己的vim程序。

/usr

这个目录中包含了命令库文件和在通常操作中不会修改的文件。

这个目录对于系统来说也是一个非常重要的目录,其地位类似Windows上面的”Program Files”目录(请原谅我可能这样做比较不太恰当^_^。安装程序的时候,默认就是安装在此文件内部某个子文件夹内。输入命令后系统默认执行/usr/bin下的程序(当然,前提是这个目录的路径已经被添加到了系统的环境变量中。此目录通常也会挂载一个独立的磁盘分区,它应保存共享只读类文件,这样它可以被运行Linux的不同主机挂载。

/usr/lib

目标库文件,包括动态连接库加上一些通常不是直接调用的可执行文件的存放位置。

这个目录功能类似/lib目录,理说,这里存放的文件应该是/bin目录下程序所需要的库文件的存放地,也不排除一些例外的情况。

/usr/bin

一般使用者使用并且不是系统自检等所必需可执行文件的目录。

此目录相当于根文件系统下的对应目录(/bin,非启动系统,非修复系统以及非本地安装的程序一般都放在此目录下。

/usr/sbin

管理员使用的非系统必须的可执行文件存放目录。

此目录相当于根文件系统下的对应目录(/sbin,保存系统管理程序的二进制文件,并且这些文件不是系统启动或文件系统挂载 /usr 目录或修复系统所必需的。

/usr/share

存放共享文件的目录。

在此目录下不同的子目录中保存了同一个操作系统在不同构架下工作时特定应用程序的共享数据(例如程序文档信息)。使用者可以找到通常放在 /usr/doc 或 /usr/lib 或 /usr/man 目录下的这些类似数据。

/usr/include

C程序语言编译使用的头文件。

linux下开发和编译应用程序所需要的头文件一般都存放在这里,通过头文件来使用某些库函数。默认来说这个路径被添加到了环境变量中,这样编译开发程序的时候编译器会自动搜索这个路径,从中找到你的程序中可能包含的头文件。

/usr/local

安装本地程序的一般默认路径。

当我们下载一个程序源代码,编译并且安装的时候,如果不特别指定安装的程序路径,那么默认会将程序相关的文件安装到这个目录的对应目录下。例如,安装的程序可执行文件被安装(安装实质就是复制到了/usr/local/bin下面,此程序(可执行文件所需要依赖的库文件被安装到了/usr/local/lib目录下,被安装的软件如果是某个开发库(例如Qt,Gtk等那么相应的头文件可能就被安装到了/usr/local/include中等等。也就是说,这个目录存放的内容,一般都是我们后来自己安装的软件的默认路径,如果择了这个默认路径作为软件的安装路径,被安装的软件的所文件都限制在这个目录中,其中的子目录就相应于根目录的子目录。

/proc

特殊文件目录。

这个目录采用一种特殊的文件系统格式(proc格式,内核支持这种格式。其中包含了全部虚拟文件。它们并不保存在磁盘中,也不占据磁盘空间(尽管命令ls -c会显示它们的大小)。当您查看它们时,您实际上看到的是内存里的信息,这些文件助于我们了解系统内部信息。例如:

├1/ 关于进程1的信息目录。每个进程在/proc 下一个名为其进程号的目录。

├cpuinfo 处理器信息,如类型、制造商、型号和性能。

├devices 当前运行的核心配置的设备驱动的列表。

├dma 显示当前使用的DMA通道。

├filesystems 核心配置的文件系统。

├interrupts 显示使用的中断,and how many of each there have been.

├ioports 当前使用的I/O端口。

├kcore 系统物理内存映象。与物理内存大小一样,但实际不占这么多内存;

├kmsg 核心输出的消息。也被送到syslog 。

├ksyms 核心符号表。

├loadavg 系统”平均负载”;3个没意义的指示器指出系统当前的工作量。

├meminfo 存储器使用信息,包括物理内存和swap。

├modules 当前加载了哪些核心模块。

├net 网络协议状态信息。

├self 到查看/proc 的程序的进程目录的符号连接。

├stat 系统的不同状态

├uptime 系统启动的时间长度。

└version 核心版本。

/opt

可择的文件目录。

这个目录表示的是可择的意思,些自定义软件包或者第方工具,就可以安装在这里。比如在Fedora Core 5.0中,OpenOffice就是安装在这里。些我们自己编译的软件包,就可以安装在这个目录中;通过源码包安装的软件,可以把它们的安装路径设置成/opt这样来安装。这个目录的作用一点类似/usr/local。

/mnt

临时挂载目录。

这个目录一般是用于存放挂载储存设备的挂载目录的,比如磁盘,光驱,网络文件系统等,当我们需要挂载某个磁盘设备的时候,可以把磁盘设备挂载到这个目录上去,这样我们可以直接通过访问这个目录来访问那个磁盘了。一般来说,我们最好在/mnt目录下面多建立几个子目录,挂载的时候挂载到这些子目录上面,因为通常我们可能不仅仅是挂载一个设备吧?

/media

挂载的媒体设备目录。

挂载的媒体设备目录,一般外部设备挂载到这里,例如cdrom等。比如我们插入一个U盘,我们一般会发现,Linux自动在这个目录下建立一个disk目录,然后把U盘挂载到这个disk目录上,通过访问这个disk来访问U盘。

十一、给命令起个别名:

alias

alias cls=clear

十二、清屏命令:

clear

十三、linux中的各种shell:

什么是shell?

Shell(也称为壳层)在计算机科学中指“为用户提供用户界面”的软件,通常指的是命令行界面的解析器。一般来说,这个词是指操作系统中提供访问内核所提供之服务的程序。Shell也用于泛指所有为用户提供操作界面的程序,也就是程序和用户交互的接口。因此与之相对的是内核(英语:Kernel),内核不提供和用户的交互功能。

查看当前linux下的shell类型:

echo $SHELL

[masy@localhost /]$ echo $SHELL

/bin/bash

查看当前linux支持的shell类型:

more /etc/shells

[masy@localhost /]$ more /etc/shells

/bin/sh

/bin/bash

/sbin/nologin

/usr/bin/sh

/usr/bin/bash

/usr/sbin/nologin

/bin/tcsh

/bin/csh

目前流行的shell有ash、bash、ksh、csh、zsh,如下介绍:

bash:bash shell 是 Bourne shell 的一个免费版本,它是最早的 Unix shell,也是很多linux版本默认的shell。

csh :C shell 使用的是“类C”语法,借鉴了 Bourne shell 的许多特点,它由以William Joy为代表的共计47位作者编成,共有52个内部命令。该shell其实是指向/bin/tcsh这样的一个shell,也就是说,csh其实就是tcsh。

ksh:Korn shell 的语法与 Bourne shell 相同,同时具备了 C shell 的易用特点。由Eric Gisin编写,共有42条内部命令。该shell最大的优点是几乎和商业发行版的ksh完全兼容,这样就可以在不用花钱购买商业版本的情况下尝试商业版本的性能了。

zsh :Z shell 是 Korn shell 的一个增强版本,是Linux最大的shell之一,由Paul Falstad完成,共有84个内部命令。如果只是一般的用途,是没有必要安装这样的shell

ash:ash shell是由Kenneth Almquist编写的,Linux中占用系统资源最少的一个小shell,它只包含24个内部命令,因而使用起来很不方便。

tcsh :TC shell 是 C shell 的一个增强版本,与 C shell 完全兼容。

十四、linux中的环境变量:

环境变量的作用?

环境变量是系统运行时所需的一些参数,或运行应用程序,或运行系统程序,多需要相应的参数。一般常用的是path,classpath ,path是程序路径,classpath 为程序运行所需lib的路径。程序运行需要相应的设置。

Linux环境变量分类

一、按照生命周期来分,Linux环境变量可以分为两类:

1、永久的:需要用户修改相关的配置文件,变量永久生效。

2、临时的:用户利用export命令,在当前终端下声明环境变量,关闭Shell终端失效。

二、按照作用域来分,Linux环境变量可以分为:

1、系统环境变量:系统环境变量对该系统中所有用户都有效。

2、用户环境变量:顾名思义,这种类型的环境变量只对特定的用户有效。

Linux设置环境变量的方法

一、在/etc/profile文件中添加变量 对所有用户生效(永久的)

用vim在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。

例如:编辑/etc/profile文件,添加CLASSPATH变量

vim /etc/profile

# /etc/profile

# System wide environment and startup programs, for login setup

# Functions and aliases go in /etc/bashrc

# It's NOT a good idea to change this file unless you know what you

# are doing. It's much better to create a custom.sh shell script in

# /etc/profile.d/ to make custom changes to your environment, as this

# will prevent the need for merging in future updates.

pathmunge () {

case ":${PATH}:" in

*:"$1":*)

;;

*)

if [ "$2" = "after" ] ; then

PATH=$PATH:$1

else

PATH=$1:$PATH

fi

esac

}

if [ -x /usr/bin/id ]; then

if [ -z "$EUID" ]; then

# ksh workaround

EUID=`/usr/bin/id -u`

UID=`/usr/bin/id -ru`

fi

USER="`/usr/bin/id -un`"

LOGNAME=$USER

MAIL="/var/spool/mail/$USER"

fi

# Path manipulation

if [ "$EUID" = "0" ]; then

pathmunge /usr/sbin

pathmunge /usr/local/sbin

else

pathmunge /usr/local/sbin after

pathmunge /usr/sbin after

fi

HOSTNAME=`/usr/bin/hostname 2>/dev/null`

HISTSIZE=1000

if [ "$HISTCONTROL" = "ignorespace" ] ; then

export HISTCONTROL=ignoreboth

else

export HISTCONTROL=ignoredups

注:修改文件后要想马上生效还要运行source /etc/profile不然只能在下次重进此用户时生效。

二、在用户目录下的.bash_profile文件中增加变量 【对单一用户生效(永久的)】

用vim ~/.bash_profile文件中增加变量,改变量仅会对当前用户有效,并且是“永久的”。

vim ~/.bash_profile

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi

# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH

~

~

~

~

~

~

~

~

~

~

注:修改文件后要想马上生效还要运行$ source ~/.bash_profile不然只能在下次重进此用户时生效。

三、直接运行export命令定义变量 【只对当前shellBASH)有效(临时的)】

在shell的命令行下直接使用export 变量名=变量值

定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。

Linux环境变量使用

一、Linux中常见的环境变量有:

  • PATH:指定命令的搜索路径

PATH声明用法:

PATH=$PAHT:<PATH 1>:<PATH 2>:<PATH 3>:--------:< PATH n >

export PATH

你可以自己加上指定的路径,中间用冒号隔开。环境变量更改后,在用户下次登陆时生效。

可以利用echo $PATH查看当前当前系统PATH路径。

  • HOME:指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录)。

  • HISTSIZE:指保存历史命令记录的条数。

  • LOGNAME:指当前用户的登录名。

  • HOSTNAME:指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的

  • SHELL:指当前用户用的是哪种Shell。

  • LANG/LANGUGE:和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。

  • MAIL:指当前用户的邮件存放目录。

注意:上述变量的名字并不固定,如HOSTNAME在某些Linux系统中可能设置成HOST

二、Linux也提供了修改和查看环境变量的命令,下面通过几个实例来说明:

  • echo 显示某个环境变量值 echo $PATH

  • export 设置一个新的环境变量 export HELLO="hello" (可以无引号)

  • env 显示所有环境变量

  • set 显示本地定义的shell变量

  • unset 清除环境变量 unset HELLO

  • readonly 设置只读环境变量 readonly HELLO

十五、显示文本文件的内容:

cat 文件所在路径/文件名

[masy@localhost /]$ touch abc

touch: 无法创建"abc": 权限不够

[masy@localhost /]$ pwd

/

[masy@localhost /]$ cd ~

[masy@localhost ~]$ touch abc

[masy@localhost ~]$ vi abc

[masy@localhost ~]$ cat abc

abc

abc

abc

abc

十六、创建文件:

touch 文件名

十七、man命令:查看命令的用法

man chown

CHOWN(1) User Commands CHOWN(1)

NAME

chown - change file owner and group

SYNOPSIS

chown [OPTION]... [OWNER][:[GROUP]] FILE...

chown [OPTION]... --reference=RFILE FILE...

DESCRIPTION

This manual page documents the GNU version of chown. chown changes the user and/or group ownership of each given file. If only an owner (a user name or numeric user ID) is

given, that user is made the owner of each given file, and the files' group is not changed. If the owner is followed by a colon and a group name (or numeric group ID), with

no spaces between them, the group ownership of the files is changed as well. If a colon but no group name follows the user name, that user is made the owner of the files

and the group of the files is changed to that user's login group. If the colon and group are given, but the owner is omitted, only the group of the files is changed; in

this case, chown performs the same function as chgrp. If only a colon is given, or if the entire operand is empty, neither the owner nor the group is changed.

OPTIONS

Change the owner and/or group of each FILE to OWNER and/or GROUP. With --reference, change the owner and group of each FILE to those of RFILE.

-c, --changes

like verbose but report only when a change is made

-f, --silent, --quiet

suppress most error messages

-v, --verbose

output a diagnostic for every file processed

--dereference

affect the referent of each symbolic link (this is the default), rather than the symbolic link itself

-h, --no-dereference

affect symbolic links instead of any referenced file (useful only on systems that can change the ownership of a symlink)

--from=CURRENT_OWNER:CURRENT_GROUP

change the owner and/or group of each file only if its current owner and/or group match those specified here. Either may be omitted, in which case a match is not

required for the omitted attribute

--no-preserve-root

do not treat '/' specially (the default)

--preserve-root

fail to operate recursively on '/'

--reference=RFILE

use RFILE's owner and group rather than specifying OWNER:GROUP values

-R, --recursive

operate on files and directories recursively

Manual page chown(1) line 1 (press h for help or q to quit)

十八、查看当前系统时间

date

十九、ping命令:

ping www.baidu.com

[masy@localhost ~]$ ping wwww.baidu.com

PING ps_other.a.shifen.com (123.125.114.144) 56(84) bytes of data.

64 bytes from 123.125.114.144 (123.125.114.144): icmp_seq=1 ttl=128 time=22.3 ms

64 bytes from 123.125.114.144 (123.125.114.144): icmp_seq=2 ttl=128 time=33.6 ms

64 bytes from 123.125.114.144 (123.125.114.144): icmp_seq=3 ttl=128 time=29.3 ms

64 bytes from 123.125.114.144 (123.125.114.144): icmp_seq=4 ttl=128 time=37.3 ms

64 bytes from 123.125.114.144 (123.125.114.144): icmp_seq=5 ttl=128 time=32.9 ms

64 bytes from 123.125.114.144 (123.125.114.144): icmp_seq=6 ttl=128 time=28.9 ms

64 bytes from 123.125.114.144 (123.125.114.144): icmp_seq=7 ttl=128 time=38.3 ms

64 bytes from 123.125.114.144 (123.125.114.144): icmp_seq=8 ttl=128 time=43.5 ms

64 bytes from 123.125.114.144 (123.125.114.144): icmp_seq=9 ttl=128 time=31.9 ms

64 bytes from 123.125.114.144 (123.125.114.144): icmp_seq=10 ttl=128 time=27.5 ms

^C

--- ps_other.a.shifen.com ping statistics ---

10 packets transmitted, 10 received, 0% packet loss, time 18045ms

rtt min/avg/max/mdev = 22.340/32.602/43.574/5.764 ms

二十、查看文件大小:

du -h 文件名

[masy@localhost a]$ cd ~

[masy@localhost ~]$ ls

abc core.2527 公共 模板 视频 图片 文档 下载 音乐 桌面

[masy@localhost ~]$ du -h abc

4.0K abc

二十一、查看linux版本:

cat /proc/version

[root@centos ~]# cat /proc/version

Linux version 2.6.32-573.el6.x86_64 (mockbuild@c6b9.bsys.dev.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC) ) #1 SMP Thu Jul 23 15:44:03 UTC 2015

二十二、查看linux内核信息:

uname -a

[root@centos ~]# uname -a

Linux centos 2.6.32-573.el6.x86_64 #1 SMP Thu Jul 23 15:44:03 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

二十三、 查看进程信息:

ps -l

各相关信息的意义为:

  • F 代表这个程序的旗标 (flag), 4 代表使用者为 superuser;

  • S 代表这个程序的状态 (STAT);

  • UID 代表执行者身份

  • PID 进程的ID号!

  • PPID 父进程的ID;

  • C CPU使用的资源百分比

  • PRI指进程的执行优先权(Priority的简写),其值越小越早被执行;

  • NI 这个进程的nice值,其表示进程可被执行的优先级的修正数值。

  • ADDR 这个是内核函数,指出该程序在内存的那个部分。如果是个执行 的程序,一般就是『 - 』

  • SZ 使用掉的内存大小;

  • WCHAN 目前这个程序是否正在运作当中,若为 - 表示正在运作;

  • TTY 登入者的终端机位置;

  • TIME 使用掉的 CPU 时间。

  • CMD 所下达的指令名称

当前内存中正在运行的进程:

ps aux

[root@centos ~]# ps aux

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

root 1 0.0 0.0 19356 1540 ? Ss Apr26 16:53 /sbin/init

root 2 0.0 0.0 0 0 ? S Apr26 0:00 [kthreadd]

root 3 0.0 0.0 0 0 ? S Apr26 0:00 [migration/0]

root 4 0.0 0.0 0 0 ? S Apr26 0:00 [ksoftirqd/0]

root 5 0.0 0.0 0 0 ? S Apr26 0:00 [stopper/0]

root 6 0.0 0.0 0 0 ? S Apr26 0:06 [watchdog/0]

root 7 0.0 0.0 0 0 ? S Apr26 0:01 [migration/1]

root 8 0.0 0.0 0 0 ? S Apr26 0:00 [stopper/1]

root 9 0.0 0.0 0 0 ? S Apr26 0:00 [ksoftirqd/1]

root 10 0.0 0.0 0 0 ? S Apr26 0:05 [watchdog/1]

root 11 0.0 0.0 0 0 ? S Apr26 0:00 [migration/2]

root 12 0.0 0.0 0 0 ? S Apr26 0:00 [stopper/2]

root 13 0.0 0.0 0 0 ? S Apr26 0:06 [ksoftirqd/2]

  • USER:该进程属于那个使用者账号。

  • PID :该进程的进程ID号。

  • %CPU:该进程使用掉的 CPU 资源百分比;

  • %MEM:该进程所占用的物理内存百分比;

  • VSZ :该进程使用掉的虚拟内存量 (Kbytes)

  • RSS :该进程占用的固定的内存量 (Kbytes)

  • TTY :该进程是在那个终端机上面运作,若与终端机无关,则显示 ?。另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。

  • STAT:该程序目前的状态,主要的状态有:

  1. R :该程序目前正在运作,或者是可被运作;

  1. S :该程序目前正在睡眠当中,但可被某些讯号(signal) 唤醒。

  1. T :该程序目前正在侦测或者是停止了;

  1. Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态

  • START:该进程被触发启动的时间;

  • TIME :该进程实际使用 CPU 运作的时间。

  • COMMAND:该程序的实际指令。

查询指定的进程:比如查询tomcat

ps aux | grep tomcat | grep -v grep

[root@centos ~]# ps aux | grep tomcat | grep -v grep

root 4920 0.0 0.0 44332 9848 ? Ssl Apr26 118:55 /usr/local/tomcat/bin/MUma1 reboot start

root 114194 0.1 5.1 26945596 3374284 ? Sl Jul12 39:52 /usr/java/jdk1.7.0_79/jre/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -server -XX:PermSize=128m -XX:MaxPermSize=512m -Djava.endorsed.dirs=/usr/local/tomcat/endorsed -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start

[root@centos ~]#

二十四: kill

kill -9 进程号(pid)

二十五:复制文件和目录:

cp 源文件 目标文件

[root@centos ~]# pwd

/root

[root@centos ~]# touch a

[root@centos ~]# ls

a anaconda-ks.cfg install.log install.log.syslog stat_ip2018322.log 桌面 下载 文档 音乐 视频 图片 公共瘿 模板

[root@centos ~]# cd /home

[root@centos home]# ls

lost+found user

[root@centos home]# cp /root/a ./

[root@centos home]# ls

a lost+found user

[root@centos home]#

复制目录:

[root@centos ~]# mkdir abc

[root@centos ~]# cd abc/

[root@centos abc]# mkdir abc

[root@centos abc]# touch a

[root@centos abc]# cd ..

[root@centos ~]# cd ..

[root@centos /]# ls

bin boot dev etc home idus.log lib lib64 lost+found media misc mnt net opt proc root ROOT sbin selinux srv sso sso1 sys test test1 tmp usr var vga.conf

[root@centos /]# cd /root/

You have mail in /var/spool/mail/root

[root@centos ~]# ls

abc anaconda-ks.cfg install.log install.log.syslog stat_ip2018322.log 桌面 下载 文档 音乐 视频 图片 公共瘿 模板

[root@centos ~]# cp -R ./abc/ /home

[root@centos ~]# cd /home

[root@centos home]# ls

abc lost+found user

二十六: 重命名和移动文件(文件夹)

重命名文件夹:

[root@centos home]# mv ./abc ./efg

[root@centos home]# ls

efg lost+found user

二十七:删除文件和文件夹:

rm -rf 文件或文件夹

二十八:关机

shutdown now

二十九、重启:

reboot

三十、 top

[root@centos ~]# top

top - 21:07:43 当前时间

up 94 days, 10:51, 系统运行时间

2 users, 当前登录用户数

load average: 0.00, 0.00, 0.01 系统负载

Tasks: 759 total, 进程总数

1 running, 正在运行的进程数

758 sleeping, 睡眠的进程数

0 stopped, 停止的进程数

0 zombie 僵尸进程数

什么是僵尸进程?

僵尸进程是当子进程比父进程先结束,而父进程又没有回收子进程,释放子进程占用的资源,此时子进程将成为一个僵尸进程。

Cpu(s): 0.1%us, 用户空间占用CPU百分比

0.1%sy, 内核空间占用CPU百分比

0.0%ni, 用户进程空间内改变过优先级的进程占用CPU百分比

99.8%id, 空闲CPU百分比

0.0%wa, 等待输入输出的CPU时间百分比

0.0%hi, 硬件CPU中断占用百分比

0.0%si, 软中断占用百分比

0.0%st虚拟机占用百分比

Mem: 65858936k total, 6969232k used, 58889704k free, 189252k buffers

Swap: 33005564k total, 0k used, 33005564k free, 2157784k cached

序号 列名 含义

a PID 进程id

b PPID 父进程id

c RUSER Real user name

d UID 进程所有者的用户id

e USER 进程所有者的用户名

f GROUP 进程所有者的组名

g TTY 启动进程的终端名。不是从终端启动的进程则显示为 ?

h PR 优先级

i NI nice值。负值表示高优先级,正值表示低优先级

j P 最后使用的CPU,仅在多CPU环境下有意义

k %CPU 上次更新到现在的CPU时间占用百分比

l TIME 进程使用的CPU时间总计,单位秒

m TIME+ 进程使用的CPU时间总计,单位1/100秒

n %MEM 进程使用的物理内存百分比

o VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES

p SWAP 进程使用的虚拟内存中,被换出的大小,单位kb。

q RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA

r CODE 可执行代码占用的物理内存大小,单位kb

s DATA 可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb

t SHR 共享内存大小,单位kb

u nFLT 页面错误次数

v nDRT 最后一次写入到现在,被修改过的页面数。

w S 进程状态(D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程)

x COMMAND 命令名/命令行

y WCHAN 若该进程在睡眠,则显示睡眠中的系统函数名

z Flags 任务标志,参考 sched.h

三十一、输出重定向:

Linux允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中。

>

>输出重定向会覆盖原来的内容

>>

>>输出重定向则会追加到文件的尾部

[root@centos home]# ll > ./msy

[root@centos home]# cat msy

؜ԃ 24

drwxr-xr-x 3 root root 4096 7Ղ 29 20:29 efg

drwx------. 2 root root 16384 4Ղ 10 2017 lost+found

-rw-r--r-- 1 root root 0 7Ղ 30 19:42 msy

drwx------. 27 user user 4096 4Ղ 10 2017 user

[root@centos home]# ll >> ./msy

You have new mail in /var/spool/mail/root

[root@centos home]# cat msy

؜ԃ 24

drwxr-xr-x 3 root root 4096 7Ղ 29 20:29 efg

drwx------. 2 root root 16384 4Ղ 10 2017 lost+found

-rw-r--r-- 1 root root 0 7Ղ 30 19:42 msy

drwx------. 27 user user 4096 4Ղ 10 2017 user

؜ԃ 28

drwxr-xr-x 3 root root 4096 7Ղ 29 20:29 efg

drwx------. 2 root root 16384 4Ղ 10 2017 lost+found

-rw-r--r-- 1 root root 212 7Ղ 30 19:42 msy

drwx------. 27 user user 4096 4Ղ 10 2017 user

[root@centos home]# ls

efg lost+found msy user

[root@centos home]# more msy

؜ԃ 24

drwxr-xr-x 3 root root 4096 7Ղ 29 20:29 efg

drwx------. 2 root root 16384 4Ղ 10 2017 lost+found

-rw-r--r-- 1 root root 0 7Ղ 30 19:42 msy

drwx------. 27 user user 4096 4Ղ 10 2017 user

؜ԃ 28

drwxr-xr-x 3 root root 4096 7Ղ 29 20:29 efg

drwx------. 2 root root 16384 4Ղ 10 2017 lost+found

-rw-r--r-- 1 root root 212 7Ղ 30 19:42 msy

drwx------. 27 user user 4096 4Ղ 10 2017 user

三十二、分屏显示:more

查看内容时,在信息过长无法在一屏上显示时,会出现快速滚屏,使得用户无法看清文件的内容,此时可以使用more命令,每次只显示一页,按下空格键可以显示下一页,按下q键退出显示,按下h键可以获取帮助。

三十三、显示已执行命令的历史:history

历史命令存放位置:~/.bash_history

三十四、管道:|

管道:一个命令的输出可以通过管道做为另一个命令的输入。

管道我们可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里“ | ”的左右分为两端,左端塞东西(写),右端取东西(读)。

ls / | more

三十五、建立链接文件:ln

Linux链接文件类似于Windows下的快捷方式。

链接文件分为软链接和硬链接。

软链接:软链接不占用磁盘空间,源文件删除则软链接失效。

硬链接:硬链接只能链接普通文件,不能链接目录。

使用格式:

硬链接

ln 源文件 链接文件

软链接

ln -s 源文件 链接文件

如果没有-s选项代表建立一个硬链接文件,两个文件占用相同大小的硬盘空间,即使删除了源文件,链接文件还是存在,所以-s选项是更常见的形式。

注意:如果软链接文件和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径。

三十六、查看或者合并文件内容:cat

cat test1.txt test2.txt

三十七、文本搜索:grep

Linux系统中grep命令是一种强大的文本搜索工具,grep允许对文本文件进行模式查找。如果找到匹配模式, grep打印包含模式的所有行。

grep一般格式为:

grep [-选项] ‘搜索内容串’文件名

在grep命令中输入字符串参数时,最好引号或双引号括起来。

例如:

grep 'a' 1.txt

常用选项说明:

选项

含义

-v

显示不包含匹配文本的所有行(相当于求反)

-n

显示匹配行及行号

-i

忽略大小写

grep搜索内容串可以是正则表达式。

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

grep常用正则表达式:

参数

含义

^a

行首,搜寻以 a开头的行;grep -n '^a' 1.txt

ke$

行尾,搜寻以 ke 结束的行;grep -n 'ke$' 1.txt

[Ss]igna[Ll]

匹配[] 里中一系列字符中的一个;搜寻匹配单词signal、signaL、Signal、SignaL的行;grep -n '[Ss]igna[Ll]' 1.txt

.

(点)匹配一个非换行符的字符;匹配 e 和 e 之间有任意一个字符,可以匹配 eee,eae,eve,但是不匹配 ee,eaae;grep -n 'e.e' 1.txt

三十八、查找文件:find

find命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件。

常用用法:

命令

含义

find . -name test.sh

查找当前目录下所有名为test.sh的文件

find . -name '*.sh'

查找当前目录下所有后缀为.sh的文件

三十九、 归档管理:tar

计算机中的数据经常需要备份,tar是Unix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。

tar使用格式 tar [参数] 打包文件名 文件

打包

tar cvf a.tar *.txt

解包

tar xvf a.tar -C atar

tar命令很特殊,其参数前面可以使用“-”,也可以不使用。

常用参数:

参数

含义

-c

生成档案文件,创建打包文件

-v

列出归档解档的详细过程,显示进度

-f

指定档案文件名称

-t

列出档案中包含的文件

-x

解开档案文件

四十、文件压缩解压:gzip

tar与gzip命令结合使用实现文件打包、压缩。 tar只负责打包文件,但不压缩,用gzip压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz。

gzip使用格式如下:

gzip [选项] 被压缩文件

常用选项:

选项

含义

-d

解压

-r

压缩所有子目录

tar这个命令并没有压缩的功能,它只是一个打包的命令,但是在tar命令中增加一个选项(-z)可以调用gzip实现了一个压缩的功能,实行一个先打包后压缩的过程。

压缩用法:tar cvzf 压缩包包名 文件1 文件2 ...

-z :指定压缩包的格式为:file.tar.gz

解压用法:tar zxvf 压缩包包名

-z :指定压缩包的格式为:file.tar.gz

解压到指定目录:-C (大写字母“C”)

四十一、文件压缩解压:bzip2

tar与bzip2命令结合使用实现文件打包、压缩(用法和gzip一样)。

tar只负责打包文件,但不压缩,用bzip2压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz2。

在tar命令中增加一个选项(-j)可以调用bzip2实现了一个压缩的功能,实行一个先打包后压缩的过程。

压缩用法:tar -jcvf 压缩包包名 文件...(tar jcvf bk.tar.bz2 *.c)

解压用法:tar -jxvf 压缩包包名 (tar jxvf bk.tar.bz2)

四十二、文件压缩解压:zip、unzip

通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip。

压缩文件:zip [-r] 目标文件(没有扩展名) 源文件

解压文件:unzip -d 解压后目录文件 压缩文件

四十三、查看命令位置:which

[root@centos home]# which ls

alias ls='ls --color=auto'

/bin/ls

四十四、修改文件权限:chmod

chmod 修改文件权限有两种使用格式:字母法与数字法。

字母法:chmod u/g/o/a +/-/= rwx 文件

[ u/g/o/a ]

含义

u

user 表示该文件的所有者

g

group 表示与该文件的所有者属于同一组( group )者,即用户组

o

other 表示其他以外的人

a

all 表示这三者皆是

[ +-= ]

含义

+

增加权限

-

撤销权限

=

设定权限

rwx

含义

r

read 表示可读取,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容。

w

write 表示可写入,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。

x

excute 表示可执行,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录。

如果需要同时进行设定拥有者、同组者以及其他人的权限,参考如下:

数字法:“rwx” 这些权限也可以用数字来代替

字母

说明

r

读取权限,数字代号为"4"

w

写入权限,数字代号为"2"

x

执行权限,数字代号为"1"

-

不具任何权限,数字代号为"0"

如执行:chmod u=rwx,g=rx,o=r filename 就等同于:chmod u=7,g=5,o=4 filename

chmod 751 file:

  • 文件所有者:读、写、执行权限

  • 同组用户:读、执行的权限

  • 其它用户:执行的权限

注意:如果想递归所有目录加上相同权限,需要加上参数“ -R ”。 如:chmod 777 test/ -R 递归 test 目录下所有文件加 777 权限

四十五、设置用户密码:passwd

在Unix/Linux中,超级用户可以使用passwd命令为普通用户设置或修改用户密码。用户也可以直接使用该命令来修改自己的密码,而无需在命令后面使用用户名。

四十六、退出登录账户:exit

  • 如果是图形界面,退出当前终端;

  • 如果是使用ssh远程登录,退出登陆账户;

  • 如果是切换后的登陆用户,退出则返回上一个登陆账号。

四十七、查看登录用户:who

who命令用于查看当前所有登录系统的用户信息。

常用选项:

选项

含义

-q或--count

只显示用户的登录账号和登录用户的数量

-u或--heading

显示列标题

四十八、输入重定向:<

[root@centos ~]# wc -l < 1.txt

6

与输入输出有关的文件描述符

文件描述符

文件名

类型

硬件

0

stdin

标准输入文件

键盘

1

stdout

标准输出文件

显示器

2

stderr

标准错误输出文件

显示器

>&

将标准错误输出重定向到标准输出

Bash 支持的输出重定向符号

类 型

符 号

作 用

标准输出重定向

command >file

以覆盖的方式,把 command 的正确输出结果输出到 file 文件中。

command >>file

以追加的方式,把 command 的正确输出结果输出到 file 文件中。

标准错误输出重定向

command 2>file

以覆盖的方式,把 command 的错误信息输出到 file 文件中。

command 2>>file

以追加的方式,把 command 的错误信息输出到 file 文件中。

正确输出和错误信息同时保存

command >file 2>&1

以覆盖的方式,把正确输出和错误信息同时保存到同一个文件(file)中。

command >>file 2>&1

以追加的方式,把正确输出和错误信息同时保存到同一个文件(file)中。

command >file1 2>file2

以覆盖的方式,把正确的输出结果输出到 file1 文件中,把错误信息输出到 file2 文件中。

command >>file1 2>>file2

以追加的方式,把正确的输出结果输出到 file1 文件中,把错误信息输出到 file2 文件中。

command >file 2>file

不推荐】这两种写法会导致 file 被打开两次,引起资源竞争,所以 stdout 和 stderr 会互相覆盖,我们将在《结合Linux文件描述符谈重定向,彻底理解重定向的本质》一节中深入剖析。

command >>file 2>>file

四十九、在ubuntu21.04上用安装包安装mysql8.0.26

  1. 在ubuntu21.04终端下载安装包:wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-server_8.0.26-1ubuntu21.04_amd64.deb-bundle.tar

  1. 解压安装包:

下载$ sudo tar -xvf ./mysql-server_8.0.26-1ubuntu21.04_amd64.deb-bundle.tar

[sudo] msy 的密码:

libmysqlclient21_8.0.26-1ubuntu21.04_amd64.deb

libmysqlclient-dev_8.0.26-1ubuntu21.04_amd64.deb

mysql-client_8.0.26-1ubuntu21.04_amd64.deb

mysql-common_8.0.26-1ubuntu21.04_amd64.deb

mysql-community-client_8.0.26-1ubuntu21.04_amd64.deb

mysql-community-client-core_8.0.26-1ubuntu21.04_amd64.deb

mysql-community-client-plugins_8.0.26-1ubuntu21.04_amd64.deb

mysql-community-server_8.0.26-1ubuntu21.04_amd64.deb

mysql-community-server-core_8.0.26-1ubuntu21.04_amd64.deb

mysql-community-server-debug_8.0.26-1ubuntu21.04_amd64.deb

mysql-community-test_8.0.26-1ubuntu21.04_amd64.deb

mysql-community-test-debug_8.0.26-1ubuntu21.04_amd64.deb

mysql-server_8.0.26-1ubuntu21.04_amd64.deb

mysql-testsuite_8.0.26-1ubuntu21.04_amd64.deb

(三)安装预配置:

msy@msy-virtual-machine:~/下载$ sudo apt-get install libaio1

正在读取软件包列表... 完成

正在分析软件包的依赖关系树... 完成

正在读取状态信息... 完成

libaio1 已经是最新版 (0.3.112-9ubuntu1)。

升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 130 个软件包未被升级。

msy@msy-virtual-machine:~/下载$sudo dpkg-preconfigure mysql-community-server_*.deb

sudo dpkg -i *.deb

(四)卸载mysql8

停止服务:service mysql stop

开始卸载:

1 dpkg --list|grep mysql查看自己的mysql有哪些依赖

2 卸载sudo apt-get remove mysql-common

3 sudo apt-get autoremove --purge mysql-server-8.0

4 dpkg --list|grep mysql查看,还剩什么就卸载什么

5 清楚残留数据:dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P

设置动态ip地址:

centos7获取IP地址的方法主要有两种,1:动态获取ip;2:设置静态IP地址,在配置网络之前我们先要知道centos的网卡名称是什么,centos7不再使用ifconfig命令,可通过命令 IP addr查看,如图,网卡名为ens33,是没有IP地址的

有关于1、动态获取ip(前提是你的路由器已经开启了DHCP)

修改网卡配置文件vi /etc/sysconfig/network-scripts/ifcfg-ens33 (最后一个为网卡名称)

动态获取IP地址需要修改两处地方即可

(1)bootproto=dhcp

(2)onboot=yes

修改后重启一下网络服务即可systemctl restart network

https://blog.csdn.net/weixin_39989962/article/details/122431106

安装jdk11 参考网址:

https://www.jianshu.com/p/4f61a6b38cb3

第一步,利用ftp工具FileZilla将下载的jdk11压缩包上传/tmp下

第二步,解压文件到指定目录

tar -zxvf jdk-11.0.12_linux-x64_bin.tar.gz -C /opt/enviroment/

第三步,配置环境变量

vi /etc/profile

将以下配置内容添加到文件最下方:shift + g

export JAVA_HOME=/opt/enviroment/jdk-11.0.9

export JRE_HOME=\$JAVA_HOME/

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

使配置文件立即生效

source /etc/profile

第四步,验证安装是否成功

java -version

在centos7上安装tomcat9,参考文档:

https://www.jianshu.com/p/0c900423ba67

1、解压安装包到指定目录

[root@localhost tmp]# tar -xzvf ./apache-tomcat-9.0.67.tar.gz -C /opt/enviroment/

2、查看解压结果

ls /opt/enviroment/

3、配置环境变量

vi /etc/profile

注意,修改需要root权限

将以下配置内容添加到文件最下方

export CATALINA_HOME=/opt/enviroment/apache-tomcat-9.0.67

export PATH=${CATALINA_HOME}/bin:$PATH

使配置文件立即生效

source /etc/profile

4、配置setenv.sh文件

进入到tomcat安装目录的bin目录中新建一个setenv.sh,将JAVA_HOME、JRE_HOME等环境变量信息指定

添加以下信息(如果用的是jdk8,需要配置JRE)

CATALINA_HOME=/opt/enviroment/apache-tomcat-9.0.67

CATALINA_BASE=/opt/enviroment/apache-tomcat-9.0.67

JAVA_HOME=/opt/enviroment/jdk-11.0.9

CATALINA_PID=/opt/enviroment/apache-tomcat-9.0.67/tomcat.pid

5、测试安装结果

开放端口

firewall-cmd --zone=public --add-port=8080/tcp --permanent

防火墙配置立即生效

firewall-cmd --reload

在bin目录下输入

./startup.sh

  1. 查看tomcat日志

tail -f ./catalina.out

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值