Linux基础知识及相关命令

一、Linux简介

1、LinuxOS体系结构
—-LinuxOS类似UNIX OS
—-内核 : 模块化管理
—-Shell: 用户与内核之间交互的一个接口
—-应用工具:编辑器、过滤器

2、软件模式
开源软件(Open Source):软件发布,并公布源代码
闭源软件(Close Source):仅推出可执行的二进制程序
免费软件(Freeware):
共享软件(Shareware):
商业软件(Commercial Software):由开发者出售拷贝并提供软件技术服务,用户只有使用权,但不得进行非法拷贝、扩散和修改
共享软件(Shareware):共享软件由开发者提供软件试用程序拷贝授权,用户在使用该程序拷贝一段时间之后,必须向开发者缴纳使用费,开发者则提供相应的升级和技术服务
自由软件(Freeware 或 Free Software):自由软件所指称的软件,其使用者有使用、复制、散布、研究、改写、再利用该软件的自由。

3、Linux的运用

企业使用 : 提供Web、DNS、FTP和E-mail服务
大型企业、金融数据库、耗时计算、并行计算
个人使用 :桌面PC:办公系统、手持系统:手机、平板、嵌入式系统:家电、机器人
云应用:云服务

4、Linux OS体系结构:
内核+命令解释层(shell或其他操作环境)+实用工具
5、Linux版本:
内核版本和发行版本
6、GNU:
GNU’s not unix ,建立一个自由 开放的UNIX系统
7、开源代码软件:
自由度:复制、修改、分享、 免费软件:不收费用
8、Linux应用:
企业应用和个人应用

二、命令行模式登录及帮助命令

1、为什么使用命令行模式
:可高效地完成所有的任务,尤其是系统管理任务。
便:系统管理任务通常在远程进行,而远程登录后进入的是字符工作方式。
:不用启动图形工作环境,节省了系统资源开销。

2、命令行模式登录

Linux基础知识及相关命令
pwd : 查看用户处于哪个目录
cd : 切换目录
说明:
“ .” 表示当前目录
“…” 表示当前目录的上一级目录(父目录)
“-” 表示用 cd 命令切换目录前所在的目录
“~” 表示用户主目录的绝对路径名
“/”表示直接到根目录

5、路径(path)
路径是指文件或目录在文件系统中所处的位置
绝对路径
以斜线(/)开头
描述到文件位置的完整说明
任何时候你想指定文件名的时候都可以使用
相对路径
不以斜线(/)开头
指定相对于你的当前工作目录而言的位置
可以被用作指定文件名的简捷方式

6、重要热键
Tab:
命令补全:第一个命令后面
文件补全:第二个命令后面
Ctrl+C:中断目前程序
Ctrl+D:离开命令行界面
7、帮助命令
help: help命令用于查看shell命令。用户可以通过该命令寻求shell命令的用法或语法总结。
格式:help cmd
$ help ls 或者 ls –help

man:-f 只显示出命令的功能而不显示其中详细的说明文件
-k 查关键字

info : man page通常提供参考信息,并不提供指导或一般使用。很多更复杂的命令说明在info page中有更详细的记载。可以使用info命令浏览info page。

8、关机命令
shutdown:
shutdown -r +5 “System will be reboot in 5 minites, Please save your work.”
shutdown -h +5 “System will be down in 5 minites, Please save your work.“
shutdown -r now
shutdown -h now
sync :将数据同步写入硬盘
reboot:重新启动
halt:系统停止,屏幕可能会保留停止信息
poweroff:系统关机,断电,屏幕空白

三、Linux文件权限与目录配置

1、用户与用户组权限
用户与用户组概念
linux目录或者文件,都有一个所属主和所属组。
所属主(user),即文件的拥有者,
所属组(group),即该文件所属主所在的一个组。
其他用户(others)对该文件的权限。
Linux这样设置文件属性的目的是为了文件的安全。

Linux用户/组信息记录文件

用户信息文件:/etc/passwd
用户密码文件:/etc/shadow
组名相关文件:/etc/group

2、Linux文件权限

查看文件权限

Linux基础知识及相关命令
cd : 切换目录

pwd : 显示当前工作目录

mkdir :创建目录
格式: mkdir [选项]
说明:
“-m”配置权限
“ -p” 递归创建目录
1)创建权限为rwx—x—x,名为d1的目录;
#:mkdri -m 711 d1
(2)创建一个具有/home/d2/d21的目录树
#:cd /
#:mkdri –p /home/d2/d21

rmdir :删除空目录
格式: rmdir [-p]
“ -p” 循环删除空目录
实例:
删除d1目录
删除/dd/d2/d21目录
#:rmdir d1
#:rmdri –p /home/d2/d21

2、文件管理
touch : 生成一个空文件或更改文件的时间
格式:touch [-acdmt]
创建文件:touch file
修改文件时间
-a: 仅修订access time;
-c: 仅修改文件时间,若文件不存在则不建新文件;
-d: 接日期而不用目前时间
-m: 仅修改mtime时间;
-t: 接自定义时间,为YYYYMMDDhhmm格式的时间而非当前时

Linux基础知识及相关命令
Linux基础知识及相关命令

七、文件打包与压缩

1、常用打包压缩命令
gzip : 流行的GUN gzoip 数据压缩/加压程序
bzip2 :免费的,无专利的高性能数据压缩工具
tar: 文件打包、归档工具

Linux基础知识及相关命令
3、常用压缩命令
gizp
gzip以Lempel-Ziv算法减少文件大小;
默认压缩的文件扩展名为 .gz。
压缩后原文件会被自动删除。
在 windows 下可以用 winzip 或 winrar或7-zip 解压。
compress
gzip命令用法
格式:gzip [-cdtv#] 文件列表
-d: –decompress解开压缩文件。
-c: –stdout压缩文件,可结合数据流重定向来处理。
-t : –test测试压缩文件是否正确无误。
-v : –verbose显示指令执行过程。
-l: –list列出压缩文件的相关信息(压缩文件的大小;未压缩文件的大小;压缩比;未压缩文件的名字)
-level: 压缩率是一个介于1~9的数值,默认值为“6”,数值越大压缩率越高,越慢。
举例
压缩文件filename
$ gzip filename
压缩文件 file1和file2并显示执行过程
$ gzip -v file1 file2
递归地高度压缩mydir目录下的所有文件
$ gzip -9 –best mydir
显示当前目录下所有压缩过的gz文件信息
$ gzip -l *.gz
解压/查看文件
(1)gzip命令
格式:gzip -d filename.gz
(2)gunzip命令
格式:gunzip filename.gz
(3)zcat/zmore/zless查看压缩文件
格式:zcat filename.gz

bzip2
比gzip的压缩比更高。
bzip2压缩的文件扩展名 .bz2。
压缩后原文件会被自动删除。
windows 下可以用 winrar或7-zip 解压
用法:bzip2 [-cdkv#] 文件列表
-d: 解开压缩文件。
-c: 压缩过程中的数据显示在屏幕上。
-k : –keep保留源文件
-z:压缩的参数,默认值,可不加。
-v: 显示压缩比等信息。
-# : 压缩率是一个介于1~9的数值,默认值为“6”,数值越大压缩率越高,速度越慢。
举例
压缩文件filename
$ bzip2 filename
压缩文件 file1和file2并显示执行过程
$ bzip2 -9v file1 file2

xz压缩命令
高压缩比;
压缩时间长;
xz压缩的文件扩展名 .xz。
压缩后原文件会被自动删除。
windows 下可以用 winrar或7-zip 解压。
用法:xz [-dtlkcv#] 文件列表
-d: 解开压缩文件。
-c: 压缩过程中的数据显示在屏幕上。
-k : 保留源文件
-z:压缩的参数。
-v : 显示压缩比等信息。
-l: 显示压缩文件相关信息
-# : 压缩率介于1~9的数值,默认“6”,数值大压缩率高,速度慢
4、tar打包命令
tar [选项] 打包文件名 要被打包的文件或目录
-c:–create 创建新的打包文件。
-t:–list列出打包文件的内容,查看已经打包哪些文件。
-x:–extract从打包文件中释放文件。
-f:–file指定打包文件名。
-v:详细列出 tar 处理的文件信息。
-z:用 gzip 来压缩/解压缩打包文件。
-j:用 bzip2 来压缩/解压缩打包文件。
–exclude=file:在压缩过程中,不打包file文件
tar命令打包和解压
tar [-z|-j|-J] [c|t|x] v [-f]
打包压缩文件
tar [-z| j |J] [cv] [-f 打包文件名] filename|dirN
查看打包文件:
tar [-z| j |J] [tv] [-f 既有的tar文件名]
解压缩:
tar [-z| j |J] [xv] [-f 既有的tar文件名] [-C 目录]

八、用户管理命令

1、用户类型
超级用户:用户名为root或其他,用户id为0
系统(虚拟)用户:Linux系统内建用户,为满足相应的系统进程对文件属主的要求,系统用户不能用来登录。用户id一般为1~(499)999
普通用户:为了让使用者能够使用Linux系统资源而建立的,大多数用户属于此类。用户id一般为1000以上
2、账户管理文件
/etc/passwd :保存用户信息
login : password : UID : GID:Comment:directory:shell
/etc/shadow:保存用户密码(加密的)
login : encrepted_password : modifed_time ::::::
/etc/group-保存组信息:
group_name : password : GID :user_list
用户角度:基本组 附加组
组角度:私有组 (只有一个用户), 公共组(多个用户)
3、用户管理相关命令
id:常用查询用户UID/GID命令:
useradd [-r ] username:创建用户
userdel username :删除一个用户
(userdel -r 用户 删除用户和用户的家目录)
usermod [-u|g|d|s|c|f|e|l] username:修改信息
passwd username:修改用户密码
新建用户命令
usermod [-u uid] [-g group] [-G segroup] [-d home_dir] [-s shell] [-c comment] user_name
-u 指定用户ID,如果同时有-o选项,则可以重复使用其他用户的标识号
-d 指定用户主目录,(默认是在/home目录下创建和用户名一样的目录)
-g 指定用户所属的用户组(主组)
-G 指定用户所属的附加组(这些组必需事先已经增加过了或者是系统中已经存在)
-r 创建系统用户
-c 指定一段注释性描述
-s 指定用户的登录Shell
-M 强制,不要建立使用者家目录
-m 使用者目录若不存在则自动建立(默认选项)
3、用户组管理相关命令
groupadd [-g|r] 组名:创建用户组
groupmod [-g|n] 组名 :修改用户组信息
groupdel 组名:删除组
gpasswd [-A|M|r|R|a|d] 组名:群组管理
groups:查看当前用户的所有组信息
newgrp userg: 切换当前用户的有效组
创建用户组
格式:groupadd [-g gid |r] 组名:创建用户组
说明
-g: 参数为某GID,直接指定组ID
-r:创建系统用户组
示例
groupadd group1
groupadd -g 1500 group1

修改用户组
格式:groupmod [-g gid |n gname] 组名
说明
-g: 修改既有的GID数字
-n: 修改既有组名
示例
groupmod –g 1501 group1
groupadd –n group2 group1

九、磁盘管理

1、硬件在系统的名称

Linux基础知识及相关命令
df: 查看已挂在设备的总容量、使用容量、剩余容量
格式:df [-ahskm] 文件或目录名称
-a: 列出所有文件与目录的容量;
-h: 以易读容量格式显示;
-s : 仅列总量,而不列出每个目录占用容量;
-k : 以KB列出容量显示;
-m: 以MB列出容量显示;
du:查看某个目录或文件所占空间大小
格式:du [-ahskm] 文件或目录名称
-a: 列出所有文件与目录的容量;
-h: 以易读容量格式显示;
-s : 仅列出总量,而不列出每个各别的目录占用容量;
-k : 以KB列出容量显示;
-m: 以MB列出容量显示;

2、磁盘分区
MBR磁盘分区方法
第一个扇区( 512B):
主引导分区(Master Boot Recorder MBR)(446B):安装启动引导程序
分区表(64B):记录整块硬盘分区状态
16B/分区 4
结束标志字(2B):0x55AA,是检验主引导记录是否有效的标志
GPT磁盘分区方法
LBA0:MBR兼容区块,引导程序;
LBA1:GPT表头记录
LBA2-33:记录分区信息 324=128
LBA-1~-34:备份GPT分区
Logical Block Address 512B
LBA:512/128B=4组分区
64
512B=2(64)*512B=2(33)TB
磁盘分区命令
MBR分区:#fdisk device-name #fdisk /dev/sdb
GPT分区: gdisk device-name
fdisk常用的子命令:
p:显示分区
n:创建分区
w:保存分区
q:退出
d:删除分区

3、文件系统
明确磁盘分区上文件数据存储方法和数据结构
Linux系统支持的文件系统
传统文件系统:ext2、minix、FAT、iso9660(光盘)等
日志式文件系统:ext3、ext4、ReiserFS、NTFS、JFS 、XFS
网络文件系统: NFS、SMBFS
查询Linux系统中支持的文件系统:
ls –l /lib/modules/(Linux发行版号)/kernel/fs
加载到内存中支持的文件:#cat /proc/filesystems

ext4文件系统 、xfs文件系统

十、网络管理

1、网络配置参数
IP地址 IPADDR
子网掩码 Network Mask
网关 Gateway
DNS DSN
主机名 HostName

2、网络配置流程
设置虚拟机网卡连网方式
配置网卡: ip 、netmask 、gateway
配置DNS
重启网络服务
3、虚拟机联网的三种方式
VMnet0(桥接):虚拟机与外网可以互相访问
VMnet1(仅主机):虚拟机与外网不可互相访问
VMnet8(NAT):虚拟机能访问外网计算机而外网计算机不能访问虚拟机
4、网络配置命令
ifconfig:
显示或设置网络设备
格式:ifconfig [网络设备]
ifconfig 已经开启的网络接口
ifconfig -a 查看所有网络接口
ifconfig ens33 查看特定网络接口

网卡代号
eno1:主板bios内置的网卡
ens1:主板bios内置的PCI-E网卡
enp2s0: PCI-E独立网卡
eth0:默认的网卡名(物理网卡名)
ens33:内置的PCI-E网卡(虚拟网卡名)

5、路由信息说明

Linux基础知识及相关命令
BOOTPROTO值的两种方式
1)dhcp:动态获取网络参数
前提是计算机局域网内有DHCP服务器
(2)static:静态配置网络参数
动态配置
vim /etc/sysconfig/network-scripts/ifcfg-eth0(ens33)
配置项:
BOOTPROTO=dhcp
ONBOOT=yes

静态配置
vim /etc/sysconfig/network-scripts/ifcfg-eth0(ens33)
配置项:
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.0.123
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
7、常见域名解析服务器
8.8.8.8
9.9.9.9
119.29.29.29
114.114.114.114
223.5.5.5
8、重启网络服务
CentOS6 : service network restart
CentOS7 : systemctrl restart newwork
9、测试连通性
虚拟机与其他计算机连通性
ping 192.168.1.107 与主机连通性
ping www.baidu.com 与外网连通性
外网计算机与虚拟机连接通
ping 192.168.1.151

10、常用网络命令
ifconfig : 检查网络接口配置
route : 检查路由配置
ping : 检测网络连通性
netstat : 查看网络状态

Linux基础知识及相关命令
RPM优点
RPM内包含已编译过的程序与配置文件等数据,用户不需要编译;
RPM在安装之前,会先检查系统的硬盘容量、操作系统版本等,可避免文件被错误安装;
RPM文件本身提供软件版本信息,依赖属性检查、软件用途说明、软件所含文件等信息,便于了解软件信息;
RPM管理的方式使用数据库记录RPM文件相关参数,便于升级、删除、查询与验证。

RPM五大功能
查询—查询软件包的信息。
安装—将软件从包中解出来,并安装到硬盘。
卸载—将软件从硬盘清除。
升级—替换软件的旧版本。
验证—检验系统中的软件与包中软件的区别

RMP升级与删除
升级:rpm -Uvh [详细选项] …
如果旧软件未安装过,则仍安装该软件
刷新:rpm -Fvh …
安装过旧软件,才会进行更新该软件
删除:rpm -e [详细选项] …

3、yum软件管理
yum
基于RPM包构建的软件更新机制,可以自动解决rpm包之间的依赖关系,所有软件包由集中的yum软件仓库提供。
CentOS发布的软件放置YUM服务器内,生成软件依赖等信息数据列表。
安装软件时,下载信息数据列表,与本机数据库中数据相对;然后安装未安装软件。
配置文件及资源库文件
/etc/yum.conf 和 /etc/yum.repos.d/*.repo
yum命令
YUM是RPM的在线前端用户接口
命令:yum [全局参数] 命令 [命令参数]
全局参数
-y:对yum命令的提问回答“是(yes)”
-C:只利用本地缓存,不从远程仓库下载文件
–enablerepo=REPO:临时启用指定的名为REPO的仓库
–disablerepo=REPO:临时禁用指定的名为REPO的仓库
–installlroot=PATH:指定安装软件时的根目录,主要用于为chroot环境安装软件
yum清除缓存
清除缓存中的rpm头文件和包文件
#yum clean all
清除缓存目录(/var/cache/yum)下的软件包#yum clean packages
清除缓存目录(/var/cache/yum)下的 headers
#yum clean headers
重新加载库信息到缓存
#yum makecache
yum查询
yum [list|info|search|provides|whatprovides] 参数
yum list [all] [glob_exp] [recent]
yum list [available|extras|installed|updates][glob_exp]
yum search 查看软件名或关键词
yum info 查看软件信息
yum provides 文件: 从文件去查找软件包
yum whatprovides cmd : 查询命令的软件包
yum安装
yum install …
yum groupinstall …

十二、Shell

1、Shell是什么

Linux基础知识及相关命令
2、Shell的好处
命令行模式比较快;
远程操作高效,不易掉线;
安全:信息不易外流
自动化管理
3、Shell脚本
程序=指令+数据
指令:程序文件
数据:IO设备、文件、管道、变量
运行角度:
不需要编译
编程模式:
过程式 面向对象
总结:命令集合、过程式,不需要编译、解释运行并依赖于外部程序的程序。
4、Shell程序
sh:Bourne Shell早期shell程序
Bash: Bourne Again Shell 是sh的增强版本
Csh:C Shell 语言类似C语言
Tcsh:整合了C Shell 提供了更多功能
Ksh:基于sh, 包含csh几个好用特性的Unix脚本语言。
Zsh:兼容大部分Bash特性。
5、Shell变量
变量:让某特定的字符串代表不固定的内容。
Shell变量名可由任何字母、数字、下划线等字符组成,但第一个字符必须是字母或下划线
Shell并不区分变量的类型。都视为字符串变量

变量分类
用户自定义变量:普通变量,变量名可自定义。
环境变量:OS环境相关的数据变量,和系统相关的变量不能,但值可改,允许可定义自定义环境变量。
位置参数变量:向脚本当中传递参数或数据,变量名不能自定义,变量作用固定。
系统变量:bash中已经定义好的变量,变量名不能自定义,变量作用固定。
十三、Shell编程
1、条件控制结构
单层条件判断
if [ 条件判断式 ]; then
command-list #条件判断式成立时,执行
fi

if [ 条件判断式 ]
then
command-list #条件判断式成立时,执行
fi
多层条件判断
if [ 条件判断式 ];then
command-list //当条件为真是,执行逻辑代码
else
command-list //当条件判断式不成立时,执行
fi
2、分支控制结构-case
语法:
case “$var” in
pattern1)
command-list
;;
pattern2)
command-list
;;
esac
3、for循环结构
语法:
for var in word-list
do
command-list
done
4、while循环结构
语法:
for var in word-list
do
command-list
done
5、Shell函数、Shell数组、Shell脚本调试

文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树首页概览8813 人正在系统学习中

来源:IT–Fly

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年5月11日
下一篇 2020年5月11日

相关推荐