linux运维架构-linux常用命令

Linux常用的命令

软件操作命令

服务器硬件资源


文件操作

目录结构
首先我们看一下window的操作系统

接下来我们看一下linux的操作系统:

linux系统文件目录结构

bin:全称binary,含义是二进制(逢二进一)。该目录中存储的都是一些二进制文件(可执行文件,命令),文件都是可以被运行的。普通二进制目录,里面的二进制文件(命令),普通用户可以执行且超级管理员也可以执行。
dev:device,该目录中主要存放的是外接设备,例如盘、其他的光盘等。在其中的外接设备是不能直接被使用的,需要挂载(类似windows 下的分配盘符)。
etc:该目录主要存储一些配置文件,非常重要!!!
home:表示“家”,表示除了root用户以外其他用户的家目录,类似于windows下的User/用户目录。
proc:process,表示进程,该目录中存储的是Linux 运行时候的进程, 此目录下不能建立和删除文件;(某些文件可以修改)。
root:该目录是root 用户自己的家目录。
sbin:全称super binary(shell binary),该目录也是存储一些可以被执行的二进制文件,但是必须得有super 权限的用户才能执行。(superman超人)
tmp:temp缩写形式,表示“临时”的,当系统运行时候产生的临时文件会在这个目录存着。
usr:存放的是用户自己安装的软件。类似于windows 下的program files。
var:variable(可变的,变量),存放的程序/系统的日志文件的目录。
mnt:当外接设备需要挂载的时候,临时挂载用的设备挂载点;(如磁盘分区,网络共享)
后续需要了解的几个目录:
boot:系统在启动时需要加载的文件存储目录;
lib:library,函数库目录,专门存储计算机系统在启动时以及其他软件在运行时需要加载的函数库文件;
lost+found:Linux 也很难避免不出现断电、宕机等等情况,如果断电有些文件可能还并没有完全保存好,那么此时对应文件就会存储在该目录中,下次启动时候可以再去使用;
常用的命令
命令结构:

①ls、ls -a、ls -l、ls -al区别
ls //显示不隐藏的文件与文件夹

ls -a //显示当前目录下的所有文件及文件夹包括隐藏的.和..等

ls -l //显示不隐藏的文件与文件夹的详细信息

ls -al //显示当前目录下的所有文件及文件夹包括隐藏的.和..等的详细信息

② pwd命令
用法:# pwd(print working directory,打印当前工作目录)
含义:告诉用户当前所在的路径
③ cd命令
命令: cd (change directory,改变目录)
作用:用于切换当前的工作目录的
语法:# cd [路径]
说明:路径是可以写也可以不写的,但是含义必定是不一样的,写路径的话则表示切换到指定路径,如果不写表示切换到当前登录用户的家目录中。

特别用法说明:在Linux 中有一个特殊的符号“~”,表示当前用户的家目录,等价于直接cd。
切换的方式:# cd ~ 【表示切换到当前用户家目录中】

④ clear命令
命令: clear
作用:用于清除终端信息(清屏)

⑤ whoami命令
命令: whoami
作用:用户获取当前用户的用户名

⑥ reboot命令
命令: reboot
作用:重启操作系统

⑦ shutdown命令
命令: shutdown
作用:关机命令
用法一:# shutdown -h 0或now 立即关机

在实际应用中,我们也可以直接使用halt命令进行关机操作。
基本语法:
# halt
以上命令相当于"shutdown -h 0",代表立即关机
用法二:# shutdown -h 10 延迟关机,10分钟之后关机

当我们执行shutdown -h 10这个命令时,系统就处于关机等待状态。如果后悔了想取消关机,我们可以使用快捷键Ctrl + C按键进行取消关机。
解析:Ctrl + C在Windows中代表复制,但是在Linux操作系统中,代表中止当前进程。
用法三:# shutdown -r 10 延迟重启,10分钟之后重启
文件与文件夹操作
在实际应用中,与目录相关的操作主要有两个:创建目录与删除目录

① 创建目录
命令: mkdir (make directory,创建目录)
作用:创建目录
语法:# mkdir 路径(需要包含文件夹名称)
用法一:创建目录

特别注意:mkdir命令默认不能隔级创建目录,必须要求要创建的目录所在的目录一定要存在,如果想创建多层不存在的路径,可以使用mkdir -p进行实现
用法二:递归创建目录
作用:用于创建多层不存在的路径,主要是补充用法一【-p:表示parents,父母的意思】
语法:# mkdir -p 路径(需要包含目录名称)
假设/usr/local目录下不存在nginx目录,递归创建/usr/local/nginx/html

用法三:同时创建多个目录
语法:#mkdir [-p] 路径1 路径2 路径3

② 删除目录
命令: rmdir(remove directory缩写)
作用:删除空目录
语法:# rmdir 路径(需要包含目录名称)
用法一:删除空目录

用法二:同时删除多个空目录

用法三:递归删除空目录
语法:# rmdir -p 路径
作用:首先删除子目录,删除成功后,删除上级目录,直至结束。

2、文件操作
在实际应用中,与文件相关的操作主要有两个:创建文件与删除文件
① 创建文件
命令:touch
作用:创建文件
语法:# touch 文件路径 [文件路径2 文件路径3 …]
用法一:创建readme.txt文件

用法二:同时创建多个文件

② 删除文件
命令:rm(remove缩写)
作用:删除文件或文件夹
语法:rm [-rf] 文件或文件夹路径
选项:-r :递归删除
-f :强制删除,不提示任何信息。操作前一定要慎重!!!
用法一:删除readme.txt文件

用法二:递归删除目录

用法三:强制删除文件或目录

3、复制与剪切
① 复制操作
命令:cp (copy缩写,复制操作)
作用:复制文件/文件夹到指定的位置
语法:#cp [-r] 被复制的文件路径 文件被复制到的路径
选项:-r:recursion,递归,表示将文件夹中所有的下属文件/文件夹都复制。如果是使用cp命令来复制文件夹,则-r 就不是选项,而是必须项
注意:复制过程中文档的名称是不变的。
示例代码:复制/root/readme.txt到/tmp目录下

示例代码:复制/root/shop目录到/tmp目录下

② 剪切操作
命令:mv (move,移动,剪切)
作用:移动文档到新的位置
语法:#mv 需要移动的文档路径 需要保存的位置路径
mv与cp的区别:
☆ mv 与 cp 命令不一样,不管是针对文件还是针对文件夹都不需要加类似 -r 的选项。
☆ 在移动的过程中文档名称名称是不变的,变的是路径
示例代码:


③ 重命名操作
在Linux 中重命名的命令也是mv,语法和移动语法一样。区别在于重命名的话一般是路径不变,名称改变。【而移动是名字不变,路径变】

4、压缩与解压缩
① gzip|bzip2|xz压缩与解压缩命令
gzip|bzip2|xz:压缩单个文件
☆ gzip命令
语法一:gzip 需要压缩的文件

语法二:gzip file1 file2 同时压缩多个文件

压缩速度快,压缩率低,cpu开销比较低
解压:gunzip或者gzip -d


☆ bzip2命令
压缩:bzip2 需要压缩的文件

解压:bzip2 -d 需要解压的文件
压缩速度慢,压缩率高,cpu开销大

☆ xz命令
压缩率高,解压速度快,压缩时间较长,cpu消耗相对较大
压缩:xz 需要压缩的文件

解压:unxz 或者 xz -d

② tar打包命令
gzip 、bzip2或xz命令带有多个文件作为参数时,执行的操作是将各个文件独立压缩,而不是将其放在一起进行压缩。这样就无法产生类似于Windows环境下的文件夹打包压缩的效果,为了实现打包压缩的效果,可以使用命令 tar 进行文件的打包操作(archive),再进行压缩。
tar命令可以将文件打包成文件档案(archive)存储在磁盘/磁带中,打包操作一般伴随压缩操作,也可以使用 tar 命令对打包压缩后的文件解压。
1)打包
语法:tar 选项 打包文件名 要打包的文件或目录
选项:-c,create 创建的意思
-v,可视化的意思,即可以查看创建的过程,可以省略
-f,必选参数,不能省略
-u,update缩写,更新原打包文件中的文件(了解)
-r,append含义,向压缩归档文件末尾追加文件(了解)

示例代码:这条命令是更新原来tar包hw.tar中hello.txt文件,-u是表示更新文件的意思

示例代码:这条命令是将readme.txt的文件增加到hw.tar的包里面去。-r是表示增加文件的意思

2)打包并压缩
tar 在打包的时候,是支持压缩的,之前讲过的 gzip 、bzip2 、xz 压缩工具都可以在 tar 打包文件中使用。
语法:tar 选项 打包文件名 要压缩的文件或目录
选项:-z,压缩为.gz格式
-j,压缩为.bz2格式
-J,压缩为.xz格式
-c,create 创建的意思
-v,可视化的意思,即可以查看创建的过程,可以省略
-f,使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。必选参数,不能省略
示例代码:把hello.txt与world.txt压缩为hw.tar.gz文件

示例代码:把hello.txt与world.txt压缩为hw.tar.xz文件

3)解压
解压的时候,把压缩命令中的 c 换成 x 即可
示例代码:解压hw.tar.gz文件

示例代码:解压hw.tar.xz文件

③ zip压缩与解压缩(了解)
1)zip压缩
命令:zip
作用:兼容类unix与windows,可以压缩多个文件或目录
语法:# zip [-r] 压缩后的文件 需要压缩的文件(多个文件)
选项:-r 递归压缩
注意:zip压缩默认压缩后的格式就是.zip,当然也可以加后缀.zip,一般都加上
用法一:文件压缩

用法二:文件夹压缩

2)unzip解压缩
命令:unzip
作用:解压文件
语法:unzip 要解压的压缩文件 [-d] 解压目录
选项:-d,directory缩写,代表解压文件到指定目录下
用法一:解压到当前目录

用法二:解压到指定目录

5、输出重定向
场景:一般命令的输出都会显示在终端中,有些时候需要将一些命令的执行结果想要保存到文件中进行后续的分析/统计,则这时候需要使用到的输出重定向技术。
>:标准输出重定向 => 覆盖输出,会覆盖掉原先的文件内容
>>:追加重定向 => 追加输出,不会覆盖原始文件内容,会在原始内容末尾继续添加
语法:# 需要执行的有输出的命令 输出重定向符号>或>> 输出到的文件路径
说明:文件路径中的文件可以是不存在的文件(文件路径要符合touch 创建的要求)
用法一:输出重定向

用法二:echo命令,作用:字符串输出

用法三:使用echo命令向文件中写入自定义内容

扩展:标准输入输出
bash的I/O输入输出:
标准输入(stdin) :键盘上所输入的内容 文件描述符 0
标准输出(stdout) :屏幕上所输出的正确的结果 文件描述符 1

标准错误(stderr) :屏幕上所输出的错误的结果 文件描述符 2

2> :标准错误重定向

&> :标准输出和标准错误重定向
& = 1+2


6、查看文件内容
① 正序查看
命令:cat
作用:正序查看文件内容
语法:# cat 文件名称

② 文件内容合并
其实cat方法还有一个非常实用的功能,可以进行文件内容合并
语法:#cat 待合并的文件路径1 待合并的文件路径2 …. 文件路径n > 合并之后的文件路径


③ 倒序查看
命令:tac
作用:倒序查看文件内容
语法:# tac 文件名称

7、history命令
history:中文翻译,代表历史
主要功能:查看以前输入的Shell命令信息

浙公网安备 33010602011771号