Linux知识点总结

    xiaoxiao2022-07-04  136

    CentOS Linux知识总结

    第一章 安装

    。。。省略

    第二章 基本介绍

    1.基本介绍

    诞生日期:1991年

    **开发者:**林纳斯·托瓦茨

    Linux****特点:免费,开源

    Linux常用发行版本

    2.版本

    RedHat系列:

    收费。(RHET收费;Fedora Core面向桌面版本免费)采用基于RPM包的yum包管理方式,包分发方式是编译好的二进制文件。RHET性能稳定,适合服务器开发;Fedora Core性能较差,适合桌面应用

    Debian系列:

    …。

    Ubuntu系列:

    界面友好,容易上手,对硬件支持较为全面,适合桌面操作系统的Linux版本。

    第三章 目录结构

    1./

    这就是根目录。对你的电脑来说,有且只有一个根目录。

    2./root

    这是系统管理员(root user)的目录。请小心使用root帐号。

    3./bin

    系统启动时需要的执行文件(二进制),命令集合地。

    4./etc

    这里主要存放了系统配置方面的文件;操作系统的配置文件目录(防火墙、启动项)。

    5./dev

    这里主要存放与设备(包括外设)有关的文件(unix和linux系统均把设备当成文件)。想连线打印机吗?系统就是从这个目录开始工作的。另外还有一些包括磁盘驱动、USB驱动等都放在这个目录。

    6./home

    这里主要存放你的个人数据。具体每个用户的设置文件,用户的桌面文件夹,还有用户的数据都放在这里。每个用户都有自己的用户目录,位置为:/home/用户名。当然,root用户除外。

    7./tmp

    这是临时目录。对于某些程序来说,有些文件被用了一次两次之后,就不会再被用到,像这样的文件就放在这里。有些linux系统会定期自动对这个目录进行清理,因此,千万不要把重要的数据放在这里。

    8./usr

    在这个目录下,你可以找到那些不适合放在/bin或/etc目录下的额外的工具。比如像游戏阿,一些打印工具等等。/usr目录包含了许多子目录:/usr/bin目录用于存放程序;/usr/share用于存放一些共享的数据,比如音乐文件或者图标等等;/usr/lib目录用于存放那些不能直接运行的,但却是许多程序运行所必需的一些函数库文件。

    9./opt

    这里主要存放那些可选的程序。你想尝试最新的firefox测试版吗?那就装到/opt目录下吧,这样,当你尝试完,想删掉firefox的时候,你就可以直接删除它,而不影响系统其他任何设置。安装到/opt目录下的程序,它所有的数据、库文件等等都是放在同个目录下面。

    10./usr/local

    这里主要存放那些手动安装的软件。

    11./media

    有些linux的发行版使用这个目录来挂载那些usb接口的移动硬盘(包括U盘)、CD/DVD驱动器等等。

    第四章 命令大全

    1.pwd

    查看当前目录路径

    [root@linux /]# cd /bdqn/java [root@linux java]# pwd /bdqn/java

    2.cd

    切换目录

    #上一级目录 [root@linux java]# cd .. #相对路径下的下一级目录 [root@linux bdqn]# cd java #绝对路径 切换到任意路径 [root@linux java]# cd /bdqn/java #切换到家目录,只要是新建了用户都会在/home文件夹中创建用户文件夹 [root@linux ~]# cd /home [root@linux home]# ls wuhan #切换到根目录;所有用户共享的目录 [root@linux java]# cd / #切换到用户主目录 #如果是root用户,cd ~ 相当于 cd /root #如果是普通用户,cd ~ 相当于cd /home/当前用户名 [root@linux /]# cd ~

    3.ls

    ls [选项] [目录名 | 列出相关目录下的所有目录和文件

    查看目录下文件

    -a 列出包括.开头的隐藏文件的所有文件

    -l 列出文件的详细信息

    [root@linux wuhan]# ls [root@linux wuhan]# ls -a [root@linux wuhan]# ls -la

    4.ll

    以列的方式显示目录下的文件列表

    [root@linux wuhan]# ls

    5.mkdir

    语法:mkdir [选项] 目录… | 创建新目录

    创建文件目录

    -p 递归创建目录,若父目录不存在则依次创建

    -m 自定义创建目录的权限

    -v 显示创建目录的详细信息

    ##递归方式创建/demo/java/javaEE [root@linux /]# mkdir -p /demo/java/javaEE ##创建文件夹test,并且为其授权 [root@linux java]# mkdir -m 777 test

    6.rm

    语法:rm [选项] 文件 | 删除文件

    删除文件或目录

    -r 删除文件夹

    -f 删除不提示

    -i 删除提示

    –rf:删除文件或目录

    ##删除文件夹 [root@linux java]# rm -r javaEE ##删除文件(有提示) [root@linux java]# rm -i aa.txt rm: remove regular empty file `aa.txt'? y --显示结果 ##删除文件/目录(不提示) [root@linux java]# rm -rf test2 ##删除目录(目录中有子文件或文件夹):将会依次提示是否删除子文件或者文件夹 [root@linux java]# rm -r /demo

    7.cp

    语法:cp [选项] 源文件或目录 目录或多个源文件 | 将源文件复制至目标文件,或将多个源文件复制至目标目录

    复制文件/目录

    -r -R 递归复制该目录及其子目录内容 -p 连同档案属性一起复制过去 -f 不询问而强制复制 -s 生成快捷方式 -a 将档案的所有特性都一起复制 ## /demo中有文件,不能直接复制 [root@linux demo]# cp /demo /bdqn/java ##递归复制 [root@linux demo]# cp -r /demo /bdqn/java ## -f 针对于文件复制的时候,有重复的将不提示 [root@linux demo]# cp -f /demo/abc.txt /bdqn/java/abc.txt

    8.rmdir

    语法:rmdir [选项] 目录名称

    删除空目录,如果该目录下非空则不能删除

    rmdir 删除空目录

    -v 显示执行过程

    -p 递归删除空目录

    ##递归创建目录 [root@linux /]# mkdir -p /bdqn/java/javaEE ##递归删除空目录 [root@linux bdqn]# rmdir -p java/javaEE

    9.mv

    语法:mv [选项] 源文件或目录 目录或多个源文件 | 移动或重命名文件

    移动文件(/目录)或修改文件名

    -b 覆盖前做备份

    -f 如存在不询问而强制覆盖

    -i 如存在则询问是否覆盖

    ##修改文件名 [root@linux demo]# mv abc.txt dfd.txt ##复制目录 [root@linux javaEE]# mv /demo /bdqn/java/javaEE

    10.vi/vim

    语法:vi/vim 文件

    vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底行命令模式(Last line mode)

    a.命令模式
    用户刚刚启动 vi/vim,便进入了命令模式。i(I)/a(A)/o(O):切换到输入模式:切换到底行模式
    b.输入模式
    输入文本内容ESC退出输入模式
    c.底行模式

    :wq!保存并退出

    :q!强制退出

    :%s/要被替换的字符串/替换后的字符串/g

    %代表通配符,不一定是开头/g代表全局匹配

    :set nu 添加行号; :set nonu 取消行号

    全局显示行号:

    ##1.切换目录 [root@linux /]# cd /etc ##2.编辑文件并最后添加 [root@linux etc]# vi vimrc ##以下是linux vimrc文件最后几行截图 56 if &term=="xterm" 57 set t_Co=8 58 set t_Sb=^[[4%dm 59 set t_Sf=^[[3%dm 60 endif 61 :set nu ##此处添加 62 " Don't wake up system with blinking cursor: 63 " http://www.linuxpowertop.org/known.php 64 let &guicursor = &guicursor . ",a:blinkon0"

    11.cat

    语法:cat [-参数选项] 文件名称

    查看文件

    显示小文件内容: cat 文件名称创建并打开一个新的文件: cat >文件名称 ##创建并打开一个文件,输入文本内容 [root@linux demo]# cat>demo.txt ls dfds idfsdq ## Ctrl+C 结束输入 ##查看文件 [root@linux demo]# cat demo.txt

    12.head

    语法:head [-参数] [文件]

    查看文件开头内容,默认显示前10行

    -n:用于设置显示文件开头 n行的内容 ##查看前3行内容 [root@linux test]# head -3 server.xml ##查看默认10行内容 [root@linux test]# head server.xml

    13.tail

    语法:tail[-参数] [文件]

    查看文件尾部内容,默认显示后10行

    -f:用于监视File文件的增长,文件内容更新后,页将动态显示-n:用于设置显示文件结尾 n行的内容 ##查看后3行内容 [root@linux test]# tail -3 server.xml ##查看默认后10行内容 [root@linux test]# tail server.xml

    14.touch

    语法:touch[-参数] [文件]

    创建空文件 ##创建一个空文件 [root@linux test]# touch demo.txt [root@linux test]# ls abc.txt demo.txt server.xml ##创建多个空文件 [root@linux test]# touch demo1.txt demo2.txt [root@linux test]# ls abc.txt demo1.txt demo2.txt demo.txt server.xml ##创建多个空文件-通配符 [root@linux test]# touch {1..4}.txt [root@linux test]# ls 1.txt 2.txt 3.txt 4.txt abc.txt demo1.txt demo2.txt demo.txt server.xml 创建文件,并用stat查看文件的属性状态信息 ##创建一个空文件 [root@linux test]# touch demo.txt [root@linux test]# stat demo.txt ##以下内容是效果截图 File: `demo.txt' Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: fd00h/64768d Inode: 1044618 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2019-04-29 11:26:12.863045034 +0800 Modify: 2019-04-29 11:26:12.863045034 +0800 Change: 2019-04-29 11:26:12.863045034 +0800

    改变文件的时间戳属性,可以产看文件的相关属性

    ##修改文件之后,可以产看文件属性状态 [root@linux test]# vi demo.txt [root@linux test]# touch demo.txt [root@linux test]# stat demo.txt

    15.man

    语法:man[命令名称]

    查询命令详细参数

    ##cd命令详情 [root@linux ssh]# man cd 空格:一页一页翻 enter:一行一行的翻 q:结束查看

    第五章 权限管理

    1.涵义说明

    读:read;

    写:write;

    执行:execute

    ##目录权限描述 drwxr-xr-x. 3 root root 4096 Apr 29 11:01 demo drwxr-xr-xdrwxr-xr-x所属目录用户用户组其它缩写ugo权限描述读,写,执行读,执行读,执行二进制形式111101101十进制形式755 ##目录权限描述(除第一个 -以外,其它都一致) -rw-r--r--. 1 root root 31 Apr 29 11:12 demo2.txt

    2.chmod

    语法:chmod [选项] [参数]

    修改权限

    -R:递归授权(只是针对目录)

    -c:显示执行过程,但只返回更改的部分(了解)

    -f:不显示错误信息

    -v:显示执行过程(了解)

    ##对文件添加r权限(u代表用户) [root@linux java]# chmod u+r abc.txt ##对文件添加wx权限(g代表组) [root@linux java]# chmod g+wx abc.txt ##对目录递归添加rw权限(g代表组) [root@linux java]# chmod -R g+rw demo ##对目录递归添加rwx权限(u代表用户)rw权限(g代表组), [root@linux java]# chmod -R u+rwx,g+rwx demo ##对目录递归添加777权限 [root@linux java]# chmod 777 -R demo

    3.更改所有者

    语法:chown [选项] [所有者]:[所属组] [文件名]

    ##把/opt/software下用户组改成wuhan用户组下面的wuhan用户 [root@linux /]# chown wuhan:wuhan /opt/software ##递归把/opt/software下用户组改成wuhan用户组下面的wuhan用户 [root@linux /]# chown -R wuhan:wuhan /opt/software

    第六章 用户管理

    1.用户

    操作系统中一系列权限的集合,可以通过用户名和密码执行一些被允许的操作,不同的用户可以具有不同权限。Linux操作系统的每一个用户都拥有唯一标识UID,创建永固的时候,如果不指定UID,系统将为其自动分配UID。指定UID的时候尽量大于500,因为系统安装后,会默认创建一些用户,ID可能会被占用。

    2.用户组

    具有相同特征的用户的集合。每一个用户都属于至少一个用户组。Linux操作系统中,每一个用户组都有一个唯一标识GID,创建用户组时,如果不指定GID,系统将为其分配一个UID。

    3.Linux权限特点

    系统有一个权限最大的用户root,属于root用户组。系统默认只有root权限可以添加和删除用户。添加用户后,如果没有指定用户组,则会添加一个同名的用户组。root用户切换到普通用户无须登录;普通用户切换到root用户则需要登录root用户可以给用户授予或收回对某一个文件读、写、执行的权限。

    4.创建用户

    4.1切换用户

    语法:su [用户名] / su - [用户名]

    说明:

    su [用户名]切换用户是临时切换,当使用新用户时候,仍然使用原来用户的配置:如环境变量、系统设置等。

    su - [用户名] 切换用户候,使用新用户的配置:如环境变量、系统设置等。

    4.2查看当前登录用户

    语法:whoami

    4.3查看当前用户所属分组

    语法:groups

    4.4查看当前用户UID和GID

    语法:id

    [root@linux ~]# id

    4.5添加用户

    语法:useradd [选项] [用户名]

    选项值说明1-c添加一条注释性描述(了解)2-d指定用户主目录3-g指定用户所属的用户组4-u指定用户的用户号5默认直接添加用户 ##添加用户hh并指定用户UID [root@linux ~]# useradd -u 701 hh

    4.6修改密码

    语法:passwd [选项] [参数]

    选项值说明1-d删除密码,仅系统管理可用(了解)2-f强制执行(了解)3-k设置只有密码过期后才能更新(了解)4-l锁住密码(了解)5-s列举密码相关信息,仅管理员可用(了解)6-u解开已上锁账号(了解)

    添加用户之后,只有设置密码之后才能登录

    ##添加用户 [root@linux home]# useradd hh ##修改密码 [root@linux home]# passwd hh

    4.7删除用户

    语法:userdel [选项] [用户名]

    取值说明1-r删除用户及其登录日志信息、家目录(不推荐)2-f强制删除用户,即使用户已经登录(不推荐)3默认直接删除用户 ##仅删除用户 [root@linux home]# userdel hh ##删除用户及其登录信息 [root@linux home]# userdel -r hh

    4.7修改用户信息

    语法:usermod [选项] [参数] [用户名]

    选项值说明1-c修改备注信息(了解)2-d修改用户登录时的目录(了解)3-e修改账号有效期(了解)4-f修改密码过期后多少天关闭账号(了解)5-g修改用户所属组(了解)6-G修改用户所属附加组(了解)7-l修改用户账号名称(了解)8-L锁定用户密码,使密码无效(了解)9-u修改用户id(了解)10-U解除密码锁定(了解) ##修改用户名(修改完之后需要使用id命令查看uid) [root@linux home]# usermod -l wh wuhan

    5.创建用户组

    语法:groupadd [选项] [组名称]

    1选项值说明2-g指定工作组id(了解)3-r创建系统工作组(了解)4-o允许添加组ID不唯一的工作组(了解)5默认添加用户分组 ##添加组 [root@linux home]# groupadd whgroup ##更改用户组 [wh@linux home]$ usermod -g whgroup wh

    第七章 进程管理

    1.进程概念

    每一个程序的执行,就创建了一个进程。随着资源的分配和释放,可以认为进程是一个程序一次执行过程。进程是一个动态的概念,它是程序执行的过程,包括创建、调度、消亡。

    例如MySQL:启动MySQL服务并成功后,就开启了一个进程,拥有自己独立的资源,每一个程序都有一个程序启动的入口文件,windows下是.exe文件,Linux下是.sh文件。

    2.查看进程

    语法:ps -ef|grep [进程关键词]

    ps命令可以查看系统进程,并且可以产看进程PID(进程唯一标识)。

    3.杀掉进程

    语法:Kill -9 [PID]

    4.SSH服务设置

    启动SSH服务:service sshd start

    关闭SSH服务:service sshd stop

    重启SSH服务:service sshd restart

    查看所有服务:chkconfig --list

    5.网络配置

    启用网卡:ifconfig [网卡标示] up

    禁用网卡:ifconfig [网卡标示] down

    查看所有网卡(包含禁用的):ifconfig -a

    查看网卡ip (启用状态下):ifconfig

    重新获取IP地址:dhclient

    6.挂载/取消挂载

    语法:mount [设备名称] [挂载的目录]

    语法:umount [挂载的目录]

    ##先创建存放的路径 [root@linux home]# mkdir /mnt/cdrom ##挂载光驱(/dev/cdrom:指代的是光驱),(/mnt/cdrom:指代的是将光驱的文件拷贝到目标路径) [root@linux home]# mount /dev/cdrom /mnt/cdrom

    挂载光驱

    取消挂载

    挂载光驱的时候需要注意:将设备状态勾选已连接

    查看设备网络配置

    /etc/ssh目录下的sshd_config文件

    查看文件/命令/目录位置

    语法:whereis [文件/命令/目录位置]

    [root@linux ssh]# whereis pwd

    第八章 项目发布

    1.rmp方式安装JDK8

    1.1.创建目录,并上传文件

    ##创建目录/opt/software [root@linux opt]# mkdir /opt/software

    1.2.安装

    (root用户才能安装)

    语法:rpm[选项] [软件包]

    rpm -ivh jdk-8u211-linux-x64.rpm

    rpm -qa|grep jdk(查看已经安装的jdk)

    序号选项值说明1-ivh显示安装进度2-e卸载软件包3-qa|grep查看已经安装的软件包 ##查看已经安装的jdk [root@linux software]# rpm -qa|grep jdk ##卸载原本的jdk [root@bogon ~]# **rpm -e** java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64 ##卸载原本的jdk 如果出错 [root@root ~]# **rpm -e --nodeps** java-1.7.0-openjdk-1.7.0.99-2.6.5.1.el6.x86_64 ##安装jdk [root@linux software]# rpm -ivh jdk-8u211-linux-x64.rpm ##安装完成之后安装路径为:/usr/java/jdk1.8.0_211-amd64 [root@linux software]# cd /usr/java/jdk1.8.0_211-amd64

    1.3.配置环境变量

    切换到配置文件目录(系统变量)/etc/profile

    ##切换路径修改配置文件 [root@linux etc]# vim /etc/profile ##在文件最后添加 export JAVA_HOME=/usr/java/jdk1.8.0_211-amd64 export PATH=$PATH:$JAVA_HOME/bin ##配置成功之后查看 java -version /javac /java

    1.4.让配置文件立即生效

    [root@linux etc]# source /etc/profile

    2.rpm安装mysql5.5

    2.1.卸载原有的mysql版本

    ##查看mysql版本 [root@linux etc]# rpm -qa|grep mysq ##卸载当前版本(会报错,提示有依赖) [root@linux etc]# rpm -ef mysql-libs-5.1.71-1.el6.x86_64 ##强制卸载所有依赖 [root@linux etc]# rpm -ef mysql-libs-5.1.71-1.el6.x86_64 --nodeps

    2.2.安装mysql5.5

    下载路径:https://dev.mysql.com/downloads/mysql/5.5.html#downloads

    下载.tar包

    解压.tar文件到指定目录

    ##1.切换到tar包所在的目录 cd /opr/software ##2.直接解压到/opr/software [root@linux software]# tar -xvf MySQL-5.5.62-1.el7.x86_64.rpm-bundle.tar ##3.查看原有数据库 [root@localhost software]# rpm -qa|grep mysql ##4.卸载原有的数据库 [root@localhost software]# rpm -e mysql-libs-5.1.71-1.el6.x86_64 --nodeps ##5.安装server和client //服务器端 [root@localhost software]# rpm -ivh MySQL-server-5.5.62-1.el7.x86_64.rpm //客户端 [root@localhost software]# rpm -ivh MySQL-client-5.5.40-1.linux2.6.x86_64.rpm ##6.启动服务,并登录,并添加root用户密码 [root@localhost software]# service mysql start ## 登录 [root@localhost software]# mysql -u root -p ##查看文件编码格式 mysql> show variables like 'char%'; ## 添加密码 方式一:登录进去之后修改 mysql> set password=password('111111'); 方式二:不用登录直接修改 [root@bogon mysql]# mysqladmin -u root -p password ##7.更改编码格式为utf-8 ## 切换路径到 /usr/share/mysql [root@localhost software]# cd /usr/share/mysql ## 拷贝文件到 /etc/my.cnf [root@localhost mysql]# cp /usr/share/mysql/my-large.cnf /etc/my.cnf ##修改文件中编码格式 [root@localhost mysql]# vim /etc/my.cnf 添加character_set_server=utf8

    ##8.重启启动服务 [root@localhost software]# service mysql restart ##9.开启3306端口(允许远程访问) ##切换到配置文件目录 [root@localhost bin]# cd /etc/sysconfig ##修改文件vim /etc/sysconfig/iptables [root@localhost sysconfig]# vim /etc/sysconfig/iptables 需要添加的内容 -A INPUT -ptcp --dport 3306 -j ACCEPT ##重启防火墙 [root@localhost sysconfig]# service iptables restart

    ##10.windows操作系统访问linux中的mysql ##10.1登录数据库,切换到系统数据库mysql,查看数据库用户中是否有允许所有主机访问 mysql> use mysql mysql> select user,password,host from user;(如下图效果显示) +------+-------------------------------------------+-----------+ | user | password | host | +------+-------------------------------------------+-----------+ | root | *FD571203974BA9AFE270FE62151AE967ECA5E0AA | localhost | | root | | bogon | | root | | 127.0.0.1 | +------+-------------------------------------------+-----------+ 6 rows in set (0.00 sec) ##10.2授权 mysql> grant all privileges on *.* to root@'%' identified by '111111' with grant option; ##10.3刷新权限 mysql> flush privileges; ##10.4恢复数据库 方式一:不用登录到数据库服务器 [root@localhost ~]# mysql -u root -p smbms</opt/software/smbms_db.sql 方式二:需要登录到数据库服务器 [root@localhost ~]# source /opt/software/smbms_db.sql

    2.4 sql yog连接数据库

    没有开启3306端口号的时候

    2.5 补充:防火墙

    iptables设置 1) 重启后生效 开启: chkconfig iptables on 关闭: chkconfig iptables off 2) 即时生效,重启后失效 开启: service iptables start 关闭: service iptables stop

    3.Tomcat解压到Linux

    3.1解压Tomcat

    ##1.切换到tar包所在的目录 cd /opr/software/tomcat [root@localhost software]# tar -xvf apache-tomcat-8.5.42.tar.gz -C /opt/software/tomcat ##2.启动服务 ##切换到tomcat解压目录 [root@localhost software]# cd /opt/software/tomcat/apache-tomcat-8.5.42/bin ##启动服务 [root@localhost bin]# ./statup.sh

    3.2宿主机访问linux中的服务

    ##1.切换到此防火墙设置目录 [root@localhost bin]# cd /etc/sysconfig ##2.添加8080端口开放 [root@localhost sysconfig]# vim /etc/sysconfig/iptables 需要添加的内容 -A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT ##3.重启防火墙 [root@localhost sysconfig]# /etc/init.d/iptables restart

    3.3在宿主机中访问Tomcat

    4.发布项目到Linux

    4.1IDE导出war包,使用xshell发送到tomcat中
    4.2使用远程访问方式连接到Linux服务器
    最新回复(0)