云计算运维—Linux常用命令(1)目录与文件

一、摘要

​ 首先需要明确一点的是,在Linux系统里面所有的我们知道的各种各样的数据都是以文件的形式存在的,只不过文件的格式不同。我们在Windows系统里可以看到的文件、程序、磁盘、图片、音乐等等都有所区分,但在Linux里面这些统统都是文件,那这些文件我们该怎么进行查找、查看或者编辑等等一系列操作呢?下面就让我们一起来了解一下吧。

二、Shell程序

​ 首先,在这里要着重介绍一下在我们对我们的电脑“下命令”使其工作时的一个重要角色——Shell程序。在用户与内核之间充当“翻译官”。翻译官,顾名思义就是用来将我们的命令翻译成电脑能懂的机器语言;Shell程序是一个应用程序,在我们的Linux系统中默认的Shell程序是Bash,它在用户登录Linux时就会自动加载开始工作。工作流程大概是:接收用户输入的命令—解释命令—传递给系统内核执行。文件位于/bin/bash

三、分类

​ 命令分为内部命令和外部命令。内部命令是系统内自带的,属于Shell的一部分,也称为内建指令,自动载入内存,可以直接使用,且没有单独对应的系统文件;外部命令则需要写脚本或二进制程序,属于Shell解释器程序之外的命令,必须知道其对应的文件位置,且每一个命令对应了系统中的一个文件。

四、命令格式

4.1 命令格式

我们的Linux命令叫做Linux命令行;通用的使用格式如下:

命令字 选项 参数

4.2 各部分表示

命令字是唯一的、确定的,你要执行什么命令,是命令中的基本功能;

选项可以有多个,是命令中的额外功能,表达形式为“- “或”-- “,多个单字符选项可以组合在一起使用;

参数也可以有多个,也可以是零个,是命令字的处理对象(比如文件名、带路径的目录名或用户名等),写多个的时候用空格分开,或者使用{}并在括号内用”,“区分开

​ 值得注意的是,在参数中一定要注意文件/目录的路径的正确表达!路径就是命令字的处理对象在哪儿,分为绝对路径(从根目录开始的路径表达)与相对路径(除了从根目录开始的路径,其他都属于相对路径)

五、常用快捷操作

5.1 基本符号

5.1.1 文件形式

普通文件:f或者- 目录:d 当前目录:. 上一级目录:… 块设备文件:b 字符设备文件:c 管道文件:p 符号链接文件:l RedHat软件包:.rpm后缀 根目录:/

5.1.2 通配符

” ?” 表示一个字符,但可以连续写多个 ; “ * “ 表示多个字符

5.2 快捷操作

” Tab " 表示自动补齐 ;

“ \ " 表示强制换行 ;

” Ctrl + U” 表示清空至行首 ;

“Ctrl +K" 表示清空至行尾 ;

” Ctrl +L " 表示清屏 ;

“ Ctrl +C" 表示取消本次命令编辑

“命令字+ --help" 可以查看该命令的用法

六、常用命令

6.1. 切换路径

6.1.1 cd

(相当于Windows中双击进入文件夹的操作)

cd /cd ~ : 默认切换到宿主目录

cd - : 切换到上次使用cd前的目录

cd 目录位置 :切换到该目录

6.2 查看/查找类命令

6.2.1 ls

(查看当前目录下的文件列表,选项可组合使用)

ls -l 目录或文件 或者 ll : 显示详细信息,包括权限、大小、时间等;相当于属性

ls -a 目录或文件 或者 ls -A 目录或文件 : 显示所有文件,包括隐藏文件

ls -h 目录或文件 : 友好显示,不单独使用,就是显示大小的单位,比如1M等

ls -R 目录 : 递归显示,显示目录下的所有子目录及文件

6.2.2 du

(统计指定目录/文件爱所占磁盘空间大小)

du -a 目录或文件 : 统计空间占用时包括所有的文件,而不只统计目录

du -h 目录或文件 : 友好显示,不单独使用,就是显示大小的单位,比如1M等

du -s 目录或文件 :只显示统计的空间占用总大小

6.2.3 find

(精确查找目录或文件的路径,本身自带递归)

find 部分路径 -name “文件名” :显示包含此文件名的所有文件

find 部分路径 -type 文件类型 : 显示此文件类型的所有文件

find 部分路径 -size +/-/ 大小 :显示符合此大小的所有文件

查找条件后可加 -exec 其他命令 {} ; :表示将前面的查找结果输入到{}里执行其他命令

6.2.4 which

(查找路径/位置的)

which 目录或文件

6.2.5 pwd

(查看当前目录或文件位置,显示绝对路径)

pwd 或者 pwd 目录/文件

6.2.6 more与less

(查看文件内容)

more/less 文件名

常用法: ”Enter"—向下逐行滚动 ;“空格”—向下翻页 ;“b"—向上翻页 ;”q“—退出

6.2.7 head与tail

(查看文件内容)

head/tail 文件名 :查看文件前十行/后十行

head/tail -n 行数 文件名 :(更改行数)查看文件前几行/后几行

tail -f 文件名 :持续观测文件

6.2.8 cat

(查看文件内容)

cat 文件名

6.2.9 wc

(统计文件内容)

wc -l 文件 :统计行数

wc -w 文件 :统计文件单词数

wc -c 文件 :统计字节数

6.2.10 grep与egrep

(关键词查找文件内容)

grep -i “^字符串”(以。。为开头)/ “字符串KaTeX parse error: Expected group after '^' at position 13: ”(以。。为结尾)/ "^̲"(空行) 目标文件 :忽略大小写,按行查找文件内容

grep -v “^字符串”(以。。为开头)/ “字符串KaTeX parse error: Expected group after '^' at position 13: ”(以。。为结尾)/ "^̲"(空行) 目标文件 :按行查找除。。之外的其他文件内容

6.2.11 sed

(按行可批量编辑文件内容)

sed -i :直接修改文件内容生效,不单独使用

sed -n :静默模式,通常配合p命令精准输出

sed -n ‘数字p’ 或者 ‘数字,数字p’ 或者 ‘/字符串/p’ :打印第几行 或者 打印第几行到第几行 或者打印包含字符串的行

sed /字符串/d :删除包含字符串的行

sed ’ 数字d’ 或者 ’ 数字,数字d’ :删除第几行 或者 第几行到第几行的内容

sed s/旧内容/新内容 或者 s/旧内容/新内容g 或者 数字s/旧内容/新内容 文件名 :替换每行第一个 或者替换每行所有 或者只替换第几行的

6.2.12 awk

(处理列)

6.3 创建类命令

6.3.1 touch

(创建新的空文件)

touch 文件名

6.3.2 mkdir

(创建新的空目录)

mkdir 文件名

mkdir -p 文件名/文件名 :递归创建目录

6.3.3 ln

(创建软链接;相当于创建快捷方式)

ln -s 源文件或目录 链接文件或目录位置/软链接名字

ll 软链接名 :查看是否创建成功

6.3.4 cp

(复制目录或文件)

cp 原目录/文件 目标文件/文件名 :将原文件复制到目标文件并命名

6.3.5 mv

(剪切目录/文件)

mv 原目录/文件 目标文件/文件名 :将原文件剪切到目标文件并重命名

6.3.6 rm

(删除目录或文件)

rm -rf :常用的、无需重复确定的删除

6.4 输入与输出类命令

6.4.1 echo

(向文件中重定向追加或覆盖内容)

echo “内容” >> 或者 > 文件名 :(多行内容可按回车键)向文件中重定向追加或覆盖内容

6.4.2 vi/vim编辑器
6.4.2.1 编辑步骤:

vi 文件名 —按“i" 进入输入模式,开始编辑 —编辑完成,按”Esc“退出输入模式 —按”Shift+:"进入末行模式,输入“wq"保存并退出;输入”wq!"强制保存并退出;输入“q!"放弃编辑修改并退出

6.4.2.2 快捷方式:

行数dd—删除多少行;

移动光标到要删除内容的首行,按行数dd—从当前所在行删除几行;

移动光标到要复制内容首行,按行数yy—从当前所在行复制几行内容;

移动光标到需要粘贴的位置的上一行,按p;

撤销上一操作,按u

跳转到第几行,按行数G

6.5 压缩与解压缩类命令

6.5.1 gzip

(压缩、解压缩_.gzip格式)

gzip -9 文件 :压缩

gzip -d 文件 :解压缩

6.5.2 bzip2

(压缩、解压缩_.bzip2格式)

bzip2 -9 文件 :压缩

bzip2 -d 文件 :解压缩

6.5.3 tar

(归档、释放归档文件;也相当于是压缩与解压缩)

tar zcvf 压缩包名 要归档的文件 -C 到指定位置 :归档/压缩_.gzip格式

tar zxvf 压缩包名 -C 解压到指定位置 :释放归档/解压缩_.gzip格式

tar jcvf 压缩包名 要归档的文件 -C 到指定位置 :归档/压缩_.bzip2格式

tar jxvf 压缩包名 -C 解压到指定位置 :释放归档/解压缩_.bzip2格式

更多推荐