Hacker基础之Linux篇:基础Linux命令二

1. mv

mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files)。

Linux系统下常用的命令,经常用来备份文件或者目录。

mv命令使用介绍: 命令格式:mv [选项] [源文件或目录] [目标文件或目录] 命令功能:视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。

命令的常用参数选项说明:

--backup [若会覆盖文件,则覆盖前会自动进行备份]

--suffix [备份时将覆盖的后缀]

-f [如果目标文件已经存在,不会询问而直接覆盖]

-i [若目标文件已经存在时,就会询问是否覆盖]

-u [若目标文件已经存在,当源文件比较新时,才会覆盖]

一般常用的用法有以下几种:

1

替换配置文件的同时对源配置文件做好备份以便将来还原

mv --backup=existing --suffix=.bak nginx.conf /etc/nginx/nginx.conf

或者简写成如下形式

mv --backup=nil --suffix=.bak nginx.conf /etc/nginx/nginx.conf

上面这两个语句中的existingnil是等价的

这样操作之后,原来/etc/nginx/nginx.conf这个文件会被移动到/etc/nginx/nginx.conf.bak,同时,我们修改的好的新文件会被放到/etc/nginx/nginx.conf

当然,你也可以懒一点,不想指定用.bak做后缀名,用系统默认的后缀名,可以这样做:

mv --backup=simple nginx.conf /etc/nginx/nginx.conf

或者等价的语句有

mv --backup=nerver nginx.conf /etc/nginx/nginx.conf

这样做了之后,在/etc/nginx目录下的nginx.conf就会变成了nginx.conf~,然后新的nginx.conf覆盖旧文件

这里记忆的话还是建议大家记existingsimple这两个,其他的等价语句会弄混你的。

2

更换文件名字,如我们想把错误的ningx.conf更换成对的nginx.cconf可以这样做

mv ningx.conf nginx.conf

3

移动一个目录下的全部文件到一个新的地方,我们可以这样

mv /opt/php7 /usr/local/php7

2. cp

cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一。

cp命令使用介绍: 命令格式:cp [选项] [源文件或目录] [目标文件或目录] 命令功能:将源文件复制至目标文件,或将多个源文件复制至目标目录。

命令的常用参数选项说明:

--backup [为每个已存在的目标文件创建备份]

--suffix [备份时将覆盖的后缀]

-l [链接文件而不复制]

-R [复制目录及目录内的所有项目]

一般常用的用法有以下几种:

1

对没确定修改好的配置文件,我们可以使用cp来覆盖源配置文件,并做好源配置文件的备份,这里和mv的一样

cp --backup=existing --suffix=.bak nginx.conf /etc/nginx/nginx.conf

2

我们也可以只创建一个链接而不是真正把文件复制过去,这样我们在本目录修改好的nginx.conf不用每次都复制一遍过去/etc/nginx/nginx.conf,因为在/etc/nginx/nginx.conf这个文件其实已经指向了我们自己目录下这个nginx.conf

mv -l nginx.conf /etc/nginx/nginx.conf

3

复制整个目录

cp -R /opt/php7 /usr/bin/php7

3. cd

Linux cd命令可以说是Linux中最基本的命令语句,其他的命令语句要进行操作,都是建立在使用cd命令上的。

cd命令使用介绍: 命令格式:cd [目录名] 命令功能:切换当前目录至目标目录

命令的常用参数选项说明:

常用使用环境:

一般这个命令是很经常用的,比如我们打算进入/etc/nginx目录下

cd /etc/nginx

然后我们修改完一些文件之后准备退到上一级目录

cd ..

或者上两级目录

cd ../../

原文发布于微信公众号 - 玄魂工作室(xuanhun521)

原文发表时间:2018-03-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏bdcn

Supervisord安装配置笔记 原

想要了解怎么配置需要管理的进程,只要打开 supervisord.conf 就可以了,里面有很详细的注释信息。

1864
来自专栏lgp20151222

Tomcat出现validateJarFile-jar not loaded问题

validateJarFile(...\WEB-INF\lib\servlet-api.jar)-jar not loaded. See Servlet Spe...

1611
来自专栏技术博文

php-fpm中启用慢日志配置(用于检测执行较慢的PHP脚本)

虽然通过nginx accesslog可以记录用户访问某个接口或者网页所消耗的时间,但是不能清晰地追踪到具体哪个位置或者说函数慢,所以通过php-fpm慢日志,...

46010
来自专栏冷冷

tomcat不能运行或共存多个项目

我在Tomcat下部署了两个项目,但是一个可以运行,另一个不可以,第一感觉是内存问题,给tomcat多分配了内存.但是没有作用. 原因是少了webAppRoot...

2149
来自专栏白驹过隙

Jenkins - 持续集成环境搭建

38710
来自专栏DT乱“码”

gitHub基本命令

一.要提交文件到github 必须配置本地配置文件 .git文件夹的 config ? 在config文件末尾加上 [user]     name=XXX ...

3766
来自专栏醉梦轩

Ubuntu安装VNC Server

4774
来自专栏Pythonista

mysql+centos7+主从复制

1423
来自专栏散尽浮华

centos6下ActiveMQ+Zookeeper消息中间件集群部署记录

由于最近一个项目并发请求压力比较大,所以考虑改进架构,引入消息中间件集群作为一个缓冲消息队列,具体需求: 1)将大量的WebService请求报文发送到mq集群...

3119
来自专栏康怀帅的专栏

Laravel 环境变量

不同环境加载不同的 .env 文件。 开发: development 测试: testing 预上线: staging 正式环境: producti...

4144

扫码关注云+社区

领取腾讯云代金券