当前位置: 首页 > Linux

万字长文教你Linux从入门到入门!!!

时间:2023-04-06 01:43:33 Linux

前言本文参考视频【黑马程序员-linux从入门到精通】https://www.bilibili.com/video/BV1Sp411o7Dx参考教程java3ylinux参考菜鸟教程linuxhttps://www.runoob。com/linux/linux-tutorial.html本文基于ubuntuserver20.推荐一个好用的linux命令查询网站https://man.linuxde.net/1.linux的历史linux的前身是Unix(Unix是最初是用汇编语言开发的,后来由于移植性差,改用C语言改写开发)。Linux是由林纳斯·托瓦兹(LinusTorvalds)开发的,他修改了Unix的底层代码,产生了Linux。linux之父:2.linux系统的特点linux是开源、多用户、多任务、良好的用户界面、优良的性能和稳定性。简单看一下多/单用户和多/单任务:单用户:一个用户。登录一台计算机(操作系统)时,同一时间只允许一个用户登录。单一任务:一项任务。允许用户同时执行的操作任务数为一个。多用户:多个用户。登录电脑(操作系统)时,允许多个用户同时登录进行操作。多任务:多项任务。允许用户同时执行多个操作任务。根据上面的描述,我们知道Windows系统属于单用户多任务,Linux系统属于多用户多任务。singletask只是个概念上的东西,实际用不到,因为功能太鸡肋了。3.linux的常用分支实际上,LinusTorvalds创建的是linux内核,而linux内核至今只发布了几个版本,变化并不大。但是围绕linux内核,不同的开发者开发了很多linux系统(在linux内核中加入了一些应用软件),这些linux系统被称为linux分支。linux有很多分支,常见的分支有CentOs、Ubuntu、RedHat等。4、linux系统的安装目前主要是通过虚拟机安装。常见的虚拟机有vmware出品的vmwareworkstation和oracle出品的virtualbox。但是vmware的性能比virtualbox好。具体安装方法百度教程。这里要注意VMware的备份功能,合理使用可以提高效率。VMware的备份方式有两种:克隆和快照。快照:也称为还原点,它是在拍摄快照时保存的系统状态(包括所有内容),可以在以后随时恢复。[重点是短期备份。当需要频繁备份时可以使用快照。拍摄快照时通常会开启虚拟操作系统]Clone:复制的意思。【注重长期备份,做克隆时一定要关闭】五、Linux系统文件和目录1、linux中万物皆文件首先,我们先了解一下什么是文件,什么是文件夹。文件:一般是一个独立的东西,可以通过一些特定的工具打开,不能包含除文本以外的任何东西。文件夹:可以包含其他文件的东西。linux中的一切都是文件,linux本身也是一个基于文件表示的操作系统。所以linux中的操作本质上就是对文件的操作。2、linux的目录结构####第一步相对/绝对路径linux的工作路径分为相对路径和绝对路径两种。相对路径:'relative'是指相对于当前工作路径。相对路径的写法:./代表当前目录。../:表示上级目录。比如从/usr/share/doc到/usr/share/man,可以这样写:cd../man这是相对路径的写法绝对路径:从根开始找对应的路径目录/。cd/home:您可以从任何目录直接到达主目录。文件目录结构分析上面蓝色代表文件夹,白色代表文件,绿色代表所有权限,红色代表压缩包。bin:全称二进制(binary)。所有的二进制文件都存放在这个目录下,所有的文件都可以运行。boot:这里存放了启动linux时用到的一些核心文件,包括一些连接文件和镜像文件。dev:该目录主要存放外接设备,如磁盘、其他CD等,里面的外接设备不能直接使用,需要挂载(类似Windows下分配盘符)etc:主要存放一些配置系统管理所需的文件。home:表示“家”,存放除root用户以外的所有用户,类似于Windows下的user/user。在Linux中,每个用户都有自己的主目录,一般以用户的账号命名。proc:全称进程(process),该目录存放linux运行时的进程。【这个目录是一个虚拟目录,是系统内存的一个映射,我们直接访问这个目录就可以获取到系统信息。这个目录的内容不在硬盘上,而是在内存中。我们也可以直接修改其中的一些文件。比如下面的命令可以用来屏蔽主机的ping命令,让别人无法ping通你的机器:]echo1>/proc/sys/net/ipv4/icmp_echo_ignore_alllib:全称library(库),其中存放着系统最基本的动态链接共享库,其功能类似于Windows中的DLL文件。几乎所有的应用程序都需要使用这些共享库。lost+found:这个目录通常是空的。当系统被非法关闭时,一些文件将被存储。media:linux系统会自动识别一些设备,如U盘,CD-ROM等,识别后,Linux会将识别到的设备挂载到该目录下mnt:当需要挂载外部设备时,将其挂载到该目录下.可以将光驱挂载到/mnt/,然后进入该目录可以查看光驱的内容。opt:全称optional(可选),系统中安装附加软件(如数据库)的位置。默认为空。root:该目录是root用户的家目录,具有超级权限。run:该目录暂存自系统启动以来的信息。当系统重新启动时,该目录下的文件应该被删除或清除。sbin:全称superbinary,存储系统管理员使用的二进制系统管理程序srv:存放一些服务启动后需要提取的数据。sys:这是Linux2.6内核的一个大改动。该目录安装了2.6内核中新的文件系统sysfs。sysfs文件系统集成了以下三个文件系统的信息:进程信息的proc文件系统,设备的devfs文件系统,伪终端的devpts文件系统。文件系统是内核设备树的直观反映。创建内核对象时,也会在内核对象子系统中创建相应的文件和目录。tmp:全称temporary(临时),系统运行时产生的临时文件都会在这个目录下。usr:全称是unix共享资源(sharedresources),存放用户的应用程序和文件。类似于Windows下的programfiles.usr/bin:存放系统使用的文件程序。usr/sbin:存放超级用户使用的更高级的管理程序和系统守护进程usr/src:内核源代码的默认位置。var:存放程序/系统日志文件其中,重要的目录如下(上面加粗的)六.linux基本指令linux指令格式:$指令体(空格)[选项](空格)[操作对象]该命令可以包含多个选项和空格linux基本命令1.ls命令ls:列出所有文件和文件夹名称在当前工作目录下lspath:列出指定路径下所有文件和文件夹的名称。直接访问home目录下dev目录下的所有文件和文件夹3.`ls-lpath`:以详细列表的形式显示对应路径下的文件和文件夹。4.`ls-lapath`:显示所有文件和文件夹(包括隐藏的文件和文件夹)。上面列表第一行的字符表示文件类型,其中“-”表示文件类型,“d”表示文件类型是文件夹。linux中的隐藏文件以.5.`ls-lhpath`:以更易读的形式显示文件和文件夹2.pwd命令pwd:显示当前工作目录3.cd命令cdpath:将当前工作目录切换到指定目录。cd/:切换到根目录cd~:切换到当前用户的主目录cd..:返回上一级目录cd:切换到当前用户的主目录4.mkdir命令mkdir文件夹名:创建文件夹(可以添加前面文件夹的绝对路径)mkdir/usr/helloworld:在usr目录下创建一个helloworld文件夹mkdirfolder1folder2folder3...:一次创建多个文件夹,中间用空格隔开。5.touch命令touchfilename:创建一个文件touchfilename1filename2filename3...:一次创建多个文件,以空格分隔。6.cp命令cpfilepathPathtocopyto:将文件复制到指定位置。注意这是一个相对路径注意:Linux可以在复制过程中对新位置的文件进行重命名,但如果不需要,建议保持名称一致。cp-rfolderpath文件夹路径:将文件夹复制到指定位置。-r表示递归复制,否则复制失败7.mv命令mvfile/folderpathpathtogo:将文件/文件夹移动(剪切)到指定位置。mv文件/文件夹名新文件/文件夹名:重命名文件/文件夹8.rm命令rm文件:删除文件rm-f文件:强制删除文件,不提示是否删除。-f表示强制(force)rm-r文件夹:删除文件夹。-r表示递归rm-rf文件夹:删除文件夹,不需要删除确认查询。rm-rffile1file2file3...:删除多个文件或文件夹9.输出重定向一般命令的输出会显示在终端中,有时需要将某些命令的执行结果保存到一个文件中,以供后续使用分析/统计,此时就需要用到输出重定向技术。有两种类型的重定向:覆盖输出和追加输出。执行命令>文件路径:覆盖输出,原文件内容将被覆盖。执行命令>>文件路径:追加输出,不会覆盖原文件内容,会在原内容末尾继续追加。如果指定路径中不存在该文件,将自动创建一个新文件。10、cat命令cat文件路径打开指定路径下的文件。catfilepath1filepath2...>filepathx:filefilepath1filepath2...所有内容到filepathx[usewithoutputredirection]11.clear/ctrl+L命令clear:清除现有的终端中的命令和结果,不是很清楚,只是隐藏。ctrl+L:功能同上12.history命令history:查看之前输入的历史命令13.ctrl相关的快捷键操作ctrl+c:强制终止程序的执行ctrl+z:常用于挂起aprocessctrl+d:一个特殊的二进制值,表示EOF,相当于在终端输入exit,然后回车;ctrl+s:中断控制台输出ctrl+q:恢复控制台输出ctrl+l:清屏14..tra.gz文件解压及相关操作参考链接:Ubuntu常用解压压缩命令:https://blog.csdn.net/songbinxu/article/details/80435665tar-zxvfFileName.tar.gz#解压tar-zcvfFileName.tar。gzDirName#压缩DirName及其下的所有文件(文件夹)tar-CDesDirName-zxvfFileName.tar.gz#解压到目标路径n。shift+PgUp/PgDnshift+PgUp:pageupshift+PgDn:pagedownPagelinux高级指令1.df指令df-h:查看磁盘空间。-h表示以更易读的方式显示大小。2、free命令free-m:查看内存使用情况。-m表示以mb为单位查看。3.head命令head-n:查看文件的前n行。如果不指定n,默认显示前十行。查看t.txt文件前四行:4.tail命令tail-n文件路径:查看文件后n行,如果不指定n,默认显示后十行。tail-f文件路径:一般用于查看系统日志,查看文件动态变化的内容。5.less命令lessfilepath:查看内容较少的文件和输出。退出使用q命令6.wc命令wc文件路径:统计文件内容的行数、??字数、字节数。wc-l文件路径:统计文件内容的行数。-h表示lines,行数。wc-w文件路径:统计文件内容的字数,根据空格判断字数。-w表示words,字数。wc-c文件路径:统计文件的字节数。-c表示bytes,字节数。7、date命令date:显示当前时间date+%F或date"+%Y-%m-%d"date"+%F%T"或date"+%Y-%m-%d%H:%M:%S"date-d"-1day""+%Y-%m-%d%H:%M:%S"获取之前或之后的某个时间,其中可选值:+、-、day,month,year.%F:表示完整的年、月、日%T:表示完整的时、分、秒%Y:表示四位数的年份%m:表示两位数的月份(以0开头)%d:表示日期(带前导0)%H:表示小时(带前导0)%M:表示分钟(带前导0)%S:表示秒(带前导0)8、cal指令cal:输出电流monthcalendarcal-3:输出上+本+后三个月cal-yYear:输出某年的日历。9.管道命令管道字符:|。它的作用一般是“过滤”、“特殊”、“扩展处理”。不能单独使用,一般是和一些指令配合使用,流水线在其中起辅助作用。顾名思义,管道就是起到管道的作用。管道命令使用管道字符|作为分界线,表示先将管道字符前的命令输入管道,再处理管道字符后的命令再输出。功能一:过滤。ls/|gerpy:通过管道查询根目录下包含y的文档名。grep命令表示过滤功能2:特殊用法cat文件路径|less:通过pipeline的操作方式达到less的等价效果。功能三:扩展处理ls/home/chenshuai|wc-l:统计用户目录下的文件数Linux高级命令1.hostname命令hostname:输出完整的主机名hostname-f输出当前主机名域名中的FQDN(全限定)2.id命令id:默认显示当前执行命令的用户的基本信息(基本信息=用户id,用户组id,附加组id...)id用户名:显示指定用户的基本信息。3.whoami命令whoami:显示当前登录的用户名,一般用在shell脚本中,获取当前操作对象的用户名,方便登录。4、ps-ef命令ps-ef:查看服务器进程信息。-e相当于“-A”的意思是列出所有进程。-fDisplayallcolumns(显示所有字段)上图的含义:UID:进程执行的用户idPID:进程idPPID:进程的父进程id,如果找不到某个程序的父进程,该程序的id进程称为僵尸进程。C:CPU使用率,以百分比形式表示。TTY:Terminaldevice,发起进程的设备标识符号。如果”?”显示,表示该进程不是终端设备发起的;TIME:进程执行时间CMD:进程名称或对应路径;5.top命令top:查看服务器进程占用的资源(q命令退出)。top命令结果的操作:M:表示按照内存从高到低对结果进行降序排序P:表示按照CPU使用率从高到低对结果进行降序排序;1:当服务器有多个CPU,可以使用“1”快捷键切换是否显示各个CPU的详细信息;header含义:PID:进程id;USER:进程对应的用户;公关:优先级;VIRT:虚拟内存;RES:常驻内存;SHR:共享内存;计算一个进程实际使用的内存=常驻内存(RES)-共享内存(SHR)S:表示进程的状态(sleeping,其中S表示Sleep,R表示running);%CPU:CPU使用百分比;%MEM:内存使用百分比;TIME+:执行时间;COMMAND:进程名或路径;6.du-sh命令du-shfilepath:查看文件的真实大小7.find命令findpath-name*.conf:查询指定路径下以.conf结尾的文件。8.service命令service服务名start/stop/restart:控制某些软件的服务启动/停止/重启9.kill命令killall进程名:杀死进程10.ifconfigifconfig:获取网卡信息。ens33代表Linux中的一块网卡,eth0是它的名字。lo(循环,本地网卡返回,其ip地址一般为127.0.0.1)也是网卡名。inet是网卡的IP地址。详细分析https://man.linuxde.net/ifconfig11.reboot命令reboot:重启电脑reboot-w:模拟重启,但不重启(只写关机和启动日志信息)12.shutdown命令shutdown-hnow》shutdownprompt"或shutdown-h12:00"shutdownprompt":立即并在指定时间关机13.uptime命令uptime:输出计算机从开机到现在的运行时间14.uname命令uname:获取操作系统uname-a的类型:获取所有系统信息(类型,所有主机名,内核版本,发布时间,开源计划)15.man命令mancommand:查询命令的用法(英文说明)exitwithqcommand16.防火墙命令Linux原来的防火墙工具iptables很麻烦。Ubuntu默认提供了一个基于iptable的防火墙配置工具ufw,方便管理iptables。查看防火墙当前状态:sudoufwstatus启用防火墙:sudoufwenable关闭防火墙:sudoufwdisable查看防火墙版本:sudoufwversion默认允许外部访问本机:sudoufwdefaultallow拒绝外部访问默认机器:sudoufwdefaultdeny允许外部访问端口33:sudoufwallow53拒绝外部访问端口33:sudoufwdeny53允许一个IP地址访问机器的所有端口:sudoufwallowfrom192.168.0.117.ping命令ping命令用于测试网络中主机之间的连通性。执行ping命令将使用ICMP传输协议发送请求响应的消息。如果远程主机的网络功能没有问题,就会响应该消息,从而知道主机运行正常。Ping目标主机:测试与目标主机的网络连接。七、vim编辑器1、简单了解vimvi是Unix和linux系统下最基本的文本编辑器,适用于任何版本的linux,类似于Windows下的记事本。vim是vi的升级版,是从vi发展而来的文本编辑器。代码补全、编译、错误跳转等便捷的编程功能尤为丰富,深受广大程序员的喜爱。2.vim的三种模式vim有三种模式:命令模式、编辑模式、末行模式。首先简单了解一下基本概念:命令模式:vim打开文件后的默认模式。该模式下不能直接编辑文件,但可以通过快捷键进行一些操作。常用操作:删除行、复制行、移动光标、粘贴等。编辑模式:在此模式下,可以对文件内容进行编辑。Lastlinemode:可以在最后一行输入命令对文件进行操作,常用操作:查找、替换、保存、退出、撤销、高亮等。vim打开文件的方式vim文件路径:打开指定文件。vim文件路径1文件路径2文件路径3:打开多个文件3.命令模式下的常用操作使用命令vimfilepath后看到的第一个模式是命令模式exit:使用:q+Enter操作1:光标移动Move光标移到行首:^光标移到行尾:$光标移到第一行:gg光标移到最后一行:G向上滚动:PgUp向下滚动:PgDn操作二:复制操作复制:先ctrl+v然后用↑↓←→选择复制内容,最后用y复制粘贴:p操作3:剪切、删除剪切/删除光标所在行(删除后,下一行上移):dd----这里注意dd是strict的,也就是说是cut命令。如果剪切后不使用p粘贴,则会被删除。剪切/删除光标所在行和下面指定的行:Numberndd操作4:撤销、恢复撤销::u恢复:ctrl+r操作5:光标移动光标左、右、上、下:↑↓←→光标移至指定n行:nG4。末行模式的常用操作在命令模式下使用:或/进入末行模式。退出:按esc或双击esc或删除最后一行输入的所有字符(三种方式可选)操作一:保存操作保存文件::w另存为::w路径5、编辑模式下的常用操作在commandmode,使用命令i或a进入退出模式:按esc6。三种模式的关系命令模式到终端的一些退出模式说明:q:不修改文件退出:q!:强制退出,不保存修改:wq:保存修改退出:wq!:保存修改并强制退出:x:如果文件没有被修改,则直接退出,如果文件被修改,则表示保存并退出;注1::x和:wq的区别如果文件没有被修改过,但是用wq退出,文件修改时间会更新;但如果文件没有被修改过,使用x退出,文件修改时间不会更新;主要是会混淆用户对文件修改时间的判断。*注2:X表示加密文件,x表示退出文件。7、vim异常退出在使用vim编辑文件时,如果没有使用vim提供的exit方法(:wq)强制终端正常关闭,会产生Exit异常,如下图所示。这时候系统会创建一个名为file.swp的缓存文件,里面存放的是还没有被:wq动作保存的信息。解决方法:删除file.swp文件。rm-rffile.swp8.apt软件管理包快速介绍apt(AdvancedPackagingTool)是Debian和Ubuntu中的Shell前端包管理器。apt命令提供了查找、安装、升级、删除某个、一组甚至所有软件包的命令,命令简洁易记。apt命令的执行需要超级管理员权限(root)。常用命令语法:apt[options][command][package...]选项:可选,选项包括-h(帮助)、-y(安装过程中提示全选“是”)、-q(做不显示安装过程)等。命令:要执行的操作。package:安装的包名。安装软件:sudoaptinstall删除软件包:sudoaptremove清理不用的依赖和库文件:sudoaptautoremove更新软件包:sudoaptupdate删除软件包和配置文件:sudoaptpurge显示包具体信息,例如:版本号、安装大小、依赖项等:sudoaptshow升级包:sudoaptupgrade