学习啦>学习电脑>操作系统>Linux教程>《Linux教程基础知识大全》正文

Linux教程基础知识大全

时间:2020-11-24 18:23:38本文内容及图片来源于读者投稿,如有侵权请联系xuexila888@qq.com 怀健 我要投稿

Linu__操作系统在短短的几年之内得到了非常迅猛的发展,这与linu__具有的良好特性是分不开的。Linu__包含了UNI__的全部功能和特性。简单来说,linu__具有以下主要特性:遵循GNU GPL,开放性,多任务,多用户,设备独立性,提供了丰富的网络功能,可靠的系统安全,良好的可移植性。下面就让小编带你去看看Linu__教程基础知识大全,希望对你有所帮助吧!

Linu__运维学习路线,实用Linu__教程,推荐学习收藏

1、掌握Linu__基础

俗话说“思则有备,有备无患”,学习之前你先要搭建好学习环境(红帽RHEL7)然后在虚拟机安装它,开始使用它。学习Linu__,命令使用是学习的前提,就像你和外国人说话就得说英语不然别人怎么知道你说的是什么。例如:

命令名,选项,各个参数都作为命令的输入项,都是独立的项,他们之间必须用空格隔开。Linu__中命令格式如下:

命令名 【选项】 【参数1】 【参数2】……

学习Linu__,要熟练掌握命令的使用,虽然命令多,但是熟能生巧,在以后的学习运用中能大大节约你的时间。还有学习linu__切不可粗心大意,往往一个小小的空格也会报错,当然在linu__中,大小写是很敏感的,切记!

2、从基础入手,切勿眼高手低

linu__如果一旦学习一段时间之后你会发现其实也没想象中那么难,甚至比windows更简单已操作,通常认为GLI没有GUL那么方面用户操作。因为命令行界面的软件通常需要用户记忆操作来完成命令,但是,由于其本身的特点,命令行界面要较图形用户界面节约计算机系统的资源。所以,熟记命令的前提下,使用命令行界面往往要较使用图形用户界面的操作速度要快,这也是你以后玩转Linu__的基本条件之一。

3、多总结,勤思考,多记笔记

如果想学好Linu__系统知识,不是一天两天就能学会的,也是经过一朝一夕,慢慢积累的,这个过程中要学会去总结,多思考,多动手去练,去实践,在理解的基础上去记忆,把原理搞懂,把重要的知识点积累下来,以便在以后的工作中方便查找,当做查询手册,同时也能锻炼我们编写文档的能力,对以后都是有很大帮助的。

4、及时充电,提高自学能力

要具备良好的自学能力,除了老师讲的,你还要去考虑老师的知识点还可以怎样去扩充,这时候一本好的资料书就非常必要了,把这些基础的都学会了,建议你再去深入学习Linu__进阶技术,不断的去提高自己。

以上也只是我个人学习经验所谈,希望我的学习经验可以帮助到像我原来这样的新手。学好linu__基础要扎实,切不可好高骛远,踏踏实实的去练习思考。指尖和思维的跳动才能跳出linu__的华尔兹!

Linu__内核开发工具介绍

本文所说的“Linu__内核开发”仅仅是指嵌入式Linu__产品开发中内核和驱动相关开发工作,与Linu__所领导的内核开发团队的内核开发有很大不同。

俗话说“工欲善其事,必先利其器”,面对几百兆的Linu__内核代码,要阅读、查看或者搜索其中的代码,大部分初次接触到Linu__内核代码的开发人员,都有无从下手的感觉。下面推荐几个源码阅读和索引工具,能为后续内核开发提供一些便利。

Source Insight

Source Insight是Windows平台下一款流行度极高的源码阅读和编辑工具。不少Linu__开发人员还是习惯于在Windows下进行源码编辑,甚至查看和编辑Linu__内核源码,依然在Source Insight中完成。

说明:Source Insight是一款版权软件,需要自行解决版权问题。

安装Source Insight软件后,新建一个工程,取名并指定数据存放位置。

点击OK按钮,进入工程设置界面。

然后添加源码。浏览选中Linu__内核源码文件夹后,点击“Add Tree”按钮,将内核源码树的全部文件添加到工程中。

添加完成,即可在Source Insight中进行源码阅读和编辑了。

Eclipse

Eclipse是一个跨平台IDE,既能运行于Windows平台,也能在Linu__下运行。不少习惯于图形界面操作的开发人员,在Linu__下则习惯于用Eclipse来查看和编辑Linu__源码。

如果仅仅是在Eclipse中查看Linu__内核源码,则可以不必事先安装交叉编译器,否则则须事先安装好交叉编译器。

创建内核源码工程。点击File——New——Project,开始创建工程,在工程创建界面选择创建C工程,。

点击Ne__t,在C Project界面的Project name栏中填写工程名称,去掉“Use default location”的勾,点击Browse将Location设置为Linu__内核源码目录。如果不在Eclipse中编译内核,则使用Linu__ GCC即可,否则请使用安装好的Cross GCC。

然后点击Finish,完成Linu__内核源码导入,在Eclipse中即可进行代码阅读和编辑了。

在Eclipse中进行源码跟踪,只需选择函数、变量或者宏定义后按F3即可。更多的操作可在Navigate中找到。

vim+ctags+cscope

Vi/Vim是一个文本编辑器,在Vim中能高效的实现代码编辑。但Vim的功能不仅仅是一个文本编辑器,借助ctags和cscope的配合,Vim能实现堪比图形IDE环境的源码编辑和阅读功能,在某种程度上甚至比图形IDE更方便。

Vi/Vim的安装不再介绍了。如果不是通过远程登录在远程服务器上工作,而是在本地桌面系统操作,还可以用gvim启动Vi编辑器。

1、Taglist

Taglist是Vim的一个源码浏览插件,可从http://www.vim.org网站获得。下载到压缩包后,在本地解压,然后将解压得到目录中的plugin目录复制到~/.vim目录。如果用户主目录下没有.vim目录,则建立一个这样的目录即可。

2、Ctags

Ctags是一个用于产生tags文件的软件,可以下载源码进行编译安装,在Ubuntu下,可通过apt-get进行安装:

$ sudo apt-get install e__uberant-ctags

3、源码阅读和跟踪

进入准备查看的源码所在目录,首先生成tags文件:

$ ctags -R

执行时间长短取决于源码数量的多少,执行完毕,在当前目录下可看到一个tags文件。源码越多,执行时间越长,产生的tags文件也越大。

注意:如果修改了源码,代码行号发生了变化,需要重新生成tags文件。

查看函数等定义。用Vi/Vim打开一个C文件。若想知道某个函数、变量、结构或者宏定义在什么地方定义,先将光标移动到函数(变量、结构或者宏定义)上,然后按CTRL+]即可。查看后,按CTRL+o可回到原来所在位置。

查看文件函数列表。打开C文件后,在Vi/Vim的命令状态下输入:TlistToggle(Vi/Vim的命令输入支持补全),在Vi/Vim左边就会出现函数列表侧栏,如图8所示。按CTRL+ww(2次w),可在列表和代码查看区间切换。

如果在本地桌面,用Gvim打开C文件,使用起来比较接近IDE集成环境。用鼠标双击函数即可跳转到函数定义的地方,CTRL+鼠标右键即可回退到原来所在位置。更多实用特性,还需要在实际操作中体验。

L__R

L__R是Linu__ Cross Referencer的缩写,是一个比较流行的Linu__源码查看工具,当然也不仅仅局限于查看Linu__源码。

Linu__常用命令 awk 入门基础教程

awk命令工具在Linu__/UNI__系统中,awk是一个功能强大的编辑工具,逐行读取输入文本,并根据指定的匹配模式进行查找,对符合条件的内容进行格式化输出或者过滤处理,可以在无交互的情况下实现相当复杂的文本操作,被广泛应用于Shell脚本,完成各种自动化配置任务。一、awk命令的语法及概述

awk 选项 '模式或条件 { 编辑指令 }' 文件1 文件2 …

//过滤并输出文件符合条件的内容

awk -f 脚本文件 文件1 文件2 …

//从脚本中调用编辑指令,过滤并输出内容

__awk执行结果可以通过print的功能将字段数据打印显示。在使用awk命令的过程中,可以使用逻辑操作符“&&”和“||”;

也可以进行简单的数学运算,如+ 、-、、/、%、^分别表示加、减、乘、除、取余、乘方。____

awk从输入文件或者标准输入中读入信息,与sed一样,信息的读入也是逐行读取的。不同的是,awk命令将文本文件中的一行视为一个记录,而将一行中的某一部分(列)作为记录的一个字段。为了操作这些不同的字段(列),awk借用shell中类似于位置变量的方法,用$1、$2…$9顺序的表示不同列,$0表示整行。不同字段与不同字段可以通过指定的方式进行分隔,awk默认的分隔符是空格。awk命令允许使用“-F分隔符”的形式来指定分隔符。

二、awk命令用法示例

1)按行输出文本

1、输出所有内容

[linu__mi@linu__:~/linu__mi迷]$ awk '{print}' linu__mi.py

[linu__mi@linu__:~/linu__mi迷]$ awk '{print $0}' linu__mi.py

等同于“linu__mi.py”

2、输出第1~3行的内容

[linu__mi@linu__:~/linu__mi迷]$ awk 'NR==1,NR==3{print}' linu__mi.py

包括空行

3、出第3行、第5行的内容

[linu__mi@linu__:~/linu__mi迷]$ awk 'NR==3 || NR==5{print}' linu__mi.py

4、输出所有奇数行的内容

[linu__mi@linu__:~/linu__mi迷]$ awk '(NR%2)==1 {print}' linu__mi.py

5、输出所有偶数行的内容

[linu__mi@linu__:~/linu__mi迷]$ awk '(NR%2)==0 {print}' linu__mi.py

6、输出以“root”开头的行

[linu__mi@linu__:~/linu__mi迷]$ awk '/^root/{print}' /etc/passwd

7、输出以“nologin”结尾的行

[linu__mi@linu__:~/linu__mi迷]$ awk '/nologin$/{print}' /etc/passwd

8、统计以/bin/bash结尾的行数

[linu__mi@linu__:~/linu__mi迷]$ awk 'BEGIN {__=0} ;/\/bin\/bash$/{__++};END {print __}' /etc/passwd

9、统计以/bin/bash结尾的行数

[linu__mi@linu__:~/linu__mi迷]$ grep -c "/bin/bash$" /etc/passwd

10、统计以空格分隔的文件段落数

[linu__mi@linu__:~/linu__mi迷]$ awk 'BEGIN{RS=""}; END{print NR}' /etc/dhcp/dhclient.conf

注意:命令较多时,使用“BEGIN……END”

2)按字段输出文本

1、输出每行中(以空格分隔)的第3个字段

[linu__mi@linu__:~/linu__mi迷]$ awk '{print $3}' linu__mi.py

2、输出每行中(以空格分隔)的第1个和第3个字段

[linu__mi@linu__:~/linu__mi迷]$ awk '{print $1,$3}' linu__mi.py

3)通过管道,双引号调用Shell命令

1、调用“wc -l”命令统计使用“bash”的用户个数

[linu__mi@linu__:~/linu__mi迷]$ awk -F: '/bash$/{print | "wc -l"}' /etc/passwd

[linu__mi@linu__:~/linu__mi迷]$ grep -c "bash$" /etc/passwd

2、调用“w”命令,并用力啊统计在线用户数

[linu__mi@linu__:~/linu__mi迷]$ awk 'BEGIN {while ("w" | getline) n++ ; {print n-2}}'

3、调用“hostname”命令,并输出当前用户名

[linu__mi@linu__:~/linu__mi迷]$ awk 'BEGIN { "hostname" | getline ; print $0}'

4)使用awk命令进行简单的数学运算

[linu__mi@linu__:~/linu__mi迷]$ awk 'BEGIN{ a=9;b=8;print"(a + b)=",(a + b)}'

(a + b)= 17

[linu__mi@linu__:~/linu__mi迷]$ awk 'BEGIN{ a=100;b=78;print"(a - b)=",(a - b)}'

(a - b)= 22

[linu__mi@linu__:~/linu__mi迷]$ awk 'BEGIN{ a=80;b=5;print"(a / b)=",(a / b)}'

(a / b)= 16

[linu__mi@linu__:~/linu__mi迷]$ awk 'BEGIN{ a=80;b=5;print"(a ÷ b)=",(a / b)}'

(a ÷ b)= 16

[linu__mi@linu__:~/linu__mi迷]$ awk 'BEGIN{ a=10;b=9;print"(a __ b)=",(a __ b)}'

(a __ b)= 90


Linux教程基础知识大全相关文章:

Linux系统基础知识有哪些

学习啦在线学习网

视频教程

Linux中的ls命令详细使用 linux命令大全ls教程

操作系统基础知识大全有哪些

认识网络的基础知识教程

操作系统基础必备知识有哪些

英语基础知识大全

系统安全基础知识大全有哪些

电脑基础知识大全有哪些

[Linux教程基础知识大全]相关的文章
学习啦友链、商务、投稿、客服:QQ:3061683909 邮箱3061683909@qq.com

Copyright @ 2006 - 2020 学习啦 All Rights Reserved

学习啦 版权所有 粤ICP备15032933号-1

我们采用的作品包括内容和图片全部来源于网络用户和读者投稿,我们不确定投稿用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的权利,请联系:xuexila888@qq.com,我站将及时删除。

学习啦

回到顶部