01-Linux基础
一、主流操作系统
-
windows
windows98、windows2000、windows2003、windows xp、windows 7、windows 8、windows 10
优点: 可视化界面、个人PC、操作简单
缺点: 稳定性不好、安全性不够 -
Linux系统
Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。
优点: 稳定性好、安全性高
缺点: 操作复杂、没友好的可视化界面 -
Mac系统
苹果公司为Mac系列产品开发的专属操作系统,例如苹果笔记本(MacBook、MacBook Pro、MacBook Air)、苹果台式电脑(iMac、iMac Pro、Mac Pro)。
特点: 专业化、待机时间长、手势操作强大...
二、Linux发展史
1990年,Linus Torvalds还是芬兰赫尔辛基大学的一名学生,最初是用汇编语言写了一个在80386保护模式下处理多任务切换的程序,后来从Minix(Andy Tanenbaum教授所写的很小的Unix操作系统,主要用于操作系统教学)得到灵感,进一步产生了自认为狂妄的想法——写一个比Minix更好的操作系统,于是开始写了一些硬件的设备驱动程序,一个小的文件系统。这样0.0.1版本的Linux就出来了,但是它只具有操作系统内核的雏形,甚至不能运行,你必须在有Minix的机器上编译以后才能玩。这时候Linus已经完全着迷了,决定踢开Minix。于是在1991年10 月5号发布Linux 0.0.2版本,在这个版本中已经可以运行bash 和gcc。
Linus就决定自由扩散Linux,包括原代码,随即Linux引起黑客们的注意,通过计算机网络加入了Linux的内核开发。Linux倾向于成为一个黑客的系统——直到今天,在Linux社区里内核的开发被认为是真正的编程。由于一批高水平黑客的加入,使Linux 发展迅猛,几乎一两个礼拜就有新版或修正版的出现,到1993年底94年初,Linux 1.0终于诞生了!
严格来讲,Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核而做出的操作系统。
现如今的Linux不但可以装在几乎所有的主流服务器上,当然也包括桌面的X86系统中。其还常常被用于嵌入式系统,机顶盒、手机、交换机、游戏机、PDA、网络交换机、路由器等等,都是因为Linux内核。
Linux是免费的不用花一分钱,能够节约大笔的成本;
Linux是开源的,你可以根据自已的需要修改源代码;
Linux是开放的,有广泛的社区,关于Linux的讨论要远远高于windows操作系统;
Linux的学习可以更好的掌握计算机技术;
Linux是未来发展的趋势,服务器,手机,掌上电脑,平板机很多都采用Linux操作系统;
Linux有非常多的发行版本,你可以根据需要做出不同的选择;
Linux让你多了一个选择,而且Linux下的病毒相比Window可以忽略不计;
Linux因为开源、免费、性能强大,例如新浪、百度、京东、阿里、腾讯的后台服务器都是Linux系统,另外世界上最快的超级计算机90%以上都是Linux系统或类似操作系统,足以说明Linux速度之快;
三、系统安装
-
虚拟机
虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。 -
Ubuntu
Ubuntu(友帮拓、优般图、乌班图)是一个以桌面应用为主的开源GNU/Linux操作系统。XXX VT技术被禁用 电脑厂商,在bios中将电脑CPU虚拟化技术禁用了 需要修改BIOS,F2,DEL,F11,F12 去bios VT enable就可以使用了 > 【t400进入bios的方法:按f1】 > 1.首先需要确定计算机型号和菜谱,BIOS(基本输入输出系统)系统 型号,因为过老的计算机是不支持虚拟机化的 > 2.检测方式: > 开机时按 F2,F12,DEL,ESC 等键就可以进到 BIOS[至于按哪个 看电脑品牌] > 3.进入 BIOS 后,找到 Configuration 选项或者 Security选项, 然后选择 Virtualization或者 Intel Virtual Technology 就可以开始操作了 > 4.然后回车 将其设置为 Enabled > 5.保存 BIOS 设置重启计算机 > 6.进入操作系统 右键 选择任务管理器 - 性能 - CPU - 查看虚拟化设置(已启动表示设置成功了, 可以装虚拟机了) 参考: https://jingyan.baidu.com/article/b24f6c82c11ad286bfe5da23.html
-
双系统
- 安装介质 光盘 U盘 硬盘 - U盘方式 刻录工具 镜像(ubuntu、windows) - 电脑 装机前,提前划分分区(30G) 【Gpart,DiskGenius分区/恢复】 - 系统安装 插入U盘 启动电脑 F12,进入快速启动项,选择你的U盘
四、Linux衍生版本
1\. Ubuntu
2\. CentOS
3\. Fedora
4\. Deepin(有自己的软件中心,常用软件都是直接携带的,输入法中文的都有)
5\. Kali
- BT
- 工程级无线网卡
- 破解方案
6\. RedHat
五、Linux系统访问方式
-
在Linux服务器中直接通过终端来访问(服务器在远程,所以工作都用不了)
-
通过远程连接工具来访问
Xshell putty
-
Xshell
Xshell 是一个强大的安全终端模拟软件。文件--->新建--->连接--->确定----->输入用户名,密码
服务器都是远程,以后需要操作服务器时,只需要告诉IP地址,用户名和密码,就可以远程登录,远程操作系统。 【】
-
Xftp
Xftp是一个基于 MS windows 平台的功能强大的SFTP、FTP 文件传输软件。 【Xshell和Xftp是配套工具】点击Xshell上方的Xftp图标,即会自动打开Xftp,需要传输的文件,可以直接拖到Linux中即可;
六、Linux目录结构
-
windows的目录结构
C盘 | 文件 | 文件 D盘 | 文件 | 文件
-
Linux的目录结构
/ ---> 根目录 | | -- bin ---> dev 可执行二进制文件,一般的软件的执行文件都在这里面(cat,chmod, chown, date, mv, mkdir, cp, bash) | -- dev ---> 设备,linux会将所有设备作为文件去管理 | -- initrd.img ---> 初始化的镜像文件 | -- lib64 ---> 库64/64位的系统支持库(x86/32位、i386/i586 32位操作系统) | -- mnt ---> 临时挂载别的文件系统的 | -- root ---> 系统管理员(root)的家目录 | -- snap ---> ubuntu特有,会放一些系统的交换文件 | -- tmp ---> 临时文件 | -- boot ---> 启动的核心文件,包含连接和镜像 | -- etc ---> 存放管理系统所需要的各种配置文件 | -- lost+found ---> 系统异常关闭时,会将一些系统状态文件保存在这里 | -- opt ---> 默认给主机额外安装软件所摆放的目录 | -- run ---> 运行过程中的一些文件 | -- srv/usr ---> 非常重要的目录,类似于windows中的program files | -- cdrom ---> 光驱 | -- home ---> 家目录(该目录不需要使用超级权限都可以操作) | -- zhangsan ---> 用户目录(用户张三) | | -- Desktop ---> 桌面目录 | -- Downloads ---> 下载目录 | -- Music | -- Public | -- Templates | -- Documents | -- Pictures | -- Vieos | -- lib ---> 存放系统最基本的动态连接库(*.so) 类似于windows中的dll文件 | -- media ---> 默认外部插入的设备会挂在这个目录中(即系统识别的外部媒体设备存放到这,比如U盘,光盘等) | -- proc ---> 虚拟目录,系统内存的映射,可以通过访问这个目录获取系统信息 | -- sbin ---> 超级管理员的特有的执行文件 | -- sys ---> 内核设备树的直接反映 | -- var ---> 存放越用越大的数据,日志文件,项目部署通常也会放在此文件夹中
七、初认识Linux命令
Linux提供了大量的命令,利用它可以有效得完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。Linux发行版本最少的命令也有200多个,这更多是比较重用和使用频率最多的命令。
-
终端内容说明
例如: zyz@Atom:~$ 说明: zyz 当前用户 Atom 电脑的名字 ~ 当前所处的路径[家,当前用户的家] $ 代表当前是一个普通用户 \# 代表系统管理员
-
ifconfig
查看ip地址$ ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:C6:B7:61 inet addr:192.168.1.133 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fec6:b761/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:85087 errors:0 dropped:0 overruns:0 frame:0 TX packets:22977 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:57466641 (54.8 MiB) TX bytes:1760074 (1.6 MiB) Interrupt:19 Base address:0x2024 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:145 errors:0 dropped:0 overruns:0 frame:0 TX packets:145 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:12476 (12.1 KiB) TX bytes:12476 (12.1 KiB)
-
ping
检查网络状态$ ping www.baidu.com PING www.baidu.com (163.177.151.109): 56 data bytes 64 bytes from 163.177.151.109: icmp_seq=0 ttl=56 time=11.193 ms 64 bytes from 163.177.151.109: icmp_seq=1 ttl=56 time=13.835 ms 64 bytes from 163.177.151.109: icmp_seq=2 ttl=56 time=12.289 ms
$ ping www.baidu.com PING www.baidu.com (192.168.116.128): 56 data bytes Request timeout for icmp_seq 0 Request timeout for icmp_seq 1 Request timeout for icmp_seq 2
-
ls
查看文件$ ls $ ls -a // 显示所有文件,包括隐藏文件 $ ls -l // 列出文件的详细信息
-
cd
切换目录$ cd 目录名 $ cd ../ // 返回上级目录 $ cd ../../ // 返回上上级目录
-
pwd
查看当前的路径$ pwd 例如: /Users/zhagnshan/study/01-day
-
mkdir
创建目录$ mkdir 目录名称
案例1: 请在'用户目录'下创建一个目录名为hello的
案例2: 请在'用户目录'下创建一个hehe和main目录 -
touch
创建文件$ touch 路径/文件名称
案例1: 请在上述创建的hello目录下创建一个main.c文件
案例2: 当前所在位置是/etc目录,请在上述创建的hello目录下创建一个hello.c文件 -
rm
删除文件或目录$ rm 文件名 $ rm -r 目录名 // 递归删除 $ rm -f 目录名 // 强制删除
-
cp
复制文件或者目录$ cp 路径1/文件名 路径2 $ cp -r 路径1 路径2
案例: 在hello目录下的file目录下的创建一个main.c文件,并将其拷贝到Music目录下
-
mv
移动$mv 路径1/文件名 路径2
案例: 在hehe目录下的test目录下的创建一个main.c文件,然后将其移动到Videos目录下
-
mv
重命名$mv 文件名 新文件名
案例: 在hello目录下的file目录下的创建一个main.c文件,改名为file.c
-
其他
ctrl+c: 结束终端命令执行 ctrl+l: 清除屏幕
八、练习
1\. 请在"用户目录下"创建一个cxy目录
2\. 在qf目录下创建file1,file2两个目录
3\. 请在file1目录下创建一个main.c文件
4\. 请删除file2目录
5\. 删除file1及file1下面的所有文件
6\. 删除qf目录