Linux篇【1】:基本指令详解

请看目录:

目录

切换用户命令:su - zsh

1. ls 指令

补充知识点1:文件的属性数据

(1)ls 显示文件名

(2)ls -l  显示文件更多属性

(3)ls -a   显示Linux系统中的隐藏文件

【1】指令选项-a和-l可以合并使用:ls -a -l或ls -al

【2】隐藏文件介绍:以.开头的文件我们称之为隐藏文件

【3】我们可以创建一个隐藏文件,用-a或-al显示隐藏文件​编辑

【4】cd ..  回到上级路径

2.pwd命令

3.cd 指令

(1)cd跟上任何以绝对或者相对路径构建的路径​编辑

绝对路径和相对路径:

查看路径:which

路径分隔符:

4.touch指令

linux下的hello world 代码

5.mkdir指令(重要)

(1)常规创建一个目录

日常写代码可以创建目录code,在code中创建日期目录用于保存代码

(2)创建一串路径

6.rmdir指令 && rm 指令(重要):

(1)rm -r 目录   递归删除目录文件

(2)rm -rf * 全部删除

7.man指令(重要)

1.用途:(询问系统里的那个男人)

2.使用

3.安装man手册

8.cp指令(重要)

9.mv指令(重要)

1.详细功能:

2.常用选项:

例1:剪切普通文件

例2:剪切目录,把 lesson3 剪切进 lesson1

例3:重命名:修改 file-bak.txt 为 file.txt-bak ,修改 目录dir 为 mycode

例4:用file.txt-bak 去覆盖 file.txt-1

10.cat命令

常用选项:

例1:正序打印cat 和 倒序打印tac

11.more指令 和 less命令

功能:

例1: 

2.more VS less

echo

(1)输出重定向 >

(2)追加重定向 >>

例子1:输出重定向 >

例子2:追加重定向 >>

(3)单独cat

所有的阻碍你命令行操作,无脑ctrl + c,不能ctrl+z (ctrl+z是暂停任务)。

(4)输入重定向 <

(5)echo $?   查看退出码

12.head指令 与 tail指令

(1)常规取法

 (2)如何查看文本的[30000, 30020]?

1.临时文件法

2.管道法( | 叫管道)

 管道的更多用法:可以级联多个命令,来完成流水线式的数据处理工作

 13.时间相关的指令

(1)显示日期

(2)时间戳

14.Cal指令—日历

15.find指令:(很重要) -name

16.grep指令(高频使用)

grep:行文本过滤工具

选项:

例1:在文件中找出包含1234的内容

例2:-i:忽略大小写(ignore)

例3:-v与-vi / -iv(-v和-i组合)

例4:-nvi或-niv 在内容前加序号

17.zip/unzip指令:

介绍:

安装:sudo yum install -y zip 

使用格式:

(1)例1:zip和unzip使用:

(2)例2:解压到tmp目录:unzip test.zip -d /tmp

(3)小问题:我为什么要打包压缩?

18.tar指令(重要)

(1)最重要的两个指令:

【1】czf

【2】xzf

tgz和zip只是压缩格式不一样:

(2)其他指令,介绍一个-v 压缩的过程中显示文件

【1】例1

 【2】例2

【3】 例3

指令的选项的顺序没关系:

(3)-C 解压到指定路径下!

(4)tar搭配scp命令使用

19.bc指令——linux下的计算器

20.uname –r指令

21.重要的几个热键[Tab],[ctrl]-c, [ctrl]-d,[ctrl]-r

22.file指令

23.tac 从文件最后一行倒着打印每一行内容,每一行内容不逆序

24.stat 查看文件属性

25.which ——查看可执行文件的位置。

26.alias 起别名

27.清空文件操作>log.txt

28.rz,sz命令

(1)rz命令

(2)sz命令

①sz命令

②格式:

③常用示例


切换用户命令:su - zsh

Linux篇【1】:基本指令详解_第1张图片

1. ls 指令

语法 ls [ 选项 ][ 目录或文件 ]
功能 :对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
常用的 指令选项
-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-d 将目录象文件一样显示,而不是显示其下的文件。 如: ls –d 指定目录
-i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
-k k 字节的形式表示文件的大小。 ls –alk 指定文件
-l 列出文件的详细信息。
-n 用数字的 UID,GID 代替名称。 (介绍 UID GID
-F 在每个文件名后附上一个字符以说明该文件的类型,什么都不带是文本文件, “*” 表示可执行的普通文件; “/” 表示目录; “@” 表示符号链接;“|” 表示 FIFOs “=” 表示套接字 (sockets) 。(目录类型识别)
-r 对目录反向排序。
-t 以时间排序。
-s l 文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
-R 列出所有子目录下的文件。 ( 递归 )
-1 一行只输出一个文件。

 ——————————————————————————————————手动分隔符——

补充知识点1:文件的属性数据

如果我们创建了一一个空文件,在磁盘中占据空间吗? 
答:要占用,文件有属性数据->文件的属性数据是数据吗?  -> 是的!属性数据也要被保存起来 
文件=文件内容+文件属性
我们曾经或者将来要学的所有的文件操作
无非两类:
1.对文件的内容操作
2.对文件的属性操作

——————————————————————————————————手动分隔符——

(1)ls 显示文件名

touch创建文件,mkdir创建目录,pwd显示路径后面会讲,我们先使用起来

Linux篇【1】:基本指令详解_第2张图片

(2)ls -l  显示文件更多属性

 Linux篇【1】:基本指令详解_第3张图片

(3)ls -a   显示Linux系统中的隐藏文件

【1】指令选项-a和-l可以合并使用:ls -a -l或ls -al

Linux篇【1】:基本指令详解_第4张图片

【2】隐藏文件介绍:以.开头的文件我们称之为隐藏文件

Linux篇【1】:基本指令详解_第5张图片

在任意目录下,都会存在两个隐藏文件 . (当前路径)  .. (上级路径)

windows中也存在以.开头的隐藏文件:

 Linux篇【1】:基本指令详解_第6张图片

【3】我们可以创建一个隐藏文件,用-a或-al显示隐藏文件Linux篇【1】:基本指令详解_第7张图片

【4】cd ..  回到上级路径

. (当前路径)  .. (上级路径)

Linux的路径分割符是/                  举例: /home/zsh
windows的路径分割符是: \           举例:C:\Users\Public\Desktop    

/ 是根目录

Linux篇【1】:基本指令详解_第8张图片

2.pwd命令

语法 : pwd
功能 :显示用户当前所在的目录,即: 查看当前所处的路径

3.cd 指令

语法 :cd 目录名
功能 :改变工作目录。将当前工作目录改变到指定的目录下。
举例
cd .. : 返回上级目录
cd /home/litao/linux/ : 绝对路径
cd ../day02/ : 相对路径        举例:cd ../../返回两层上级目录
cd ~:进入用户家目录
cd - :返回最近访问目录

(1)cd跟上任何以绝对或者相对路径构建的路径

Linux入口目录是 / 根目录

Linux的目录结构本质是一颗多叉树(windows目录也是多叉树)
1.每一个子节点,既可以是一个目录(再放目录或者普通文件,递归式的定义),也可以是一个普通文件
2. 这颗多叉树的叶子节点, 一定是一个普通文件或者空目录

 
Linux篇【1】:基本指令详解_第9张图片

我们一般”定位”,是通过路径定位的方式,找到文件的!
但是为什么我们都是通过路径方式定位文件的呢? ?
答:任何一个节点,可以有多个子节点,但是任何一个子节点,都只有一个父节点
即:常规的路径定位是具有唯一性

绝对路径和相对路径:

【1】绝对路径

/home/bit/test.c :  是Linux下的“ 绝对路径”:绝对路径是相对于根目录 / 的路径

【2】相对路径(目前比较常用,因为目前大部分仍是指令操作)

假设我们要找文件mytest. c,这个文件的绝对路径是: /home/whb/104 /lesson2/mytest. c

Linux篇【1】:基本指令详解_第10张图片
 我们不仅可以用绝对路径找到他,我们还可以从lesson1开始通过相对路径找到他:

Linux篇【1】:基本指令详解_第11张图片

 ls .. /lesson2/mytest. c 就是相对路径:相对路径是相对当前所处的路径,这里就是相对lesson1文件的路径

使用建议:

如果是日常使用,我们推荐相对路径——简单
如果是进行添加配置文件之类,推荐绝对路径——不会出错

查看路径:which

Linux篇【1】:基本指令详解_第12张图片

路径分隔符:

百度随便打开个网址

https ://new. qq. com/ omn/20220526/20220526A09NDR00. html                                                                       域名

因为linux操作系统中路径分割符都是 /(斜杠),windows系统的路径分割符是 \ (反斜杠),所以可稍微看出来,企业的后端是Linux操作系统

4.touch指令

语法 :touch [ 选项 ]...  文件 ...
功能 touch 命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
现在只需懂的用touch创建普通文件 即可:

Linux篇【1】:基本指令详解_第13张图片

touch 常用选项
-a   或 --time=atime --time=access --time=use 只更改存取时间。
-c    --no-create  不建立任何文档。
-d  使用指定的日期时间,而非现在的时间。
-f  此参数将忽略不予处理,仅负责解决 BSD 版本 touch 指令的兼容性问题。
-m    --time=mtime --time=modify  只更改变动时间。
-r  把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t  使用指定的日期时间,而非现在的时间

linux下的hello world 代码

Linux篇【1】:基本指令详解_第14张图片

5.mkdir指令(重要)

make director

语法 mkdir [ 选项 ] dirname...
功能 :在当前目录下创建一个名为 “dirname” 的目录,即:创建目录
常用选项
-p, --parents   可以是一个路径名称。此时若路径中的某些目录尚不存在 , 加上此选项后 , 系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录,即:在创建多层级目录的时候若上级目录不存在则创建

(1)常规创建一个目录

Linux篇【1】:基本指令详解_第15张图片

日常写代码可以创建目录code,在code中创建日期目录用于保存代码

​[zsh@ecs-78471 ~]$ mkdir code
[zsh@ecs-78471 ~]$ cd code
[zsh@ecs-78471 code]$ pwd
/home/zsh/code
[zsh@ecs-78471 code]$ mkdir 2022_5_20
[zsh@ecs-78471 code]$ touch test.c
[zsh@ecs-78471 code]$ ls
2022_5_20  test.c

​

(2)创建一串路径

用-p ,单词路径path的首字母

[whb@VM-0- 3- centos lesson2]$ mkdir dir    创建一个目录

[whb@VM-0-3- centos lesson2]$ mkdir -p dir1/dir2/dir3/dir4/dir5  创建一串路径

6.rmdir指令 && rm 指令(重要):

rmdir只能删除空目录, 不常用     例如:rmdir code
rm 删普通文件                               例如:rm test.c
rm -r 目录   递归删除目录文件       例如:rm -r dir1
rm -rf (force)强制删除  (防止弹询问窗口) rm dir1 -rf

(1)rm -r 目录   递归删除目录文件

dir1中包含dir2,dir2中包含dir3,dir3中包含dir4,dir4中包含dir5。删除dir1,只能用递归删除rm -r

Linux篇【1】:基本指令详解_第16张图片

(2)rm -rf * 全部删除

rm -rf * 相当于 rm -rf ./* 删除当前目录下的所有文件,*是通配符,和谁都能匹配,和哪个文件都能匹配,所以可以达到全部删除的目的

把tar_ package test. zip 这两个全删除的操作:

Linux篇【1】:基本指令详解_第17张图片

Linux篇【1】:基本指令详解_第18张图片

7.man指令(重要)

1.用途:(询问系统里的那个男人)

Linux 的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问 Linux 手册页的命令是
man 语法 : man [ 选项 ] 命令

man手册分为8章:

1 是普通的命令

2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文

件)

3 是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件

5 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义

6 是给游戏留的,由各个游戏自己定义

7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明

8 是系统管理用的命令,这些命令只能由root使用,如ifconfifig

-k 根据关键字搜索联机帮助

num 只在第num章节找

-a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕。

2.使用

man可以查看不同的手册,在 [选项] 中填1,2,3即可选择: 常见的3个手册 

[1] 是查命令。 (默认手册

[2] 是操作系统提供的,系统调用。例如:fork,open,write 

[3查C语言。

如果不会man本身的操作,就直接man man查阅

3.安装man手册

安装man手册的指令:root环境下:yum install -y man-pages

举例:

(1)man 3 printf 意思是查C语言的printf 

Linux篇【1】:基本指令详解_第19张图片

(阅览完后按q退出)

(2)man printf 意思是查命令中的printf 

Linux篇【1】:基本指令详解_第20张图片

(3)man 2 fork 是查看系统调用接口

8.cp指令(重要)

功能 : 复制文件或目录(类似于windows中的复制粘贴功能)
注意:
①如果在cp的时候,要拷贝的文件,是拷贝在当前路径下,两个文件的名称不能一样,如果拷贝到不同路径下,可以一样!
②默认情况,cp不允许拷贝目录的
如果需要,我们应该要携带选项-r(递归的意思)
禁止询问添加 - f: (force强制)
举例:
(1)
nano记事本写下aaaabbb等等字母的内容,cat打印,cp file.txt file-bak.txt 拷贝 file.txt 到一个新文件 file-bak.txt,打印 file-bak.txt 发现拷贝完成。

Linux篇【1】:基本指令详解_第21张图片

(2)直接在上级目录拷贝并创建一个file.txt-1的文件

 Linux篇【1】:基本指令详解_第22张图片

(3) cp Makefile lesson1:把Makefile直接拷贝进目录lesson1中

zsh@ecs-78471 104new]$ ll
total 28
drwxrwxr-x 2 zsh zsh 4096 Oct 14 16:58 lesson1
-rw-rw-r-- 1 zsh zsh   74 Oct 18 17:52 Makefile
[zsh@ecs-78471 104new]$ cp Makefile lesson1
[zsh@ecs-78471 104new]$ ll
total 28
drwxrwxr-x 2 zsh zsh 4096 Oct 18 19:34 lesson1
-rw-rw-r-- 1 zsh zsh   74 Oct 18 17:52 Makefile
[zsh@ecs-78471 104new]$ cd lesson1
[zsh@ecs-78471 lesson1]$ ll
total 12
-rw-rw-r-- 1 zsh zsh  74 Oct 18 19:34 Makefile

9.mv指令(重要)

功能:把一个文件或目录移动到另一个目录中。

1.详细功能:

1. 类似于剪切功能: a. 可以剪切普通文件b. 可以整体剪切目录(mv file. txt lesson3)
2.类似于win中的重命名,可以对普通文件,也可以对目录文件进行重命名(mv file-bak.txt  file.txt-bak)

指令mv有两个功能,比如mv lesson1 lesson2,我怎么区分是剪切功能还是改名功能?

答:就看lesson2存不存在。

2.常用选项

-f  force  强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i  :若目标文件  (destination)  已经存在时,就会询问是否覆盖

例1:剪切普通文件

Linux篇【1】:基本指令详解_第23张图片

例2:剪切目录,把 lesson3 剪切进 lesson1

Linux篇【1】:基本指令详解_第24张图片

例3:重命名:修改 file-bak.txt 为 file.txt-bak ,修改 目录dir 为 mycode

Linux篇【1】:基本指令详解_第25张图片

例4:用file.txt-bak 去覆盖 file.txt-1

-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖

Linux篇【1】:基本指令详解_第26张图片

10.cat命令

功能:打印文件内容(比较适合查看短文本,或者代码)

常用选项

-n 对输出的所有行编号 (主要)
-b 对非空输出行编号 (了解)
-s 不输出多行空行(了解)

例1:正序打印cat 和 倒序打印tac

Linux篇【1】:基本指令详解_第27张图片

例2:正序打印cat 可以-n ,倒序打印tac 不可以加-n

Linux篇【1】:基本指令详解_第28张图片

11.more指令 和 less命令

功能:

类似cat指令,more是查看长文本;less是查看长文本并且可以上下翻(点击键盘的上下键可以上下翻,点回车可以下翻)

例1: 

cnt=1; while [ $cnt -le 100000 ]; do echo "hello bit $cnt"; let cnt++; done >file.txt 此指令创建10000行代码,(代码:wc -l file.txt 用于查看文件内容的行数)然后打印内容:如果用cat打印就是刷屏,用more打印就显示满整个屏幕就不显示了(差不多到30行),再输入q退出more

Linux篇【1】:基本指令详解_第29张图片

2.more VS less

less支持前后翻,推荐less,不推荐more。
less可以帮助我们进行查看文本,可以用它来进行日志查看!
 

echo

(1)输出重定向 >

echo "hello world" > hello. txt 

> 叫:输出重定向
本来应该写入到显示器的内容,把它写入到文件中,会清空原始文件的内容,进行重新写入

(2)追加重定向 >>

功能:同上,不会清空原始内容,而是在原始文件的结尾进行新增式的写入。

例子1:输出重定向 >

echo "hello Linux" > hello. txt 会覆盖原来文件中的 "hello world"

Linux篇【1】:基本指令详解_第30张图片

例子2:追加重定向 >>

同上,不会清空原始内容,而是在原始文件的结尾进行新增式的写入.

Linux篇【1】:基本指令详解_第31张图片

(3)单独cat

输入什么,就返回什么。

单独cat:默认会从键盘(标准输入)
键盘当做文件

Linux篇【1】:基本指令详解_第32张图片

所有的阻碍你命令行操作,无脑ctrl + c,不能ctrl+z (ctrl+z是暂停任务)。

如果误点ctrl+z,需要输入 fg 1,再ctrl+c 就可以退出

Linux篇【1】:基本指令详解_第33张图片

假如暂停了三次cat任务,用jobs显示暂停任务个数,再fg 1/2/3+ctrl c逐个终止

Linux篇【1】:基本指令详解_第34张图片

(4)输入重定向 <

输入重定向,把本来应该从键盘文件中读取数据的方式,改成从指定的文件中读取

Linux篇【1】:基本指令详解_第35张图片

(5)echo $?   查看退出码

12.head指令 与 tail指令

(1)常规取法

head file.txt 默认打印文件的前10行内容

head -20 file.txt 打印文件的前20行内容

tail file.txt 默认打印文件的后10行内容

tail -20 file.txt 打印文件的后20行内容

 (2)如何查看文本的[30000, 30020]?

1.临时文件法

把前30020行存到一个临时文件temp.txt中(输出重定向),再打印这个文件内容的后20行(可行但麻烦)

head -30020 file.txt > temp.txt     
ll
tail -20 temp.txt                

2.管道法( | 叫管道)

打印文本的[30000, 30020]

head -30020 file.txt | tail -20
hello bit 30001
hello bit 30002
hello bit 30003
hello bit 30004
hello bit 30005
hello bit 30006
hello bit 30007
hello bit 30008
hello bit 30009
hello bit 30010
hello bit 30011
hello bit 30012
hello bit 30013
hello bit 30014
hello bit 30015
hello bit 30016
hello bit 30017
hello bit 30018
hello bit 30019
hello bit 30020

解释:计算机世界:最宝贵的资源->数据(计算机互联网世界的石油)

此处管道相当于把 head -30020 file.txt 放进管道,再拿走管道中后20行数据
Linux篇【1】:基本指令详解_第36张图片

 管道的更多用法:可以级联多个命令,来完成流水线式的数据处理工作

从前100行拿走后15行,再从这15行拿走前3行

[zsh@ecs-78471 lesson3]$ head -100 file.txt | tail -15 | head -3
hello bit 86
hello bit 87
hello bit 88

 13.时间相关的指令

date 命令

(1)显示日期

[zsh@ecs-78471 lesson3]$ date +%Y-%m-%d_%H:%M:%S
2022-06-30_16:41:12

Linux篇【1】:基本指令详解_第37张图片

(2)时间戳

时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒,linux上从8点开始计时 )起至现在的总秒数。

下面的这些值(比如1656578827)是记录从1970年1月1日0点0分0秒开始所过去的秒数

[zsh@ecs-78471 lesson3]$ date +%s
1656578827
[zsh@ecs-78471 lesson3]$ date +%s
1656578835
[zsh@ecs-78471 lesson3]$ date +%s
1656578837
[zsh@ecs-78471 lesson3]$ date +%s
1656578840

日期和时间戳用途是作为日志的一部分

日记的作用:如果你失踪了,可以找到你失踪的时间和原因

日志的作用:与日记一样,具有排查错误的能力!  从尾部看,时间+输出信息+

获得时间戳:

#include 
#include 
int main()
{
    printf("%lu\n",(unsigned long) time (NULL));
    return 0; 
}

时间戳转换为日期:

[zsh@ecs-78471 lesson3]$ date -d@0
Thu Jan  1 08:00:00 CST 1970
[zsh@ecs-78471 lesson3]$ date -d@1
Thu Jan  1 08:00:01 CST 1970
[zsh@ecs-78471 lesson3]$ date +%Y-%m-%d_%H:%M:%S -d@0
1970-01-01_08:00:00
[zsh@ecs-78471 lesson3]$ date +%Y-%m-%d_%H:%M:%S -d@1656578840
2022-06-30_16:47:20
[zsh@ecs-78471 lesson3]$ 

日期转换为时间戳:

[zsh@ecs-78471 lesson3]$ date +%s
1656578840

14.Cal指令—日历

cal 命令可以用来显示公历(阳历)日历。
cal 1990  查某一年的日历

Linux篇【1】:基本指令详解_第38张图片

cal -3显示本月和前后月的日历 ,(只能-3,-2或-4都不行)

Linux篇【1】:基本指令详解_第39张图片

15.find指令:(很重要) -name

查找文件:比如查找头文件

[zsh@ecs-78471 lesson3]$ find /usr/include/ -name stdio.h
/usr/include/bits/stdio.h
/usr/include/stdio.h
/usr/include/c++/4.8.2/tr1/stdio.h

16.grep指令(高频使用)

grep:行文本过滤工具

选项:

-i:忽略大小写(ignore)

v:凡是具有关键字的文本行,去掉,保留没有匹配关键字的行
 

例1:在文件中找出包含1234的内容

Linux篇【1】:基本指令详解_第40张图片

例2:-i:忽略大小写(ignore)

 grep -i 'c++' hello.txt 显示所有包含c++或C++的整行内容,不区分大小写(默认是区分大小写的)

Linux篇【1】:基本指令详解_第41张图片

例3:-v与-vi / -iv(-v和-i组合)

grep -v 'c++' hello.txt  去掉所有包含c++的一整行的内容

grep -vi 'c++' hello.txt  去掉所有包含c++和C++的一整行内容(-vi / -iv 一样)

Linux篇【1】:基本指令详解_第42张图片

例4:-nvi或-niv 在内容前加序号

Linux篇【1】:基本指令详解_第43张图片

17.zip/unzip指令:

介绍:

压缩命令:zip——将文件打包并压缩进一个压缩包中(将目录或文件压缩成zip格式

解压命令:unzip——将文件从压缩包中恢复出来

(zip,unzip把打包和压缩放在在一起执行)

安装:sudo yum install -y zip 

或搜索:

使用格式:

zip -r test. zip tar_ package   (zip 压缩文件.zip 目录或文件

unzip test.zip (解压 test.zip ,默认到当前目录下)(默认情况下,几乎所有的解压工具
解压出来的原始数据,都会被放在当前路径下!)

unzip test.zip -d /tmp ——解压到指定目录,解压到tmp目录

常用选项:
-r 递归处理,将指定目录下的所有文件和子目录一起压缩
先创建一个tar_package, 内容:
Linux篇【1】:基本指令详解_第44张图片

(1)例1:zip和unzip使用:

Linux篇【1】:基本指令详解_第45张图片

(2)例2:解压到tmp目录:unzip test.zip -d /tmp

Linux篇【1】:基本指令详解_第46张图片

(3)小问题:我为什么要打包压缩?

1.节约空间
2.我们下载的软件是压缩包,曾经提供软件的人上传的是压缩包!
所有的软件写好之后,不是只有一个文件的! n个文件——>1个文件便于网络传输,各种部署

所有的互联网公司后台都是Linux系统,开发人员开发的软件,将来都是要部署在Linux系统上的,所以所有的软件都要打包压缩,上传到Linux上, 进行安装部署
 

18.tar指令(重要)

tar [-cxtzjvf]  文件与目录  ....
参数
-c  :建立一个压缩文件的参数指令 (create  的意思 )
-x  :解开一个压缩文件的参数指令!
-t  :查看  tarfifile  里面的文件!
-z  :是否同时具有  gzip  的属性?亦即是否需要用  gzip  压缩?
-j  :是否同时具有  bzip2  的属性?亦即是否需要用  bzip2  压缩?
-v  :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f  :使用档名,请留意,在  f  之后要立即接档名喔!不要再加参数!
-C : 解压到指定目录

(1)最重要的两个指令:

【1】czf

打包压缩操作:tar czf test. tgz tar_ package  ——把 tar_ package 打包压缩进 test. tgz。

解释:czf(c—creat生成,z—压缩,f—指明新名称)tgz(tar.gz ,tar是打包,gz是压缩,合起来tgz就是打包压缩)

【2】xzf

解包解压操作:tar xzf test. tgz——把 压缩包 test. tgz 解压到当前路径。

解释:xzf(x—解包,z—要解压,f—指明新名称)

和顺序没关系,czf也可以写成zcf等等

Linux篇【1】:基本指令详解_第47张图片

tgz和zip只是压缩格式不一样:

这两个压缩文件里面包含的内容是一样的,只是压缩格式不一样,tar.gz格式的文件比zip文件要小不少。tar.gz压缩格式用于unix的操作系统,而zip用于windows的操作系统

(2)其他指令,介绍一个-v 压缩的过程中显示文件

和顺序没关系,vczf和zcvf一样

【1】例1

Linux篇【1】:基本指令详解_第48张图片

 【2】例2

Linux篇【1】:基本指令详解_第49张图片

【3】 例3

Linux篇【1】:基本指令详解_第50张图片

指令的选项的顺序没关系:

Linux篇【1】:基本指令详解_第51张图片

(3)-C 解压到指定路径下!

相当于 unzip test.zip -d /tmp

Linux篇【1】:基本指令详解_第52张图片

(4)tar搭配scp命令使用

在腾讯云机器上 把calServer压缩进code.tgz中,scp命令是把code.tgz 发送到对应IP的阿里云机器的路径下,则另一台阿里云机器就会显示收到code.tgz,在阿里云机器下 tar xzf code.tgz 把code.tgz中的calServer解压出来,就可以正常使用了

Linux篇【1】:基本指令详解_第53张图片

19.bc指令——linux下的计算器

Linux篇【1】:基本指令详解_第54张图片

20.uname –r指令

用法:-a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称
[zsh@ecs-78471 lesson4]$ uname -a
Linux ecs-78471 3.10.0-1160.53.1.el7.x86_64 #1 SMP Fri Jan 14 13:59:45 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
[zsh@ecs-78471 lesson4]$ uname -r
3.10.0-1160.53.1.el7.x86_64

x86_64简写成x64x86=x86_32

21.重要的几个热键[Tab],[ctrl]-c, [ctrl]-d,[ctrl]-r

[Tab]按键——命令的自动补齐
[Ctrl]-c按键——终止失控程序
[Ctrl]-d按键——快速退出用户,通常代表着:『键盘输入结束(End Of File, EOF 戒 End OfInput)』的意思;另外,他也可以用来取代exit

[Ctrl]-r按键——搜索历史命令

(1)例1:[Tab]按键

[zsh@ecs-78471 lesson4]$ mo
modinfo     modprobe    modutil     more        mount       mountpoint  
[zsh@ecs-78471 lesson4]$ le
less         lessecho     lesskey      lesspipe.sh  let          lexgrog  
[zsh@ecs-78471 lesson4]$ a
a2p                 alternatives        arping              audispd             ausyscall
accessdb            anacron             as                  auditctl            authconfig
addgnupghome        applygnupgdefaults  aserver             auditd              authconfig-tui
addpart             apropos             at                  augenrules          auvirt
addr2line           ar                  atd                 aulast              avcstat
adduser             arch                atq                 aulastlog           awk
agetty              arp                 atrm                aureport            
alias               arpd                atrun               ausearch            
[zsh@ecs-78471 lesson4]$ b
badblocks           bind                break               btrfs-select-super  bzgrep
base64              biosdecode          bridge              btrfstune           bzip2
basename            biosdevname         btrfs               btrfs-zero-log      bzip2recover
bash                blkdeactivate       btrfsck             builtin             bzless
bashbug             blkdiscard          btrfs-convert       bunzip2             bzmore
bashbug-64          blkid               btrfs-debug-tree    busctl              
batch               blockdev            btrfs-find-root     bzcat               
bc                  bond2team           btrfs-image         bzcmp               
bg                  bootctl             btrfs-map-logical   bzdiff              
[zsh@ecs-78471 lesson4]$ c
c++                   cc                    chown                 col                   cracklib-check
c2ph                  cd                    chpasswd              colcrt                cracklib-format
c89                   centrino-decode       chronyc               colrm                 cracklib-packer
c99                   certutil              chronyd               column                cracklib-unpacker
cacertdir_rehash      cfdisk                chroot                comm                  create-cracklib-dict
cal                   c++filt               chrt                  command               crlutil
ca-legacy             chacl                 chsh                  compgen               crond
caller                chage                 chvt                  complete              crontab
cancel                chattr                cksum                 compopt               csplit
cancel.cups           chcon                 clear                 consoletype           csslint-0.6
capsh                 chcpu                 clock                 continue              ctrlaltdel
captoinfo             chfn                  clockdiff             coproc                ctstat
case                  chgpasswd             cloud-id              coredumpctl           curl
cat                   chgrp                 cloud-init            cp                    cut
catchsegv             chkconfig             cloud-init-per        cpio                  cvtsudoers
catman                chmem                 cmp                   cpp                   
cbq                   chmod                 cmsutil               cpupower    

22.file指令

功能:更详细的说明文件类型

Linux篇【1】:基本指令详解_第55张图片

23.tac 从文件最后一行倒着打印每一行内容,每一行内容不逆序

24.stat 查看文件属性

stat mytest查看文件属性,linux下的文件通常有三个时间:

Access(访问时间):由于访问/修改内容/修改属性这些操作中,访问是最频繁的操作,如果每次访问或cat查看都修改访问时间的数据 效率低,所以linux内核设置的是积累一定的访问次数才会改变一次访问时间。
Modify(文件内容改变的时间):对文件内容修改,就会改变Modify时间

Change(文件属性改变时间):对文件属性修改,就会改变Change时间,例如下图。对文件内容修改同时也会改变文件属性,则对文件内容修改,也会改变Change时间。

Linux篇【1】:基本指令详解_第56张图片

25.which ——查看可执行文件的位置。

which的原理是通过环境变量PATH查找命令(可执行程序)的路径。

[zsh@ecs-78471 ~]$ which ls
alias ls='ls --color=auto'
	/usr/bin/ls
[zsh@ecs-78471 ~]$ which "ls"
alias ls='ls --color=auto'
	/usr/bin/ls
[zsh@ecs-78471 ~]$ which pwd
/usr/bin/pwd
[zsh@ecs-78471 ~]$ which "pwd"
/usr/bin/pwd

26.alias 起别名

给命令 ls -a -l -i 起别名为 my_104_cmd

Linux篇【1】:基本指令详解_第57张图片

27.清空文件操作>log.txt

Linux篇【1】:基本指令详解_第58张图片

28.rz,sz命令

(1)rz命令

rz命令(Receive ZMODEM),使用ZMODEM协议,将本地文件批量上传到远程Linux/Unix服务器,注意不能上传文件夹。

当我们使用虚拟终端软件,如Xshell、SecureCRT或PuTTY来连接远程服务器后,使用rz命令可以上传本地文件到远程服务器。输入rz回车后,会出现文件选择对话框,选择需要上传文件,一次可以指定多个文件,上传到服务器的路径为当前执行rz命令的目录。

命令格式:

rz [选项]

选项说明:

-+, --append:将文件内容追加到已存在的同名文件

-a,--ascii:以文本方式传输

-b, --binary:以二进制方式传输,推荐使用

--delay-startup N:等待N秒

-e, --escape:对所有控制字符转义,建议使用

-E, --rename:已存在同名文件则重命名新上传的文件,以点和数字作为后缀

-p, --protect:对ZMODEM协议有效,如果目标文件已存在则跳过 -

q, --quiet:安静执行,不输出提示信息

-v, --verbose:输出传输过程中的提示信息

-y, --overwrite:存在同名文件则替换

-X, --xmodem:使用XMODEM协议

--ymodem:使用YMODEM协议

-Z, --zmodem:使用ZMODEM协议

--version:显示版本信息

--h, --help:显示帮助信息

Linux篇【1】:基本指令详解_第59张图片

 

(2)sz命令

①sz命令

(Send ZMODEM)通过ZMODEM协议,可将多个文件从远程服务器下载到本地。注意不能下载文件夹,如果下载文件夹,请先打包再下载

②格式:

rz [选项] [filelist]

命令选项基本与rz相同,请参考上文rz的命令选项或者sz的manual,或者运行命令sz -h查看。

③常用示例

下载多个文件

sz file1 file2 file3

sz和rz命令在实际应用开发中非常实用,有时候我们会经常跑脚本统计数据,需要上传和下载一些大数据量的数据,这时候这两个命令就非常有用了

Linux 不能使用rz/sz 命令?

有的机器可能不能使用 rz/sz 命令,这个时候我们就需要安装 lrzsz 

执行以下命令:

yum install lrzsz -y

你可能感兴趣的:(linux,linux,1024程序员节)