linux初认

三个问题

  • 什么是操作系统
  • linux和windows区别
  • linux主要是用来做什么的

操作系统
操作系统就是一个软件 这个软件主要的功能就是管理我们的系统的资源的分配
资源 资源分软件资源和硬件软件
硬件资源 CPU 硬盘 内存 网卡
软件资源 硬件资源会虚拟成软件资源
举例:
MMU 内存管理单元
内存 内存是一个硬件设备,但是我们如果要在系统当中使用内存 需要先把内存虚拟成一个内存页
具体一点 我们在python里面设置一个变量 打印id(a) 这个就是一个内存地址 这个内存地址就是一个内存页里面的一个地址
举例: 内存就是一个大厦,而内存里面最小单位就是房间,而内存地址就是房间的门牌号码,如果没有门牌号码我们去访问某个住在大厦的人是非常痛苦的,只能从1楼开始每个房间去窍门,如果那个人住在顶楼你就悲剧了,而如果你知道你要找的人的门牌号码就可以直接上去敲他的门来找了
在现在的计算机里面有一个技术就是直接寻址
一般我们在图书馆里面找书 我们可以根据分类来找到书的范围,然后一本一本的去看 来寻找,但是我们的直接寻址功能就不需要了,它是直接找到内存地址就可以去提取数据了
也就是说CPU知道要访问数据的内存地址,就能直接到内存对应位置去访问数据了

内存地址表示方式 内存地址其实是1个2进制数字来表示的 但是我们看到的是一般0x0ff0f0f0(十六进制地址) 其实是做了一个转换 把二进制转换成16进制

还有一个问题 就是为什么32位的系统只能使用4G的内存
32位地址范围是从 0000 0000 0000 0000 0000 0000 0000 0000 到 1111 1111 1111 1111 1111 1111 1111 1111 啦(Ox00000000 ~ OxFFFFFFFF), 这里有几个地址呢? 明显是有 2^32 个啦.
内存的寻址范围取决于地址总线的宽度,而不是寄存器的宽度, 比如32位地址总线只能产生2的32次方个不同排列组合 每个组合代表一个内存单位 就是这个内存单元的地址 而2的32次方就是4G
那么2^32到底是多少个? 2^32 = 4 * 1024(G) * 1024(M) * 1024(K) = 4294967296 , 就是4G 啊, 而每1个地址对应1个1个字节, 容量就是1byte, 所以2^32个地址就总共能对应应4GB 的内存容量啊, 这里的B指的是byte 字节啊。
“所有计算机科学中的问题都能通过增加一个中间转换层来解决”(“All problems in computer science can be solved by another level of indirection”)

扩展

内存限制4个G的地址是同一个进程只能使用4个G 如果我们使用多核CPU那么我们可以做多进程 就可以使用超过4个G的内存了  但是需要主要 我们需要开启PAE技术
PAE技术 虽然当个进程能访问的地址空间任然只有4GB 但操作系统可以把超过4GB的内存分摊给多个不同的任务,每个任务能拿到的实际内存就更多了一些,系统整体性能就有提高 大部分PCU都支持
PAE技术可以使用36位地址线  所以理论上可用物理内存总数上能到64GB大小  这也就是为什么linux ubantu32位系统可以使用超过4个G的内存
既然32位系统可以支持64G  那为什么windows7 32位系统只有4个G  这个是ms做的限制 微软做的限制

怎么管理的 就是合理的分配我们的资源给应用软件 比如乐视 lol 浏览器等等
我们可以同时打开windows服务器的任务管理器来查看分配的资源


linux和windows的区别
性能差异
windows的理念是 不管你要不要,我都给你
如果你会改ghost系统 可能可以删掉一些帮助文档啊 等等一些附加的文件 但是核心文件和优化还是非常麻烦 还有一点就是windows是图形化 无形中会消耗我们的系统资源,而这些资源是没有必要浪费的

linux是开源的 我们可以定制我们的系统 并且非常好优化 默认启动的服务非常少

区别 linux优化什么都可以改
windows 我想让你改的你才可以改 我不想让你改的 你改不了 没有选择
windows server版本 收费
linux 系统不收费 服务才收费
问题 我们在企业当中 linux好还是windows好
按照目前的情况来看 虽然windows还有服务器版本的 但是大部分公司的主要服务器还是以linux为主
不管是成本还是性能还有安全性方面 linux都比windows相对来说好一点
目前的情况是很多windows转linux的,很少有linux转windows因为linux相对来说难一些 因为如果你经常弄linux服务器你会对计算机的原理 在不知不觉当中熟悉,如果要需要了解windows上手是非常快的,windows的各种服务都有成熟的解决方案 按照文档做就可以了


linux主要是用来做什么的

linux最主要的功能主要是用在我们的服务器上面,开发当中也有一部份人喜欢用ubantu来开发软件,但是最大的作用还是用于服务器
表面上看好像是windows控制了这个世界,实际上是linux在控制----> 互联网流传的一句话
其实大家每时每刻都在使用着linux系统,不过,很多人对此并不知情而已。可以说Linux已经成为了我们生活中的一个基础,比如飞机的控制系统、银行的系统、手机的系统等等,你可以想象下没有以上的东西我们的生活将会怎么样,我们的生活、资金和生命都掌握在linux手中,它能够让我们生存,同样,它也可以让我们灭亡,所以Linux的重要性几乎令人难是置信,没有 Linux的世界可能将会截然不同,或许,这样的世界会暗然失色,一片漆黑,而Linux将是那种世界不会继续存在的理由。
linux 具体的应用场景

  1. 安卓 谷歌就是通过改良linux创造了安卓
  2. 机顶盒 其实现在有路由交换也用linux系统
  3. ATM机 linux安全性比较高
  4. 政府机构 大部分国家都是linux
  5. 游戏服务器 服务器一定要稳定安全,而且服务器几乎不关机要长期运行的,windows几乎做不到,但是linux却做到了,使游戏爱好者得到了更好的体验效果。
  6. IBM的Watson超级计算机 阿尔法狗 等等都是跑在linux系统里面的
    这些只是一小部分的内容 linux在我们的生活中无处不在

linux服务器 其实我们在日常生产中一直都在使用linux服务器提供的服务
比如 支付宝 淘宝 腾讯qq 王者荣耀 baidu google 等等他们的后端全部都是linux做的
那么linux服务器其实就是部署我们的使用的应用程序的后端(里面包含多种服务)


linux介绍
linux是一个免费使用和自动传播的开源的(unix like)类 unix操作系统 全称叫做GNU/linux

linux系统组成

  • 内核
  1. 系统接口调用
  2. 内存管理
  3. 文件系统管理
  4. 进程管理
  5. 硬件驱动
  • shell
    系统的一些常用命令 帮助我们完成一些操作
  • 文件系统
    系统文件 和文件管理系统
  • 应用程序
    用户空间的一些常驻程序 比如ssh

linux基本概念

1.一切皆文件
2.LINUX中的大小写是非常敏感
3.所有的系统管理都通过配置文件来控制

linux工作目录

请查看下级目录linux目录

linux基本命令

路径:

绝对路径
以正斜线“/”开头
描述道文件位置的完整说明
任何时候你想指定文件名的时候都可以使用
cd /tmp/aa

相对路径

不以正斜线开头
制定相对于你的当前工作目录而言的位置
可以使用做制定文件名的快捷方式
相对路径:cd …/tmp

pwd查看当前所在的工作目录

关机/重启

halt -p或poweroff --马上关机
init 0--马上关机
shutdown -h now --马上关机
reboot (halt) --马上重启
shutdown -r +10 (now) --10分钟后(马上)重启
init 6
ctrl+alt+del

init <–改变系统的运行级别 ,下面的定义在/etc/inittab文件设定
0 — 关机
1 — 默认没有用户和密码验证,单用户模式,忘记管理员密码用来修改密码,或者一些简单的排错
2 — 不带网络的文本模式
3 — 带网络的文本模式
4 — 保留,没用
5 — 带图形的模式
6 — 重启电脑

init 6 重启
init 0 关机
原来一登录系统的时候,就是运行级别3,要想运行图像界面:
1、 startx
2、 init 5
要使用init对系统进行重启或者关机,建议大家使用之前,运行以下命令:
sync

关机:
shutdown -r 重启电脑
shutdown -P 直接关闭电源
shutdown -h 15:00 <—设定电脑15:00就关机
shutdown -h 14:35 "Hurry up. The system is shutting down " &
shutdown -c 取消计划中的关机或者重启

切换目录

cd(change the working directory):
cd --直接回到当前用户的家目录
cd ~ --直接回到家目录
cd … --返回上级目录
cd . --回到当前目录
cd - --在两个目录之间切换
cd –

查看文件

ls(list directory contents):
ls --查看当前目录包含哪里些内容
ls ./ --查看当前目录包含哪里些内容
ls …/ --查看上层目录包含哪里些内容
ls -a --查看当前目录中所有的文件,包括以点开头的隐藏文件
ls -l --详细方式列出目录中的内容
ls -al / --以长格式列出目录中所有的内容,包括隐藏文件
ls -ltr --以长格式和时间及以时间反向顺序来显示目录中的内容
ls -R --递归列出目录中的内容
tree /a/ --查看a目录的目录树结构
ls -lh

touch:更新文件的时间戳/如果目标不存在,会创建一个空文件

touch /a 更新时间戳,因/a这个文件存在
touch /aa 创建空文件

sequence 序列

seq 100 产生1到100的序列
seq 1 2 100 |xargs touch --创建出1到100内的奇数文件 mkdir seq 1 2 100
seq 0 2 100

mkdir(创建目录)

mkdir /a/ --新建一级目录
mkdir -p /c/d --新建多级不存在目录 已存在不会报错(静默模式)
rmdir:删除空目录

rmdir dir1

rmdir -p a/b/c

copy

cp /dir1/file1 /dir2/
cp /dir1/file1 /dir2/file2
cp -a /dir1/file1 /dir2 --从dir1目录拷贝文件至2,过程中文件中所有的属性不变
cp -r /dir1/ /dir2 --递归拷贝
\cp /dir1/file1 /dir2/file1 如果有重名的不讯问是否覆盖,直接覆盖
常用的2条命令 cp -a(拷贝文件) cp -ar(当我们需要拷贝目录的时候)

移动文件

mv /dir1/file1 /dir2
mv /dir1/file1 /dir2/file2 --移动并改名
mv /dir1/file1 /dir1/file2 --改名字

删除文件

rm - remove files or directories
rm /a.txt
rm /a/
rm -rf /a/ /a.txt

注意 这个命令绝对不要用

rm -fr /

快捷键:

crtl + c : 中断
ctrl + d : 中止输入
ctrl + l : 清屏 #clear
ctrl + z : 把当前任务调至后台
jobs: 查看后台任务
fg 将后台中的命令调至前台继续运行
fg 任务编号
bg 将一个在后台暂停的命令,变成在后台继续执行
bg  任务编号
ctrl + k :删除当前光标到后面的所有内容
ctrl + u :删除当前光标到前面的所有内容

命令帮助

当我们需要实现一个功能不知道命令的时候需要baidu一下
当我们知道命令而不知道怎么使用的时候需要使用help和man

elp 简单命令

内部:help “内部命令” || help pwd
外部:外部命令 --help || ls --help

man --帮助手册

man man
man [123456789] command
1 用户命令
2 内核系统调用(从用户空间到进入点内核的)
3 库函数
4 特殊文件和设备
5 文件格式和规范
6 游戏
7 规范、标准和其他页面
8 管理员用的命令帮助手册

man -k passwd 执行关键字搜索
man -f useradd useradd的man page 文件是哪个?

按键 进行工作
空格键 向下翻一页
pagedown 向下翻一页
page up 向上翻一页
home 去到第一页
end 去到最后一页
/ string 向下搜索string这个字符串
?string 向上搜寻string这个字符串
n,N n继续下一个搜寻,N进行反向搜寻
q 退出man page

时间

date查看当前时间
ntpdate 192.168.0.254 远程同步服务器时间 不建议大家手动修改时间

#linux同步时间的时间服务器
/usr/sbin/ntpdate time.windows.com

date --查看当前时间

date +%F
2011-08-01

date “+%Y-%m-%d %H:%M:%S”
ff=date +F% --date=“30 day ago”
ff=date +F%

echo $(($(date +%s)/86400))   <---计算距离1970-01-01到现在的天数
14538

linux安装软件

linux当中有一个yum的工具 这个工具相当于windows里面的360软件管理 就相当于一键安装

配置yum客户端

  1. 查询配置目录是否有配置文件
    ls /etc/yumn.repost.d/dvd.repo --> 如果没有它,去服务端下去再一个配置文件
  2. 下载yum客户端的配置文件
    可以去网上下载客户端 我这边系统里面已经配置好了 大家可以把yum的配置文件拷贝到自己的u盘里面
  3. 查询配置文件是否存在
    ls /etc/yum.repost

安装软件

yum clean all --> 清空以前的缓存列表
yum list --> 更新列表

查询软件
yum list |grep “软件关键字”
例子: yum list |grep “ftp”

安装
yum -y install “软件关键字”
例子: yum -y install ftp

卸载
yum -y remove “软件名称”
例子: yum -y remove ftp
一般不用yum来卸载 卸载一般用rpm -e ftp


重点命令
whatis --查看命令的完整名称(一般名称里面有解释命令的含义)
whereis --查看命令所在的具体位置
find – 查找文件
rpm – 查看当前安全的软件

深入了解windows以及LInux不同之处相关推荐

  1. 免费的XShell替代品,同时支持Windows,macOS,Linux!又来一款国产良心工具....

    来源:toutiao.com/i6694563184428188171 引言 FinalShell是一款免费的国产的集SSH工具.服务器管理.远程桌面加速的良心软件,同时支持Windows,macOS ...

  2. Linux启动跟windows启动,Windows,Linux启动机制简介

    前言 本文内容只集中在操作系统启动原理的讲解上,不涉及启动的技术细节,因为这些细节都可以通过网络或者相关代码了解.只有了解了启动原理,才能在分析和解决有关启动的问题时具有针对性,不会有无从下手的感觉. ...

  3. Nessus 4.4 windows and linux 安装手册

    Nessus 4.4 windows and linux 安装手册 网上Nessus资料多是3.x或是更早期的nessus,而4.2后nessus架构已改为B/S结构,windows下也不是如以前一样 ...

  4. 分析Windows和Linux动态库

    摘要:动态链接库技术实现和设计程序常用的技术,在Windows和Linux系统中都有动态库的概念,采用动态库可以有效的减少程序大小,节省空间,提高效率,增加程序的可扩展性,便于模块化管理.但不同操作系 ...

  5. windows linux 融合,Windows和Linux的设备驱动框架的对比融合研究

    摘要:把驱动框架分为三层,针对各层在Windows和Linux中的实现方法的不同,对Windows和Linux的设备驱动框架进行对比研究.从接口函数,应用程序访问驱动程序的路径,驱动程序具体实现及安装 ...

  6. linux屏幕怎么放大_02|初始Linux——Windows与Linux区别

    前言 这是我个人学习分享的第二篇文章了,我今天就分享一下Windows与Linux的界面差异,了解一下Linux的目录,和一些简单的命令.文章可能长且枯燥,但满满都是干货!答应我一定看完它. Wind ...

  7. Windows和Linux动态库比较 (Zhuan)

    Windows和Linux动态库比较 Description: 摘要:动态链接库技术实现和设计程序常用的技术,在Windows和Linux系统中都有动态库的概念,采用动态库 可以有效的减少程序大小,节 ...

  8. Linux != Windows( Linux 不是 Windows)

    Linux != Windows ( Linux 不是 Windows) Derived works 如果你访问了这个页面,那么十有八九你是一个 Linux 的新用户,你正遇到许多关于如何由 Wind ...

  9. MySQL在Windows和Linux平台上多版本多实例安装配置方法(5.5、5.6、5.7、8.0)

    MySQL在Windows和Linux平台上多版本多实例安装配置方法(5.5.5.6.5.7.8.0) Linux下MySQL 5.5.5.6和5.7的RPM.二进制和源码安装 参考: http:// ...

最新文章

  1. python正规教育机构-老男孩python教育机构|python该如何自学好?
  2. linux cat EOF使用示例
  3. 工作流与Petri net的关系
  4. 理解浏览器是如何加载及渲染网页的
  5. POJ 2798 2进制转换为16进制
  6. c++ 01_02 study note
  7. 上怎么图片和字环绕_计算机上的0和1是怎么变成我们屏幕上看到的图片、视频和声音的?...
  8. 高效的java异常处理
  9. Shell命令学习笔记
  10. [Material Design] MaterialButton 效果进阶 动画自动移动进行对齐效果
  11. 最新凌风云支付系统网站源码全解无后门V4.1.1版本
  12. java数组三种排序方式
  13. Neokylin基础命令
  14. 格力悄悄上架“大松5G手机”董明珠又杀回手机圈了?
  15. 《魔兽争霸》故事背景
  16. win电脑C/D盘清理技巧
  17. 2019,推荐几个牛逼大佬的公号
  18. html元素拖拽 标签拖拽
  19. Linux中静态库和动态库(共享库)的区别
  20. PAT A1010 Radix (25 分)

热门文章

  1. 百度BOS设置Referer白名单
  2. AI 时代的视频云转码移动端化,更快、更好、更低、更广
  3. Z97主板能装服务器系统,z97主板最高配什么cpu
  4. VSTAR教程(一)连接观测信号到VSTAR IP
  5. 简易的整人病毒(c语言实现)
  6. YAMLException: incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulate
  7. WINDOWS XP服务和进程优化详解
  8. SAP 关于库存确定的配置
  9. 相关滤波跟踪·KCF公式详细推导
  10. 基于php电影点播平台/电影网站