- 很高心您打开了本篇博客。
- 在Linux专栏里第一篇我们安装好环境之后,本篇正式开启梳理linux的常用命令札记。
一,Linux基础介绍和配置环境。2024年最新完整图文安装详细步骤 VMware虚拟机和CentOS操作系统。以及如何配置Linux连接互联网详细步骤。-CSDN博客
- 本篇博客主要内容 :linux系统常用命令介绍。
- 主要作用:让我们操作linux系统像操作windows系统一样顺手。
- 内容简介:目录相关介绍, 路径相关命令,网络相关命令,文件相关命令,帮助相关命令,压缩和解压相关命令,查看和查找相关命令。打印,管道符,重定向,通配符相关命令。
目录
4,如果父级目录不存在可以 跟上-p选项 一并创建父目录子目录
一,初识Linux系统
1,目录结构
Liunx系统的目录结构不是像windons一样 ,有c盘,d盘,e盘用来分区存放文件。他的目录结构是树状结构。所有的文件都来自根目录,也就是/
如下图:
![](https://i-blog.csdnimg.cn/direct/60a5c48646d64de08189c82e78f7e49b.png)
根目录 用/表示。
2,一级目录
- bin----他是二进制文件,整个目录存放都是最常使用的命令;
- boot ---系统引导程序说需要的文件目录。存放的是启动linux时使用的一些核心文件;
- dev----外部设备,基本不用。整个目录存放的是linux的外部设备,比如磁盘,光驱;
- etc----最重要也是最常用的文件夹。他是用来存放所有系统关系说需要的配置文件和子目录的配置文件的启动程序;
- home----用户的主目录,也就是我们的家目录,每个用户都有一个自己的主目录;
- lib------整个目录里卖弄存放的是系统最基本的动态连接共享库,其作用类似于windows的DLL文件。几乎所有的应用程序都需要用到这些共享库;
- mnt----临时挂在存储设备的挂载点,光驱挂在道mnt文件里面,进入目录就可以查看光驱的内容了;
- opt----这里给主机额外安装软件存放的目录,比如我们安装了mysql就存放在这个目录下;
- proc----存储的是当前内核运行状态的一系列特殊文件。操作系统运行时,进程信息和内存信息都存放在这里面;
- root---超级管理员的家目录;
- sbin----管理系统相关的命令【超级管理员专用】;
- tmp----临时文件的目录,整个目录可以当作回收站使用;
- usr----系统或者用户应用程序目录,类似于windows下面的programfiles目录。默认的软件安装目录。
3,总结,最常用
- 回家。超级管理员回root目录。普通用户回home目录;
- 修改配置文件。去etc目录下;
- 看软件安装位置。去opt目录或者usr目录;
二,linux命令的格式
linux操作系统,无论什么命令都遵循以下格式:
command [-options] [parameter]
- command:命令
- options:选项,通常会跟上-
- parmeter:命令的参数,通常是指向文件或者目录路径;
ls -alh /home
整个目录是查看跟下的home目录下面的所有文件的详细信息,下文会详细回顾到ls命令;
三,颜色含义
- 白色,通常是文件,开头是-标识;
- 蓝色,通常是目录,开始是d标识;
- 绿色,通常是可执行文件或者脚本。这意味文件具有执行权限;
- 红色,通常标识压缩文件或者归档文件;
- 青色(浅蓝色),通常标识是连接文件;
- 黄色,设备文件,比如终端设备;
- 粉色,图像视频或者多媒体文件;
- 灰色,权限不足没有读取权限的文件;
- 加粗,用于强调文件类型。
四,网络连接
1,ping命令
命令行输入:ping ip地址
如果能如上图显示,表示网络是通的。
按快捷键 ctrl+c可以退出ping。
2,ifconfig命令
可以通过
ifconfig
查看当前的ip地址
五,路径相关命令
当然以上这个是网络路径。
在我们本地路径也分:绝对路径和相对路径
1,相对路径和绝对路径
绝对路径:
- windows里面从盘符开始:E:\python\python文档资料\2,Linux资料
- linux里面从根目录开始:/etc/httpd
相对路径:
- windows里面:..\1.txt 或者 .\2.txt
- linux里面:../3.txt 或者../../4.txt
绝对路径就是从根目录或者盘符开始,依次便利目录结构直到目标文件或者目录;
相对路径就是从当前目录开始,指向目标文件或者目标文件夹的路径,他不依赖盘符或者根目录;
2,pwd命令查看路径
使用pwd可以看到当前的绝对路径
[root@node1 /]# pwd
/
[root@node1 /]# cd home
[root@node1 home]# pwd
/home
3,cd命令 进入/切换路径
cd 是 change directory的缩写。其功能就是更改当前目录,他是最常用的命令之一;
- 我们在windons用鼠标双击进入目录,点击前进后退切换目录
- 在linux上就是使用cd进入目录
六,帮助相关命令
1,man命令
有困难,找男人。通过man命令 我们可以快速查询 我们使用的命令的意思它的详细参数;
[root@node1 ~]# man command
BASH(1) General Commands Manual BASH(1)
NAME
bash - GNU Bourne-Again SHell (GNU 命令解释程序 “Bourne二世”)
概述(SYNOPSIS)
bash [options] [file]
版权所有(COPYRIGHT)
Bash is Copyright (C) 1989-2002 by the Free Software Foundation, Inc.
描述(DESCRIPTION)
Bash 是一个与 sh 兼容的命令解释程序,可以执行从标准输入或者文件中读取的命令。 Bash 也整合了 Korn 和 C Shell (ksh 和 csh) 中的优秀特性。
Bash 的目标是成为遵循 IEEE POSIX Shell and Tools specification (IEEE Working Group 1003.2,可移植操作系统规约: shell 和工具) 的实现。
选项(OPTIONS)
除了在 set 内建命令的文档中讲述的单字符选项 (option) 之外,bash 在启动时还解释下列选项。
-c string 如果有 -c 选项,那么命令将从 string 中读取。如果 string 后面有参数 (argument),它们将用于给位置参数 (positional parameter,以 $0 起始)
赋值。
-i 如果有 -i 选项,shell 将交互地执行 ( interactive )。
-l 选项使得 bash 以类似登录 shell (login shell) 的方式启动 (参见下面的 启动(INVOCATION) 章节)。
-r 如果有 -r 选项,shell 成为受限的 ( restricted ) (参见下面的 受限的shell(RESTRICTED SHELL) 章节)。
-s 如果有 -s 选项,或者如果选项处理完以后,没有参数剩余,那么命令将从标准输入读取。 这个选项允许在启动一个交互 shell 时可以设置位置参数。
-D 向标准输出打印一个以 $ 为前导的,以双引号引用的字符串列表。 这是在当前语言环境不是 C 或 POSIX 时,脚本中需要翻译的字符串。
这个选项隐含了 -n 选项;不会执行命令。
[-+]O [shopt_option]
shopt_option 是一个 shopt 内建命令可接受的选项 (参见下面的 shell 内建命令(SHELL BUILTIN COMMANDS) 章节)。 如果有 shopt_option,-O
将设置那个选项的取值; +O 取消它。 如果没有给出 shopt_option,shopt 将在标准输出上打印设为允许的选项的名称和值。 如果启动选项是
Manual page command(1) line 1 (press h for help or q to quit)
按q退出。
默认显示的是英文。如果想显示成中文 可以输入:
[root@node1 ~]# LANG="zh_CN.UTF-8"
这个是临时显示,如果想永久变成中文可以
修改 /etc/locale.conf 文件,设置内容为 LANG=zh_CN.UTF-8
比如我们使用man 查看cd帮助指令
[root@node1 ~]# man cd
BASH(1) General Commands Manual BASH(1)
NAME
bash - GNU Bourne-Again SHell (GNU 命令解释程序 “Bourne二世”)
概述(SYNOPSIS)
bash [options] [file]
版权所有(COPYRIGHT)
Bash is Copyright (C) 1989-2002 by the Free Software Foundation, Inc.
描述(DESCRIPTION)
Bash 是一个与 sh 兼容的命令解释程序,可以执行从标准输入或者文件中读取的命令。 Bash 也整合了 Korn 和 C Shell (ksh 和 csh) 中的优秀特性。
Bash 的目标是成为遵循 IEEE POSIX Shell and Tools specification (IEEE Working Group 1003.2,可移植操作系统规约: shell 和工具) 的实现。
选项(OPTIONS)
除了在 set 内建命令的文档中讲述的单字符选项 (option) 之外,bash 在启动时还解释下列选项。
-c string 如果有 -c 选项,那么命令将从 string 中读取。如果 string 后面有参数 (argument),它们将用于给位置参数 (positional parameter,以 $0 起始)
赋值。
-i 如果有 -i 选项,shell 将交互地执行 ( interactive )。
-l 选项使得 bash 以类似登录 shell (login shell) 的方式启动 (参见下面的 启动(INVOCATION) 章节)。
-r 如果有 -r 选项,shell 成为受限的 ( restricted ) (参见下面的 受限的shell(RESTRICTED SHELL) 章节)。
-s 如果有 -s 选项,或者如果选项处理完以后,没有参数剩余,那么命令将从标准输入读取。 这个选项允许在启动一个交互 shell 时可以设置位置参数。
-D 向标准输出打印一个以 $ 为前导的,以双引号引用的字符串列表。 这是在当前语言环境不是 C 或 POSIX 时,脚本中需要翻译的字符串。
这个选项隐含了 -n 选项;不会执行命令。
[-+]O [shopt_option]
shopt_option 是一个 shopt 内建命令可接受的选项 (参见下面的 shell 内建命令(SHELL BUILTIN COMMANDS) 章节)。 如果有 shopt_option,-O
将设置那个选项的取值; +O 取消它。 如果没有给出 shopt_option,shopt 将在标准输出上打印设为允许的选项的名称和值。 如果启动选项是
Manual page cd(1) line 1 (press h for help or q to quit)
2,help命令
输入 --help 可以查看该命令的具体用法 和详细参数
[root@node1 ~]# ls --help
用法:ls [选项]... [文件]...
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.
Mandatory arguments to long options are mandatory for short options too.
-a, --all 不隐藏任何以. 开始的项目
-A, --almost-all 列出除. 及.. 以外的任何项目
--author 与-l 同时使用时列出每个文件的作者
-b, --escape 以八进制溢出序列表示不可打印的字符
--block-size=SIZE scale sizes by SIZE before printing them; e.g.,
'--block-size=M' prints sizes in units of
1,048,576 bytes; see SIZE format below
-B, --ignore-backups do not list implied entries ending with ~
-c with -lt: sort by, and show, ctime (time of last
modification of file status information);
with -l: show ctime and sort by name;
七,文件相关命令
1,ls查看文件或者目录信息
通过ls 命令可以查看当前文件或者目录信息,可以查看其他目录下的详细信息;
语法格式 :
ls 路径
1,查看当前目录
示例:
[root@node1 /]# ls
A boot dev export home index11 lib64 mnt proc run srv test tmp var
bin code etc hello.py index lib media opt root sbin sys test1 usr
2,查看指定目录下的内容
[root@node1 /]# ls /root
11.jpg anaconda3 anaconda-ks.cfg fmtest mysql80-community-release-el7-1.noarch.rpm page_chengpin.json wordcount.txt
3,ls 后面的常用参数
- ls -l 可以查看详细信息,以列表的方式。简写ll
- ls -a 可以查看隐藏文件家,所有子目录和文件;
- ls -h 配合l可以更加人性化的显示文件大小的kb或者mb 。它只会显示文件的大小而非目录的大小
- ls -alh组合使用,可以查看更多详细信息
示例:
[root@node1 home]# ls -alh
总用量 4.0K
drwxr-xr-x. 4 root root 35 7月 14 20:08 .
dr-xr-xr-x. 22 root root 4.0K 7月 14 20:06 ..
drwx------ 4 fanmeng fanmeng 112 7月 14 11:44 fanmeng
drwx------ 2 itcast itcast 62 7月 14 20:08 itcast
2,mkdir创建目录
使用mkdir指令跟上目录 可以创建文件夹;
1,创建文件夹
示例:
[root@node1 /]# mkdir ttt
[root@node1 /]# ls
A boot dev export home index11 lib64 mnt proc run srv test tmp usr
bin code etc hello.py index lib media opt root sbin sys test1 ttt var
2,批量创建文件
示例:
[root@node1 /]# cd ttt
[root@node1 ttt]# mkdir m1 m2 m3
[root@node1 ttt]# ls
m1 m2 m3
3,创建更深的目录下面的文件夹
示例
[root@node1 ttt]# mkdir m1/mm1
[root@node1 ttt]# tree
.
├── m1
│ └── mm1
├── m2
└── m3
4,如果父级目录不存在可以 跟上-p选项 一并创建父目录子目录
示例:
[root@node1 ttt]# mkdir -p A/B/C/D
您在 /var/spool/mail/root 中有新邮件
[root@node1 ttt]# tree
.
├── A
│ └── B
│ └── C
│ └── D
├── m1
│ └── mm1
├── m2
└── m3
以上指定使用了tree命令 可以yum install tree安装 tree指令以树状结构查看目录结构
yum install tree
3,touch创建文件
使用touch 后面跟上文件名.后缀 可以创建文件;
1,创建文件
示例:
[root@node1 ttt]# touch 1.txt
[root@node1 ttt]# ls
1.txt A m1 m2 m3
2,创建批量文件
示例:
[root@node1 ttt]# touch 2.txt 3.txt 4.txt
[root@node1 ttt]# ls
1.txt 2.txt 3.txt 4.txt A m1 m2 m3
3,在指令目录下面创建文件
示例:
[root@node1 ttt]# touch m2/mm2.txt
[root@node1 ttt]# tree
.
├── 1.txt
├── 2.txt
├── 3.txt
├── 4.txt
├── A
│ └── B
│ └── C
│ └── D
├── m1
│ └── mm1
├── m2
│ └── mm2.txt
└── m3
如果指定目录不存在,则无法创建文件。所以指定目录的前提式目录必须存在。
4,cp命令复制
复制文件或者目录,也可以是实现改名
cp就是copy的简写,通过cp命令可以复制文件或者目录
语法:
cp 文件或者目录名 指定路径
1,复制文件
示例:
[root@node1 ttt]# cp 1.txt A
[root@node1 ttt]# ls
1.txt 2.txt 3.txt 4.txt A m1 m2 m3
[root@node1 ttt]# tree
.
├── 1.txt
├── 2.txt
├── 3.txt
├── 4.txt
├── A
│ ├── 1.txt
│ └── B
│ └── C
│ └── D
├── m1
│ └── mm1
├── m2
│ └── mm2.txt
└── m3
2,复制目录
示例:加上-r参数 式递归复制文件(包含文件内部的子文件或者目录一并复制)
[root@node1 ttt]# cp -r m1 m2
[root@node1 ttt]# tree
.
├── 1.txt
├── 2.txt
├── 3.txt
├── 4.txt
├── A
│ ├── 1.txt
│ └── B
│ └── C
│ └── D
├── m1
│ └── mm1
├── m2
│ ├── m1
│ │ └── mm1
│ └── mm2.txt
└── m3
3,改名文件
示例:
[root@node1 ttt]# cp 1.txt 11.txt
[root@node1 ttt]# ls
11.txt 1.txt 2.txt 3.txt 4.txt A m1 m2 m3
4,改名目录
示例
[root@node1 ttt]# cp -r m1 m3/mm1
[root@node1 ttt]# tree
.
├── 11.txt
├── 1.txt
├── 2.txt
├── 3.txt
├── 4.txt
├── A
│ ├── 1.txt
│ └── B
│ └── C
│ └── D
├── m1
│ └── mm1
├── m2
│ ├── m1
│ │ └── mm1
│ └── mm2.txt
└── m3
└── mm1
└── mm1
5,批量复制文件到指定目录
示例:
[root@node1 ttt]# touch 1.py 2.py
[root@node1 ttt]# cp *.py m1
[root@node1 ttt]# tree
.
├── 11.txt
├── 1.py
├── 1.txt
├── 2.py
├── 2.txt
├── 3.txt
├── 4.txt
├── A
│ ├── 1.txt
│ └── B
│ └── C
│ └── D
├── m1
│ ├── 1.py
│ ├── 2.py
│ └── mm1
├── m2
│ ├── m1
│ │ └── mm1
│ └── mm2.txt
└── m3
└── mm1
└── mm1
5,mv移动文件或者重命名文件
mv式move的简写。主要用能实现移动文件或者移动目录,以及重命名文件或者目录
1,mv移动目录
示例:
[root@node1 ttt]# mkdir m4
[root@node1 ttt]# ls
11.txt 1.py 1.txt 2.py 2.txt 3.txt 4.txt A m1 m2 m3 m4
[root@node1 ttt]# mv m1 m4
[root@node1 ttt]# tree
.
├── 11.txt
├── 1.py
├── 1.txt
├── 2.py
├── 2.txt
├── 3.txt
├── 4.txt
├── A
│ ├── 1.txt
│ └── B
│ └── C
│ └── D
├── m2
│ ├── m1
│ │ └── mm1
│ └── mm2.txt
├── m3
│ └── mm1
│ └── mm1
└── m4
└── m1
├── 1.py
├── 2.py
└── mm1
2,mv移动文件
[root@node1 ttt]# mv 11.txt A
[root@node1 ttt]# ls A/
11.txt 1.txt B
[root@node1 ttt]# ls
1.py 1.txt 2.py 2.txt 3.txt 4.txt A m2 m3 m4
3, mv重命名文件
[root@node1 ttt]# ls
1.py 1.txt 2.py 2.txt 3.txt 4.txt A m2 m3 m4
[root@node1 ttt]# mv 1.py 11.py
[root@node1 ttt]# ls
11.py 1.txt 2.py 2.txt 3.txt 4.txt A m2 m3 m4
4,mv重命名目录
[root@node1 ttt]# ls
11.py 1.txt 2.py 2.txt 3.txt 4.txt A m2 m3 m4
[root@node1 ttt]# mv A B
[root@node1 ttt]# ls
11.py 1.txt 2.py 2.txt 3.txt 4.txt B m2 m3 m4
6,rm-rf删除文件或者目录
使用rm 加上-rf参数 跟上文件或者目录的路径可以 执行删除
rm -rf是一个非常霸道的技能,也是很刑的技能 能判无期的指令
rm -rf /
这个命令是删除根目录下的全部文件和目录 当然前提是你得有这个权限。
所以我们在使用这个命令的时候一定要 确认我们要和删除的文件或者目录
1,rm-rf删除文件
[root@node1 ttt]# rm -rf 1.txt
[root@node1 ttt]# ls
11.py 2.py 2.txt 3.txt 4.txt B m2 m3 m4
2,rm-rf删除目录
[root@node1 ttt]# rm -rf m2
[root@node1 ttt]# ls
11.py 2.py 2.txt 3.txt 4.txt B m3 m4
3,rm-rf批量删除
[root@node1 ttt]# rm -rf 2.txt 3.txt m3
[root@node1 ttt]# ls
11.py 2.py 4.txt B m4
八,查看相关命令
1,cat查看小文件
cat 猫咪的意思 可以抓去文件查看文件信息
使用cat的特点是 查看全部文件信息,一次性全部展示
适合查看小文件
示例:
[root@node1 /]# wget www.baidu.com
--2024-07-15 10:16:14-- http://www.baidu.com/
正在解析主机 www.baidu.com (www.baidu.com)... 220.181.38.149, 220.181.38.150, 240e:83:205:58:0:ff:b09f:36bf, ...
正在连接 www.baidu.com (www.baidu.com)|220.181.38.149|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:2381 (2.3K) [text/html]
正在保存至: “index.html”
100%[===================================================================================================================>] 2,381 --.-K/s 用时 0s
2024-07-15 10:16:20 (304 MB/s) - 已保存 “index.html” [2381/2381])
[root@node1 /]# cat index.html
<!DOCTYPE html>
<!--STATUS OK--><html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=http://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道</title></head> <body link=#0000cc> <div id=wrapper> <div id=head> <div class=head_wrapper> <div class=s_form> <div class=s_form_wrapper> <div id=lg> <img hidefocus=true src=//www.baidu.com/img/bd_logo1.png width=270 height=129> </div> <form id=form name=f action=//www.baidu.com/s class=fm> <input type=hidden name=bdorz_come value=1> <input type=hidden name=ie value=utf-8> <input type=hidden name=f value=8> <input type=hidden name=rsv_bp value=1> <input type=hidden name=rsv_idx value=1> <input type=hidden name=tn value=baidu><span class="bg s_ipt_wr"><input id=kw name=wd class=s_ipt value maxlength=255 autocomplete=off autofocus></span><span class="bg s_btn_wr"><input type=submit id=su value=百度一下 class="bg s_btn"></span> </form> </div> </div> <div id=u1> <a href=http://news.baidu.com name=tj_trnews class=mnav>新闻</a> <a href=http://www.hao123.com name=tj_trhao123 class=mnav>hao123</a> <a href=http://map.baidu.com name=tj_trmap class=mnav>地图</a> <a href=http://v.baidu.com name=tj_trvideo class=mnav>视频</a> <a href=http://tieba.baidu.com name=tj_trtieba class=mnav>贴吧</a> <noscript> <a href=http://www.baidu.com/bdorz/login.gif?login&tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2f%3fbdorz_come%3d1 name=tj_login class=lb>登录</a> </noscript> <script>document.write('<a href="http://www.baidu.com/bdorz/login.gif?login&tpl=mn&u='+ encodeURIComponent(window.location.href+ (window.location.search === "" ? "?" : "&")+ "bdorz_come=1")+ '" name="tj_login" class="lb">登录</a>');</script> <a href=//www.baidu.com/more/ name=tj_briicon class=bri style="display: block;">更多产品</a> </div> </div> </div> <div id=ftCon> <div id=ftConw> <p id=lh> <a href=http://home.baidu.com>关于百度</a> <a href=http://ir.baidu.com>About Baidu</a> </p> <p id=cp>©2017 Baidu <a href=http://www.baidu.com/duty/>使用百度前必读</a> <a href=http://jianyi.baidu.com/ class=cp-feedback>意见反馈</a> 京ICP证030173号 <img src=//www.baidu.com/img/gs.gif> </p> </div> </div> </div> </body> </html>
[root@node1 /]#
2,less查看中型文件
less 适合查看中型文件数据
less 4.txt
- pagedown :向下翻动一页;
- pageup :向上翻动一页;
- 空白键 :向下翻动一页;
- /字串 :向下搜寻『字串』的功能;
- ?字串 :向上搜寻『字串』的功能;
- n :重复前一个搜寻 (与 / 或 ? 有关!)
- N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
- q :离开 less 这个程序;
3,more查看大文件
more适合查看大型文件数据
more 4.txt
- 按b向下翻页
- 按space向上翻页
- 按enter向下翻一行
- 按q退出
4,tail从尾部开始查看
默认查看10条
[root@node1 ttt]# tail 4.txt
y
y
y
y
y
y
y
yy
y
y
5,head从头开始查看
默认也是查看10行
[root@node1 ttt]# head 4.txt
aaa
bb
yy
y
y
yy
y
y
-n :后面接数字,代表显示几行的意思 不填写模式就是10行
九,压缩和解压相关命令
1,tar打包与解包
1,使用tar打包
语法格式 tar -cvf 打包的文件名 要打包的文件1 要打包的文件2
[root@node1 ttt]# tar -cvf t1.tar 11.py 2.py
11.py
2.py
[root@node1 ttt]# ls
11.py 2.py 4.txt B m4 t1.tar
2,使用tar解包
语法格式:tar -xvf 要解压的文件名 -C 要解压的文件存放路径
[root@node1 ttt]# tar -xvf t1.tar -C B/
11.py
2.py
[root@node1 ttt]# ls
11.py 2.py 4.txt B m4 t1.tar
[root@node1 ttt]# tree
.
├── 11.py
├── 2.py
├── 4.txt
├── B
│ ├── 11.py
│ ├── 11.txt
│ ├── 1.txt
│ ├── 2.py
│ └── B
│ └── C
│ └── D
2,tar压缩与解压
1,tar 压缩
语法格式:tar -zcvf 压缩的文件名 要压缩的文件1 要压缩的文件2
[root@node1 ttt]# tar -zcvf t2.tar.gz 4.txt
4.txt
[root@node1 ttt]# ls
11.py 2.py 4.txt B m4 t1.tar t2.tar.gz
2,tar 解压
语法格式: tar -zvcf 压缩文件名 -C 指定的目录
[root@node1 ttt]# tar -zxvf t2.tar.gz -C m4/
4.txt
[root@node1 ttt]# ls
11.py 2.py 4.txt B m4 t1.tar t2.tar.gz
[root@node1 ttt]# tree
.
├── 11.py
├── 2.py
├── 4.txt
├── B
│ ├── 11.py
│ ├── 11.txt
│ ├── 1.txt
│ ├── 2.py
│ └── B
│ └── C
│ └── D
├── m4
│ ├── 4.txt
│ └── m1
│ ├── 1.py
│ ├── 2.py
│ └── mm1
3,zip压缩
zip压缩指定可以压缩文件至指定格式 zip 。这样不同的系统都可以打开了
语法格式:zip 压缩文件名 -r 文件1 文件2 文件3 文件4
-r参数是递归目录全部压缩
[root@node1 ttt]# zip test.zip 11.py 2.py B
adding: 11.py (deflated 99%)
adding: 2.py (stored 0%)
adding: B/ (stored 0%)
[root@node1 ttt]# ls
11.py 2.py 4.txt B m4 t1.tar t2.tar.gz test.zip
4,unzip解压
unzip 是解压 不指定目录就是默认解压到当前目录
-d 指定目录就是解压到指定目录
[root@node1 ttt]# zip test.zip -d B
deleting: B/
[root@node1 ttt]# ls B/
11.py 11.txt 1.txt 2.py B
十,查找相关命令
1,which查找
which找的可执行的程序文件位置,实际上就是window上面的exe文件。通俗来说是找exe的快捷方式。
使用which用于查看 文件的 快捷方式打开位置
[root@node1 ttt]# which python
/root/anaconda3/bin/python
2,find查找文件
find主要功能是查找文件,可以按照名字找目录可以找文件,也可以按照大小找文件和目录,还可以根据类型找到文件或者目录。
因为linux的目录结构是树状结构,所以遍历索引都比windows上面要快;
1,精准匹配 通过名称找文件
语法:find 路径 -name 文件名
[root@node1 ttt]# find / -name python
/etc/python
/root/anaconda3/pkgs/python-3.8.8-hdb3f193_5/bin/python
/root/anaconda3/pkgs/parso-0.7.0-py_0/site-packages/parso/python
/root/anaconda3/pkgs/nbconvert-6.0.7-py38_0/share/jupyter/nbconvert/templates/python
/root/anaconda3/pkgs/notebook-6.3.0-py38h06a4308_0/lib/python3.8/site-packages/notebook/static/components/codemirror/mode/python
/root/anaconda3/pkgs/python-3.8.12-h12debd9_0/bin/python
/root/anaconda3/lib/python3.8/site-packages/parso/python
2,模糊匹配 查找文件
通配符
- * 是代表0或者多个;
- ? 是代表1个;
[root@node1 ttt]# find / -name **.txt
/ttt/m4/4.txt
/ttt/4.txt
[root@node1 ttt]# find -name ??.txt
./B/11.txt
3,按照大小查找
语法 find 路径 -size 大小
[root@node1 ttt]# find / -size +300M
/proc/kcore
find: ‘/proc/3671/task/3671/fd/6’: 没有那个文件或目录
find: ‘/proc/3671/task/3671/fdinfo/6’: 没有那个文件或目录
find: ‘/proc/3671/fd/5’: 没有那个文件或目录
find: ‘/proc/3671/fdinfo/5’: 没有那个文件或目录
/export/software/hadoop-3.3.0-Centos7-64-with-snappy.tar.gz
/export/software/Anaconda3-2021.05-Linux-x86_64.sh
/export/software/flink-1.14.0-bin-scala_2.12.tgz
/export/server/flink-1.14.0/lib/flink-1.14.0-bin-scala_2.12.tgz
4,按照类型查找
- d 参数是查找目录
- f 参数是查找文件
语法:find 路径 -type [d /f ] -name 文件名/目录
[root@node1 ttt]# find / type f -name "python"
/etc/python
/root/anaconda3/pkgs/python-3.8.8-hdb3f193_5/bin/python
/root/anaconda3/pkgs/parso-0.7.0-py_0/site-packages/parso/python
/root/anaconda3/pkgs/nbconvert-6.0.7-py38_0/share/jupyter/nbconvert/templates/python
/root/anaconda3/pkgs/notebook-6.3.0-py38h06a4308_0/lib/python3.8/site-packages/notebook/static/components/codemirror/mode/python
/root/anaconda3/pkgs/python-3.8.12-h12debd9_0/bin/python
/root/anaconda3/lib/python3.8/site-packages/parso/python
/root/anaconda3/lib/python3.8/site-packages/notebook/static/components/codemirror/mode/python
/root/anaconda3/lib/python3.8/site-packages/pyspark/examples/src/main/python
/root/anaconda3/lib/python3.8/site-packages/pyspark/python
3,grep查找内容
grep是查找内容,获取文件里面的内容。
语法:grep -n 关键字 文件路径
[root@node1 ttt]# grep -n "aa" 4.txt
1:aaa
- -i:忽略大小写进行匹配。
- -v:反向查找,只打印不匹配的行。
- -n:显示匹配行的行号。
- -r:递归查找子目录中的文件。
- -l:只打印匹配的文件名。
- -c:只打印匹配的行数。
4,wc统计行数,单词数等
wc命令可以统计文件的函数和单词输入等
语法:wc 参数 文件
示例:
[root@node1 ttt]# wc 4.txt
71 68 149 4.txt
参数
- -c/--bytes或-m/--chars 只显示Bytes数。
- -l或--lines 显示行数。
- -w或--words 只显示字数。
十一,打印,管道符,重定向,通配符相关命令
1,echo打印
使用echo可以打印 数据,相当于python中的print。
[root@node1 ttt]# echo 'hihi'
hihi
2,反引号
被反引号 ` 包围的内容,会被作为命令执行,而非普通字符
[root@node1 ttt]# echo pwd
pwd
[root@node1 ttt]# echo `pwd`
/ttt
3,重定向
主要作用是写入
- 使用 > 可以把左边的内容覆盖到右边;
- 使用>> 可以把左边的内容追加到右边;
[root@node1 ttt]# echo 'hahah' > 11.py
[root@node1 ttt]# cat 11.py
hahah
[root@node1 ttt]# echo '111' >> 11.py
[root@node1 ttt]# cat 11.py
hahah
111
4,管道符
主要作用是把左边的命令作为右边命令的输入源;
示例 配合grep使用
-
[root@node1 ttt]# cat 11.py | grep h hahah
5,通配符
前面也有使用过
- temp*,表示匹配任何以temp开头的内容
- *temp,表示匹配任何以temp结尾的内容
- *temp*,表示匹配任何包含temp的内容
- temp?,表示匹配以temp开头,后面单个字符
- ?temp,表示匹配以temp结尾的内容,前面的一个字符
- ?temp?,表示匹配包含temp的内容 前后各一个字符
- ?? ,表示匹配2个字符
通配符通常非配合管道符 用在grep中 或者find命令中
find . -type f -name "*temp*"
[root@node1 ttt]# find / -name *.txt
/ttt/m4/4.txt
/ttt/4.txt
十二,思维导图笔记
1,命令格式,颜色,网络命令
2,ls,pwd,cd命令
3,文件相关命令
4,查看和压缩相关命令
5,查找相关命令
6,打印和帮助相关命令
谢谢大家观看,linux常用命令有很多很多。本篇札记仅梳理了最基础最常用的部分