linux命令
一、什么是shell?
1.1 shell的定义
shell中文意思是外壳,是链接电脑系统内核和外部的接口,其实也叫命令解释器,win系统的cmd叫:cammand shell,linux系统和mac os系统叫:bash 即Bourne-Again Shell;
用户点击界面,界面通过shell与计算机进行交流,达到处理用户操作的结果。所以所有命令和命令脚本都可以说是shell命令;只不过不同的系统有不同的叫法;
打开终端,在里面输入命令,一般终端已经帮你输入了“$”符号,只要输入具体命令就可以了:
二、linux文件目录结构
介绍:我们打开终端后看到的第一行lulu@ubantu:~$这样的字符,这个叫命令提示符。@前面的是用户名,@后面的是主机名。接着冒号,冒号后面到$符号/#符号前是当前所在的目录的绝对路径,有一个特殊的路径:~,表示用户的家目录,$表示当前用户是普通用户,#是root超级用户;
2.1 bin目录
全称binary,含义是二进制,该目录中存储的都是一些二进制文件,文件都是可以被运行的;
2.2 Dev目录
该目录中主要存放的是外接设备,例如盘、其他的光盘等,在其中的外接设备是不能直接被使用的,需要挂载(类似win下的分配盘符);
2.3 Etc目录
该目录主要存储一些配置文件;
2.4 home目录
表示家,表示出了root用户以外其他用户的家目录,类似于win的user目录;
2.5 proc目录
process,表示进程,该目录存储的是linux运行时候的进程;
2.6 root目录
该目录是root用户自己的家目录;
2.7 sbin目录
全称是super binary 该目录也是存储的一些可以被执行的二进制文件,但是必须是有super权限才行;
2.8 tmp目录
表示临时的,当系统运行时产生的临时文件;
2.9 usr目录
存放用户自己安装的软件,类似win下的program files;
3.0 var目录
存放的程序、系统的日志文件的目录;
三、常用基础命令
3.1 ls查看当前路径的文件及文件名
3.1.1相对路径写法:
./:当前路径
../:当前路径的上一层路径
../../:当前路径的上上一层路径
3.1.2 ls -l
表示以详细的列表的形式展示
3.1.3 ls -a
表示展示全部文件包括隐藏文件,linux中隐藏文件都是.开头的;
3.1.4 ls -la
表示输出全部文件按照详细列表的形式
d表示文档类型为文件夹,-表示文档类型为文件;
3.1.5 ls -lh
列出指定路径下的所有文件/文件夹的名称,以列表的形式且在现实文档大小时以可读性较高的形式显示;
扩展知识:
win下查看目录文件用:dir
3.2 pwd指令
表示打印当前工作目录的绝对路径;
3.3 cd指令
cd ../../home/cici
表示从当前目录返回上上层后进入home/cici目录下
3.4 mkdir指令
在指定路径下创建一个文件夹
3.4.1 一次性创建多个不存在的文件
mkdir -p /root/a/b/c
表示可以一次性在当前目录下创建不存在的a下面的b下面的c,不加-p会报错
mkdir a b c
表示一次性可以在当前目录创建多个不存在的文件
3.5 touch指令
在指定路径下创建文件
例如:touch 1.txt
3.6 cp指令
3.6.1 cp 被复制的文件路径 要复制到的路径
linux系统下cp文件到其他路径的时候,可以重命名;但是最好不要修改:
cp /root/1.txt /home/2.txt
3.6.2 复制文件夹
cp -r /root /home
-r表示递归复制,会把root下的所有文件及文件夹都复制过去,不加-r会被忽略,不复制;
3.7 mv指令
指令:mv (move,移动,剪切)
作用:移动文档到新的位置
语法:#mv 需要移动的文档路径 需要保存的位置路径
3.7.1移动文件
3.7.2移动文件夹
3.7.3linux中重命名也是mv,语法和移动一样
其实就是原地移动
3.8 rm指令
语法:#rm 选项 需要移除的文档路径
选项:-f、-r
3.8.1 不加选项直接删除
会提示是否删除
3.8.2 加上-f(表示force强制)
则直接不提示,直接删除
3.8.3 加上-r(删除整个目录/文件夹)
递归删除,一层层删除
为了不频繁询问是否删除,所以通常需要与f连用,-rf
3.8.4 批量删除文件/文件夹命名有相同前缀
*是通配符,意思表示任意字符,,test*表示test开头的所有的文件
3.9 vim指令
语法:#vim 文档路径/文档
不保存退出::q
保存退出::wq
强制保存退出::wq!
强制不保存退出::q!
编辑界面快速查找:非输入模式下,按照esc后英文格式下点击:/,输入想要搜索的内容,则在左下角末行会展示输入的内容,回车即可找到
找到相关文字以后:
(1)按下小写n,向下查找
(2)按下大写N,向上查找
3.10 输出重定向
一般命令的输出都会显示在终端中,有些时候徐娅将一些命令的执行结果想要保存到文件中进行后续的分析/统计,则这时候需要使用到的输出重定向技术。
语法:#正常执行的指令 >/>>文件路径
文件路径可以不存在,不存在会自动创建
3.10.1>:覆盖输出,会覆盖调原来的文件内容
echo string 是输出字符串命令
echo ‘123’
3.10.2>>追加输出,不会覆盖原始文件内容,会在原始内容末尾继续添加
3.11 cat指令
3.11.1 cat用法1
语法:#cat 需要输出的文件路径/文档
3.11.2 cat用法2
可以将多个文档合并成一个
语法:#cat 待合并的文档1.txt 待合并的文档2.txt .....>/>> 合并后.txt
3.12 rpm 指令
3.12.1 rpm -ivh xxx.rpm
安装rpm的软件
rpm -ivh influxdb-1.7.0.x86_64.rpm
3.12.2 rpm -qi 显示软件信息
rpm -qi dejagnu-1.4.2-10.noarch.rpm
3.13 wget 指令
命令格式:
wget [参数] [URL地址]
命令功能:
用于从网络上下载资源,没有指定目录,下载资源回默认为当前目录。wget虽然功能强大,但是使用起来还是比较简单:
3.14 find 指令
查找安装的程序位置:find / -name grafana
3.15 查看软件是否安装
rpm -qa|grep grafana
3.16 删除安装包
yum -y remove grafana