wordpress 信息发布,谷歌独立站seo,wordpress 首页 缩略图,django 网站开发视频教程文章目录 前言一、知识点1. Linux下一切皆文件#xff0c;也就是说显示器也是一种文件2. 指令是什么#xff1f;3. ll 与 ls -l4. 日志5. 管道6. 时间戳 二、基本指令1. man指令2. cp指令3. mv指令4. 查看文件1#xff09;cat/tac指令——看小文件2#xff09;more/less指令… 文章目录 前言一、知识点1. Linux下一切皆文件也就是说显示器也是一种文件2. 指令是什么3. ll 与 ls -l4. 日志5. 管道6. 时间戳 二、基本指令1. man指令2. cp指令3. mv指令4. 查看文件1cat/tac指令——看小文件2more/less指令——看大文件 5. 显示指定大小文本内容1head指令——从头开始2tail指令——从尾开始3打印大文本任意区域 6. 时间相关的指令1date指令2Cal命令 7. find指令1find指令概念2findwhichwhereis对比 8. grep指令 三、打包和压缩1. 是什么2. 为什么3. 怎么做1对于zip格式对于本地压缩Linux与Windows互传 2对于tgz格式Linux 传 Linux   四、其他指令补充1. bc指令2. uname指令 总结 前言 
今天我们接着理解Linux下指令以及熟悉Linux操作系统~  一、知识点 
1. Linux下一切皆文件也就是说显示器也是一种文件 
打印数据到显示器上–显示器也是文件–写入到显示器文件; 从键盘读取数据–键盘也是文件–从键盘文件读取数据 
这里就要引入echo指令了echo 代表向显示器文件写入写到显示器文件显示器文件就会显示回给我们  
第二个指令是输出重定向一切具有输出性质的命令后面加上就可以改变输出的位置。  用cat查看log.txt的内容  因此我们可以总结为向指定文件写入如果文件不存在就创造一个新的文件如果文件存在就会清空文件的内容再进行写入。 
因此中的因此前面如果什么都不跟就可以达到如果文件存在就清空文件如果文件不存在就创建一个文件。 下一个点是追加重定向类似c语言以a方式写入文件 在下一个点是输入重定向 cat命令呢后面不跟东西默认从键盘文件读按Ctrl c 终止  而cat  log.txt 就是输入重定向从 log.txt里读取数据这里先不做过多的解释后面会讲。 2. 指令是什么 
指令是什么指令就是程序是特定路径下的程序。  
使用which就可以快速找到命令的指定文件  
因此我们可以把自己写的可执行命令存入 /usr/bin目录下使用的时候就可以像其他命令一样不用指定路径但不建议这样做这样做会污染命令池。 3. ll 与 ls -l 
我们在学习中经常会有这样一个疑惑 ll是什么他为什么和ls -l输出的是一样的  通过which 我们可以发现 ll到底是什么东西  这里/usr/bin/ls是ls指令的路径我们可以通过这个路径去调用ls指令  也就是说--colorauto实际上就是加了颜色。 
而前面的alias就是起别名ll是/usr/bin/ls --colorauto的别名。 4. 日志 
日志就像是设备的“日记本”。每当电脑、服务器或应用程序发生点什么它就会悄悄记上一笔写下“今天我干了什么、遇到什么问题、发生了哪些变化”。这些记录可能是它启动了、遇到错误、或者完成了一项操作等。当我们想要追查原因或分析问题时就可以翻开这本“日记本”去找线索看看设备之前经历了什么了解它的状态和变化过程。 
后期我们做有规模一点的项目是是都要写日志的~ 5. 管道 
管道就像一条“数据传送带”用于将一个命令的输出直接作为下一个命令的输入。在Linux或Unix中使用|符号表示管道。比如当我们用 ls | grep .txt 时ls 列出的文件名直接传送给 grep 来筛选出“.txt”文件这样就能一气呵成地处理数据而无需临时保存中间结果。 6. 时间戳 
时间戳是从1970年1月1日UTC/GMT的午夜开始所经过的秒数不考虑闰秒用于表示一个时间点。他是一个线性增长的秒数广泛用于文件创建、日志记录等场景。 
在终端中可以用date %s命令获取当前的时间戳 
date %s也可以我们自己写一个 // 声明一个time_t变量用于存储时间戳time_t timestamp;// 获取当前时间戳timestamp  time(NULL);// 输出时间戳printf(当前时间戳: %ld\n, timestamp);二、基本指令 
1. man指令 
man指令就相当于一个指令表我们就可以用man进行查阅对应的指令。 对于man看到的东西来说不能用鼠标滚轮上下滚动要上下左右翻页要使用对应的↑↓←→键。 按q是退出。  
拿man man举例就是查看man的功能 我们可以看到如下的东西就是对man函数做一个解释  
-k 根据关键字搜索联机帮助num 只在第num章节找-a 将所有章节的都显示出来比如 man printf 它缺省从第一章开始搜索知道就停止用a选项当按下q退出他会继续往后面搜索直到所有章节都搜索完毕。 
解释一下,手册分为8章 
是普通的命令是系统调用,如open,write之类的(通过这个至少可以很方便的查到调用这个函数需要加什么头文件)是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义是给游戏留的,由各个游戏自己定义是附件还有一些变量,比如向environ这种全局变量在这里就有说明是系统管理用的命令,这些命令只能由root使用,如ifconfig 
假设我们man printf会走第一个因为Linux下printf也是一个命令。  
要看c语言的printf要使用 man 3 printf。  注意有些云服务器是不提供这些表的需要我们手动下载下载的代码如下  2. cp指令 
cp就是拷贝 语法cp [选项] 源文件或目录 目标文件或目录 功能: 复制文件或目录 说明: cp指令用于复制文件或目录如同时指定两个以上的文件或目录且最后的目的地是一个已经存在的目录则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录而最后的目的地并非一个已存在的目录则会出现错误信息  常用选项 -f 或 --force 强行复制文件或目录 不论目的文件或目录是否已经存在 -i 或 --interactive 覆盖文件之前先询问用户 -r递归处理将指定目录下的文件与子目录一并处理。若源文件或目录的形态不属于目录或符号链 接则一律视为普通文件处理 -R 或 --recursive递归处理将指定目录下的文件及子目录一并处理 演示先创建一个目录以及一个文件 对于普通文件就可以拷贝到上一级目录中去  对于目录直接这样拷贝会报错我们需要递归的方式拷贝  
这里-r代表递归-f代表假设要拷贝到的目录出现同名情况要不要覆盖-f就是不用问了直接覆盖拷贝过去对于这一点root账号体现不出来普通账号才能体现出来。 3. mv指令 mv就是剪切可以不用跟任何选项 mv src dst_dir也可以直接重命名 mv src newname(一定要是不存在的) mv命令是move的缩写可以用来移动文件或者将文件改名move (rename) files是Linux系统下常用的命令经常用来备份文件或者目录。 
语法: mv [选项] 源文件或目录 目标文件或目录 功能: 
视mv命令中第二个参数类型的不同是目标文件还是目标目录mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时mv命令完成文件重命名此时源文件只能有一个也可以是源目录名它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时源文件或目录参数可以有多个mv命令将各参数指定的源文件均移至目标目录中。 
常用选项 -f force 强制的意思如果目标文件已经存在不会询问而直接覆盖 -i 若目标文件 (destination) 已经存在时就会询问是否覆盖 
功能很简单就是剪切  
剪切的时候还可以重命名  
还可以剪切自己再重命名  4. 查看文件 
1cat/tac指令——看小文件 
语法cat [选项][文件] 功能 查看目标文件的内容 常用选项 -b 对非空输出行编号 -n 对输出的所有行编号 -s 不输出多行空行 补充tac指令就是反向打印文本内容不支持选项。  cat与tac是用来看小文件的。 2more/less指令——看大文件 
创建大文件我们可以手动创建一个大文件代码如下 
# cnt1; while [ $cnt -le 10000 ]; do echo hello jyf, hello world$cnt; let cnt; done  log.txt如果用cat来看就很不方便它不支持上下翻而且最重要的是他会刷屏。 
如果用more:刷到屏幕底部就会停住按Enter向下翻/搜索n下一个匹配项q退出。 但是我们不建议more建议用lessless支持上下翻而且搜索会高亮显示。 
less就是more的升级版 less按Enter向下翻/搜索n下一个匹配项q退出↑↓上下翻而且搜索会高亮显示   5. 显示指定大小文本内容 
1head指令——从头开始 
head 与 tail 就像它的名字一样的浅显易懂它是用来显示开头或结尾某个数量的文字区块head 用来显示档案的开头至标准输出中而 tail 想当然尔就是看档案的结尾。 语法 head [参数]… [文件]… 功能 head 用来显示档案的开头至标准输出中默认head命令打印其相应文件的开头10行。 
选项 -n行数 显示的行数。 2tail指令——从尾开始 
就是和head相反当然默认也是只有十个。 3打印大文本任意区域 
假设我要取2000——2024的文本 方法一创建临时文件先存[0-2024]进tmp中,再tail取出-25个。 
方法二将方法一利用管道实现就不用创建临时文本。  6. 时间相关的指令 
1date指令 
date显示时间默认显示当前时间不过是老外那一套的读法 date 指定格式显示时间 date %Y:%m:%d用这样的方式指定显示符合我们的语言规范。 
间隔符可以自定义但是如果要用空格当间隔符需要用转义字符\ 另外只有月和日是小写其他都是大写。  
date命令还可以转化对应的秒数为我们所想要的格式在后面加 -d时间  2Cal命令 
cal命令可以用来显示公历阳历日历。公历是现在国际通用的历法又称格列历通称阳历。“阳历”又名“太阳历”系以地球绕行太阳一周为一年为西方各国所通用故又名“西历”。 
命令格式 cal [参数][月份][年份] 
功能 用于查看日历等时间信息如只有一个参数则表示年份(1-9999)如有两个参数则表示月份和年份 
常用选项 -3 显示系统前一个月当前月下一个月的月历 -j 显示在当年中的第几天一年日期按天算从1月1号算起默认显示当前月在一年中的天数 -y 显示当前年份的日历 
注意-3 与年份不能同时使用否则默认无视 -3 7. find指令 
1find指令概念 
Linux下find命令在目录结构中搜索文件并执行指定的操作。 
Linux下find命令提供了相当多的査找条件功能很强大。由于find具有强大的功能所以它的选项也很多其中大部分选项都值得我们花时间来了解一下。 
即使系统中含有网络文件系统( NFS)find命令在该文件系统中同样有效只你具有相应的权限。在运行一个非常消耗资源的find命令时很多人都倾向于把它放在后台执行因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)。 
这里先简单提以下后续的学习中再补充 常用选项 -name 按照文件名查找文件  
也可以找主目录的  2findwhichwhereis对比 find 在整个目录树里面一个一个找。  which 只找系统自带的可执行程序简单理解为/usr/bin/里的。 which 就相当于# find /usr/bin/ -name XXX   whereis 除了对比which除了路径还多了匹配的压缩包等等…   8. grep指令 
语法 grep [选项] 搜寻字符串 文件 功能 在文件中搜索字符串将找到的行打印出来 常用选项 -i 忽略大小写的不同所以大小写视为相同 -n 顺便输出行号 -v 反向选择亦即显示出没有 ‘搜寻字符串’ 内容的那一行 
可以直接查也支持通配符  
-n显示行号  
-v代表反向除了匹配到的其他全部打印  
-i代表忽略大小写默认是大小写敏感的  
也可以把-niv结合起来:  三、打包和压缩 
1. 是什么 目前我们将打包和压缩看作一个整体就完全够用了~ 2. 为什么 3. 怎么做 
首先我们需要有一套文件模拟打包压缩的行为如下   那么我们在打包压缩的时候目录文件以及文件里的内容都不能丢失。 
1对于zip格式 
输入zip如果出现以下内容说明命令已经被装了。  
如果没有就输入以下代码安装 这两个一个不行就试另外一个   
对于本地压缩 我们可以发现它的结构还在代表压缩与解压缩成功  
默认是解压缩到当前路径下也可以 unzip -d 路径 解压缩到指定路径下  Linux与Windows互传 
首先输入rz如果弹出以下窗口代表已经装了对应程序。  如果没有装输入以下命令安装  
Linux 传 windows使用sz命令 sz 要传的压缩包  
解压缩就可以看见对应的内容  
window传Linux使用rz命令回车也可以直接拖拽   2对于tgz格式 这里主要思路与zip格式是一样的 他的主要命令如下   
当然它也支持windows与Linux互传和之前是一样的。 Linux 传 Linux 四、其他指令补充 
1. bc指令 
bc就是计算器也可以带选项进行浮点精度控制等  可以和管道连在一起  2. uname指令 
语法uname [选项] 
功能 uname用来获取电脑和操作系统的相关信息。 
补充说明uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息。 
常用选项 -a或–all 详细输出所有信息依次为内核名称主机名内核版本号内核版本硬件名处理器类 型硬件平台类型操作系统名称 补充 CentOS 的版本信息输出到终端方便你确认当前系统的版本  总结 
到这里基本指令就结束啦~ 创作不易求求佬们三连支持一波~~~