Linux及操作系统介绍

Linux及操作系统介绍

操作系统的作用

  1. 五大基本功能
    (1)进程和线程的管理:进程线程的状态、控制、同步互斥、通信调度等

    (2)存储管理:分配/回收、地址转换、存储保护等
    (3)文件管理:文件目录、文件操作、磁盘空间、文件存取控制

    (4)设备管理:设备驱动、分配回收、缓冲技术等
    (5)用户接口:系统命令、编程接口

  2. 三个作用
    (1)资源的管理者
    (2)向用户提供各种服务

    (3)对硬件机器的扩展

  3. 操作系统的应用场景
    (1)嵌入式设备:如POS机、单反相机、游戏机、智能设备等

    (2)移动端设备:如手机、平板电脑等
    (3)个人桌面电脑:如上网本、游戏本、笔记本电脑、台式机等

    (4)服务器:如云服务器、PC服务器、刀片服务器、小型机等

    (5)超级计算机:各类超级计算机、大型服务器等

通常情况下,服务器端操作系统(Windows,Linux)不会安装GUI界面,只是一个内核加Shell,再加少量命令行。

使用堡塔和XShell

SSH协议介绍

SSH为Secure Shell 的缩写,由IETF的网络小组(Network Working Group)所制定;SSH为建立在应用层基础上的安全协议。SSH是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台,常见的可视化操作工具如本节内容所介绍的两款工具,也可以是基于命令行的SSH命令。SSH提供两种级别的安全验证。
1、第一种级别(基于口令的安全验证)
只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到"中间人"这种方式的攻击。
2、第二种级别(基于密匙的安全验证)
需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密"质询”(challenge)并把它发送给客户端软件。客户端软件收到"质询"之后就可以用你的私人密匙解密再把它发送给服务器。
用这种方式,你必须知道自己密匙的口令。但是,与第一种级别相比,第二种级别不需要在网络上传送口令,相对来说更加安全。

SSH与SCP命令

  1. SSH命令

    c:\Users\Denny>ssh -1 root 192.168.157.136 
    root@192.168.157.136's password:
    Last login: wed Aug 11 01:44:40 2021 from 192.168.157.136  
    [root@zxgtwy ~]# uname
    Linux
    

    如果是首次连接,会提示类似以下的信息,输入"yes"回车即可:

    The authenticity of host '192.168.157.136 (192.168.157.136)' can't be established.
    ECDSA key fingerprint is SHA256:bj1deKY0toY2wWZ6RlX0k39iArND5MEcHqY8B93gkcU.
    Are you sure you want to continue connecting (yes/no/[fingerprint])?
    

    以下命令表明成功使用Windows的SSH内置命令连接到Linux上,进而可以不需要借助于XShell等工具进行远程连接。也可以使用以下方式进行连接:

    c:\users\Denny>ssh root@192.168.112.225
    root@192.168.112.225's password:
    Last login: wed Aug 11 02:01:50 2021 from 192.168.112.14 
    [root@zxgtwy ~]#
    
  2. SCP命令

    从Windows上传文件到Linux

    C:\Users\lenovo>scp C:\Users\lenovo\Desktop\cccc.jpg root@192.168.157.136:/opt
    root@192.168.157.136's password:
    cccc.jpg                                                                              100%  172KB  42.1MB/s   00:00
    

    从Linux下载文件到Windows

    C:\Users\lenovo>scp root@192.168.157.136:/opt/cccc.jpg E:\
    root@192.168.157.136's password:
    cccc.jpg                                                                              100%  172KB  50.5MB/s   00:00
    

    如果要传输的是文件夹,则添加-r参数即可

Linux的文件系统

文件系统解读

在Linux下运行"df -h"命令,可以查看到目前Linux中存在的硬盘分区情况,及每个分区的硬盘使用情况。

[root@zxgtwy ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 1.9G     0  1.9G    0% /dev
tmpfs                    1.9G     0  1.9G    0% /dev/shm
tmpfs                    1.9G   12M  1.9G    1% /run
tmpfs                    1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/mapper/centos-root   50G  1.3G   49G    3% /
/dev/sda1               1014M  150M  865M   15% /boot
/dev/mapper/centos-home   46G   33M   46G    1% /home
tmpfs                    378M     0  378M    0% /run/user/0

上述命令的结果中可以看到,Filesystem列表示文件系统,Size表示硬盘的大小,Used表示已经使用了多大,Avail表示剩余使用量,Use%表示占用百分比,Mounted on表示目前挂载到哪个目录下。
另外,对上述几个挂载的目录进行一下简单的说明。
(1) /dev: dev是设备(device)的英文缩写。/dev这个目录对所有的用户都十分重要。因为在这个目录中包含了所有Linux系统中使用的外部设备。
(2) /dev/shm: /dev/shm/是linux下一个非常有用的目录,因为这个目录不在硬盘上,而是在内存里。因此在linux下,就不需要大费周折去建ramdisk,直接使用/dev/shm/就可达到很好的优化效果。该分区的大小通常是系统内存的一半大小,由于该目录是驻留在内存中,所以对于在系统中需要使用的临时数据,可以将其存储在该目录中,就相当于我们直接在使用内存读写文件,速度相当快。(基本上来说,内存的读写速度可以达到硬盘的100倍左右)。

内存除了快以外,还有一个特性:断电则数据全部丢失。

(3) /run:一些运行过程中跟用户或进程有关的数据,属于内核级文件。

(4) /sys/fs/cgroup:关于运行过程中CPU、内存等数据,属于内核级文件。
(5)/∶根目录,用户可以使用的保存操作系统其他文件的目录,用户也可以创建自己的目录。

(6) /boot:操作系统的内核及在引导过程中使用的文件。
(7) /home:普通用户使用的根目录,通常也称之为“家目录",类似于Windows下的CNUsers目录。

(8) /run/user/0:编号ID为0的用户(通常是指root)在运行过程中产生的数据。

另外,在Linux中,文件系统诵常由以下类型构成,其特点总结如下:

文件系统 最大文件名长度 最大文件大小 最大分区大小
ext2 255 bytes 2 TB 16TB
ext3 255 bytes 2 TB 16TB
ext4 255 bytes 16TB 1 EB
XFS 255 bytes 8EB 8EB

1TB=1024GB,1PB=1024TB,1EB=1024PB,目前还没有单个存储器达到EB这个容量级别。

Linux根目录说明

命令实例 作用
/ 表示根目录,是绝对路径
./ 表示当前目录,是相对路径
…/ 表示上—级目录,是相对路径
/root root用户的主目录
/home/username 存放普通用户的个人配置文件
/bin 存放linux常用的命令
/boot 存放系统启动时要用到的文件
/dev 存放linux系统中使用的外部设备
/etc 存放系统管理时用到的配置文件和子目录
/usr/sbin 存放管理员的系统管理程序
/lib 存放系统动态链接共享库
/lost+found 系统运行异常时产生的错误,会将遗失的片断放在这里
/mnt 可临时将别的外部设备挂接在此目录下
/proc 存在系统内存中的信息
/usr 用户的应用程序和文件都存放在这个目录下
/tmp 存放临时文件的目录

通常情况下,我们可以使用/opt和/home目录,这两个目录均是由用户自由处理的,不存在敏感文件,也可以将程序安装在/opt/目录下,默认情况下,程序安装路径会在/usr/bin 或/var/目录下

常见命令使用

  1. top命令

    类似于Windows的任务管理器,可以查看CPU和内存等使用情况,也可以查看每个进程所消耗CPU和内存,及进程ID等信息

    请添加图片描述

top命令是全屏输出结果,如果要退出该命令,可以按"Q"键或"Ctrl+C"退出

  1. 其他命令
命令 作用
cd …/或cd … 切换到上一层目录
cd 目录名 切换到对应目录
pwd 查看当前所在目录
du -sh 查看文件或文件夹的大小
fdisk -l 查看磁盘分区列表
free 查看内存使用情况
cat文件名 查看文本文件内容,如cat /etc/passwd可查看用户信息
cat /proc/meminfo 查看内存信息
cat /proc/cpuinfo 查看CPU信息

Linux的启动级别

命令实例 作用
文件/etc/inittab 设置默认启动级别
0 代表halt,关机操作,这个0不能设置,否则机器将不能启动
1 代表单用户模式,采用这个设置,系统只能允许一个用户登
2 代表多用户模式,但不支持网络工作
3 代表命令行界面,即文本界面,是企业中服务器通用的启动模式
4 系统预留,该级别目前还没有使用
5 代表图形界面,也是Linux系统启动时带GUI的默认启动模式
6 代表重启模式,这个6也不能设置,否则系统反复重启

Linux的关机与重启

命令实例 作用
reboot 重启
shutdown -r now 现在立刻重启
shutdown -r 11:30 等到11:30进行重启
shutdown -r +1 等1分钟后重启
halt 关机
shutdown -h now 现在立刻关闭系统
shutdown -h 11:30 等到11:30关闭系统
init 0 关机
init 6 重启

文本编辑器VI的使用

文本的创建与查看

功能项 命令实例 作用
文件创建 vi /opt/learn/hello.txt 在目录/opt/learn下创建文件hello.txt并进入vi编辑界面
touch /opt/learn/test 在目录/opt/learn下创建空白文件test
cat > /opt/learn/catfile <<EOF 创建文件catfile并在屏幕上输入内容,最后输入EOF结束,如果不使用<<EOF,则输入结束时直接按Ctrl+D也可以
文件查看 vi /etc/passwd 在vi编辑器中输出文本内容
cat /etc/passwd 在屏幕上输出文本内容
more /etc/passwd 分屏输出文本内容
less /etc/passwd 分屏输出文本内容并按需加载文件(适用于大文件的查看)
head -n 10 /etc/passwd 只输出文件的头10行
tail -n 20 /etc/passwd 只输出文件末尾的20行
tail -f 文本文件 表示通过流的方式实时查看文件
strings /bin/ls 查看二进制文件中的可打印字符

文本内容的编辑

编辑一段文本,在命令行模式下,vi是默认编辑器,进入vh界面后,有两种处理模式:命令模式和编辑模式。默认命令模式进入,按"i"或"a"“进入编辑模式,在编辑模式下,按“ESC”"进入命令模式。

命令实例 作用
vi filename 生成新文件或者编辑查看文件
i或者a 从命令模式进入编辑模式, i为插入文本,a为追加文本
Esc 从编辑模式进入命令模式
:w 保存文本
:wq 保存并退出
:wq! 保存并强制退出
:q 退出
:q! 不保存,强制退出
o 添加一行
O 在光标所在行的上方添加一行
dd 删除一行文字
D 删除从当前光标到行尾的内容
x 删除—个字符
s 删除一个字符并切换到编辑模式
S 删除一行并切换到编辑模式
:n 光标移至文本第n行
$ 光标移到文本的行尾
A 光标移到文本的行尾并切换到编辑模式
^ 光标移到文本的行首
G 光标移到文本的末尾
gg 光标移到文本的首行
ZZ 存盘退出
/字符串 查找某个字符串
n 继续查找
:u 撤消(同标准编辑器中的Ctrl+Z)
:redo 重做(同标准编辑器中的Ctrl+Y)

文件操作

功能项 命令实例 作用
文件操作 cp hello.txt /opt/test 把文件hello.txt复制到文件夹/opt/test下
cp hello.txt /opt/test/hello.cp 把文件hello.txt复制到文件夹/opt/test下并重命名成hello.cp
mv hello.txt /opt/test 将文件hello.txt剪切到文件夹/opt/test下
mv hello.txt /opt/test/hello.mv 将文件hello.txt剪切到文件夹/opt/test下并重命名成hello.mv
mv hello.txt hello2.txt 重命名
rm /opt/test/hello.cp 删除文件
rm -f /opt/test/hello.mv 强制删除文件,不会有提示信息
du -sk hello.txt 查看文件hello.txt的大小(以K为单位)
链接 ln -s hello.txt shello 为hello.txt文件创建一个名为shello的软链接(类似于快捷方式)
ln -d hello.txt dhello 为hello.txt文件创建一个名为dhello的硬链接硬链接表示所有文件中更改任意一个,其他文件的所有属性会跟着变化,如大小,更新时间,权限等

文件夹操作

功能项 命令实例 作用
ls / tree ls [option][file/directory] 显示指定目录下的所有文件或文件夹(同Windows->dir命令)
ls 显示当前目录的内容
ls -l 显示当前目录详细内容
ls -a 显示当前目录下的所有文件,包括隐藏文件
ls *.txt 显示目前下所有以.txt为后缀名的文件
ls /opt/training 显示目录/opt/training下的内容
ls -R/opt/ 列出所有/opt目录及其子目录的内容
tree /opt 用树状结构显示目录及文件
pwd pwd 显示当前所在目录
cd cd directory 切换到指定目录
cd 切换到当前用户所有的主目录
cd … 回退到当前目录的上一级目录
cd /opt/learn 用绝对路径切换到/opt/training目录下
cd …/ …/ 使用相对路径切换到当前目录的上—级的上—级目录下
cd . 切换到当前用户,相当于什么也没做
mkdir mkdir [option][director1] [directory2] … 创建目录
mkdir /opt/learn/other 在目录/opt/learn/下创建目录other
mkdir dir2 dir3 dir4 同时创建dir2 dir3 dir4三个目录
mkdir -p /dir1/dir2/dir3/dir4 同时创建一个4层目录
rmdir rmdir dir1 删除—个空目录
其他操作 cp -r /opt/learn lopt/learn2 拷贝文件夹
mv /opt/learn2 /opt/learn3 重命名文件夹
rm -rf /opt/learn3 强制删除文件夹
rm -rf / 无提示地强制递归删除文件
rm -rf /* 无提示地强制递归删除全部文件
xxx -h或 XXx --help或 man xXx 查看命令的帮助

用户与用户组权限

功能项 命令实例 作用
用户组 cat /etc/group 查看当前系统存在的用户组
groupadd testing 添加一个新的用户组testing
cat /etc/group 查看组是否被新增成功
groupmod -n test testing 将testing重命名成test
groupdel test 删除组test
groups root 查看用户root所在的所有组
useradd cat /etc/passwd 查看当前系统的用户信息
useradd qiang 新增一个用户qiang(默认时将新增一个对应的名为qiang的组)
useradd -g test denny 新增一个用户denny并将其加入test组
useradd -g test -G dev mary 新增用户mary,其主组为test,并附加到组dev中
usermod usermod -g dev qiang 将用户qiang换到dev组
usermod -G 502 qiang 将用户qiang附加到gid为502的这个组
usermod -d /home/temp/mary 将mary的主目录从/home/mary改为/home/temp
userdel userdel qiang 删除用户qiang
userdel -f qiang 强制删除用户qiang(即使该用户已经登录)
userdel -r qiang 删除用户qiang并删除其主目录

文件与文件夹权限

任意一个文件或者文件夹,用ls -l的命令可以显示其基本信息和权限信息

drwxr-xr-x. 2 root roo
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值