#### 命令的执行方式均以终端执行,终端可以理解为linux命令的执行工具。
首先打开终端,在桌面右键--在终端打开:
![](https://img.kancloud.cn/8f/76/8f76adf2767ab9e7a7c2c05716cd7630_788x541.png =800x)
#### 后面我们的大部分对于服务器操作将在这里进行,打开终端的方式:
![](https://img.kancloud.cn/16/73/1673fa719150a7e077270ce5ab84e49e_724x310.png =800x)
### 下面介绍Linux常用命令
*****
# ls命令
ls 命令是Linux下最常用的指令之一。ls命令为英文单词 list 的缩写,正如英文单词 list 的意思,其功能是列出指定目录下的内容及其相关属性信息。
默认状态下,ls命令会列出当前目录的内容。而带上参数后,我们可以用ls做更多的事情。
\*\*语法格式:\*\*ls \[选项\] \[文件\]
**常用参数:**
\-a显示所有文件及目录 (包括以“.”开头的隐藏文件)-l使用长格式列出文件及目录信息-r将文件以相反次序显示(默认依英文字母次序)-t根据最后的修改时间排序-A同 -a ,但不列出 “.” (当前目录) 及 “..” (父目录)-S根据文件大小排序-R递归列出所有子目录
**参考实例**
列出所有文件(包括隐藏文件):
~~~
[root@linuxcool ~]# ls -a
~~~
列出文件的详细信息:
~~~
[root@linuxcool ~]# ls -l
~~~
列出根目录(/)下的所有目录:
~~~
[root@linuxcool ~]# ls /
~~~
*****
# cd命令 – 切换目录
cd命令是”change directory”中单词的首字母缩写,其英文释义是改变目录,所以该命令的功能是从当前目录切换到指定目录。
其中目录的路径可分为绝对路径和相对路径。若目录名称省略,则切换至使用者的用户目录(也就是刚登录时所在的目录)。
另外,“~”也表示为用户目录的意思,“.”则是表示目前所在的目录,“..”则表示当前目录位置的上一级目录。
\*\*语法格式:\*\*cd \[参数\] \[目录名\]
**常用参数:**
\-P如果切换的目标目录是一个符号链接,则直接切换到符号链接指向的目标目录-L如果切换的目标目录是一个符号链接,则直接切换到符号链接名所在的目录--仅使用”-“选项时,当前目录将被切换到环境变量”OLDPWD”对应值的目录~切换至当前用户目录..切换至当前目录位置的上一级目录
**参考实例**
将当前工作目录切换到dir目录,并使用pwd命令查看当前目录:
~~~
[root@linuxcool ~]# cd dir
[root@linuxcool dir]# pwd
/root/dir
~~~
使用“cd ~ ”和“cd .. ”命令进行目录的切换操作,并使用pwd命令查看当前目录:
注意:使用“cd ~ ”命令可以直接切换到当前用户目录,而“cd .. ”是切换到上一级目录。
~~~
[root@linuxcool dir]# pwd
/root/dir
[root@linuxcool dir]# cd ~
[root@linuxcool ~]# pwd
/root
~~~
~~~
[root@linuxcool dir]# pwd
/root/dir
[root@linuxcool dir]# cd ..
[root@linuxcool dir]# pwd
/root
~~~
使用“cd ../..”命令返回上两级目录:
~~~
[root@linuxcool dir_2]# pwd
/root/dir/dir_1/dir_2
[root@linuxcool dir_2]# cd ../..
[root@linuxcool dir]# pwd
/root/dir
~~~
使用“cd”命令返回当前用户目录。“cd -- ” 命令返回上一次所在目录:
~~~
[root@linuxcool dir_2]# pwd
/root/dir/dir_1/dir_2
[root@linuxcool dir_2]# cd
[root@linuxcool ~]# pwd
/root
[root@linuxcool ~]# cd -
/root/dir/dir_1/dir_2
[root@linuxcool dir_2]# pwd
/root/dir/dir_1/dir_2
~~~
*****
# pwd命令 – 显示当前路径
pwd命令是“print working directory”中每个单词的首字母缩写,其功能正如所示单词一样,为打印工作目录,即显示当前工作目录的绝对路径。
在实际工作中,我们经常会在不同目录之间进行切换,为了防止“迷路”,我们可以使用pwd命令快速查看当前我们所在的目录路径。
\*\*语法格式:\*\*pwd \[参数\]
**常用参数:**
\-L显示逻辑路径
**参考实例**
查看当前工作目录路径:
~~~
[root@linuxcool ~]# pwd
/home/linuxcool
~~~
*****
# mkdir命令 – 创建目录
mkdir命令是“make directories”的缩写,用来创建目录。
注意:默认状态下,如果要创建的目录已经存在,则提示已存在,而不会继续创建目录。 所以在创建目录时,应保证新建的目录与它所在目录下的文件没有重名。 mkdir命令还可以同时创建多个目录,是不是很强大呢?
\*\*语法格式 :\*\*mkdir \[参数\] \[目录\]
**常用参数:**
\-p递归创建多级目录-m建立目录的同时设置目录的权限-z设置安全上下文-v显示目录的创建过程
**参考实例**
在工作目录下,建立一个名为 dir 的子目录:
~~~
[root@linuxcool ~]# mkdir dir
~~~
在目录/usr/linuxcool下建立子目录dir,并且设置文件属主有读、写和执行权限,其他人无权访问
~~~
[root@linuxcool ~]# mkdir -m 700 /usr/linuxcool/dir
*****
~~~
同时创建子目录dir1,dir2,dir3:
~~~
[root@linuxcool ~]# mkdir dir1 dir2 dir3
~~~
递归创建目录:
~~~
[root@linuxcool ~]# mkdir -p linuxcool/dir
~~~
*****
# touch命令 – 创建文件
touch命令有两个功能:一是创建新的空文件,二是改变已有文件的时间戳属性。
touch命令会根据当前的系统时间更新指定文件的访问时间和修改时间。如果文件不存在,将会创建新的空文件,除非指定了”-c”或”-h”选项。
注意:在修改文件的时间属性的时候,用户必须是文件的属主,或拥有写文件的访问权限。
\*\*语法格式:\*\*touch \[参数\] \[文件\]
**常用参数:**
\-a改变档案的读取时间记录-m改变档案的修改时间记录-r使用参考档的时间记录,与 --file 的效果一样-c不创建新文件-d设定时间与日期,可以使用各种不同的格式-t设定档案的时间记录,格式与 date 命令相同--no-create不创建新文件--help显示帮助信息--version列出版本讯息
**参考实例**
创建空文件:
~~~
[root@linuxcool ~]# touch file.txt
~~~
批量创建文件:
~~~
[root@linuxcool ~]# touch file{1..5}.txt
[root@linuxcool ~]# ls
file1.txt file2.txt file3.txt file4.txt file5.txt
~~~
*****
# cp命令 – 复制文件或目录
cp命令可以理解为英文单词copy的缩写,其功能为复制文件或目录。
cp命令可以将多个文件复制到一个具体的文件名或一个已经存在的目录下,也可以同时复制多个文件到一个指定的目录中。
\*\*语法格式:\*\*cp \[参数\] \[文件\]
**常用参数:**
\-f若目标文件已存在,则会直接覆盖原文件-i若目标文件已存在,则会询问是否覆盖-p保留源文件或目录的所有属性-r递归复制文件和目录-d当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录-l对源文件建立硬连接,而非复制文件-s对源文件建立符号连接,而非复制文件-b覆盖已存在的文件目标前将目标文件备份-v详细显示cp命令执行的操作过程-a等价于“dpr”选项
**参考实例**
复制目录:
~~~
[root@linuxcool ~]# cp -R dir1 dir2/
~~~
将文件test1改名为test2:
~~~
[root@linuxcool ~]# cp -f test1 test2
~~~
复制多个文件:
~~~
[root@linuxcool ~]# cp -r file1 file2 file3 dir
~~~
交互式地将目录 /usr/linuxcool 中的所有.c文件复制到目录 dir 中:
~~~
[root@linuxcool ~]# cp -r /usr/linuxcool/*.c dir
~~~
*****
# mv命令 – 移动或改名文件
mv命令是“move”单词的缩写,其功能大致和英文含义一样,可以移动文件或对其改名。
这是一个使用频率超高的文件管理命令,我们需要特别留意它与复制的区别:mv与cp的结果不同。mv命令好像文件“搬家”,文件名称发生改变,但个数并未增加。而cp命令是对文件进行复制操作,文件个数是有增加的。
\*\*语法格式:\*\*mv \[参数\]
**常用参数:**
\-i若存在同名文件,则向用户询问是否覆盖-f覆盖已有文件时,不进行任何提示-b当文件存在时,覆盖前为其创建一个备份-u当源文件比目标文件新,或者目标文件不存在时,才执行移动此操作
**参考实例**
将文件file\_1重命名为file\_2:
~~~
[root@linuxcool ~]# mv file_1 file_2
~~~
将文件file移动到目录dir中 :
~~~
[root@linuxcool ~]# mv file /dir
~~~
将目录dir1移动目录dir2中(前提是目录dir2已存在,若不存在则改名):
~~~
[root@linuxcool ~]# mv /dir1 /dir2
~~~
将目录dir1下的文件移动到当前目录下:
~~~
[root@linuxcool ~]# mv /dir1/* .
~~~
*****
# cat命令 – 在终端设备上显示文件内容
Linux系统中有很多个用于查看文件内容的命令,每个命令又都有自己的特点,比如这个cat命令就是用于查看内容较少的纯文本文件的。cat这个命令也很好记,因为cat在英语中是“猫”的意思,小猫咪是不是给您一种娇小、可爱的感觉呢?
注意:当文件内容较大时,文本内容会在屏幕上快速闪动(滚屏),用户往往看不清所显示的具体内容。因此对于较长文件内容可以按Ctrl+S键,停止滚屏;以及Ctrl+Q键可以恢复滚屏;而按Ctrl+C(中断)键则可以终止该命令的执行。或者对于大文件,干脆用more命令吧!
\*\*语法格式:\*\*cat \[参数\] \[文件\]
**常用参数:**
\-n显示行数(空行也编号)-s显示行数(多个空行算一个编号)-b显示行数(空行不编号)-E每行结束处显示$符号-T将TAB字符显示为 ^I符号-v使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外-e等价于”-vE”组合-t等价于”-vT”组合-A等价于 -vET组合--help显示帮助信息--version显示版本信息
**参考实例**
查看文件的内容:
~~~
[root@linuxcool ~]# cat filename.txt
~~~
查看文件的内容,并显示行数编号:
~~~
[root@linuxcool ~]# cat -n filename.txt
~~~
查看文件的内容,并添加行数编号后输出到另外一个文件中:
~~~
[root@linuxcool ~]# cat -n linuxcool.log > linuxprobe.log
~~~
清空文件的内容:
~~~
[root@linuxcool ~]# cat /dev/null > /root/filename.txt
~~~
持续写入文件内容,碰到EOF符后结束并保存:
~~~
[root@linuxcool ~]# cat > filename.txt <<EOF
> Hello, World
> Linux!
> EOF
~~~
将软盘设备制作成镜像文件:
~~~
[root@linuxcool ~]# cat /dev/fd0 > fdisk.iso
~~~
*****
# rm命令 – 移除文件或目录
rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。 rm也是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm \* -rf)。所以,我们在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑。
\*\*语法格式:\*\*rm \[参数\] \[文件\]
**常用参数:**
\-f忽略不存在的文件,不会出现警告信息-i删除前会询问用户是否操作-r/R递归删除-v显示指令的详细执行过程
**参考实例**
删除前逐一询问确认:
~~~
[root@linuxcool ~]# rm -i test.txt.bz2
rm: remove regular file `test.txt.bz2'?
~~~
直接删除,不会有任何提示:
~~~
[root@linuxcool ~]# rm -f test.txt.bz2
~~~
递归删除目录及目录下所有文件:
~~~
[root@linuxcool ~]# mkdir /data/log
[root@linuxcool ~]# rm -rf /data/log
~~~
删除当前目录下所有文件:
~~~
[root@linuxcool ~]# rm -rf *
~~~
*****
<blockquote class='danger'>常用的命令先介绍到这里,后面我们会用到更多操作服务器的命令,至此,大家先做一个了解,并在终端中实际操作一下,看一下命令的执行结果吧!</blockquote>
- Magento概述
- 第一章:路线图
- 概述
- 前端技能
- 后端技能
- 第二章:Linux环境
- 1.安装虚拟机VirtualBox
- 2.创建虚拟机
- 3.安装Ubuntu系统
- Linux文件系统概述
- Linux常用操作命令
- 第三章:Docker专题
- Docker概述
- 1.基础
- 2.镜像
- 3.容器
- 4.容器互联
- 5.dockerfile
- 6.docker-compose
- 7.docker安装nginx
- 8.docker安装mysql
- 9.docker安装redis
- 10.docker安装php
- 11.docker配置nginx-php-mysql
- 12.docker-compose构建lamp
- 13.附录
- 第四章:LAMP环境
- Docker构建LAMP开发环境
- 一键安装LNMP/LAMP
- 第五章:Magento安装
- Magento环境要求
- Docker安装Magento
- 填充网站首页、分类、商品等
- 第六章:Linux开发模式
- 编辑器vscode及插件
- 开发模式之SSH
- 开发模式之SFTP
- 开发模式之git
- 第七章:Magento架构
- 架构概述
- 文件目录结构
- 数据库表解析之EAV
- Magento命令行
- 第八章:模块结构解析
- 模块目录结构
- 配置文件之env.php
- 配置文件-routes.xml
- 配置文件之module.xml
- 配置文件之webapi.xml
- 配置的方式及加载顺序
- mvc之controller
- mvc之model
- mvc之block
- mvc之模板
- api概述
- 第九章:自定义模块
- 自定义模块概述
- 建立模块
- 注册模块
- 创建控制器
- 创建Block
- 创建模板
- Model-Collection-ResourceModel
- 添加后台菜单
- 第十章:重写(Override)
- 重写概述
- 布局文件详解
- 定位布局文件
- 重写Controller
- 重写Template
- 重写Block
- 重写Model
- 重写其它类
- 第十一章:小部件(Widget)
- 1.Widget概述
- 2.Widget在CMS页面的应用
- 3.自定义一个Widget
- 4.Widget添加到前台页面
- 第十二章:主题(Theme)
- 主题概述
- 1.创建新的主题
- 2.添加全局css文件
- 3.模板分离到主题
- 4.主题模板与javascript
- 5.magento封装的js写法
- 6.layout布局解析
- 7.创建移动端主题
- 第十三章:Template专题
- 模板的指定
- 自定义模板
- 模板重写的规则
- 第十四章:Javascript专题
- magento中的javascript
- requirejs语法
- js的调用和初始化
- js的重写和扩展
- javascript使用mixins
- 第十五章:Knockoutjs专题
- knockoutjs的应用
- knockout简介
- Observables
- Observable Arrays
- Computed Observables
- Bindings(绑定)
- Visible和hidden绑定
- Text绑定
- html绑定
- class和css绑定
- style绑定
- attr绑定
- 表单-click绑定
- 表单-submit绑定
- 表单-value值绑定
- 表单-textInput绑定
- 表单-checked绑定
- 表单-options绑定
- data-bind语法
- binding上下文
- 第十六章:Checkout专题
- 结算页面概述
- 添加新的结帐步骤
- 添加自定义支付方式
- 结算前添加自定义验证
- 添加自定义配送方式
- 添加自定义配送验证
- 为邮政编码添加掩码
- 为字段添加自定义模板
- 结账页面添加新的input
- 在地址表单中添加字段
- 添加自定义配送地址
- 结算页面其它字段修改
- 自定义运输方式列表
- 线下支付方式添加字段
- 第十七章:实战案例解析
- 从零开发一个模块
- 1.需求分析
- 2.数据表与数据填充
- 3.建立module
- 4.路由
- 5.控制器
- 6.创建Block
- 7.创建布局
- 8.建立模板
- 9.建立Model层
- 10.查询数据
- 11.完善模板
- 12.小结
- 定制我的订单页面
- 1.需求分析
- 2.新建模块
- 3.重写:布局文件
- 4.Block文件
- 5.模板文件
- 6.添加css文件
- 7.测试定制结果
- 添加系统配置模块
- 1.需求分析
- 2.后台实现
- 3.前台实现
- 第三方登录到magento
- 1.需求分析
- 2.登录页表单
- 3.建立module
- 4.建立控制器-后端登录逻辑
- 5.建立控制器-登录中间页
- 6.建立中间页的layout文件
- 7.建立block文件
- 8.建立登录中间页模板
- 9.第三方登录扩展
- 保留心愿单商品
- 1.需求分析
- 2.Plugin机制-拦截器
- 3.心愿单修改示例
- 创建订单流程及扩展
- 1.需求分析
- 2.创建订单流程追踪
- 3.重写
- 用户注册添加字段
- 1-需求分析
- 2-功能实现
- 第十八章:RestApi专题
- webapi概述
- 如何访问一个api
- swagger介绍
- 将services配置为webapi
- 配置api示例
- 设置自定义路由
- 第十九章:设计模式专题
- 设计模式概述
- 创建型模式
- 工厂方法
- 抽象工厂
- 生成器
- 原型
- 单例
- 结构型模式
- 适配器
- 桥接
- 组合
- 装饰
- 外观
- 享元
- 代理
- 行为模式
- 责任链
- 命令
- 迭代器
- 中介者
- 备忘录
- 观察者
- 状态
- 策略
- 模板方法
- 访问者
- 第二十章:性能最佳实践
- 本章概述
- 硬件推荐
- 软件推荐
- 架构参考
- 开发环境建议
- 配置最佳实践
- 部署流程
- 高级设置
- 附录1:常用代码及问题整理
- 权限报错问题
- Magento定时任务
- Magento开发基础篇一
- Magento开发基础篇二
- Magento之CRUD
- Magento中获取各种url的方法
- Redis存储Session和缓存
- 发送邮件配置
- 检测用户登录信息
- 获取env.php中配置的变量
- 模板中获取当前页面url
- 获取用户默认配送地址
- Magento系统问题整理
- 结算页面不能选择账单地址
- 我应该执行什么命令?
- 追代码打印sql
- 忘记后台密码怎么办?
- 附录2:多语言应用
- 多语言概述
- 日语翻译引擎
- 附录3:插件安装与GMO
- 安装插件的方法
- GMO支付插件
- 附录4:Elasticsearch搜索和分词
- ElasticSearcch配置与安装
- ES实现搜索日语分词