Linux操作系统基础

目录

01 Linux基础

1. Linux简介

2. Linux文件系统

1. etc目录

cat /etc/passwd 格式

/etc/shadow 格式

/etc/group 格式

/etc/gshadow 格式

/etc/apt/sources.list

vim编辑器:i

2. /var 目录

3. Linux常用命令

Linux命令的分类

01 内部命令:属于shell解析器的一部分(没有单独对应的系统文件)

02 外部命令:独立于shell解析器之外的文件程序(每个外部命令对应了系统中的一个文件)

03 查看帮助文档

操作文件或目录的常用命令

小游戏:

备份压缩命令:

gzip命令

tar命令 gz

操作用户的命令

4. Linux权限管理

三种基本权限

更改操作权限

5. VIM编辑器

VIM工作模式

01 一般模式

02 编辑模式

03 末行模式

VIM插入命令

VIM常用快捷键

6. SSH远程连接

1. Linux安装ssh服务

2. Linux启动ssh服务

3.在Linux上安装完成ssh服务器后,接下来在Windows系统下使用 MobaXterm 进行连接测试ssh服务器是否安装成功

02 Linux与Windows区别

(1)使用的费用不同

(2) 适合使用对象不同

  (3)操作风格不同

  (4)  支持的软件不同

  (5)  文件格式不同

  (6)  安全性不同

(7)可定制性不同

(8)程序可移植性不同


01 Linux基础

1. Linux简介

1.1 Linux简介

Linux是一种自由开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。(Android也是基于Linux内核开发的

Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机。

1.2 Linux历史

Linux的出现,最早是一位名叫Linux Torvalds的计算机业余爱好者,但是他是芬兰赫尔辛基大学的学生。他的目的是想设计一个代替Minix(是由一位名叫Andrew Tannebaum的计算机教授编写的一个操作系统示教程序)的操作系统,这个操作系统可用于386、486或奔腾处理器的个人计算机上,并且具有Unix操作系统的全部功能。

Linux操作系统的诞生、发展和成长过程始终依赖着五个重要支柱UNIX操作系统、MINIX操作系统、GNU计划(自由软件集体协作计划)、POSIX(标准可移植操作系统接口)和lnternet网络

1981-1991年间DOS操作系统一直是微机上操作系统的主宰。此时计算机硬件价格虽逐年下降,但软件价格仍居高不下。当时Apple的MacOS操作系统可以说是性能最好的,但是其天价没人能够轻易靠近。1991年4月,LinusTorvalds开始酿并着手编制自己的操作系统。1991年8月,LinusTorvalds开始在网上寻找志同道合的合作伙伴,同年10月5日LinusTorvalds在新闻组comp.os.minix发布了大约有一万行代码的Linux 1.3 Linux特点vo.01版本正式向外宣布Linux内核系统的诞生。这段消息可以称为Linux的诞生宣言,并且一直广为流传。

Linux出现于1991年,是由芬兰赫尔辛基大学学生LinusTorvalds和后来加入的众多爱好者共同开发完成。

1.3 Linux特点

  • 多用户,多任务:Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行
  • 主流:目前的Linux操作系统主要应用于生产环境,主流企业级Linux系统仍旧是RedHat或者CentOS
  • 免费:Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变。这让Linux吸收了无数程序员的精华,不断壮大。
  • 更新方便:CentOS独有的yum命令支持在线升级,可以即时更新系统,不像RedHat那样需要花钱购买支持服务!
  • 开源

1.4 Linux系统构架

Linux系统一般有四个组成部分:内核、shell、文件系统应用程序

内核是操作系统的核心,具有很多最基本功能,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。

shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行,是一个命令解释器。另外,shell编程语言具有普通编程语言的很多特点,用这种编程语言编写的shell程序与其他应用程序具有同样的效果。

文件系统存放在磁盘等存储设备上的组织方法。Linux系统能支持多种目前流行的文件系统,如EXT2、EXT3、FAT、FAT32、VFAT和ISO9660。

标准的Linux系统一般都有一套称为应用程序的程序集,它包括文本编辑器、编程语言、X Windows、办公套件、Internet工具和数据库等。

1.5 Linux启动过程

我们在使用Linux操作系统的时候,我们只需要按下电源键,等待,然后输入账户和密码就可以使用了。那么在按下电源到输入账号密码之间,操作系统都做了什么?

linux系统启动流程可以简单总结为以下几步:
1)开机BIOS自检,加载硬盘。(计算机电源加电质检)
2)读取MBR,进行MBR引导。
3)grub引导菜单(Boot Loader)。(是计算机启动过程中运行的第一个软件程序)
4)加载内核kernel。(读取内存映像并进行解压缩操作,完成核心环境搭建)
5)启动init进程,依据inittab文件设定运行级别(内核加载完毕)
6)init进程,执行rc.Sysinit文件。(设定PATH运行变量、设定网络配置、启动swap分区、设定/proc、系统函数、配置Selinux等。)
7)启动内核模块,执行不同级别的脚本程序。(加载系统内核模块)
8)执行/etc/rc.d/rc.local(将需要开机启动的任务加入到该文件末尾,系统会逐行去执行并启动相应命令。)
9)后启动mingetty,进入系统登陆界面。

2. Linux文件系统

  • bin(binaries)存放二进制可执行文件
  • sbin(super user binaries)存放二进制可执行文件,只有root才能访问
  • dev(devices)用于存放设备文件
  • etc(etcetera)存放系统配置文件
  • home 存放用户文件的根目录
  • boot 存放用于系统引导时使用的各种文件
  • lib(library)存放跟文件系统中的程序运行所需要的共享库及内核模块
  • usr(unix shared resources)用于存放共享的系统资源
  • var(variable)用于存放运行时需要改变数据的文件(web文件所在)
  • tmp(temporary)用于存放各种临时文件
  • mnt(mount)系统管理员安装临时文件系统的安装点

系统根目录:/

用户根目录:/home /用户名

1. etc目录

保护用户信息的文件:/etc/passwd

保存密码的文件:/etc/shadow

保存用户组的文件:/etc/group

保存用户组密码的文件:/etc/gshadow

用户配置文件:/etc/default/useradd

  • cat /etc/passwd 格式

保护用户信息的文件

/etc/passwd 先用  sudo su 提权

root:x:0:0:root:/rootusr/bin/zsh
账号名称账号密码账号UID账号UID用户说明用户家目录

shell解释器

UID:0是超级用户root的标识号,1-99由系统保留,作为管理账号,普通用户的标识号从100开始。Linux系统中,这个界限是500

用户名”:代表用户账号的字符串
密码:一些系统中,存放着加密后的用户口令。现在很多都使用了都使用了shadow技术,把真正的加密后的用户口令存放到etc/shadow文件中,而在/etc/shadow文件的口令字段中只存放一个特殊的字符,例如“x”或者“*”。
用户标识号”:是一个整数,系统内部用它来标识用户。0是超级用户root的标识号,1~99由系统保留,作为管理账号,普通用户的标识号从100开始。
"组标识号:字段记录的是用户所属的用户组(用户默认的组ID)。它对应着/etc/group文件中的一条记录。
注释性描述”:字段记录着用户的一些个人情况,例如用户的真实姓名、电话、地址等,这个字段并没有什么实际的用途。
主目录”:也就是用户的起始工作目录,它是用户在登录到系统之后所处的目录。而用户主目录的名称就是该用户的登录名。
"
shell:用户登录后,要启动一个进程,负责将用户的操作传给内核,这个进程是用户登录到系统后运行的命令解释器或某个特定的程序,即Shell。

可用这个命令 排查有没有新增可疑用户。

  • /etc/shadow 格式

保存密码文件

/etc/shadow

格式:

用户名:加密密码:最后一次修改时间:最小修改时间间隔:密码有效期:密码需要变更前的警告天数:密码过期后的宽限时间:账号失效时间:保留字段

查看命令man 5 shadow

用户名        

登录系统的用户名
密码加密密码
最后一次修改时间用户最后一次修改密码距现在的天数,从1970-1-1起
最小时间间隔两次修改密码之间的最小天数
最大时间间隔密码有效天数
警告时间从系统警告到密码失效的天数
账号闲置时间账号闲置时间
失效时间密码失效的天数
标志标志

  • /etc/group 格式

保存用户组的文件

/etc/group

用户组密码是用来指定组管理员的

cat命令主要用来查看文件信息,内容的。

  • /etc/gshadow 格式

保护用户组密码的文件

/etc/gshadow

组名:加密密码:组管理员:组附加用户列表

  • /etc/apt/sources.list

系统更新源文件

/etc/apt/sources.list

修改更新源的方法:

vim编辑器:i

下载安装工具:

更新更新源:vim /etc/apt/sources.list,使用https的更新源

进行更新:apt-get update

安装软件:apt-get install 软件名称

更新更新源不能成功:

gpg --keyserver hkp://pgpkeys.mit.edu --recv-key ED444FF07D8D0BF6

gpg -a --export ED444FF07D8DD0BF6 | sudo apt-key add -

或者:wgetarchive.kali.org/archive-key.asc //下载签名

apt-key add archive-key.asc //安装签名

修改DNS:

vim /etc/resolv.conf , 也可以直接去目录下找到文件用文本编辑器打开修改

nameserver 8.8.8.8

nameserver 114.114.114.114

2. /var 目录

/var 目录:用于存储动态数据,例如缓存、日志文件、软件运行过程中产生的文件等。

/var 子目录功能(作用)
/var/lib/程序运行中需要调用或改变的数据保存位置。如MySQL的数据库保存在/var/lib/mysql/目录中。
/var/log/登录文件放置的目录,其中所包含比较重要的文件如/var/log/messages, /var/log/wtmp等。【日志文件】
/var/run/一些服务和程序运行后,他们的PID(进程ID)保存位置。
/var/spool/里面主要都是一些临时存放,随时会被用户所调用的数据,例如/var/spool/mail存放新收到的邮件,/var/spool/cron存放系统定时任务
/var/www/RPM包安装的apache的网页主目录【浏览器】
/var/nis 和 /var/ypNIS服务机制所使用的目录,nis主要记录所有网络中每一个client的连接信息ypLinux的nis服务的日志文件存放的目录。
/var/tmp一些应用程序在安装或执行时,需要在重启后使用的某些文件,此目录能将该类文件暂时存放起来,完成后再行删除。【临时文件】

3. Linux常用命令

命令格式:命令-选项参数

如:ls -a

ls: 显示文件和目录列表(list)

常用参数:

-l  (long,文件的详细信息)

-a (all)注意隐藏文件、特殊目录

-t (time)文件建立的先后时间排序文件 例如:ls -lt

例如:

01 不带任何参数运行ls命令将列出当前工作目录的内容ls

02 列出任何目录的内容,如 /etc目录的内容: ls /etc

这里需要填写绝对路径(注意大小写):

03 列出文件的详细信息,权限等: ls -l

首字母
-:普通文件
d:目录文件

c:字符设备文件
b:块设备文件
p:管道文件
I:链接文件
s:socket文件
rwx:读、写、执行权限

04 一个目录中总是包含一些隐藏的文件(至少有两个),因此,要展示目录中的所有文件,使用-a 或 -al 标志: ls -a

05 按文件建立的先后时间排序文件:ls -t

Linux命令的分类

01 内部命令:属于shell解析器的一部分(没有单独对应的系统文件)

cd切换目录(change directory)

  • cd /路径 #切换到指定文件夹
  • cd ./       #当前
  • cd ../      #上一级目录
  • cd ..       #上一级目录
  • cd ~       #根目录

cd /路径 切换到当前的下一级文件夹:需要填写绝对路径

pwd显示当前工作目录(print working directory

--help 帮助

02 外部命令:独立于shell解析器之外的文件程序(每个外部命令对应了系统中的一个文件)

ls显示文件和目录列表(list)

mkdir创建目录(make directory)

cp复制文件或目录(copy)

03 查看帮助文档

内部命令:help+命令 (help cd)

外部命令:man 5+passwd (man ls)

man n password(待查的词)

man (manual,使用手册,指南)

n 代表的意思

0/usr/include 下的头文件
1可执行程序和shell命令
2系统调用
3系统库函数
4/dev 下的特殊文件
5文件格式和约定(比如/etc/passwd)
6游戏
7其他
8仅root可用的系统管理命令
9内核相关的内容

操作文件或目录的常用命令

pwd显示当前工作目录(print working directory)
touch创建空文件
mkdir创建目录(make directory)
cp复制文件或目录(copy)
mv移动文件或目录、文件或目录改名(move)

常用Linux命令汇总

Linux系统命令及其使用详解

rm删除文件(remove)用rm删除的文件可恢复
rm -r同时删除该目录下的所有文件(recursive)
rm -f强制删除文件或目录(force)
rmdir删除空目录(remove directoriy)
cat显示文本文件内容(catenate)
more、less分页显示文本文件内容
head、tail查看文本中开头或结尾部分的内容
head -n 5 a.log查看a.log文件的前5行
 tail -f b.log实时读取文件的新内容(或循环读取)

find命令按照文件名查找文件(不是全局搜索
find / -name.txt查找根目录下的.txt的文档
ps显示瞬间的进程状态
ps -a显示现行终端机下的所有程序,包括其他用户的程序
ps -A显示所有程序
ps -c列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的指示
ps -e此参数的效果和指令“A”参数相同
ps e列出程序时,显示每个程序所使用的环境变量
ps f用ASCII字符显示树状结构,表达程序间的相互关系
ps -H显示树状结构,表示程序间的相互关系
kill杀死一个进程(Windows的杀掉进程:taskkill)

find命令:

find -name *.txt  //查找当前路径下面的以.txt结尾的文档

find . -name "*.c" // 将目前目录及其子目录下所有延伸文档名是c的文件列出来

find . -type f // 将目前目录其其下子目录中所有一般文件列出

find . -ctime -20 // 将目前目录及其子目录下所有最近20天内更新过的文件列出

find /var/log -type f -mtime +7 -ok rm {} \;  //查找/var/log目录中更改时间在7日以前的普通文件,并在删除之前询问它们

find .-type f -perm 644 -exec ls -l {} \;  //查找前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件

find / -type f -size 0 -exec ls -l {} \;  //为了查找系统中所有文件长度为0的普通文件,并列出它们的完整路径。

du命令:是同级目录或文件所占磁盘空间大小的命令。

du 命令的格式如下:

 [root@localhost ~]# du [选项] [目录或文件名]

-a: 显示每个子文件的磁盘占用量、默认只统计子目录的磁盘占用量

-h: 使用习惯单位显示磁盘占用量,如KB、MB、或GB等;

-s: 统计总磁盘占用量,而不列出子目录和子文件的磁盘占用量

su 命令:切换用户

su root:前提条件,设置了root账户的密码

sudo su // 允许系统管理员让用户执行一些root权限的命令

sudo -i:使用sudo来一交互式方式打开新的shell会话,并将环境变量设置为超级用户的环境。当运行sudo -i时,会被要求输入当前用户的密码,然后进入一个全新的shell,它的环境变量和路径设置与超级用户(root)相同。这意味着可以像在root账户下一样执行命令。

在Linux系统中,有些普通用户需要借助root账号来执行一些操作,但我们并不能把root密码给普通用户,就有了sudo;

sudo可以临时切换到指定账号进行操作;

使用方法sudo [ -u 用户账号] 需要执行的命令;切换到root时,可以直接执行sudo执行命令即可;

sudo-l :列出所有可以执行的命令;

使用条件:

 1. 必须以root身份执行visudo,添加需要执行sudo命令的用户;

 2. 执行visudo,实际上修改的是/ect.sudoers文件;

 3. 为什么要使用visudo,而不直接使用vim /etc/sudoers 呢?这是因数visudo在修改完成后可以对语法进行检查;

 4. 使用visudo -c进行语法检查, 当sudoers文件有语法错误时,所有的sudo命令都无法使用。

df命令:用于显示Linux系统中各文件系统的硬盘使用情况,包括文件系统所在硬盘分区的总容量、已使用的容量、剩余容量等。

df命令的基本格式为:

[root@localhost ~]# df [选项] [目录或文件]

df命令常用选项及作用

-a:显示所有文件系统信息,包括系统特有的 /proc、/sysfs 等文件系统;

-m:以MB为单位显示容量;

-k:以KB为单位显示容量,默认以KB为单位;

-h:使用人们习惯的KB、MB或GB等单位自行显示容量;

-T:显示该分区的文件系统名称;

-i:不用硬盘容量显示,而是以含有inode的数量来显示。

区别:du命令是面向文件的,只会计算文件或目录占用的磁盘空间。也就是说,df命令统计的分区更准确,是真正的空闲空间。

free命令:显示当前内存和交换空间的使用情况

netstat:显示网络状态信息

-a:显示所有连接和监听端口

-t:(tcp)仅显示tcp相关选项;

-u:(udp)仅显示udp相关选项;

-n:拒绝显示别名,能显示数字的全部转化成数字;

-p:显示建立相关链接的程序名;

-o:显示对应的pid

ifconfig:网卡网络配置详解(Windows是ipconfig)

ping:测试网络的连通性;

Ping -c 5 qq.com (-c 5 就是ping几次,执行5次;不加的话只能Ctrl+c 才能退出去)

shutdown 系统关机

 -r 关机后立即重启

 -h 关机后不重新启动

halt 关机后关闭电源

Reboot 重新启动

init 0 关机

init 重启

小游戏:

01 hacknet

这个游戏讲的是一位传奇黑客Bit,死后的一段故事。Bit是CSEC高级黑客组织的一员,也是著名网络安全公司En Tech一名员工。

02 在线靶场:bandit

overthewire.org/wargames/bandit/bandit0.html

这个游戏要在虚拟机上玩,因为它需要Linux系统启动ssh条件。

如果启动了,那么用kali连接:ssh -p 2220 bandit0@bandit.labs.overthewire.org

需要输入密码:bandit0

然后进入第二关。先用ls查看所有的文件,然后用cat ./ 文件名,来查询出密码。接着通过ssh -p 2220 bandit2@网址进入下一关。

备份压缩命令:

gzip压缩(解压)文件或目录,压缩文件后缀为gz

bzip压缩(解压)文件或目录,压缩文件后缀为bz2

tar文件、目录打(解)包

zip

unzip filename.zip

gzip命令

命令格式gzip[选项] (解压缩)的文件名 gz

  -d 将压缩文件解压(decompress)

  -l 显示压缩文件的大小,未压缩文件的大小,压缩比(list)

  -v 显示文件名和压缩比(verbose)

  -num 用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9           或--best表示最慢压缩方法(高压缩比)。系统缺省值为6

[root@runoob.com a]# ls  //显示当前目录文件

a.c b.h d.cpp

[root@runoob.com a]# gzip * //压缩目录下的所有文件

[root@runoob.com a]# ls

a.c.gz   b.h.gz   d.cpp.gz

[root@runoob.com a]#

tar命令 gz

-c 建立一个压缩文件的参数指令(create)

其中zxvf含义分别如下

zgzip压缩格式
xextract解压
vverbose详细信息
ffile(file=archieve)文件

-t 查看tarfile里面的文件

# touch a.c

# tar -czvf test.tar.gz a.c   //压缩a.c文件为test.tar.gz

操作用户的命令

1. 添加新的用户账号便用useradd命令
useradd 选项 用户名
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录如果此目录不存在,则同时使用-m选项,可以创建主目录,
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组
-s Shel文件 指定用户的登录Shell.
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

如:useradd -d /home/sam -m sam
此命令创建了一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目录/home/sam(/home为默认的用户主目录所在的父目录)。

2. 修改用户账号
就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shel等。

修改已有用户的信息使用usermod命令,其格式如下:
usermod 选项 用户名
常用的选项包括-c,-d,-m,-g,-G,-s,-u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。
另外,有些系统可以使用选项:-l 新用户名
这个选项指定一个新的账号,即将原来的用户名改为新的用户名。

例如:usermod -s /bin/ksh -d/home/z -g developer sam
此命令将用户sam的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer。

3. 删除帐号
如果一个用户的账号不再使用,可以从系统中删除。删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。

删除一个已有的用户账号使用userdel命令,其格式如下:
userdel 选项 用户名
常用的选项是-r,它的作用是把用户的主目录一起删除。

例如:
# userdel -r sam
此命令删除用户sam在系统文件中(主要是/etc/passwd,/etc/shadow,/etc/group等)的记录,同时删除用户的主目录。

  • 添加组:groupadd

       -g 指定gid

  • 修改组:groupmod

      -n 更改组名(new group)

  • 删除组:groupdel
  • groups 显示用户所属组

4. Linux权限管理

三种基本权限

  • 读权限(read)查看文件数据
  • w写权限(write)修改、删除
  • x执行权限(execute)运行程序
  • 通过数字给文件权限

更改操作权限

  • chmod修改文件权限命令(change mode)

参数:-R下面的文件和子目录做相同权限操作(Recursive递归的)
例如:chmod u+x a.txt

  • 用数字来表示权限r=4,W=2,×=1,-=0

例如:chmod 750 b.txt
rwx用二进制表示是111,十进制4+2+1=7
r-x用二进制表示是101,十进制4+0+1=5

5. VIM编辑器

vi/vimUnix/Linux最常用文本编辑器而且功能非常强大
只有命令,没有菜单

什么是vim?
Vim是从vi发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
简单的来说,vi是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。vim则可以说是程序开发者的一项很好用的工具。
为什么学vi?
1)所有的UnixLike系统都会内建vi文本编辑器,其他的文本编辑器则不一定会存在;
2)很多个别软件的编辑接口都会主动呼叫vi(例如未来会谈到的crontab,visudo,edquota等指令);
3)vim具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计;
4)因为程序简单,编辑速度相当快速。

VIM工作模式

以逆时针的顺序来看上图:

首先输入vim 文件名进入一般模式

一般模式:在电脑上输入的任何内容都会识别为命令

i:光标前插入文本(用得比较多)

a:光标后插入文本

o:光标下一行插入新的行

输入完成后,按esc键退出,然后输入:进入底行模式

退出方式::wq  q  q!(强制退出) wq!(强制保存退出)

基本上vi/vim共分为三种模式,分别是一般模式(command mode),编辑模式(insert mode)和末行模式(last line mode)

01 一般模式

用户刚刚启动vi/vim,便进入了命令模式。此状态下敲击键盘动作会被VIM识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当做了一个命令

02 编辑模式

在一般模式下按下i就进入了输入模式

03 末行模式

在命令模式下:(英文冒号)就进入了底线命令模式

VIM插入命令

VIM常用快捷键

6. SSH远程连接

首先SSH是什么?SSH(Secure SHell)是Linux、Unix、Mac及其他网络设备最常用的远程CLI管理协议,SSH使用秘钥对数据进行加密,保证了远程管理数据的安全性。

SSH2是现在广泛使用的ssh版本
SSH协议使用TCP协议,端口号为22
Openssh是ssh的一个开源程序,绝大多数Linux版本均使用openssh作为ssh程序
SSH分为服务端与客户端,SSH服务端默认启动,作为常驻服务运行
可以使用Service ssh status命令查看ssh的状态

1. Linux安装ssh服务

sudo apt-get install sshd

2. Linux启动ssh服务

service ssh start/stop/restart/status, 启动/停止/重启/状态

修改sshd_config参数

vim /etc/ssh/sshd_config #编辑此文件

输入:vim /etc/ssh/sshd_config 回车进入vim工作模式

i进入编辑模式,在Authentication选项中#PermitRootLogin prohibit-password(充许root登录,但是禁止root用密码登录)将该行改为PermitRootLogin yes(允许root登录,设为yes)注意去掉前面的#

再按Esc键,输入英文的:进入末行模式,然后输入wq退出vim工作模式。

再重启ssh:service ssh restart

3.在Linux上安装完成ssh服务器后,接下来在Windows系统下使用 MobaXterm 进行连接测试ssh服务器是否安装成功


1)运行Xterm软件(终端模拟器),选择"Session",

2)点击"SSH"并进行设置,如下图所示:

选择“协议”为“ssh”,“remote host” 为 Linux 的 IP 地址,用户名为当前用户名。端口号使用默认值22。

ping一下确认能通信

Linux init 进程

init进程是系统所有进程的起点
init程序首先是需要读取配置文件/etc/inittab

  • ·运行级别

许多程序需要开机启动。它们在Windows叫做"服务”(service),在Linux就叫做“守护进程”(daemon)。init进程的一大任务,就是去运行这些开机启动的程序。但是,不同的场合需要启动不同的程序,比如用作服务器时,需要启动Apache,用作桌面就不需要。
Linux允许为不同的场合,分配不同的开机启动程序,这就叫做"运行级别"(runlevel)。也就是说,启动时根据“运行级别",确定要运行哪些程序。

  • 7个运行级别

·运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
·运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
·运行级别2:多用户状态(没有NFS)
·运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
·运行级别4:系统未使用,保留
·运行级别5:X11控制台,登陆后进入图形GUI模式
·运行级别6:系统正常关闭并重启,跌认运行级别不能设为6,否则不能正常启动

黑客常用命令

系统信息

arch#显示机器的处理器架构(1)
uname -m#显示机器的处理器架构(2)
uname -r#显示正在使用的内核版本
dmidecode -q#显示硬件系统部件-(SMBIOS/DMI)
hdparm -i/dev/hda#罗列一个磁盘的架构特性
hdparm -tT/dev/sda#在磁盘上执行测试性读取操作
cat /proc/cpuinfo#显示CPUinfo的信息
cat /proc/interrupts#显示中断
cat /proc/meminfo校验内存使用
cat /proc/swaps#显示哪些swap被使用
cat /proc/version显示内核的版本
cat /proc/net/dev#显示网络适配器及统计
cat /proc/mounts#显示已加载的文件系统
Ispci -tv#罗列PCl设备
Isusb -tv#显示US

date显示系统日期

cal 2007#显示2007年的日历表
date 041217002007.00#设置日期和时间 - 月日时分年.秒
clock -w#将时间修改保存到BIOS

关机(系统的关机、重启以及登出)

shutdown -h now#关闭系统(1)
init 0#关闭系统(2)
telinit 0#关闭系统(3)
shutdown -h hours:minutes &#按预定时间关闭系统
shutdown -c#取消按预定时间关闭系统
shutdown -r now#重启(1)
reboot#重启(2)
logout#注销

文件和目录

cd /home#进入'/home'目录
cd ..#返回上一级目录

02 Linux与Windows区别

(1)使用的费用不同

Linux是一项开源的项目,所以它免费提供给编程爱好者使用,而Windows则是需要购买的一款系统,目前最新的正版Windows系统售价888元。

(2) 适合使用对象不同

Linux适合企业公司服务器系统架构,而Windows适合大众使用。

  (3)操作风格不同

Windows是面向大众化的,所以操作上比较符合普通人的操作习惯,大多都是通过界面化的操作
而Linux在很多情况下需要通过命令行来进行操作

  (4)  支持的软件不同

Windows由于使用人数较多,所以支持Windows的软件在数量和质量上都比Linux有优势
Linux平台只有开发者维护,缺少资金的大量支持,所以软件方面的数量和质量比较缺乏

  (5)  文件格式不同

Windows操作系统内核是NT,而Linux是shell

  (6)  安全性不同

Windows系统常常成为黑客和病毒的攻击目标,所以需要安装一些安全防护软件来保护计算机的安全。
而Linux相比较Windows来说则安全很多,使用Linux是完全不需要安装额外的安全软件

(7)可定制性不同

Windows的操作范围大多已经受到微软的限制,所以基本上是系统怎样设置,用户就只能规矩操作。
而Linux提供了更高的定制性,它支持开发者通过编码来定义适合自己的操作系统。

(8)程序可移植性不同

Windows的程序可移植性差,程序基本不兼容Linux.
而Linux程序的可移植性好,不仅可以在不同的Linux之间移植,还可以移植到Windows上面来。

Linux严格区分大小写

Windows不区分大小写

目录和ttl值

感谢KIKI老师的教导。

  • 20
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值