1、Linux概述
1.1linux的简述
Linux 内核 由芬兰人 林纳斯·托瓦兹(Linus Torvalds)编写的
Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX(可移植操作系统接口) 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。
Linux系统是一个多用户多任务的分时操作系统
1.2linux的好处
- 拥有强大的命令行,命令行可以做任何事情
- 一切都是一个文件
- 系统中拥有小型,单一用途的程序。(一个程序只负责做好自己的本职工作)
- 当遇到复杂任务,通过不同功能用途的程序组合起来完成。
- 严格的权限管理
- 连配置文件都存储在文本中,方便增删改查。
- 不在乎后缀名,有没有都无所谓,不是通过后缀名来定义文件的类型
2、linux目录结构
2.1主目录及各自作用
- /bin :
bin是Binary的缩写, 这个目录存放着最经常使用的命令。 - /boot :
这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。 - /dev :
dev是Device(设备)的缩写, 存放的是Linux的外部设备
在Linux中访问设备的方式和访问文件的方式是相同的 - /etc:
这个目录用来存放所有的系统管理所需要的配置文件和子目录。 - /home:
用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的 - /lib:
这个目录里存放着系统最基本的动态连接共享库 - /opt :
这是给主机额外安装软件所摆放的目录。
比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。 - /root :
该目录为系统管理员,也称作超级权限者的用户主目录。 - /tmp :
这个目录是用来存放一些临时文件的 - /usr :
非常重要的目录
用户的很多应用程序和文件都放在这个目录下,类似于windows下的 program files目录。 - /usr/bin :
系统用户使用的应用程序。 - /var (variable)用于存放运行时需要改变数据的文件
- /run :
是一个临时文件系统,存储系统启动以来的信息。
2.2开发人员关注目录:
- 配置目录etc:软件安装后配置文件选择放入的地址
- 软件安装目录:usr/local
- 安装应用程序目录:opt ----- 部署的API程序一般放在这个目录
3、linux的用户
- Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
- 用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另 一方面也可以帮助用户组织文件,并为用户提供安全性保护。
- 每个用户账号都拥有一个唯一的用户名和各自的口令。
- 用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录
3.1用户账号
用户账户一般非为两大类:超级管理员和普通用户。
- 超级管理员:用root表示,root用户在系统中拥有最高权限。
- 普通用户:除了root之外的用户。例如我们之前创建的lina用户,就是普通用户。
3.2用户命令
- 查看用户: cat /etc/password
- 创建用户
# 创建一个用户
#语法:useradd 选项 用户名
#选项: -c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
#案例1:
useradd lina02
- 删除用户
# 删除一个用户
#语法:userdel 选项 用户名; 其中-r是常用的选项,表示将用户的主目录一起删除。
#案例:
userdel -r lina02
4、linux的常用命令*
4.1linux目录管理
4.1.1查看目录
ls命令—最常使用的命令
语法:
ls :查看当前路径下的文件名称
ls -a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)
ls -d :仅列出目录本身,而不是列出目录内的文件数据(常用)
ls -l :长数据串列出,包含文件的属性与权限等等数据;(常用)
ll: 等价于ls -l
ls -al :目录下的所有文件列出来(含属性与隐藏档)
4.1.2切换目录
cd是Change Directory的缩写,这是用来变换工作目录的命令。
语法:
cd [相对路径或绝对路径]
#使用绝对路径切换到 local 目录
cd /usr/local/
# 表示回到自己的家目录,亦即是 /root 这个目录
cd ~
# 表示去到目前的上一级目录,亦即是 /root 的上一级目录的意思;
cd ..
4.1.3显示当前目录
pwd 是 Print Working Directory 的缩写,也就是显示目前所在目录的命令。
4.1.4创建目录
mkdir (make directory)用来创建新的目录。
语法:mkdir [-mp] 目录名称
-m :配置文件的权限喔!直接配置,不需要看默认权限的脸色
-p :直接将所需要的目录(包含上一级目录)递归创建起来!
查看帮助 mkdir --help
示例:/tmp底下尝试创建数个新目录看看:
cd /tmp
mkdir kkb <==创建一名为 kkb 的新目录
mkdir test1/test2/test3/test4
mkdir: cannot create directory `test1/test2/test3/test4':
No such file or directory <== 没办法直接创建此目录啊!
mkdir -p test1/test2/test3/test4
加了这个 -p 的选项,可以自行帮你创建多层目录!
4.1.5删除目录
rmdir 命令用来删除空的目录。
语法: rmdir [-p] 目录名称
-p :连同上一级『空的』目录也一起删除
4.2文件操作
4.2.1查看文件内容 cat
-
cat 查看所有内容
语法:cat 由第一行开始显示文件内容
-
more 一页一页的显示文件内容
一页一页翻动
语法: more 文件名称
例如:more /etc/man_db.config
....(中间省略)....
--More--(28%) <== 重点在这一行喔!你的光标也会在这里等待你的命令
在 more 这个程序的运行过程中,你有几个按键可以按的:
空白键 (space):代表向下翻一页;
Enter :代表向下翻『一行』;
:f :立刻显示出档名以及目前显示的行数;
q :代表立刻离开 more ,不再显示该文件内容。
- 3 less 一页一页翻动
语法: less 文件名称
例如:less /etc/man.config
....(中间省略)....
: <== 这里可以等待你输入命令!
less运行时可以输入的命令有:
空白键 : 向下翻动一页;
[pagedown]: 向下翻动一页;
[pageup] : 向上翻动一页;
q : 离开 less 这个程序;
4.2.2创建文件 touch
语法:touch 创建一个空白的普通文件
#示例:
[root@centoslina01 /]# cd kkb
[root@centoslina01 kkb]# touch lina01.txt
[root@centoslina01 kkb]# ll
total 0
-rw-r--r--. 1 root root 0 Mar 11 10:08 lina01.txt
[root@centoslina01 kkb]#
4.2.3写入文件 echo
echo 把内容重定向到指定的文件中 ,有则打开,无则创建
语法: echo '内容'>文件名称 覆盖模式
echo '内容'>>文件名称 追加模式
#示例:
[root@centoslina01 kkb]# echo 'jiaobaoyu'>lina01.txt
[root@centoslina01 kkb]# echo 'jiaobaoyu'>lina01.txt
[root@centoslina01 kkb]# cat lina01.txt
jiaobaoyu
[root@centoslina01 kkb]# echo 'jiaobaoyu'>>lina02.txt
[root@centoslina01 kkb]# echo 'jiaobaoyu'>>lina02.txt
[root@centoslina01 kkb]# cat lina02.txt
jiaobaoyu
jiaobaoyu
[root@centoslina01 kkb]#
4.2.4复制/拷贝文件 cp
语法: cp [-adfilprsu] 来源档(source) 目标档(destination)
-a:相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)
-d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;
-f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
-i:若clear问动作的进行(常用)
-l:进行硬式连结(hard link)的连结档创建,而非复制文件本身;
-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);
-r:递归持续复制,用於目录的复制行为;(常用)
-s:复制成为符号连结档 (symbolic link),亦即『捷径』文件;
-u:若 destination 比 source 旧才升级 destination !
4.2.5移动文件 mv
mv 可以移动文件与目录,或修改名称。
语法:
mv [-fiu] source destination
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会升级 (update)
示例:复制一文件,创建一目录,将文件移动到目录中
cd /tmp
cp ~/.bashrc bashrc
mkdir mvtest
mv lina mvtest
将刚刚的目录名称更名为 mvtest2
[root@www tmp]# mv mvtest mvtest2
4.2.6删除文件 rm
rm 可以移除文件或目录。
语法: rm [-fir] 文件或目录
-f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
-i :互动模式,在删除前会询问使用者是否动作
-r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!
4.3打包和拆包
一般Linux 上常用的压缩方式是选用tar 将许多文件打包成一个文件,再以 gzip压缩命令压缩成紧
xxx.tar.gz(或者xxx.tgz)的文件。
常用参数:
-c:创建一个新tar文件
-v:显示运行过程的信息
-f:指定文件名
-z:调用gzip 压缩命令进行压缩
-t:查看压缩文件的内容
-x:解开tar 文件
打包:tar -cvf xxx.tar 要打包的文件或目录的列表,用空格隔开
打包并且压缩:tar -zcvf xxx.tar.gz 要打包的文件或目录的列表,用空格隔开
解压:tar -xvf xx.tar
tar -zxvf xx.tar.gz -C /usr/kkb 注意-C大写,防止拆包解压的路径找不到
5、vim编辑器*
5.1VIM的模式
vim 共分为三种模式,分别是
- 命令模式(Command mode)
- 输入模式(Insert mode)
- 底线命令 模式(Last line mode)
5.1.1命令模式
用户刚刚启动 vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被
当作了一个命令。
以下是常用的几个命令:
i 切换到输入模式,以输入字符。
x 删除当前光标所在处的字符。i
: 切换到底线命令模式,以在最底一行输入命令。
若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。
命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。
5.1.2输入模式
在命令模式下按下i就进入了输入模式。 (此时可以更改文本)
在输入模式中,可以使用以下按键:
字符按键以及Shift组合,输入字符
ENTER,回车键,换行
BACK SPACE,退格键,删除光标前一个字符
DEL,删除键,删除光标后一个字符
方向键,在文本中移动光标
HOME/END,移动光标到行首/行尾
Page Up/Page Down,上/下翻页
Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
ESC,退出输入模式,切换到命令模式
5.1.3底线命令模式
在命令模式下按下:(英文冒号)就进入了底线命令模式。
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
在底线命令模式中,基本的命令有(已经省略了冒号):
q 退出程序
w 保存文件
按ESC键可随时退出底线命令模式。
6、linux的文件权限
Linux操作系统中对权限的管理很严格。Linux系统中不仅是对用户与组根据UID,GID进行了管理,还对 Linux系统中的文件,按照用户与组进行分类,针对不同的群体进行了权限管理,用他来确定谁能通过何 种方式对文件和目录进行访问和操作
6.1文件权限
权限共有10个字符,我们将它分为4大部分来理解:
- --- --- ---
第1部分、表示文件的类型
- 表示是一个文件
d 表示是一个目录
l 表示是一个连接(理解为快捷方式)
第2部分、当前用户具有的对该文件的权限 (owner 属主,缩写u)
第3部分、当前组内其他用户具有的对该文件的权限 (group 属组,缩写g)
第4部分、其他组的用户具有的对该文件的权限 (other 其他,缩写o)
r:Read 读
w:Write 写
x:eXecute 执行
对于文件和目录来说,r,w,x有着不同的作用和含义:
针对文件:r:读取文件内容
w:修改文件内容
x:执行权限对除二进制程序以外的文件没什么意义
针对目录:目录本质可看做是存放文件列表、节点号等内容的文件
r:查看目录下的文件列表
w:删除和创建目录下的文件
x:可以cd进入目录,能查看目录中文件的详细属性,能访问目录下文件内容(基础权
限)
6.2 修改文件权限
语法:chmod who opt per file
who:u g o a(all)(u 用户user ,g用户组group,o其他用户,a所有用户默认)
opt:+添加某个权限 –取消某个权限 =赋予权限
per:r w x X
示例:
chmod u=rwx,g=r lina03.txt
chmod u+x,g+w,o+w test.log //r 读,w 写 x 执行
7、linux常用的网络操作
7.1主机名操作
hostname :显示主机名
hostname XXX :修改主机名,不推荐,临时生效
永久生效修改主机名需要修改/etc/sysconfig/network文件
7.2查询系统完整信息
uname -a :显示完整的系统信息
7.3IP地址操作
查看IP地址:ip addr
修改IP地址:修改/etc/sysconfig/network-scripts/
重启网络服务 service network restart
7.4域名映射
修改 /etc/hosts文件
7.5网络服务管理
查看网络服务状态:systemctl status network
启动网络服务:systemctl start network
停止网络服务:systemctl stop network
重启网络服务:systemctl restart network
设置开机启动:systemctl enable network
7.6防火墙设置
查看防火墙状态: systemctl status firewalld
启动防火墙: systemctl start firewalld
关闭防火墙: systemctl stop firewalld
查询防火墙服务是否开机启动:systemctl is-enabled firewalld
开机时启用防火墙服务:systemctl enable firewalld
开机时禁用防火墙服务:systemctl disable firewalld
查询已经启动的服务列表:systemctl list-unit-files|grep enabled
查询启动失败的服务列表:systemctl --failed