赞
踩
Linux 的起源和发展:了解 Linux 操作系统的起源、发展和主要的发行版,如Linux 内核的诞生、GNU项目的贡献以及常见的 Linux 发行版如Ubuntu、Debian、CentOS 等。
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。
严格来讲,Linux操作系统指的是“linux内核+各种软件”,Linux这个词只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。
Linux 文件系统:熟悉 Linux 文件系统的层次结构和常见的目录结构:
根目录(/)
用户目录(/home)
系统配置目录(/etc)
Linux文件系统中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux用户和程序看到的文件、目录、软连接及文件保护信息等都存储在其中。
常用的文件系统有以下几种EXT3、swap、vfat、nfs等。
深入理解
文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。文件系统由三部分组成:文件系统的接口,对对象操纵和管理的软件集合,对象及属性。从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。
Windows和Linux对比
1、Windows和Linux的文件权限
在Windows系统中,用户分为两类:计算机管理员和受限用户。Windows常常设置为管理员身份,结果大家都可以随意安装和修改系统软件,导致病毒软件防不胜防,导致Windows的安全性相对较差。
在Linux中,用户分为4类:root(超级用户)、普通用户、同一组用户和其他用户。root用户拥有最高权限,可以对计算机系统进行任何操作。但root用户一般只在对系统进行维护时,如添加新用户、安装应用程序时,才进行登录,一般都是以普通用户的身份进行登录,普通用户不能修改系统文件夹下的文件,因此病毒软件想修改系统程序的可能性就大大降低了,这样就增加了系统的安全性和可靠性。
2、Windows和Linux的目录结构
在Windows下,整个硬盘被分成几个区。Linux也有分区的概念,但它是将所有系统安装在一棵树上,即从树根"/"开始。Linux中有一些重要的系统目录,它们都有特定的用途。
/home存放系统中登录用户的主目录
/bin存放系统中的可执行文件
/etc存放系统中大部分配置文件
/root超级用户的主目录
/var存放内容经常变动的文件
/usr存放与系统的用户直接相关的程序和文件
2.1 Linux文件系统根目录下的主要目录介绍
/bin:保存系统命令,如ls、cd、pwd等常用命令 /dev:存放设备文件,特殊文件保存目录(不可以随意修改) /home:用户目录,存放普通用户相关文件的用户,是我们常用的目录 /lost+found:存放临时文件。此文件夹大多数情况下都是空的,当突然停电或非正常关机后,有些文件就临时存放在这里。 /mnt:缺省挂载点,挂载U盘、移动硬盘目录(常用) /sbin:用来存放管理员才能使用的命令,即具有一定权限才可以使用的命令 /proc:进程,该目录不能直接操作,其保存的是内存的过载点 /srv: 系统启动服务时可以访问的数据库目录 /tmp:临时目录 /var:系统相关文档内容目录,存放经常被修改的文件,包括各种日志、数据文件。 /boot:存放引导的相关文件,保存系统的启动数据(不可随意操作) /etc:用来存放配置相关文件 /lib:存放系统动态链接共享库,几乎所有的应用程序都会用到该目录下的共享库。 /media:存放挂载和自动挂载设备的标准位置。如远程文件系统和可移动介质。 /opt:存放第三方软件。第三方软件在安装时默认会找到这个目录,所以如果你没有安装此类软件时,它是空的,但如果你一旦把它删除,以后再安装此类软件可能会碰到麻烦。 /root:存放root用户(即管理员用户)相关文件的目录 /sys:该目录不能直接操作,存放类似于/proc的文件系统,在Linux2.6内核中最新出现,包含的文件用于获得硬件状态并反映内核看到的系统设备树。它使用了/proc中的很多帮助。 /selinux:selinux是一种基于域-类型模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略。 /usr:系统软件资源目录,存放默认安装文件的目录,存放用户的应用程序和文件 /usr/bin:众多的应用程序 /usr/sbin:超级用户的一些管理程序 /usr/include:Linux下开发和编译应用程序所需要的头文件 /usr/lib:常用的动态链接库和软件包的配置文件 /usr/src:源代码,Linux内核的源代码就放在这里 /usr/local/bin:本地增加的命令 /usr/local/lib:本地增加的库
3.用户和权限管理:了解 Linux 中的用户和用户组的概念,以及权限管理和访问控制,包括用户的创建、删除、权限的分配和修改等。
在 Linux 操作系统中,任何文件都归属于某一特定的用户,而任何用户都隶属于至少一个用户组。全部的用户信息保存为普通的文本文件。/ etc /passwd
文件是 UNIX 安全的关键文件之一。系统使用 UID 而不是用户名区别用户。任何 UID 值为0的用户都有 root 用户(系统管理员)访问权限,具备对系统的完全控制。/ etc / group
文件包含关于用户组信息。/etc/shadow
包含用户密码文件(影子文件)
Linux用户管理
用户是Linux系统工作中重要的一环,用户管理包括用户与组账号的管理。
账号管理是指账号的新增、删除和修改、账号规划以及权限的授予等问题。
在Linux系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限
Linux用户权限
Linux下有两种用户:超级用户(root)、普通用户。
Linux系统中的root账号通常用于系统的维护和管理,它对Linux操作系统的所有部分具有不受限制的访问权限。在大多数版本的Linux中,都不推荐直接使用root账号登录系统。
Linux普通用户在系统下的操作是受限的。
超级用户的命令提示符是“#”,普通用户的命令提示符是“$”
useradd #建立用户账户 -c:加上备注文字,备注文字保存在passwd的备注栏中。 -d:指定用户登入时的启始目录。 -D:变更预设值。 -e:指定账号的有效期限,缺省表示永久有效。 -f:指定在密码过期后多少天即关闭该账号。 -g:指定用户所属的起始群组。 -G:指定用户所属的附加群组。 -m:自动建立用户的登入目录。 -M:不要自动建立用户的登入目录。 -n:取消建立以用户名称为名的群组。 -r:建立系统账号。 -s:指定用户登入后所使用的shell。 -u:指定用户ID号 usermod #修改用户账户 -c <备注> 修改用户帐号的备注文字。 -d <登入目录> 修改用户登入时的目录。 -e <有效期限> 修改帐号的有效期限。 -f <缓冲天数> 修改在密码过期后多少天即关闭该帐号。 -g <群组> 修改用户所属的群组。 -G <群组> 修改用户所属的扩展、附加群组。 -l <帐号名称> 修改用户帐号名称。 -L 锁定用户密码,使密码无效。 -s <shell> 修改用户登入后所使用的shell。 -u <uid> 修改用户ID。 -U 解除密码锁定。 userdel #删除用户账户 groupadd #建立用户组 -g GID 指定新用户组的组标识号(GID)。 -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。 groupdel #删除用户组 groupmod #更改组群识别码或名称 -g GID 为用户组指定新的组标识号。 -o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。 -n 新用户组 将用户组的名字改为新名字 > # groupmod –g 10000 -n group3 group2 >此命令将组group2的标识号改为10000,组名修改为group3。 gpasswd #管理组群 -a 添加用户到组。 -d 从组删除用户。 -A 指定管理员。 -M 指定组成员和 -A 的用途差不多。 -r 删除密码。 -R 限制用户登入组,只有组中的成员才可以用 newgrp 加入该组。
4.命令行界面:掌握 Linux 命令行界面的基本操作和常用命令,如文件和目录的操作(ls、cd、mkdir、rm 等)、文件权限管理(chmod、chown 等)、文本编辑器(vi、nano)的使用等。
4.1目录操作命令
绝对路径:绝对路径一定是由根目录 / 开始写起。例如,使用绝对路径的表示方式指明 bin 文件所在的位置,该路径应写为 /usr/bin
相对路径:和绝对路径不同,相对路径不是从根目录 / 开始写起,而是从当前所在的工作目录开始写起。例如cd .. (.表示当前目录、..表示上一级目录)
命令格式:cd 目录名
cd / #切换到根目录
cd ~ #切换到主目录
cd - #切换到上次访问的目录
cd .. #返回上一级目录
pwd 查看当前工作路径(绝对路径)
ls 查看当前目录下的目录和文件
命令格式:ls [-选项] 目录名
选项: -a:列出当前目录所有文件和目录(包括隐藏文件,以 .开头的为隐藏文件)
-l:以列表的形式显示文件和目录
示例:
ls -a 查看该目录下所有文件或目录
ls -l(简写ll) 以列表形式查看文件或目录
命令格式:mkdir [-选项] 目录名
选项: -p:递归创建目录。
示例:
mkdir data/ 在当前目录下创建一个名为aaa的目录
mkdir -p hadoop/data/ 在当前目录下创建hadoop一并创建子目录data
mkdir /tmp/bigdata 在指定目录tmp下创建一个名为bigdata的目录
命令格式:rmdir 目录名 (只能删除空目录)
示例:
rmdir bigdata #删除bigdata这个目录(bigdata为空的目录)
命令格式:rm [-rf] 目录名或文件名
选项: -f:不提示,强制删除文件或目录;
-i:删除已有文件或目录之前先询问用户;
-r,-R:递归删除,将指定目录下的所有文件与子目录一并删除;
-v:显示指令的详细执行过程。
示例:
rm -rf data/ #删除当前目录下data这个目录
rm -rf * #删除当前目录下所有文件和目录,慎用~
rm -rf /* #【自杀命令!慎用!慎用!慎用!】将根目录下的所有文件全部删除
注意:rm默认删除文件,使用-r选项可以删除目录,也可以删除其他文件或压缩包,为了方便大家的记忆,无论删除任何目录或文件,都直接使用 rm -rf 目录/文件/压缩包。
目录修改【改】mv 和 cp
目录重命名
命令格式:mv 旧目录名 新目录名
示例:
mv hadoop/ hadoop01/ #将hadoop名改为hadoop01
注意:mv的语法不仅可以对目录进行重命名而且也可以对各种文件,压缩包等进行重命名的操作
剪切(移动)目录
命令:mv 目录名称 目录的新位置
示例:
mv data Data/ # 将data这个目录移动到Data这个目录下
注意:mv语法不仅可以对目录进行剪切操作,对文件和压缩包等都可执行剪切操作
拷贝(复制)目录或文件
命令格式:cp [-选项] 目录名称 目录拷贝的目标位置
选项: -r:表示递归复制
示例:
cp -r apps/ Data/ #将apps目录复制到Data目录下
注意:cp命令在复制目录是一定加上选项参数“-r”,cp命令不仅可以拷贝目录还可以拷贝文件,压缩包等,拷贝文件和压缩包时不用写-r递归。
搜索目录【查】find
命令格式:find 目录 参数 文件名称或者目录名
示例:
find /tmp -name 'a*' 查找/tmp目录下的所有以a开头的目录或文件。
文件操作命令【增,删,改,查】
文件操作新建文件【增】touch
命令格式:touch 文件名
示例:
touch a.txt #在当前目录创建一个名为aa.txt的文件
touch b.txt c.txt d.txt #在当前目录下创建多个文件b.txt、c.txt、d.txt
注意:使用vi 命令也可以创建新文件
删除文件 【删】 rm
命令格式:rm -rf 文件名
示例:
rm -rf /tmp/a.txt 删除/tmp目录下的a.txt文件
修改文件内容【改】 vi或vim
命令格式:vi 文件名
示例:
vi a.txt 进入a.txt进行编辑
文件移动或重命名:mv
命令格式:mv 文件名 新文件名
示例:
mv hello.txt hi.txt #将当前目录下的hello.txt重命名为hi.txt
mv /tmp/a.txt /tmp/b.txt #将/tmp目录下的a.txt重命名为b.txt
文件的复制:cp
命令格式:cp 原文件名 指定目录
示例:
cp a.txt hadoop/ #将当前目录下的a.txt复制到hadoop目录下
cp a.txt hadoop/b.txt #将当前目录下的a.txt复制到hadoop目录下重命名为b.txt
注意:可以复制的时候重命名
查看文件内容【查】
文件的查看命令:cat、more、less、head、tail
cat:查看文件内容,看最后一屏
命令格式:cat [选项] 文件名
选项: -n :显示行号
示例:
cat /etc/sudo.conf #使用cat查看/etc/sudo.conf文件,只能显示最后一屏内容
more:百分比显示
示例:
more /etc/sudo.conf #使用more查看/etc/sudo.conf文件,可以显示百分比,回车可以向下一行,空格可以向下一页,q可以退出查看
less:翻页查看
示例:
less /etc/sudo.conf #使用less查看/etc/sudo.conf文件,可以使用键盘上的PgUp和PgDn向上和向下翻页,q结束查看
head:默认查看文件前十行内容
示例:
head -5 /etc/sudo.conf #使用head -5 查看/etc/sudo.conf文件的前5行内容
tail:默认查看文件后十行内容
示例:
tail -5 /etc/sudo.conf #使用tail -5 查看/etc/sudo.conf文件的后5行内容
创建链接文件:ln
命令格式:ln [-选项] 源文件 目标文件
选项: -s :创建软连接(相当于快捷键)
示例:
ln data.txt d #创建data.txt文件的硬链接d
示例:
ln -s data.txt da #创建data.txt的软连接文件da
注意:加-s创建软链接,不加-s则创建硬链接,软链接前面是 l 开头的(link),而硬链接是 - 开头,表示文件;软链接类似与 windows 的快捷方式,有一个明显的箭头指向,而指向的是源文件;硬链接文件除了文件名与源文件不一样,其余所有信息都是一样的。类似于 cp 复制操作。但是又和复制不一样,硬链接可以同步更新。
4.2 文件权限管理
文件的权限包括读、写、执行
每个文件的权限针对三类对象进行定义:
文件和文件目录的所有者:u—User
文件和文件目录的所有者所在的组的用户:g—Group
其它用户(除所有者和所有组的用户):o—Others
所有用户(用 a 表示)
每个文件针对每类访问者定义了三种主要权限:
读(由 r 表示)
写(或修改,用 w 表示)
执行(由 x 表示)
rwx r-- r–
421 400 400
7 4 4
文件类型
d:文件夹
-:普通文件
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件
基本权限
读(r/4): Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
写(w/2): Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
执行(x/1): execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
“—”表示不具有该项权限
文件权限值的表示方法
字符表示方法
Linux表示 | 说明 |
---|---|
r- - | 只读 |
-w- | 仅可写 |
- -x | 仅可执行 |
rw- | 可读可写 |
r-x | 可写可执行 |
rwx | 可读可写可执行 |
- - - | 无权限 |
8进制数值表示方法
权限符号 | 八进制 | 二进制 |
---|---|---|
r- - | 4 | 100 |
-w- | 2 | 010 |
- -x | 1 | 001 |
rw- | 6 | 110 |
r-x | 5 | 101 |
-wx | 3 | 011 |
rwx | 7 | 111 |
- - - | 0 | 000 |
文件访问权限的相关设置方法与命令
修改文件权限: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也可以用8进制数值表示法
如执⾏: chmod u=rwx,g=rx,o=r filename
就等同于: chmod u=7,g=5,o=4 filename
chmod 754 filename
修改文件的拥有者:chown
修改文件的所属组:chgrp
查看或修改文件掩码: umask
Linux下对于新建的文件和目录的默认权限如下
新建文件默认权限=0666
新建目录默认权限=0777
但实际上我们所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到umask的影响。
这里假设默认权限是default,则实际创建的出来的文件权限是:
default & ~umask
nano是一个字符终端的文本编辑器,可以打开指定文件进行编辑
语法:nano [选项] [[+行,列] 文件名]
-h, -? --help 显示此信息
-A --smarthome 启用智能 HOME 键
-B --backup 储存既有文件的备份
-U --quickblank 状态行快速闪动
-V --version 显示版本资讯并离开
-W --wordbounds 更正确地侦测单字边界
**vi编辑器是Linux系统下标准的编辑器。**那么简单的理解,就像是Windows下的记事本。
补充:vim是vi的升级版,代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
命令格式: vi 文件名
示例: vi a.txt
注意:直接输入vi,可以查看vi的版本等信息,还可以直接编辑,但是退出时需要加上文件名,例如 :wq a.txt,将输入的内容保存到a.txt文件中。
vi 编辑器有三种模式:命令模式、插入(编辑)模式、底行模式
1、命令模式
直接用命令(vi 文件名)打开一个文件的话,默认是在命令模式下。
例如:(base) [root@defense ~]# vi test.txt
此时处于命令模式下。
2、插入(编辑)模式
在命令模式下输入a、A、i、I、o、O中任何一个字符即可进入插入模式,在此模式下才可以对文件进行编辑,输入内容。在此模式下按 ESC键 退出到命令模式
a、A、i、I、o、O字符作用如下:
a:在当前光标下一位开始编辑
A:在当前光标所在行行尾开始编辑
i:在当前光标开始编辑
I:在当前光标所在行行首开始编辑
o:在当前光标的下一行开始编辑
O:在当前光标的上一行开始编辑
3、底行模式
在命令模式下,通过输入 **:**(英文冒号)即可切换到底行模式,底行模式下可以做一些保存,字符替换等操作,底行模式下命令以回车结束,退出或者返回命令模式,或者**双击Esc**返回命令模式。
常用的底行模式下的命令如下::
set nu 显示行号
:set nonu 取消显示行号
:q 只退出,不保存
:wq 保存退出
:q! 强制退出
:wq! 强制保存退出
:%s/old/new 将old替换成new
:/string 查找字符串
:n 定位到n行(n指数字)
命令模式下的快捷键
dd 删除(剪切)光标所在行整行
ndd 删除光标所在行起向下n行(5dd,删除5行)
yy 复制光标所在行
nyy 复制光标所在行向下n行
p 粘贴 复制或剪切的内容(粘贴到下一行)
x 向后删除当前光标所在字符
X 向前删除当前光标所在字符
gg 把光标跳转到本文件的第一行
G 把光标跳转到本文件的最后一行
Shift+^ (shift+6) 把光标跳转到所在行的行首
shift+$ (shift+4) 把光标跳转到所在行的行尾
u 撤销,返回上一步
r 替换当前光标所在位置(一个字母)
R 向后连续替换
shell终端快捷键的使用:
Ctrl + a :移到行首
Ctrl + e :移到行尾
Ctrl+L:一键清屏(向上隐藏)
Clear:清屏(上面无内容)
Ctrl+u:删除光标所在行
Ctrl+d:向后删除光标所在位置字符
Ctrl+c:终止当前任务(执行的命令)
Ctrl+z:将任务挂起,放入后台
dpkg用于:管理系统里的deb包,可以对其安装、卸载、deb打包、deb解压等操作,与之相关apt-get工具可以在线下载 deb包 安装
-i:安装软件包;
-r:删除软件包;
-P:删除软件包的同时删除其配置文件;
-L:显示于软件包关联的文件;
-l:显示已安装软件包列表;
--unpack:解开软件包;
-c:显示软件包内文件列表;
--confiugre:配置软件包。
5.包管理器:熟悉 Linux 发行版的包管理系统,如apt、yum、dnf 等,以及常用的包管理命令,如软件的安装、更新、卸载等。
5.1 pm包 - (Fedora, Redhat及类似系统)
rpm -ivh package.rpm 安装一个rpm包 rpm -ivh --nodeeps package.rpm 安装一个rpm包而忽略依赖关系警告 rpm -U package.rpm 更新一个rpm包但不改变其配置文件 rpm -F package.rpm 更新一个确定已经安装的rpm包 rpm -e package_name.rpm 删除一个rpm包 rpm -qa 显示系统中所有已经安装的rpm包 rpm -qa | grep httpd 显示所有名称中包含 “httpd” 字样的rpm包 rpm -qi package_name 获取一个已安装包的特殊信息 rpm -qg “System Environment/Daemons” 显示一个组件的rpm包 rpm -ql package_name 显示一个已经安装的rpm包提供的文件列表 rpm -qc package_name 显示一个已经安装的rpm包提供的配置文件列表 rpm -q package_name --whatrequires 显示与一个rpm包存在依赖关系的列表 rpm -q package_name --whatprovides 显示一个rpm包所占的体积 rpm -q package_name --scripts 显示在安装/删除期间所执行的脚本l rpm -q package_name --changelog 显示一个rpm包的修改历史 rpm -qf /etc/httpd/conf/httpd.conf 确认所给的文件由哪个rpm包所提供 rpm -qp package.rpm -l 显示由一个尚未安装的rpm包提供的文件列表 rpm --import /media/cdrom/RPM-GPG-KEY 导入公钥数字证书 rpm --checksig package.rpm 确认一个rpm包的完整性 rpm -qa gpg-pubkey 确认已安装的所有rpm包的完整性 rpm -V package_name 检查文件尺寸、 许可、类型、所有者、群组、MD5检查以及最后修改时间 rpm -Va 检查系统中所有已安装的rpm包- 小心使用 rpm -Vp package.rpm 确认一个rpm包还未安装 rpm2cpio package.rpm | cpio --extract --make-directories bin 从一个rpm包运行可执行文件 rpm -ivh /usr/src/redhat/RPMS/arch/package.rpm 从一个rpm源码安装一个构建好的包 rpmbuild --rebuild package_name.src.rpm 从一个rpm源码构建一个 rpm 包
5.2 yum 软件包升级器 - (Fedora, RedHat及类似系统)
yum install package_name 下载并安装一个rpm包
yum localinstall package_name.rpm 将安装一个rpm包,使用你自己的软件仓库为你解决所有依赖关系
yum update package_name.rpm 更新当前系统中所有安装的rpm包
yum update package_name 更新一个rpm包
yum remove package_name 删除一个rpm包
yum list 列出当前系统中安装的所有包
yum search package_name 在rpm仓库中搜寻软件包
yum clean packages 清理rpm缓存删除下载的包
yum clean headers 删除所有头文件
yum clean all 删除所有缓存的包和头文件
5.3 deb 包 (Debian, Ubuntu 以及类似系统)
dpkg -i package.deb 安装/更新一个 deb 包
dpkg -r package_name 从系统删除一个 deb 包
dpkg -l 显示系统中所有已经安装的 deb 包
dpkg -l | grep httpd 显示所有名称中包含 “httpd” 字样的deb包
dpkg -s package_name 获得已经安装在系统中一个特殊包的信息
dpkg -L package_name 显示系统中已经安装的一个deb包所提供的文件列表
dpkg --contents package.deb 显示尚未安装的一个包所提供的文件列表
dpkg -S /bin/ping 确认所给的文件由哪个deb包提供
5.4 apt 软件工具 (Debian, Ubuntu 以及类似系统)
apt-get install package_name 安装/更新一个 deb 包
apt-cdrom install package_name 从光盘安装/更新一个 deb 包
apt-get update 升级列表中的软件包
apt-get upgrade 升级所有已安装的软件
apt-get remove package_name 从系统删除一个deb包
apt-get check 确认依赖的软件仓库正确
apt-get clean 从下载的软件包中清理缓存
apt-cache search searched-package 返回包含所要搜索字符串的软件包名称
5.5 DNF(Dandified Yum)是新一代的RPM软件包管理器。他首先出现在 Fedora 18 这个发行版中。而最近,它取代了yum,正式成为 Fedora 22 的包管理器。DNF包管理器克服了YUM包管理器的一些瓶颈,提升了包括用户体验,内存占用,依赖分析,运行速度等多方面的内容。DNF使用 RPM, libsolv 和 hawkey 库进行包管理操作。尽管它没有预装在 CentOS 和 RHEL 7 中,但你可以在使用 YUM 的同时使用 DNF 。在centos8中已经默认安装DNF,可以同时使用YUM。
#为了安装 DNF ,您必须先安装并启用 epel-release 依赖。 yum install epel-release yum install dnf # 查看版本 dnf –version #查看系统中可用的 DNF 软件库 dnf repolist #查看系统中可用和不可用的所有的 DNF 软件库 dnf repolist all #列出系统中所有 RPM 包 dnf list #列出所有安装了的 RPM 包 dnf list installed #搜索软件库中的 RPM 包 dnf search git #查看软件包详情 dnf info git #安装软件包 dnf install git #升级软件包 dnf update git #检查系统软件包的更新 dnf check-update #升级所有软件包 dnf update #删除软件包 dnf remove git #删除无用孤立的软件包 #用处:当没有软件再依赖它们时,某一些用于解决特定软件依赖的软件包将会变得没有存在的意义,该命令就是用来自动移除这些没用的孤立软件包。 dnf autoremove #删除缓存的无用软件包 dnf clean all #获取有关某条命令的使用帮助 dnf help clean #查看 DNF 命令的执行历史 dnf history
6.进程管理和系统监控:了解 Linux 中的进程管理和系统监控工具,如ps、top、htop 等,用于查看和管理运行的进程、系统资源的使用情况等。
7.网络配置和管理:熟悉 Linux 网络配置和管理,包括网络接口的设置、IP 地址的配置、网络服务的启动和停止等。
8.Shell 脚本编程:掌握 Shell 脚本编程的基础知识,能够编写简单的脚本来实现自动化任务和批处理操作。
了。常见的提示符包括 “$”、“#” 或用户名等。
提供了命令所需的额外信息。命令和参数之间通常使用空格分隔。
要熟悉该命令的语法,并按照正确的格式输入命令和参数。
路径,而相对路径是相对于当前工作目录的路径。
以帮助减少输入错误和提高效率。
录,并重新执行之前执行过的命令。
据传输。重定向符号(>、>>、<)允许将命令的输出重定向到文件或从文件中获取输入。
助信息,了解命令的使用方式和可用选项。
Kali Linux 是一个基于 Debian Linux 操作系统的开源渗透测试和安全评估工具集。它是由 Offensive
Security 团队维护和开发的,其中包含了一系列的渗透测试工具和安全评估工具。Kali Linux 旨在提供一个
完整的渗透测试平台,方便安全专业人员、渗透测试人员、黑客和安全研究人员等使用。
Kali Linux 拥有一个庞大的社区,其中有很多开发者和用户为 Kali Linux 的发展做出了重要的贡献。Kali
Linux 的代码是开源的,用户可以通过 GitHub [ https://github.com/offensive-security/kali-linux-2021.2]
获得完整的源代码和文档。
Offensive Security(Offsec)是一个安全培训和咨询公司,致力于提供高质量的渗透测试和安全培训课程。
Offsec 在安全行业拥有广泛的声誉,是渗透测试和信息安全领域的权威之一。
Kali Linux 是 Offensive Security 团队开发和维护的一个基于 Debian 的 Linux 发行版,它主要用于渗透测试
和安全评估。Kali Linux 包含了大量的渗透测试工具和安全评估工具,使得安全专业人员、渗透测试人员、
黑客和安全研究人员等能够方便地进行渗透测试和安全评估工作。
因此,Offensive Security 公司和 Kali Linux 有着密切的关系。Offensive Security 团队维护和开发 Kali
Linux,并在其培训和咨询课程中广泛使用该平台进行演示和实践。同时,Kali Linux 的使用者也可以通过
Offensive Security 公司的培训和咨询课程来获得更深入的知识和技能。
kali推荐的下载方式有两种,分别为:
ISO镜像【Installer Images】
虚拟机镜像【Vitural Machines】
本次课程使用的是虚拟机镜像,下载完后文件名为【kali-linux-2023.1-vmware-amd64.7z】,大小为:
2.72GB,解压后大小为14.3GB。
硬件要求(至少>=)
1 GHz x86 processor
1 GB RAM (system memory)
20 GB of hard-drive space
CD-DVD drive / USB boot support
登录
用户名:kali
密码:kal
换源
vi /etc/apt/sources.list
(告诉系统从哪里下载软件包)#开头表示注释,生效的内容为第二行,含义为:
从http.kali.org下载Kali Linux软件包,其中包括main、contrib、non-free和non-free-firmware 组件
因为国内访问http.kali.org网速较慢,故需要将软件包的下载地址修改至国内网站:
具体操作如下:
1.打开终端并输入以下命令以备份原始源列表:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
2.打开源列表文件:
sudo vim /etc/apt/sources.list
3.将以下行完全替换文件内容:
deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
4.保存并关闭文件。
即,将原来的kali官方源注释掉,然后向其中加入源,我这里加的是阿里云源
deb http://http.kali.org/ moto main non-free contrib
deb-src http://http.kali.org/ moto main non-free contrib
deb http://security.kali.org/ moto/updates main contrib non-free
deb-src http://security.kali.org/ moto/updates main contrib non-free
中科大kali源
deb http://mirrors.ustc.edu.cn/kali kali main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali main non-free contrib
deb http://mirrors.ustc.edu.cn/kali-security kali/updates main contrib non-free
deb http://mirror.nus.edu.sg/kali/kali/ kali main non-free contrib
deb-src http://mirror.nus.edu.sg/kali/kali/ kali main non-free contrib
deb http://security.kali.org/kali-security kali/updates main contrib non-free
deb http://mirror.nus.edu.sg/kali/kali-security kali/updates main contrib non-free
deb-src http://mirror.nus.edu.sg/kali/kali-security kali/updates main contrib non-free
deb http://mirrors.163.com/debian wheezy main non-free contrib
deb-src http://mirrors.163.com/debian wheezy main non-free contrib
deb http://mirrors.163.com/debian wheezy-proposed-updates main non-free contrib
deb-src http://mirrors.163.com/debian wheezy-proposed-updates main non-free contrib
deb-src http://mirrors.163.com/debian-security wheezy/updates main non-free contrib
deb http://mirrors.163.com/debian-security wheezy/updates main non-free contrib
deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
注意:其中有些源可能用不了,选择可用的添加即可
使用命令apt-get update
更新源
使用命令apt-get upgrade更新软件,输入Y按回车后进行更新,这步可能需要花费较多时间,也可以直接省略掉
然后使用命令apt-get clean
清理,再用命令reboot
重启虚拟机
uname -r
>> 6.1.0-kali5-amd64
cat /etc/os-release
>>
PRETTY_NAME="Kali GNU/Linux Rolling"
NAME="Kali GNU/Linux"
VERSION="2023.1"
VERSION_ID="2023.1"
VERSION_CODENAME="kali-rolling"
ID=kali
ID_LIKE=debian
HOME_URL="https://www.kali.org/"
SUPPORT_URL="https://forums.kali.org/"
BUG_REPORT_URL="https://bugs.kali.org/"
ANSI_COLOR="1;31"
lsb_release -a
>>
No LSB modules are available.
Distributor ID: Kali
Description: Kali GNU/Linux Rolling
Release: 2023.1
Codename: kali-rolling
hostnamectl
>>
Static hostname: kali
Icon name: computer-vm
Chassis: vm 声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/643453
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。