Linux的安装和基本命令
Linux的安装
Linux由来
初显身手的Linux
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。伴随着互联网的发展,Linux得到了来自全世界软件爱好者、组织、公司的支持。它除了在服务器操作系统方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都有着长足的进步。使用者不仅可以直观地获取该操作系统的实现机制,而且可以根据自身的需要来修改完善这个操作系统,使其最大化地适应用户的需要。
Linux不仅系统性能稳定,而且是开源软件。其核心防火墙组件性能高效、配置简单,保证了系统的安全。在很多企业网络中,为了追求速度和安全,Linux操作系统不仅仅是被网络运维人员当作服务器使用,Linux既可以当作服务器,又可以当作网络防火墙是Linux的 一大亮点。
Linux与其他操作系统相比 ,具有开放源码、没有版权、技术社区用户多等特点 ,开放源码使得用户可以自由裁剪,灵活性高,功能强大,成本低。尤其系统中内嵌网络协议栈 ,经过适当的配置就可实现路由器的功能。这些特点使得Linux成为开发路由交换设备的理想开发平台。
Linux吉祥物
Linux的两位父亲
荷兰当教授的美国人AndrewS.Tanenbaum编写了一个操作系统,名为MINIX
芬兰赫尔辛基大学大学二年级的学生Linus Torvalds受到启发,在吸收了MINIX精华的基础上,Linus于1991年写出了属于自己的Linux操作系统,版本为Linux0.01,是Linux时代开始的标志。
Linux的组成部分
Linux系统一般有4个主要部分:内核、shell、文件系统和应用程序。内核、shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序、管理文件并使用系统。
一.Linux内核
内核是操作系统的核心,具有很多最基本功能,如虚拟内存、多任务、共享库、需求加载、可执行程序和TCP/IP网络功能。
Linux内核的模块分为以下几个部分:存储管理、CPU和进程管理、文件系统、设备管理和驱动、网络通信、系统的初始化和系统调用等。
二.Linux shell
shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行,是一个命令解释器。另外,shell编程语言具有普通编程语言的很多特点,用这种编程语言编写的shell程序与其他应用程序具有同样的效果。
三.Linux文件系统
文件系统是文件存放在磁盘等存储设备上的组织方法。Linux系统能支持多种目前流行的文件系统,如EXT2、EXT3、FAT、FAT32、VFAT和ISO9660。
四.Linux应用程序
标准的Linux系统一般都有一套都有称为应用程序的程序集,它包括文本编辑器、编程语言、XWindow、办公套件、Internet工具和数据库等。
Linux现行发行版本
- Red Hat Linux
- Ubuntu Linux
3) SuSE Linux
4) Gentoo Linux
其他版本的Linux
版本名称 | 网址 | 特点 |
---|---|---|
Debian Linux | www.debian.org | 开放的开发模式,且易于进行软件包升级 |
Fedora Core | www.redhat.com | 拥有数量庞人的用户,优秀的社区技术支持. 并且有许多创新 |
CentOS | www.centos.org | CentOS 是一种对 RHEL(Red Hat Enterprise Linux)源代码再编译的产物,由于 Linux 是开发源代码的操作系统,并不排斥样基于源代码的再分发,CentOS 就是将商业的 Linux 操作系统 RHEL 进行源代码再编译后分发,并在 RHEL 的基础上修正了不少已知的漏洞 |
SUSE Linux | www.suse.com | 专业的操作系统,易用的 YaST 软件包管理系统 |
Mandriva | www.mandriva.com | 操作界面友好,使用图形配置工具,有庞大的社区进行技术支持,支持 NTFS 分区的大小变更 |
KNOPPIX | www.knoppix.com | 可以直接在 CD 上运行,具有优秀的硬件检测和适配能力,可作为系统的急救盘使用 |
Gentoo Linux | www.gentoo.org | 高度的可定制性,使用手册完整 |
Ubuntu | www.ubuntu.com | 优秀已用的桌面环境,基于 Debian 构建 |
Linux 的发行版本众多,在此不逐一介绍,下面给选择 Linux 发行版本犯愁的朋友一点建议:
-
如果你需要的是一个服务器系统,而且已经厌烦了各种 Linux 的配置,只是想要一个比较稳定的服务器系统,那么建议你选择 CentOS 或 RHEL。
-
如果你只是需要一个桌面系统,而且既不想使用盗版,又不想花大价钱购买商业软件,不想自己定制,也不想在系统上浪费太多时间,则可以选择Ubuntu。 如果你想深入摸索一下 Linux 各个方面的知识,而且还想非常灵活地定制自己的 Linux 系统,那就选择Gentoo 吧,尽情享受 Gentoo 带来的自由快感。
-
如果你对系统稳定性要求很高,则可以考虑 FreeBSD。
-
如果你需要使用数据库高级服务和电子邮件网络应用,则可以选择 SuSE。
以上纯属个人化建议,非官方指导意见。其实 Linux 的发行版本众多,但是系统的核心——内核却系出同门,所以只要学会使用其中一种,即可触类旁通。
VMware安装Linux
1、VMware的下载与安装(永久激活看其他博客)
VMware官网下载安装,或直接搜索https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html
其他资源下载
2、Linux版本下载与安装
centos 官网下载、安装步骤
Ubuntu18.04LTS镜像官网下载、安装步骤
Linux的基本命令
能够看到这部分的小伙伴想必已经修炼到炼气炼体阶段,准备先下一个目标迈进了,工欲善其事必先利其器,当我们拿好我们的矛(VMware)和盾(Linux)时,我们就要学习Linux这个伟大的操作系统了,
浏览目录、文件类命令
指令 | 功能 | 常用参数 |
---|---|---|
pwd | 显示当前所在目录 | |
cd | 切换目录 | |
ls | 列出文件或目录信息 | -a :显示所有文件 -c :时间排序 -l : 长格形式显示(ll也可) |
man | 使用手册 | |
cat | 显示文件内容 | cat file1 file2 >file3 合并文件 |
more | 分屏显示 | |
Less | 快速查找 /+文件名 | |
head | 显示信息 | -n前num行 -c前num个字符 |
tail | 显示信息 | -n 末尾num行 -c末尾num个字符 |
mkdir | 创建目录 | |
touch | 创建空文件、文件时间戳 | |
cp | 复制 | |
mv | 文件移动或改名 | |
rm | 文件删除 | |
tar | 打包命令 | -f 指定档案文件的名称 -z 以gzip格式压缩 -j 以bzip2格式压缩 -x 解开档案文件 |
diff | 比较两个文件 | |
find | 查找文件 | -name文件名 |
Whereis | 文件所在位置 | |
grep | 查看文件中指定行字符串 |
系统信息类命令
指令 | 功能 |
---|---|
dmesg | 显示系统诊断信息… |
df | 各个系统分区的占用情况 |
du | 各级子目录使用硬盘空间 |
date | 系统当前日期和时间 |
cal | 指定的月份或年份的日历 |
进程管理类命令
指 令 | 功能 | 常用参数 |
---|---|---|
ps | 查看系统主要进程 | -a 当前控制终端的进程 -u 用户名 -x 没有控制终端的进程 -e 所有进程 |
kill | 结束进程 | 前台进程运行时可以用ctrl+c来结束、后台进程用kill+ID |
Top | 查看进程信息 | |
bg | 命名用于把工作放在后台 | |
jobs | 命令用于查看后台运行工作 | -l 列出号码 |
fg | 命令用于把后台的工作调到前台 |
软件包管理命令
指令 | 功能 |
---|---|
sudo auto-apt run | 自动安装缺失的安装包 |
sudo apt-get update | 下载最新的软件列表 |
sudo apt-get dist-upgrade | 更新整个系列到最新发行版 |
sudo apt-get remove | 删除已经安装的软件包 |
pt-cache show<软件包名称> | 显示软件包详细信息 |
其他常用命令
指令 | 功能 |
---|---|
shutdown -h now | 立即关机 |
poweroff | 立即关机 |
shutdown -h +10 | 10分钟后关机 |
shutdown -h 23:30 | 23:30分关机 |
shutdown -r now | 立即重启 |
reboot | 立即重启 |
Linux的配套练习
作为一名出色的Linux修仙者,光光了解和指导命令的作用可不行,要化有形为无形,真正的将一招一式内化于心,因为up主给大家找来了一些练习,大家可以用来练练手
(ps:最好是自己做一半,第一次接触有点难,不要着急看答案哦!!!)
文件和目录类命令的使用
(1)启动计算机,利用net用户登录到桌面,打开终端窗口
(2)用pwd命令查看当前所在的目录。
(3)用ls命令列出此目录下的文件和目录。
(4)用-a选项列出此目录下包括隐藏文件在内的所有文件和目录。
(5)用man命令查看ls命令的使用手册。
(6)在当前目录下,创建测试目录test。
(7)利用ls命令列出文件和目录,确认test目录创建成功。
(8)进入test目录,利用pwd查看当前工作目录。
(9)利用touch命令,在当前目录创建一个新的空文件newfile。
(10)利用cp命令复制系统文件/etc/profile到当前目录下。
(11)复制文件profile到一个新文件profile.bak,作为备份。
(12)用ll命令以长格形式列出当前目录下的所有文件,注意比较每个文件的长度和创建时间的不同。
(13)用less命令分屏查看文件profile的内容,注意练习less命令的各个子命令,如b、p、q等,并对then关键字查找。
(14)用grep命令在profile文件中对关键字then进行查询,并与上面的结果比较。
(15)给文件profile创建一个软链接lnsprofile和一个硬链接lnhprofile。
(16)长格形式显示文件profile、lnsprofile和lnhprofile的详细信息。注意比较3个文件链接数的不同。
(17)删除文件profile,用长格形式显示文件lnsprofile和lnhprofile的详细信息,比较文件lnhprofile的链接数的变化。
(18)用less命令查看文件lnsprofile的内容,看看有什么结果。
(19)用less命令查看文件lnhprofile的内容,看看有什么结果。
(20)删除文件lnsprofile,显示当前目录下的文件列表,回到上层目录。
(21)用tar命令把目录test打包。
(22)用gzip命令把打好的包进行压缩。
(23)把文件test.tar.gz改名为backup.tar.gz。
(24)显示当前目录下的文件和目录列表,确认重命名成功。
(25)把文件backup.tar.gz移动到test目录下。
(26)显示当前目录下的文件和目录列表,确认移动成功。
(27)进入test目录,显示目录中的文件列表。
(28)把文件backup.tar.gz解包。
(29)显示当前目录下的文件和目录列表,复制test目录为testbak目录作为备份。
(30)查找root用户自己主目录下的所有名为newfile的文件。
(31)删除test子目录下的所有文件。
(32)利用rmdir命令删除空子目录test。
回到上层目录,利用一条rm命令删除目录test及其所有子文件和子目录。
答案:
(1)ctrl+alt+t
(2)pwd
(3)ls
(4)ls -a
(5)man ls
(6)mkdir test
(7)ls -a
(8)cd test 、 pwd
(9)touch newfile
(10)cp /etc/profile .
(11)cp profile profile.bak
(12)ll
(13)less /etc/profile
(14)grep then /etc/profile
(15)ln profile lnhprofile 、 ln -s profile lnsprofile
(16)ll
(17)rm profile 、y 、ll
(18)less lnhprofile
(19)less lnsprofile
(20)rm lnhprofile 、 ls -a 、cd …
(21)tar –zcvf test.tar.gz test 或者 tar –cvf test.tar test
(22)gzip test.tar 或者 gzip -9 test.tar.gz test.tar
补充:-9高压缩比 、 -d用于解压已经压缩的文件
(23)mv test.tar.gz backup.tar.gz
(24)ll
(25)mv backup.tar.gz test
(26)ls
(27)cd test
(28)tar –zxvf backup.tar.gz
(29)cp -r test testbak
(30)find -name newfile
(31)rm -rf test/*
(32)rm -rf test
系统信息类命令的使用
(1)利用date命令显示系统当前时间,并修改系统的当前时间。
(2)显示当前登录到系统的用户状态。
(3)利用free命令显示内存的使用情况。
(4)利用df命令显示系统的硬盘分区及使用状况。
(5)显示当前目录下各级子目录的硬盘占用情况。
答案:
(1)date 、sudo date -s ″12:12:23 2021-5-1″
(2)w 或者 whoami
(3)free
(4)df
(5)du /home --max-depth=1 -h
进程管理类命令的使用
(1)使用ps命令查看和控制进程。
① 显示本用户的进程:。
② 显示所有用户的进程。
③ 在后台运行cat命令。
④ 查看进程。
⑤ 杀死进程。
⑥ 再次查看进程cat,看看是否被杀死。
(2)使用top命令查看和控制进程。
top详解:https://www.cnblogs.com/zhoug2020/p/6336453.html
① 用top命令动态显示当前的进程。
② 只显示用户user01的进程(利用U键)。
③ 利用K键,杀死指定进程号的进程。
(3)挂起和恢复进程。
① 执行命令cat。
② 按[Ctrl+Z]键,挂起进程cat。
③ 输入jobs命令,查看作业。
④ 输入bg,把cat切换到后台执行。
⑤ 输入fg,把cat切换到前台执行。
⑥ 按[Ctrl+C]键,结束进程cat。
(4)find命令的使用。
① 在/var/lib目录下查找所有文件其所有者是games用户的文件。
② 在/var目录下查找所有文件其所有者是root用户的文件。
③ 查找所有文件其所有者不是root、bin和net用户,并用长格式显示(如ls –l 的显示结果)。
④ 查找/usr/bin目录下所有大小超过一百万byte的文件,并用长格式显示(如ls –l 的显示结果)。
⑤ 对/etc/mail目录下的所有文件使用file命令。
⑥ 查找/tmp目录下属于net的所有普通文件,这些文件的修改时间为5天以前,查询结果用长格式显示(如ls –l 的显示结果)。
⑦ 对于查到的上述文件,用-ok选项删除。
答案
(1)
ps
ps -au
cat &
cat # ps aux |grep cat
cat#kill –9 cat
ps aux |grep cat
(2)
top
u
kill+ID
(3)
cat
ctrl+Z
jobs
bg
fg
ctrl+c
(4)
find /var/lib –user games
find /var –user root
find / ! –user root -and ! –user bin –and ! –user net –exec ls –l {} ; 2> /dev/null
find /usr/bin –size +1000000c -exec ls -l 2> /dev/null
find /etc/mail –exec file {} ; 2 > /dev/null
find /tmp –user net –and –mmin +5 –and –type f –exec ls {} ; 2> /dev/null
find /tmp –user net –and –mmin +5 –and –type f –ok rm {} ;
apt软件包的管理
(1)查询系统有还有哪些DHCP服务器软件包。
(2)发现其中有个dhcp3-server,查询一下是否已经安装。
(3)如果显示没有安装,则用apt-get命令从在线软件库下载安装。
(4)卸载刚刚安装的软件包(但保留配置文件)。
答案:
(1) apt-cache search dhcp | grep dchp
(2) dpkg –L dhcp3-server
(3) apt-get install dhcp3-server
(4) apt-get remove dhcp3-server
tar命令的使用
系统上的主硬盘在使用的时候有可怕的噪音,但是它上面有有价值的数据。系统在两年半以前备份过,你决定手动备份少数几个最紧要的文件。/tmp目录里储存在不同硬盘的分区上快坏的分区,这样你想临时把文件备份到那里。
(1)在/home目录里,用find命令定位文件所有者是net的文件,然后将其压缩。
(2)保存/etc目录下的文件到/tmp目录下。
(3)使用gzip压缩文档。
(4)列出上面步骤产生的tar和gz文件的大小,并以友好的方式显示文件大小。
答案:
(1) find /home –user net |xargs tar czvf /tmp/backup.tar.gz
(2) tar cvf /tmp/confbackup.tar /etc/
(3) tar czvf /tmp/confbackup.tar.gz /etc/
(4) ls –lh
制作不易,如果对大家有帮助希望大家能一键三连,有兴趣的小伙伴也可以私信一起交流学习!!