新闻资讯  快讯  焦点  财经  政策  社会
互 联 网   电商  金融  数据  计算  技巧
生活百科  科技  职场  健康  法律  汽车
手机百科  知识  软件  修理  测评  微信
软件技术  应用  系统  图像  视频  经验
硬件技术  知识  技术  测评  选购  维修
网络技术  硬件  软件  设置  安全  技术
程序开发  语言  移动  数据  开源  百科
安全防护  资讯  黑客  木马  病毒  移动
站长技术  搜索  SEO  推广  媒体  移动
财经百科  股票  知识  理财  财务  金融
教育考试  育儿  小学  高考  考研  留学
您当前的位置:首页 > IT百科 > 软件技术 > 操作系统 > linux

史上最全Linux基础知识点

时间:2019-05-20 10:51:53  来源:  作者:

linux是每个后端程序员必须要掌握的系统,今天小编就给你分享一篇Linux基础知识点大全,看看你知道多少?(私信我Python,获得万元python大礼包!

程序员必备!史上最全Linux基础知识点,你知道多少?

 

一、 从认识操作系统开始

1.1 操作系统简介

我通过以下四点介绍什么操作系统:

操作系统(Operation System,简称OS)是管理计算机硬件与软件资源的程序,是计算机系统的内核与基石;

操作系统本质上是运行在计算机上的软件程序 ;

为用户提供一个与系统交互的操作界面 ;

操作系统分内核与外壳(我们可以把外壳理解成围绕着内核的应用程序,而内核就是能操作硬件的程序)。

程序员必备!史上最全Linux基础知识点,你知道多少?

操作系统分内核与外壳

1.2 操作系统简单分类

windows: 目前最流行的个人桌面操作系统 ,不做多的介绍,大家都清楚。

Unix: 最早的多用户、多任务操作系统 .按照操作系统的分类,属于分时操作系统。Unix 大多被用在服务器、工作站,现在也有用在个人计算机上。它在创建互联网、计算机网络或客户端/服务器模型方面发挥着非常重要的作用。

Linux: Linux是一套免费使用和自由传播的类Unix操作系统.Linux存在着许多不同的Linux版本,但它们都使用了 Linux内核 。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。

二 初探Linux

2.1 Linux简介

我们上面已经介绍到了Linux,我们这里只强调三点。

类Unix系统: Linux是一种自由、开放源码的类似Unix的操作系统

Linux内核: 严格来说,Linux这个词本身只表示Linux内核

Linux之父: 一个编程领域的传奇式人物。他是Linux内核的最早作者,随后发起了这个开源项目,担任Linux内核的首要架构师与项目协调者,是当今世界最著名的电脑程序员、黑客之一。他还发起了Git这个开源项目,并为主要的开发者。

2.2 Linux诞生简介

-1991年,芬兰的业余计算机爱好者Linus Torvalds编写了一款类似Minix的系统(基于微内核架构的类Unix操作系统)被ftp管理员命名为Linux 加入到自由软件基金的GNU计划中;

Linux以一只可爱的企鹅作为标志,象征着敢作敢为、热爱生活。

2.3 Linux的分类

Linux根据原生程度,分为两种:

内核版本: Linux不是一个操作系统,严格来讲,Linux只是一个操作系统中的内核。内核是什么?内核建立了计算机软件与硬件之间通讯的平台,内核提供系统服务,比如文件管理、虚拟内存、设备I/O等;

发行版本: 一些组织或公司在内核版基础上进行二次开发而重新发行的版本。Linux发行版本有很多种(ubuntu和CentOS用的都很多,初学建议选择CentOS),如下图所示:

程序员必备!史上最全Linux基础知识点,你知道多少?

Linux发行版本

三 Linux文件系统概览

3.1 Linux文件系统简介

在Linux操作系统中,所有被操作系统管理的资源,例如网络接口卡、磁盘驱动器、打印机、输入输出设备、普通文件或是目录都被看作是一个文件。

也就是说在LINUX系统中有一个重要的概念:一切都是文件。其实这是UNIX哲学的一个体现,而Linux是重写UNIX而来,所以这个概念也就传承了下来。在UNIX系统中,把一切资源都看作是文件,包括硬件设备。UNIX系统把每个硬件都看成是一个文件,通常称为设备文件,这样用户就可以用读写文件的方式实现对硬件的访问。

3.2 文件类型与目录结构

Linux支持5种文件类型 :

程序员必备!史上最全Linux基础知识点,你知道多少?

 

Linux的目录结构如下:

Linux文件系统的结构层次鲜明,就像一棵倒立的树,最顶层是其根目录:

程序员必备!史上最全Linux基础知识点,你知道多少?

Linux的目录结构

常见目录说明:

/bin: 存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里;

/etc: 存放系统管理和配置文件;

/home: 存放所有用户文件的根目录,是用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示;

/usr : 用于存放系统应用程序;

/opt: 额外安装的可选应用程序包所放置的位置。一般情况下,我们可以把Tomcat等都安装到这里;

/proc: 虚拟文件系统目录,是系统内存的映射。可直接访问这个目录来获取系统信息;

/root: 超级用户(系统管理员)的主目录(特权阶级o);

/sbin: 存放二进制可执行文件,只有root才能访问。这里存放的是系统管理员使用的系统级别的管理命令和程序。如ifconfig等;

/dev: 用于存放设备文件;

/mnt: 系统管理员安装临时文件系统的安装点,系统提供这个目录是让用户临时挂载其他的文件系统;

/boot: 存放用于系统引导时使用的各种文件;

/lib : 存放着和系统运行相关的库文件 ;

/tmp: 用于存放各种临时文件,是公用的临时文件存储点;

/var: 用于存放运行时需要改变数据的文件,也是某些大文件的溢出区,比方说各种服务的日志文件(系统启动日志等。)等;

/lost+found: 这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里。

四 Linux基本命令

下面只是给出了一些比较常用的命令。推荐一个Linux命令快查网站,非常不错,大家如果遗忘某些命令或者对某些命令不理解都可以在这里得到解决。

4.1 目录切换命令

cd usr: 切换到该目录下usr目录

cd ..(或cd../): 切换到上一层目录

cd /: 切换到系统根目录

cd ~: 切换到用户主目录

cd -: 切换到上一个操作所在目录

4.2 目录的操作命令(增删改查)

mkdir 目录名称: 增加目录

ls或者ll(ll是ls -l的别名,ll命令可以看到该目录下的所有目录和文件的详细信息):查看目录信息

find 目录 参数: 寻找目录(查)

示例:

列出当前目录及子目录下所有文件和文件夹: find .

在/home目录下查找以.txt结尾的文件名:find /home -name "*.txt"

同上,但忽略大小写: find /home -iname "*.txt"

当前目录及子目录下查找所有以.txt和.pdf结尾的文件:find . ( -name "*.txt" -o -name "*.pdf" )或find . -name "*.txt" -o -name "*.pdf"

mv 目录名称 新目录名称: 修改目录的名称(改)

注意:mv的语法不仅可以对目录进行重命名而且也可以对各种文件,压缩包等进行 重命名的操作。mv命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。后面会介绍到mv命令的另一个用法。

mv 目录名称 目录的新位置: 移动目录的位置---剪切(改)

注意:mv语法不仅可以对目录进行剪切操作,对文件和压缩包等都可执行剪切操作。另外mv与cp的结果不同,mv好像文件“搬家”,文件个数并未增加。而cp对文件进行复制,文件个数增加了。

cp -r 目录名称 目录拷贝的目标位置: 拷贝目录(改),-r代表递归拷贝

注意:cp命令不仅可以拷贝目录还可以拷贝文件,压缩包等,拷贝文件和压缩包时不 用写-r递归

rm [-rf] 目录: 删除目录(删)

注意:rm不仅可以删除目录,也可以删除其他文件或压缩包,为了增强大家的记忆, 无论删除任何目录或文件,都直接使用rm -rf 目录/文件/压缩包

4.3 文件的操作命令(增删改查)

touch 文件名称: 文件的创建(增)

cat/more/less/tail 文件名称 文件的查看(查)

cat: 查看显示文件内容

more: 可以显示百分比,回车可以向下一行, 空格可以向下一页,q可以退出查看

less: 可以使用键盘上的PgUp和PgDn向上 和向下翻页,q结束查看

tail-10 : 查看文件的后10行,Ctrl+C结束

注意:命令 tail -f 文件 可以对某个文件进行动态监控,例如tomcat的日志文件, 会随着程序的运行,日志会变化,可以使用tail -f catalina-2016-11-11.log 监控 文 件的变化

vim 文件: 修改文件的内容(改)

vim编辑器是Linux中的强大组件,是vi编辑器的加强版,vim编辑器的命令和快捷方式有很多,但此处不一一阐述,大家也无需研究的很透彻,使用vim编辑修改文件的方式基本会使用就可以了。

在实际开发中,使用vim编辑器主要作用就是修改配置文件,下面是一般步骤:

vim 文件------>进入文件----->命令模式------>按i进入编辑模式----->编辑文件 ------->按Esc进入底行模式----->输入:wq/q! (输入wq代表写入内容并退出,即保存;输入q!代表强制退出不保存。)

rm -rf 文件: 删除文件(删)

同目录删除:熟记 rm -rf 文件 即可

4.4 压缩文件的操作命令

1)打包并压缩文件:

Linux中的打包文件一般是以.tar结尾的,压缩的命令一般是以.gz结尾的。

而一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般.tar.gz。

命令:tar -zcvf 打包压缩后的文件名 要打包压缩的文件

其中:

z:调用gzip压缩命令进行压缩

c:打包文件

v:显示运行过程

f:指定文件名

比如:加入test目录下有三个文件分别是 :aaa.txt bbb.txt ccc.txt,如果我们要打包test目录并指定压缩后的压缩包名称为test.tar.gz可以使用命令:tar -zcvf test.tar.gz aaa.txt bbb.txt ccc.txt或:tar -zcvf test.tar.gz /test/

2)解压压缩包:

命令:tar [-xvf] 压缩文件

其中:x:代表解压

示例:

1 将/test下的test.tar.gz解压到当前目录下可以使用命令:tar -xvf test.tar.gz

2 将/test下的test.tar.gz解压到根目录/usr下:tar -xvf xxx.tar.gz -C /usr(- C代表指定解压的位置)

4.5 Linux的权限命令

操作系统中每个文件都拥有特定的权限、所属用户和所属组。权限是操作系统用来限制资源访问的机制,在Linux中权限一般分为读(readable)、写(writable)和执行(excutable),分为三组。分别对应文件的属主(owner),属组(group)和其他用户(other),通过这样的机制来限制哪些用户、哪些组可以对特定的文件进行什么样的操作。通过 ls -l 命令我们可以 查看某个目录下的文件或目录的权限

示例:在随意某个目录下ls -l

程序员必备!史上最全Linux基础知识点,你知道多少?

 

第一列的内容的信息解释如下:

程序员必备!史上最全Linux基础知识点,你知道多少?

 

下面将详细讲解文件的类型、Linux中权限以及文件有所有者、所在组、其它组具体是什么?

文件的类型:

d: 代表目录

-: 代表文件

l: 代表软链接(可以认为是window中的快捷方式)

Linux中权限分为以下几种:

r:代表权限是可读,r也可以用数字4表示

w:代表权限是可写,w也可以用数字2表示

x:代表权限是可执行,x也可以用数字1表示

文件和目录权限的区别:

对文件和目录而言,读写执行表示不同的意义。

对于文件:

程序员必备!史上最全Linux基础知识点,你知道多少?

 

对于目录:

程序员必备!史上最全Linux基础知识点,你知道多少?

 

需要注意的是超级用户可以无视普通用户的权限,即使文件目录权限是000,依旧可以访问。

在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念。

所有者

一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者,用ls ‐ahl命令可以看到文件的所有者 也可以使用chown 用户名 文件名来修改文件的所有者 。

文件所在组

当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组 用ls ‐ahl命令可以看到文件的所有组 也可以使用chgrp 组名 文件名来修改文件所在的组。

其它组

除开文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组

我们再来看看如何修改文件/目录的权限。

修改文件/目录的权限的命令:chmod

示例:修改/test下的aaa.txt的权限为属主有全部权限,属主所在的组有读写权限,其他用户只有读的权限

chmod u=rwx,g=rw,o=r aaa.txt

程序员必备!史上最全Linux基础知识点,你知道多少?

 

上述示例还可以使用数字表示:

chmod 764 aaa.txt

补充一个比较常用的东西:

假如我们装了一个zookeeper,我们每次开机到要求其自动启动该怎么办?

新建一个脚本zookeeper

为新建的脚本zookeeper添加可执行权限,命令是:chmod +x zookeeper

把zookeeper这个脚本添加到开机启动项里面,命令是:chkconfig --add zookeeper

如果想看看是否添加成功,命令是:chkconfig --list

4.6 Linux 用户管理

Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。

Linux用户管理相关命令:

useradd 选项 用户名:添加用户账号

userdel 选项 用户名:删除用户帐号

usermod 选项 用户名:修改帐号

passwd 用户名:更改或创建用户的密码

passwd -S 用户名 :显示用户账号密码信息

passwd -d 用户名: 清除用户密码

useradd命令用于Linux中创建的新的系统用户。useradd可用来建立用户帐号。帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号。使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中。

passwd命令用于设置用户的认证信息,包括用户密码、密码过期时间等。系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自己的密码。

4.7 Linux系统用户组的管理

每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。

用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。

Linux系统用户组的管理相关命令:

groupadd 选项 用户组 :增加一个新的用户组

groupdel 用户组:要删除一个已有的用户组

groupmod 选项 用户组 : 修改用户组的属性

4.8 其他常用命令

pwd: 显示当前所在位置

grep 要搜索的字符串 要搜索的文件 --color: 搜索命令,--color代表高亮显示

ps -ef/ps aux: 这两个命令都是查看当前系统正在运行进程,两者的区别是展示格式不同。如果想要查看特定的进程可以使用这样的格式:ps aux|grep redis (查看包括redis字符串的进程)

注意:如果直接用ps((Process Status))命令,会显示所有进程的状态,通常结合grep命令查看某进程的状态。

kill -9 进程的pid: 杀死进程(-9 表示强制终止。)

先用ps查找进程,然后用kill杀掉

网络通信命令:

查看当前系统的网卡信息:ifconfig

查看与某台机器的连接情况:ping

查看当前系统的端口使用:netstat -an

shutdown: shutdown -h now: 指定现在立即关机;shutdown +5 "System will shutdown after 5 minutes":指定5分钟后关机,同时送出警告信息给登入用户。

reboot: reboot: 重开机。reboot -w: 做个重开机的模拟(只有纪录并不会真的重开机)。
 



Tags:Linux   点击:()  评论:()
声明:本站部分内容来自互联网,内容观点仅代表作者本人,如有任何版权侵犯请与我们联系,我们将立即删除。
▌相关评论
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
▌相关推荐
Linux是最安全的操作系统,还是包含隐藏的风险?本文的主题是安全性。但是,与微软Windows相比,流行的神话常常将Linux视为非常安全的操作系统。我们不打算完全挑战这个想法,但正如...【详细内容】
2019-12-27   Linux  点击:(1)  评论:(0)  加入收藏
tcpdump 是Linux系统下的一个强大的命令,可以将网络中传送的数据包完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来...【详细内容】
2019-08-06   Linux  点击:(0)  评论:(0)  加入收藏
Tcpdump工具是一个抓包工具也是一个协议分析软件。强大的功能和灵活的截取策略,使它成为Linux统下网络分析和问题排查的首选工具。tcpdump可以将网络中传送的数据包的头截获...【详细内容】
2019-12-27   Linux  点击:(1)  评论:(0)  加入收藏
网云穿Linux版本使用教程 环境:Centos7系统 操作步骤大纲: 安装jdk 下载jar包 运行 详细教程如下1.连接至服务器 如图,已连接至服务器2.安装jdk1.8 首先检查本机是否安装jdk,...【详细内容】
2019-12-27   Linux  点击:(1)  评论:(0)  加入收藏
前言:1:介绍下linux内核的整个知识体系,(学会它,你肯定对linux内核有不一样的理解。)2:谈谈Linux内核参数优化 一:linux内核技术点Linux内核知识体系分为五个部分 1:linux内核开发环...【详细内容】
2019-12-26   Linux  点击:(1)  评论:(0)  加入收藏
Linux服务器程序一般以后台形式运行。后台程序又称守护进程。它没有控制终端,因而也不会意外接受用户输入。守护进程的父进程一般是init进程(pid=1)...【详细内容】
2019-12-26   Linux  点击:(1)  评论:(0)  加入收藏
Firewalld服务简介▶1 基本介绍firewalld是CentOS 7.0新推出的管理netfilter的工具firewalld是配置和监控防火墙规则的系统守护进程,可以实现iptables,ip6tables,ebtables的...【详细内容】
2019-12-26   Linux  点击:(1)  评论:(0)  加入收藏
虚拟内存:第一层理解1. 每个进程都有自己独立的4G内存空间,各个进程的内存空间具有类似的结构2. 一个新进程建立的时候,将会建立起自己的内存空间,此进程的数据,代码等从磁盘拷贝...【详细内容】
2019-12-26   Linux  点击:(2)  评论:(0)  加入收藏
在日常运维过程中,经常碰到的问题,就是cpu使用率高达100%,那遇到这个问题时,需要怎么去解决呢,不知道方法的小伙伴,就会感觉一筹莫展。如果知道方法,一步一步的去排查,很容易就能解...【详细内容】
2019-12-26   Linux  点击:(3)  评论:(0)  加入收藏
本文将复现MS17010漏洞在Windows Server 2012 R2系统下的利用过程,通过使用msf渗透框架生成的shell以及github上的exp生成的二进制文件相拼接,从而生成一个完整的二进制文...【详细内容】
2019-12-26   Linux  点击:(4)  评论:(0)  加入收藏
一、Linux介绍:Linux操作系统是基于UNIX操作系统发展而来的一种克隆系统,它诞生于1991 年的 [Linux桌面] 10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并...【详细内容】
2019-12-25   Linux  点击:(3)  评论:(0)  加入收藏
Vim作为使用最广泛的文本编辑器之一,在编程的世界中,一直流传着一个关于它的神秘问题,知道答案的人寥寥无几,却又难以启齿,那就是:怎么退出Vim?据说,很多程序员就算退休了,也没有退出...【详细内容】
2019-12-25   Linux  点击:(5)  评论:(0)  加入收藏
安装ffmpeg安装过程略安装完成后,检查是否安装成功。比如我这里采用向pili推流的方式,将本地的一个mp4视频推流到七牛pili。ffmpeg -re -i /tmp/ffmpeg_test.mp4 -vcodec copy...【详细内容】
2019-12-25   Linux  点击:(4)  评论:(0)  加入收藏
介绍一个文件一经创建,就具有三种访问方式 1.读,可以显示该文件的内容 2.写,可以编辑或删除它 3.执行,如果该文件是一个shell脚本或者程序按照所正对的用户,文件的权限可以分...【详细内容】
2019-12-24   Linux  点击:(4)  评论:(0)  加入收藏
看日志报出的错误,"It is required that your private key files are NOT accessible by others",翻译就是需要私钥文件不能被其他人所访问。私钥是访问linux服务器的凭证,如果...【详细内容】
2019-12-24   Linux  点击:(8)  评论:(0)  加入收藏
SCP(安全复制,Secure Copy)是 Linux 和 Unix 之类的系统中的命令行工具,用于通过网络安全地跨系统传输文件和目录。-- Pradeep Kumar(作者)SCP( 安全复制(Secure Copy))是 Linux 和...【详细内容】
2019-12-13   Linux  点击:(1)  评论:(0)  加入收藏
1.tex文件图t1 2.tex文件基于宏的流行的文本格式化程序 (它是包括LaTeX和teTeX在内的其它此类格式化程序的基础)。 3.是由著名的计算机科学家Donald E. Knuth(高德纳)发明的排...【详细内容】
2019-12-23   Linux  点击:(2)  评论:(0)  加入收藏
密码管理器是创建唯一密码并安全存储它们的有用工具,这样你无需记住密码。了解一下适用于 Linux 桌面的最佳密码管理器。-- Ankush Das(作者)密码无处不在。网站、论坛、Web...【详细内容】
2019-11-03   Linux  点击:(0)  评论:(0)  加入收藏
linux操作系统开源免费,简单易用,干净流畅,深受大家的喜爱。今天我来给大家介绍一些ubuntu下面的一些好用的软件。1.vlc万能播放器:支持倍速播放,支持各种格式视频的播放安装:sud...【详细内容】
2019-12-23   Linux  点击:(3)  评论:(0)  加入收藏
1. 前言本文主要讲解如何在Linux系统上安装软件。Linux怎么安装软件的 在任何操作系统中,我们都需要安装应用程序来完成日常任务。在Windows世界中,每个程序都有一个简单的Set...【详细内容】
2019-12-23   Linux  点击:(13)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条