到底要如何Linux入门呢?
因为Linux的知识体系非常的庞大,IT行业很多领域都需要使用到Linux,有运维的、有应用程序开发的、有驱动开发的、有系统优化的、有搞单片机的、有做系统移植的、有做网络产品的等等。
总结一句话,IT的很大部分从业者都需要掌握Linux的部分知识,但是由于每个人的从事领域不一样,对Linux的要求也不一样,这就直接导致,网上搜索学习路线有很多种,还有就是推荐的书籍很多都不利于初学者。
比如Linux命令的学习,很多人都力推《鸟哥的私房菜》这本书,一口君在直播间多次强调,初学者不要看这本书,不是说这本书不好,而是,这本书其实你要当做一本工具书来看,如果你的目标是想快速的基于Linux做一些开发工作,最迫切的就是快速掌握一些基本的命令,一些和开发相关的最基础的知识,而不是去学习那些可能这辈子都用不到的命令。
为了让初学者更好的学习Linux,入门Linux,一口君特地整理了Linux入门必须掌握的一些基础知识点,掌握这些知识点之后,就可以学习C编程的知识了,后续遇到一些不熟悉的命令和配置,只需要网上搜索下就可以很快上手了。
一、Linux操作系统概述1、发展1991版,代码为8K行。现在最新版本为5.12.4。Linux加入了GNU,整体基于GPL协议,允许开源、分享传播、修改。
内核下载的地址:
2、组成kernel内核:
核心程序,用于管理硬件设备、系统的线程进程、内存、交换空间、文件系统、精灵进程(守护进程)等。主要实现系统程序与硬件之间的控制管理功能。
Shell:
包裹在内核之外的人机交互界面,用于用户和内核之间打交道的功能,类似于windows的cmd。通过Shell将输入的命令与内核通讯,好让内核可以控制硬件并正确无误的操作工作。
Shell有着不同的分类,比如Bourneshell(sh),Kornshell(ksh)、Cshell(csh)、Bourne-againshell(bash)、tcsh。其中最常用的有csh和bash。
的terminal如下:

userapplicationLinux根据程序的运行,分为用户空间和内核空间,简单的理解就是,普通的应用程序运行在用户空间,一些涉及到系统核心资源的操作的程序运行在内核空间,比如TCP/IP协议栈、驱动、进程调度、内存管理、文件系统等都运行于Linux内核空间,
FilesSystem:文件系统,管理文件和目录。
3、Linux的特性:多用户、多任务(进程、线程处理),多平台,图形化界面(x-windows)、硬件低配置、通信与联网、应用程序的支持(编辑器、编辑工具、数据库、办公软件、图形处理、Internet应用、游戏)。
二、Linux操作系统安装1、Linux的选择redhat:企业级的,已经开始收费(商用)。
CentOS是RHEL的克隆版本。RedHat一直都提供源代码的发行方式,CentOS就是将RedHat发行的源代码重新编译一次,形成一个可使用的二进制版本。由于Linux的源代码是GNU,所以从获得RedHat的源代码到编译成新的二进制,都是合法。只是RedHat是商标,所以必须在新的发行版里将RedHat的商标去掉。通常搭建服务器选用CentOS。
2、安装UbuntuDesktopLinux环境安装篇幅较长,安装详细步骤参考这篇文章:《linux环境搭建-安装》
3、基本操作ctrl+altF2可以进入终端界面ctrl+altF7进入桌面界面ctrl+alt+t文本编辑
我们通常用快捷键ctrl+alt+t打开一个终端,这个一定要记住。

其中:
peng当前用户ubuntu主机名~当前用户主目录,/home/peng,每一个用户都会在/home下创建一个与用户名同名的目录nbsp;普通用户
如果切换到管理员用户

root管理员/home/peng当前工作目录cd/homefind.-name"*.c"
2.将目前目录及其下子目录中所有一般文件列出
find.-ctime-20
4.查找/var/log目录中更改时间在7日以前的普通文件,并在删除之前询问它们:
find.-typef-perm644-execls-l{}\;6.查找系统中所有文件长度为0的普通文件,并列出它们的完整路径:
管理员用户
有很多命令需要管理员权限才能使用,可以输入命令前加sudo,也可以直接切换到管理员再执行。
切换到管理员root

切换用户
su用户名:切换账户

安全关闭或重启Linux系统,它在系统关闭之前给系统上的所有登陆用户提示一条警告信息。该命令还允许用户指定一个时间参数、可以是一个精确的时间、也可以是从现在开始的一段时间。精确时间的格式:hh:mm表示小时和分钟,时间段由+和分钟数表示。系统执行该命令后会自动进行数据同步的工作。
功能说明:系统关机指令。
语法:shutdown[-efFhknr][-t秒数][时间][警告信息]
参数:
-c当执行”shutdown-h11:50”指令时,只要按+键就可以中断关机的指令。-f重新启动时不执行fsck。-F重新启动时执行fsck。-h将系统关机。-k只是送出信息给所有用户,但不会实际关机。-n不调用init程序进行关机,而由shutdown自己进行。-rshutdown之后重新启动。-t秒数送出警告信息和删除信息之间要延迟多少秒。[时间]设置多久时间后执行shutdown指令。[警告信息]要传送给所有登入用户的信息。b)reboot
功能说明:重新开机。
语法:
dreboot[-dfinw]
参数:
-d重新开机时不把数据写入记录文件/var/tmp/wtmp。本参数具有”-n”参数的效果。-f强制重新开机,不调用shutdown指令的功能。-i在重开机之前,先关闭所有网络界面。-n重开机之前不检查是否有未结束的程序。-w仅做测试,并不真的将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件。c)halt
功能说明:关闭系统。
语法:
halt[-dfinpw]
参数:
-d不要在wtmp中记录。-f不论目前的runlevel为何,不调用shutdown即强制关闭系统。-i在halt之前,关闭全部的网络界面。-nhalt前,不用先执行sync。-phalt之后,执行poweroff。-w仅在wtmp中记录,而不实际结束系统。4、用户管理补充(1)用户密码要求
用户的密码要求有6~8个字符,其中至少要包含2个字母、1个数字或特殊字符,而且不能与用户名相同,还要不同于以前的密码,至少要有三个字符不同与以前的密码。
(2)passwd修改密码命令输入命令passwd输入原密码****输入新密码确认新密码
注意:在输入密码过程中机器是没有任何动作的
(3)查找用户
id
查看用户ID(用户名)及其所属组ID(组名)
user
查看已经登陆到当前系统中的用户,只显示出用户名。
who
查看用户的详细信息
whoami
查看当前用户自己的信息
whoanmi
查看当前用户自己的用户名八、相关信息查询
产看磁盘信息
1.du显示磁盘使用摘要信息
du以Block为单位方式显示-k以k字节方式显示-m以m字节方式显示-s显示当前目录下的内容总的占用磁盘的大小,以Block为单位以Block单位显示的数字是以k字节方式显示的数字的2倍,1k字节=2个Block2.df
显示整个文件系统的空间使用磁盘情况
-k以k字节方式显示九、网络配置1、ping
查看当前机器与另一台机器的联通情况ping主机名称或者主机的IP:向ping后面的主机发送数据包,若被ping的主机有回复则表示连通的。
语法:
ping[-dfnqrRv][-c完成次数][-i间隔秒数][-I网络界面][-l前置载入][-p范本样式][-s数据包大小][-t存活数值][主机名称或IP地址]
参数:
-d使用Socket的SO_DEBUG功能。-c完成次数设置完成要求回应的次数。-f极限检测。-i间隔秒数指定收发信息的间隔时间。-I网络界面使用指定的网络界面送出数据包。-l前置载入设置在送出要求信息之前,先行发出的数据包。-n只输出数值。-p范本样式设置填满数据包的范本样式。-q不显示指令执行过程,开头和结尾的相关信息除外。-r忽略普通的RoutingTable,直接将数据包送到远端主机上。-R记录路由过程。-s数据包大小设置数据包的大小。-t存活数值设置存活数值TTL的大小。-v详细显示指令的执行过程。


查看和配置当前机器的网络参数信息
语法:
ifconfig[网络设备][downup-allmulti-arp-promisc][add地址][del地址][hw网络设备类型硬件地址][io_addrI/O地址][irqIRQ地址][media网络媒介类型][mem_start内存地址][metric数目][mtu字节][netmask子网掩码][tunnel地址][-broadcast地址][-pointopoint地址][IP地址]
补充说明:ifconfig可设置网络设备的状态,或是显示目前的设置。
参数:
add地址设置网络设备IPv6的IP地址。del地址删除网络设备IPv6的IP地址。down关闭指定的网络设备。hw网络设备类型硬件地址设置网络设备的类型与硬件地址。io_addrI/O地址设置网络设备的I/O地址。irqIRQ地址设置网络设备的IRQ。media网络媒介类型设置网络设备的媒介类型。mem_start内存地址设置网络设备在主内存所占用的起始地址。metric数目指定在计算数据包的转送次数时,所要加上的数目。mtu字节设置网络设备的MTU。netmask子网掩码设置网络设备的子网掩码。tunnel地址建立IPv4与IPv6之间的隧道通信地址。up启动指定的网络设备。-broadcast地址将要送往指定地址的数据包当成广播数据包来处理。-pointopoint地址与指定地址的网络设备建立直接连线,此模式具有保密功能。-promisc关闭或启动指定网络设备的promiscuous模式。[IP地址]指定网络设备的IP地址。[网络设备]指定网络设备的名称。
举例
ifconfig-a//显示产看当前机器的IP、Netmask、Gateway等网络信息ifconfigeth0up(down)//激活与关闭某个网络适配器ifconfigeth0[ipaddress]netmask[address]//设置IP和子网掩码

Linux安装包的通常是tar的格式,同时也支持自己定义的格式。在redhat中软件安装包的格式通常是rpm在Ubuntu中软件安装包的格式通常是deb
2、安装包命名通用规则在Linux中常用的命名格式是:
软件名称版本号-修订版本号体系架构.扩展名3、安装包的离线安装及卸载
dpkgdpkg-i安装dpkg-p卸载
源文件安装的过程:
配置configure编译make安装makeinstall4、在线安装及卸载
安装:
apt-getinstall
卸载:
apt-getremove-purge十一、VIM编译工具
Vim是从vi发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
简单的来说,vi是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。vim则可以说是程序开发者的一项很好用的工具。
连vim的官方网站()自己也说vim是一个程序开发工具而不是文字处理软件。
1、vim优势:a)所有UnixLike系统都会内置vi文本编辑器,其他的文本编辑器则不一定会存在;
b)很多软件的编辑接口都会主动调用vi
c)vi具有程序编辑能力,可以主动以字体颜色辨别语法的正确性,方便程序设计;
d)程序简单编辑速度快。
2、vi的模式:基本上vi/vim共分为三种模式,分别是命令模式(Commandmode),输入模式(Insertmode)和底线命令模式(Lastlinemode)。这三种模式的作用分别是:
1)命令模式:用户刚刚启动vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
以下是常用的几个命令:
i切换到输入模式,以输入字符。x删除当前光标所在处的字符。:切换到底线命令模式,以在最底一行输入命令。
若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。
命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。
2)输入模式在命令模式下按下i就进入了输入模式。
在输入模式中,可以使用以下按键:
字符按键以及Shift组合,输入字符
ENTER,回车键,换行BACKSPACE,退格键,删除光标前一个字符DEL,删除键,删除光标后一个字符方向键,在文本中移动光标HOME/END,移动光标到行首/行尾PageUp/PageDown,上/下翻页Insert,切换光标为输入/替换模式,光标将变成竖线/下划线ESC,退出输入模式,切换到命令模式3)底行命令模式
在命令模式下按下:(英文冒号)就进入了底线命令模式。
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
在底线命令模式中,基本的命令有(已经省略了冒号):
q退出程序w保存文件按ESC键可随时退出底线命令模式。
简单的说,我们可以将这三个模式想成底下的图标来表示:

3.vimcheatsheet
下图就是赫赫有名的vimcheatsheet,一图包含了大部分常用的vim命令,建议保存

如果你想要使用vim来建立一个名为的文件时,输入下面命令:
peng@ubuntu:~nbsp;

按下i进入输入模式(也称为编辑模式),开始编辑文字
在一般模式之中,只要按下i,o,a等字符就可以进入输入模式了!
这个时候,键盘上除了Esc这个按键之外,其他的按键都可以视作为一般的输入按钮了,所以你可以进行任何的编辑。

按下ESC按钮回到一般模式
好了,假设我已经按照上面的样式给他编辑完毕了,那么应该要如何退出呢?是的!没错!就是给他按下Esc这个按钮即可!马上你就会发现画面左下角的–INSERT–不见了!在一般模式中按下:wq储存后离开vi
OK,我们要存档了,存盘并离开的指令很简单,输入:wq即可保存离开!

OK!这样我们就成功创建了一个的文件。
5.快捷键说明移动光标的方法
如果你将右手放在键盘上的话,你会发现hjkl是排列在一起的,因此可以使用这四个按钮来移动光标。如果想要进行多次移动的话,例如向下移动30行,可以使用"30j"或"30↓"的组合按键,亦即加上想要进行的次数(数字)后,按下动作即可!


使用/word配合n及N是非常有帮助的!可以让你重复的找到一些你搜寻的关键词!


这个u与[Ctrl]+r是很常用的指令!一个是复原,另一个则是重做一次~利用这两个功能按键,你的编辑,嘿嘿!很快乐的啦!
一般模式切换到编辑模式的可用的按钮说明进入输入或取代的编辑模式

上面这些按键中,在vi画面的左下角处会出现『--INSERT--』或『--REPLACE--』的字样。由名称就知道该动作了吧!!特别注意的是,我们上面也提过了,你想要在档案里面输入字符时,一定要在左下角处看到INSERT或REPLACE才能输入。
一般模式切换到指令行模式的可用的按钮说明指令行的储存、离开等指令

vim环境的变更










