熟练使用Linux,简单易上手

对于学习计算机网络/网络安全,学习linux是必不可少的,所有我写了一篇一万字的linux教程,这对于初学者有着重大的帮助,对于学过但不熟练的宝子们,也是很有帮助的,这篇内容基本都是重点,而且比较常用,而且很简略,对于新手,前面命令没详细的参数,可以通过man (命令)来查找

如果帮助到你就点个赞吧

常见基础命令概述:
ping测试连通性
ifconfig查看网卡信息
ls查看当前目录下的文件
mkdir创建目录
touch创建文件·
cd切换目录
tail只显示尾部分
more可以分页显示
less,more的加强版ctrl+U,向上翻页
head查看头部分
cat查看问价
vi编辑器
vim编辑器
pwd查看当前用户
wc统计并输入文件行数
cp复制文件及目录
mv移动文件或目录
rm 删除文件及目录
rmdir 删除一个空目录
ps查看系统静态进程
top查看系统动态进程
kill杀死进程
jobs查看被放入后台的工作
bc进入命令bc交互模式
find查找文件
grep文本搜索
ln -s 创建软链接(跟windows快捷方式类似)
shutdown关机 -r重启
reload/reboot重启
man [要找的命令]命令可以查找命令的命令参数及用法(所以以上没有给出参数的使用方式)

重定向与管道符:
输入重定向”>“
输出重定向“>>”
管道符 “|”


linux文件结构及解释:
                                    /
bin      boot      dev      etc      home      root      run     sbin     tmp      usr     var
                            |                                |     tmp
                         alice bob eve            bin local sbin tmp

目录名                                说明
/        跟目录
/bin        bin是binary的缩写,存储最常使用的命令
/boot        内核及加载内核所需的文件
/dev        dev是device(设备)的缩写,在Linux下以文件存在,如磁盘,MODEM等
/etc        启动文件及配置文件
/home        用户主目录
/lib        c语言编译器的库和部分c语言编辑器
/loat+found        一般为空,当系统非法关机时,该文件就会产生文件
/media        常用来分区挂载,如双系统时的windows分区,u盘,cd/dvd等会自动挂载并在此目录下自动产生一个目录
/misc        该目录默认为空,存储杂项文件或目录
/mnt        与media的功能相同,提供存储介质的临时挂载点,如光驱,U盘
/net        伪文件系统,存储网卡信息
/opt        存储第三方软件包,特别时测试版软件
/proc        伪文件系统,所有正在运行进程的映像,还有当前内存中的kernel文件,管理员不需要操作
/root        超级用户主目录
/sbin        引导,修复或恢复系统
/selinux        selinux相关文件,当selinux被禁用时,该目录为空
/srv        一些服务启动后,这些服务所需要访问数据目录
/sys        将内核的一些信息映射,可供应用程序使用
/tmp        临时文件夹
/usr        用户相关的应用程序和库文件,用户自行安装的软件一般在此目录
/var        存储着在不断扩充,变化的内容,包括各种日志文件,E-mail,网站等


————用户和权限管理

-用户配置文件
 password 密码
 user 用户
 UID 用户id
 GID 组id
    0  当UID的值为0,是系统管理员账户,默认是root
    1-999  这个部分数字留给了系统用户使用,通常,这个部分用户又被分为两大类
        1-200:系统自行创建的系统账号
        201-999:如果用户有系统账号的需求,则可以使用这个部分数字
    1000-65536  给普通用户使用。admin UID是1000
 组id的含义
 与用户id类似
    0  root
    1-999 系统用户的GID 除非在创建普通用户时指定,否则系统默认创建一个同名,同id号的组
——————————————————————————————————————————————————————
-用户配置文件

 /etc/passwd        记录了文件的基本信息
 /etc/shadow文件        文件记录了用户密码相关信息 普通用户无法打开

-用户组配置文件
 /etc/group    文件每一行表示一个用户组,使用:分开,分为4个字段,从左到右依次是,组名,组密码,GID,组成员列表
 /etc/gshadow  文件记录了用户组的密码
用户的初始是指只要用户登录系统,就自动拥有这个组的权限
——————————————————————————————————————————————————————
-添加用户和用户组

- 用户管理:

 useradd [选项] [用户名]  作用:添加一个用户
参数    :
-d指定主目录,必须是绝对路径
-e指定账户失效时间,格式为YYYY-MM-DD
-u指定用户的UID
-g指定用户所属的主组,后接GID或组名
-G指定用户的附加组,后接GID或组名    
-N不创建用户同名的基本用户组    
-s指定登录的shell

passwd [选项] [用户名] 作用:对用户密码 创建,修改,删除,锁定
-d 删除用户密码,用户登录系统不需要密码,只有root 可执行
-l 锁定用户,禁止登陆系统,除了root用户
-u 解锁被锁定的用户账户,只有root可以执行
-S 查询用户密码相关信息,即查询/etc/shadow文件内容
-n mindays 修改密码后mindays天内不能再次修改,即/etc/shadow文件中第四个字段的内容
-x maxdays 密码有效期,即/etc/shadow中第5个字段
-w warndays 密码过期前的警告天数,即/etc/shadow文件中第6段
-i inactivedays 密码失效日期,即/etc/shadow文件中的第7字段内容

usermod [选项] 用户名        作用:设置和管理用户的各项属性,包括用名,主目录,用户组,登录shell等
参数:
-a将用户添加到指定的附加组,该选项只能和-G一起使用
-c修改用户注释的值
-d-m  -m与-d连用,可以重新指定用户的主目录并自动把旧数据转移过去
-e指定账户失效时间,格式为YYYY-MM-DD
-f指定密码
-g修改用户的主组。指定用户组必须存在。在用户主目录,属于原来的主组的文件将被转给新组的所有。主目录之外的文件所属的组必须进行手动修改
-G指定用户的附加组。多个用户之间使用逗号隔开
-l修改用户名
-L锁定账号,禁止其登录系统
-U解锁账号,允许其登录系统
-s修改用户的默认shell
-u指定用户新的用户标识号

userdel [-r] 用户名 作用:删除指定用户
参数:
-r 在删除该用户的同时,删除该用户对应的主目录及目录中的所有文件
-f强制删除用户,用户对应的主目录及目录中的所有文件
——————————————————————————————————————————————————————
-用户组管理:
groupadd [选项] 用户组名        作用:添加一个用户组
参数:
-g    指定新的用户组的组标识号
-r 创建系统用户组

groupmod [选项] 用户组名        作用:修改用户组的相关属性包括,名称,GID等。
参数:
-g修改指定用户的GID
-n修改指定用户组的名称

groupdel 用户名         作用:删除指定用户组,删除之前保证该用户不是任何用户的主组,否则要先删除以该组为主组的用户,才能删除这个用户组

gpasswd [选项] 用户名 用户组名     作用:将用户添加指定组或,或将用户移出用户组
参数:
-a 将用户添加到用户组
-d 将用户从用户组中移除
-A设置有管理权限的用户列表
-M设置组成员列表
-r 删除密码
-R限制用户登录组,只有组中的成员才可以使用newgrp命令加入该组

id [选项] 用户名        作用:查看用户的UID,GID和附加组信息
参数:
-g 仅显示有效的组标识号
-G 显示所有的标识标号
-n显示名称,而不是数字
- 显示有效的用户标识号

groupmems命令        作用:把一个用户添加到附加组中,也可以从一个组中移除一个用户
参数:
-a username 把指定用户添加到组中
-d username 从组中移除指定用户
-g gtpname 目标用户组
-l 显示组成员列表
-p 删除组中的所有用户

chage [选项] 用户名         作用:显示用户的密码信息
参数
-d 指定密码最后修改日期
-E 指定密码过期日期,过期后,此账号将不可用;1表示马上过期,-1表示永不过期
-h 显示帮助信息并退出系统
-I(i) 指定用户及密码的有效期
-l显示用户及密码的有效期
-m 指定密码可更改的最小天数,0表示任何时候都可以更改密码
-M 指定密码保持有效的最大天数
-W指定密码过期之前,提前收到警告天数

用户管理在linux安全管理机制中是非常重要的,linux中的每个功能模块都与用户和权限有着密不可分的关系
在linux中,每个用户都有唯一的UID和GID

——————————————————————————————————————————————————————
-管理文件权限

linux把用户的身份分为3类,所有者(user),所属组(group),其他人(others)
r读    数字表示1
w写  数字表示2
x执行  数字表示4
rwx  rwx  rwx=777
所属者 所属组 其他人

chmod    -R    作用:修改文件权限  R表示递归
符号类型格式
chmod -R(递归) user/group/others/all +(添加)-(移除)=(设置) r w x 文件或目录
也可以使用数字表示
chmod 775 file(文件)、

——————————————————————————————————————————————————————
-更改文件的所有者和所属组
chgrp -R 组名 文件或目录        作用:更改文件的所属组

chown [-R] 用户名 文件或目录         作用:更改文件的所有者

chown [-R] 用户名:属组名 文件或目录        作用:同时更改文件的用户名和所属组,把用户名和用户组用:分开     这个命令可替代chgrp,只要在用户组前面添加一个.或者:即可

——————————————————————————————————————————————————————
-修改文件默认权限
umask 012        作用:单独使用命令是查看文件默认权限,在后面加上代表权限的数字则修改默认权限(这个过滤)

到这里用户和权限管理差不多就结束了!

————————磁盘管理
顺序,主分区,扩展分区,逻辑分区
先将硬盘划分主分区和扩展分区,任何再在扩展分区里面创建若干个逻辑分区
主分区的编码为1-4,逻辑分区从5开始
Linux分区命名
名称                    说明
/dev/hda        IDE1口的主硬盘
/dev/hda1        IDE1口的主硬盘的第1个分区
/dev/hda2        IDE1口的主硬盘的第2个分区
/dev/hda5        IDE1口的主硬盘的第一个逻辑分区
/dev/hdb        IDE1口的从硬盘
/dev/hdb1        IDE1口的从硬盘的第一个分区
/dev/sda        ID号为0的SCSI硬盘
/dev/sda1        ID号为0的SCSI硬盘的第1个分区
/dev/sda3        ID号为0的SCSI硬盘的第2个分区
/dev/sda5        ID号为0的SCSI硬盘的第1个逻辑分区

文件系统简介
数据块(Data Block):用于保存文件的实际内容,如果文件过多,则可能会占用多个数据块‘
inode:一个文件对应一个inode,记录了文件的属性信息及文件占用的数据块编号,但是不包含文件名
超级数据块(Super Block):记录了和文件系统有关的信息,如inode和数据块的数量,使用情况,文件系统的格式及其他信息。

linux的常见文件系统
文件系统        说明
ext             linux最早的文件系统,过时
ext2        ext的升级版,支持最大16TB的分区和最大2TB文件
ext3        ext2的升级版,增加了日志功能,提高了可靠性
ext4        ext3的升级版,功能增加了很多
swap        swap文件系统用于linux的交换分区,交换分区一般为系统物理内存的两倍,类似于windows的虚拟内存
xfs            centos7版本之后的默认文件系统,用于大容量和处理巨型文件,几乎具有ext4的所有功能
ISO9660        光盘的标准文件系统,支持对光盘的读写和刻录
proc         linux中基于内存的虚拟文件,用于存储有关内核运行的特定文件,提供了访问内核的特殊接口,挂载到。/proc目录下
——————————————————————————————————————————————————————

配置磁盘分区与文件系统
fdisk -l                 作用:查看磁盘信息
fdisk /dev/sdb        作用:创建磁盘分区(/dev/sdb磁盘的目录)这个命令执行后可以使用m查看参数
参数:
d    (delete a partition)删除一个分区
l    (list known partitioni types)列出已知分区类型
m    (print this menu)获取fdisk分区帮助
n    (add a new partition)添加新的分区    n主分区,e逻辑分区,1扩展分区
p    查看分区结果
w    保存分区写入到磁盘

格式化分区:
mkfs -t xfs /dev/sdb1
分区挂载:
mount [-t 文件系统类型]分区名 目录名
mount -t iso 9660 /dev/cdrom /mnt
umount 卸载分区
umount /dev/cdrom        //使用分区名卸载分区
umount /mnt        //使用挂载点卸载分区
lsblk -p /dev/cdrom        //检查分区挂载点

分区自动挂载:
/etc/fstab
挂载方式,在/etc/fstab文件最下面添加
/dev/sdb1        /data1        xfs        defaults        0 0

——————————————————————————————————————————————————————
查看文件与磁盘空间的使用情况
df [选项] [目录或文件名]    作用:从超级数据块中读取信息,显示整个文件系统的磁盘空间使用情况
-a(all)    显示所有文件系统,包括/proc,/sysfs 等特有文件系统
-m(mb)    以MB为单位显示文件系统空间
-k    以kb为单位显示文件系统空间
-h    使用人们习惯的KB,MG,GB单位显示文件系统空间
-H    指定容量的换算以1000进位,即1kb=1000b,1mb=1000KB
-i    使用inode数量代替磁盘容量显示磁盘使用情况
-t    只显示特定类型的文件系统

du [选项] [目录或文件名]        作用:计算文件目录所占的磁盘空间大小
参数
-a    显示所有目录和文件的容量(默认只显示目录容量)
-k    以KB显示目录或文件容量
-m    以MB显示目录或文件容量
-h    使用人们习惯的KB,MG,GB单位显示文件系统空间
-s    仅显示目录总容量,不显示子目录或子文件容量
-S     显示目录容量,不包括子目录容量

lsblk -p    作用:以树状结构图显示系统系统中的所有磁盘及磁盘分区

——————————————————————————————————————————————————————
管理软RAID
认识RAID:
RAID(Redundant Arrays of Independent Disks,独立冗余磁盘阵列) 作用:用于将多个廉价的小型磁盘驱动合并成一个磁盘阵列
RAID目前有6个等级0,1,2,3,4,5,常用的是0,1,3,5这4个等级
常用的RAID技术及其特点
RAID技术                    特点
RAID 0        存取速度最快,没有容错功能(带区卷)
RAID 1        完全容错,成本高,硬盘使用率低(镜像卷)
RAID 3        写入性能好,没有多任务功能
RAID 4        具备多任务及容错功能,但奇偶检验磁盘驱动器会造成性能瓶颈        
RAID 5        具备多任务及容错功能,写入时有额外开销overhead
RAID 01/RAID 10        速度块,完全容错,成本高

配置软RAID:
mdadm [模式] RIAD设备 [选项] 成员设备名称        作用:管理linux中的软RAID
参数:
-a 检测设备名称
-n 指定设备数量
-l 指定RAID等级
-C 创建RAID
-v 显示进程
-f 模拟设备损坏
-r 移除设备
-Q 查看摘要信息
-D 查看详细信息
-S 停止RAID

——————————————————————————————————————————————————————

—————————资源包管理
管理rpm包,归档,和压缩
rpm(RedHat Package Manager,RetHat包管理器)
rpm命令,安装,卸载,升级,查询,验证
rpm包格式:name-version.type.rpm
name软件的名称,version软件的版本号,type包的类型,rpm文件扩展名

rpm [选项] 软件包名称        作用:安装,卸载,升级,查询,验证安装包
-a     查询/验证所有的软件包
-c    列出所有配置文件
-d    列出所有的程序文档
-e    清除(卸载)软件包
-f    查询/验证文件所属的软件包
-h    当套件安装时列出标记
-i    安装软件包
-l    列出软件包中的文件
-s    显示列出文件的状态
-U    升级软件包
-v    提供更多版本信息
-vv    详细显示文件执行信息
--test    安装测试,不实际安装
--nodeps    忽略软件包的依赖关系,强制安装
--force    忽略软件包及文件的冲突

tar [选项] 目标文件路径及名称 源目录路径及文件名
参数:
-c    创建打包文件
-r    将文件追加到打包文件的结尾
-A    合并两个打包文件
-f    指定打包文件名
-v    显示正在处理的文件名
-x    展开打包文件
-t    产看打包文件包含哪个文件或目录
-C    指定在特定目录展开打包文件    
-j    只用bzip2命令压缩/解压文件,如用压缩时使用,解压时也必须添加此参数
-z    使用gzip命令压缩/解压缩文件,用法同-j
压缩一般是:tar -cvf /etc/adc -C /var
解压一般是:tar -zxvf /etc.tar.gz -C/var

gzip命令    gzip和bzip2都可以直接加文件进行解/压缩
使用gzip压缩后,a.tar文件会变为a.tar.gz
解压就用gunzip, a.tar.gz文件会变为a.tar

bzip2命令    压缩程度比gzip压缩程度高,用时比较久
使用bzip2压缩后,a.txt文件会变为a.bz2 压缩时源文件默认删除,可以使用-k保留源文件
解压就用bunzip, a.bz2文件会变为a.txt

xz命令的压缩程度很高,解压缩也很快
使用xz压缩文件的后缀时xz
unxz解压文件

————————————————————————————————————————————————————————
————————yum管理软件        想要使用yum命令得先配置yum源,自己百度
yum(Yellow dog Updater Modified)是一个在RedHat(含Fedora和CentOS)及SUSE中的Shell前端软件包管理器。
yum [选项] 操作 [软件包或软件包组名称] 
-q不显示安装进程
-y不回复,直接安装

常见的yum命令及其说明
命令                    说明
yum repolist all        列出所有仓库
yum list all        列出仓库中的所有软件包
yum info            查看软件包信息
yum install        安装软件包
yum reinstall        重新安装软件包
yum update        升级软件包
yum remove        移除软件包
yum clean all        清除所有仓库缓存
yum check-update    检查可更新的软件包
yum grouplist        查看系统中已经安装的软件包组
yum groupinstall    安装指定的软件包组
yum groupremove    移除指定的软件包组
yum groupinfo        查询指定的软件包组信息

————————————————————————————————————————————————————————
nmcli 命令 作用:配置网络
介绍:Linux通过NetworkManager守护进程管理和监控网络设置,而nmcli命令可以控制NetworkManager守护进程
参数:nmcli [选项] {conection | device | object} [命令] [参数]
命令及说明
命令                                说明
nmcli connection show             显示所有连接
nmcli connection show --active    显示所有活动的连接状态
nmcli connection show ens33         显示网络连接配置
nmcli device status                显示设备状态
nmcli device show ens33            显示网口连接属性
nmcli connection add help         查看帮助
nmcli connection reload            重新加载配置
nmcli connection down ens33        禁用ens33配置文件
nmcli connection up ens 33        启动ens33配置文件
nmcli device disconnect ens33        禁用ens33网卡
nmcli device connect ens33        启动ens33网卡

网卡配置文件参数和nmcli命令参数的对应关系
网卡配置文件参数                                                nmcli命令参数                                    说明
TYPE=Ethernet                                    connection.type 802-3-ethernet                        网卡类型
BOOTRROTO=none                                ipv4.method manual                                    手动配置IP地址信息
ROOTRROTO=dhcp                                ipv4.method auto                                    自动配置IP地址信息
IPADDR=192.168.10.2 PREFIX=24                    ipv4.addresses 192.168.10.2/24                        IP地址和子网掩码
GATEWAY=192.168.10.1                            ipv4.gateway 192.168.10.1                            网关地址
DNS1=192.168.10.2                                ipv4.dns 192.168.10.2                                    DNS服务器地址
DOMAIN=yiteng.com                                ipv4.dns-search yiteng.com                            域名
ONBOOT=yes                                    connection.autoconnect yes                            是否开机启动网络
DEVICE=ens33                                    connection.interface-name ens33                        网络接口名称

nmtui    作用:打开NetworkManager TUI界面配置网络


————————————————————————————————————————————————————————

linux常用网络服务器软件名称与守护进程(服务)名称
服务类型                            软件名称                        守护进程(服务)名称
SSH服务                        Openssh                            sshd.service
DHCP                        Dhcp                            dhcpd.service
SAMBA服务                    Samba                            smbd.service
NFS服务                        Nfs                                nfs.service
DNS服务                        Bind                            named.service
Wed服务                    Httpd                            httpd.service
FTP服务                        Vsftpd                            vsftpd.service
MAIL服务                    Sendmail,Postfix                    sendmail.service,postfix.service
数据库服务                    Mariadb                            mariadb.service
防火墙服务                    Firewalld                        firewalld.service

centos6与centos7操作系统中的System V init和systemctl命令对比(管理服务)
centos6(system V init)                    centos7(systemctl)                    说明
service sshd start                            systemctl start sshd.service            启动服务
service sshd restart                        systemctl restart sshd.service             重启服务
service sshd stop                            systemctl stop sshd.service            停止服务
service sshd reload                        systemctl reload sshd.serivce            重新加载配置文件(不终止服务)

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值