centos move(centos7卸载软件命令)
CentOS6.5基本操作常用命令详解
在你准备使用Linux系统作为网站服务器系统之前,我建议大家先学习一些基本的Linux系统的操作命令,这些命令都是在日常操作中和配置Linux服务器网络环境时要用到的,了解和掌握这些命令,将有助于你更好的使用Linux服务器。本文将以CentOS 6.5为例简单讲解一下Linux系统下常用的基本操作命令。
首先大家可以使用virtualbox安装一个CENTOS6.5系统,或者直接购买一个安装了centos系统的云主机,国内推荐阿里云,橙云主机其实也不错,不过我个人在使用过程中感觉速度不是很理想,特别是磁盘性能方面。国外的大家根据实际情况选择吧,我这里就不推荐了,免得被说是广告。
登录服务器实现远程控制
windows用户推荐使用Xshell(下载地址)
mac用户可以使用系统终端工具
登录服务器之后就可以开始命令行操作了
查看你当前所在的位置 pwd( print working directory)
pwd
会显示当前的位置,例如:
/root
改变你所在的目录位置 cd( change directory)
cd/home
会让你进入到根目录下面的 home这个目录里面,/表示根目录,如果用 pwd查看一下会返回:
/home
另外cd/root= cd~
列出目录里的东西 ls
ls
ls命令应该是 list的简称,列出的意思,这个命令可以配合一些参数,例如:
ls-la
这样会使用更详细的形式列出文件与目录,并且会包含目录里面隐藏的文件,l表示 long,a表示 all。在命令的后面你可以指定具体要列出的目录,例如:
ls-la/usr/local
这会列出在系统根目录下面的 usr目录下面的 local这个目录里的所有的东西。如果想查看命令详细的使用说明,可以加上 help参数:
ls--help
现在,你已经学会了一个简单的 ls命令去列出目录里的东西,在使用其它命令的时候,你也可以这样来用,你知道命令的后面可以添加一些参数,去做更具体的事情,想得到命令的使用说明,就去在命令后面添加一个 help参数,命令的后面也可以添加更具体的信息,比如一个目录的位置,一个文件的名称等等。
创建目录 mkdir( make directory)
mkdir
下面,我们可以在你当前所在的位置去创建一个新的目录,记得使用 pwd命令确定一下你的位置:
mkdir www
上面这行命令会在当前位置上去创建一个叫 www的目录。使用 ls命令,可以查看一下当前目录里面的东西。在安装WDCP时,我们要在根目录下创建一个WWW目录来挂载数据盘,使用的命令应该是
mkdir/www
删除目录或文件 rm( remove)
rm
在命令的后面,加上你想要删除的东西,可能是一个目录的名称,或者一个文件的名称。注意想要删除目录的时候,你需要添加两个参数:-r-f,可以将两个参数系在一起,如-rf
rm-rf www
这里,r参数可以让 rm命令递归删除目录及其内容,f参数是 force,表示强制删除。合起来这行命令的意思是,递归的强制删除 www这个目录,以及这个目录里面的所有的东西。
编辑文件 vi:
vi hello.txt
上面的命令会去编辑当前目录下面的 hello.txt这个文件,如果这个文件不存在,会打开一个空白的文件,这样你在保存并退出以后,就可以创建一个叫做 hello.txt的文件。vi工具的使用需要配合一些按键,比如打开文件以后,你想编辑这个文件,可以进入到编辑模式,按一下键盘上的 i键或者insert键,然后用上下左右按键去浏览到文件的某个位置上。编辑好以后,要按一下 esc键,退出编辑模式,然后输入:(冒号),再输入 wq,表示保存并退出。如果你不想保存所做的修改,可以输入: q。有的时候,在编辑一些只读文件,你需要再添加一个!,比如:wq!,或者 q!。
i,输入编辑模式。
esc,退出模式。
:wq,保存文件并退出。
:wq!,强制保存并退出。
:q,直接退出不保存修改。
/,可以进行搜索,在/后面加上要搜索的文字,然后回车。
n,可以查找下一处。
N,可以查找上一处。
ctrl+f,向后翻页。
ctrl+b,向前翻页。
详细的使用说明,可以查看 vi命令的帮助,vi help。
移动/重命名目录或文件 mv( move)
移动或重命名目录或者文件,使用的是同一个命令:
mv要移动的目录/文件移动之后的目录/文件
在这个后面先指一定想要移动的目录或者文件的位置,一个空格,后面再加上移动以后的目录和文件所在的位置。这里我们得先理解一下几个路径的意思:
/
表示系统的根目录。
~
表示当前所登录的用户的主目录。
.
一个点表示当前的目录。
../
两个点加一个斜线,表示上一级目录。
../../
表示上两级目录。知道了这些,我们就可以去移动目录或文件了。
mv www www1
上面这行命令的意思是,把当前目录里面的 www这个目录重命名为 www1。
mv www1../
这样会把 www1这个目录移动到当前目录的上一级目录下面,你可以进入到当前目录的上一级目录:
cd../
然后列出目录里面的东西:
ls
看到 www1目录了吗?删除它可以使用 rm命令加上 rf参数:
rm-rf www1
再用 ls看一下,是不是 www1已经不在了。
*号表示所有的文件或目录,比如你想把某个目录下面的所有的目录或文件移动到某个地方,可以这样:
mv/home/www/web1/*/home/www/gb1982
上面命令会把/home/www/web1里面的东西全部都移动到/home/www/gb1982这个目录里面。
复制目录或文件 cp( copy)
cp要复制的东西要复制到哪里
比如你当前目录下面有一个 hello.txt文件,你想复制一份,复制以后的文件叫 hello.bak,可以这样:
cp hello.txt hello.bak
你想把 hello.bak复制到某个目录的下面:
cp hello.bak/home/bak
这样会把 hello.bak这个文件复制到/home/bak里面,注意,bak这个目录必须已经存在了。
复制目录,你需要添加一个-R的参数,它会递归的去复制目录以及目录里面的所有的东西。比如要把 www这个目录复制一份,复制以后的目录名是 www1:
cp-R www www1
Centos7.x Redis6.2.5 Cluster搭建
官方地址:
前提条件:
Redis Cluster不使用一致性哈希,而是使用不同形式的分片每个键在概念上都是我们所谓的哈希槽的一部分。
Redis Cluster有 16384个哈希槽,计算哈希值是多少给定密钥的插槽,我们只需取密钥的 CRC16模 16384。
Redis集群中的每个节点都负责哈希槽的一个子集,例如,您可能有一个包含 3个节点的集群,其中:
节点 A包含从 0到 5500的哈希槽。
节点 B包含从 5501到 11000的哈希槽。
节点 C包含从 11001到 16383的哈希槽。
如果报错 ERR This instance has cluster support disabled的话,说明集群未开启。
本例子是在一台服务器上面做的实验,只是创建了6个目录,启了6个redis-server而已。
创建一个 redis.conf每个目录中的文件,从 7000到 7005。作为配置文件的模板,只需使用上面的小示例,但一定要更换端口号 7000使用正确的端口号根据目录名。
通过 ps aux|grep redis查看redis的启动情况。
如果不想通过配置和执行来创建Redis集群如上所述,手动单个实例,有一个更简单的系统(但您不会了解相同数量的操作细节)。
只需检查 utils/create-clusterRedis发行版中的目录。有一个脚本叫做 create-cluster里面(与目录同名它包含在)中,它是一个简单的 bash脚本。为了开始一个有 3个主节点和 3个从节点的 6节点集群只需输入以下内容命令:
回复 yes在第 2步中,当 redis-cli实用程序要你接受集群布局。
您现在可以与集群交互,第一个节点将从端口 30001开始默认情况下。完成后,使用以下命令停止集群:
请阅读 README在此目录中以获取有关如何操作的更多信息运行脚本。
create-cluster.sh
集群信息
集群节点
我上面的例子我们可以看出,设置的key会被分配到不同的实例去。
现在很多的sdk都支持move,例如:phpredis。
我们先查看下当前的集群情况。
目前 7000, 7001, 7002是 master角色, 7003, 7004, 7005是 slave角色。
然后我们将 7001这个端口的redis服务的进程杀掉。
7004.log日志,发现 7001主挂了,然后将自己升级为master。
查询当前的集群状态如下:
我们可以看出, 7004升级了 master, 7001是 fail状态。
启动 7001的redis服务。
7001.log中可以发现,自己变成了 slave。
此时我们再来看下集群情况:
目前 7000, 7002, 7004是 master角色, 7001, 7003, 7005是 slave角色,自动进行了故障切换。
如果配置了 requirepass的话, masterauth必须需要配置,不然 master与 slave不能自动切换。
修改配置文件 redis.conf中的 cluster-enabled参数的值为 yes并把参数前#去除,重启Redis服务器。
在命令尾部追加 2>/dev/null即可。
我们继续在 cluster-test目录下,创建 7006目录,配置和之前的一样,不同就是端口以及日志路径,然后启动服务即可。
看下最新的集群情况
添加一个 7006的从节点。
在 cluster-test目录下,创建 7007目录,配置和之前的一样,不同就是端口以及日志路径,然后启动服务即可。
看下最新的集群情况
从上面集群情况可以看出了问题,新增加的 7006, 7007的虽然增加到了集群里面,但是没有分配slot。
分配后的集群情况
缩容前:
将 7006的slot给了 7000。
缩容后:
删除了 7006, 7007后的集群情况
centos 怎样写linux命令
Linux的常用基本命令。
首先启动Linux。启动完毕后需要进行用户的登录,选择登陆的用户不同自然权限也不一样,其中“系统管理员”拥有最高权限。
在启动Linux后屏幕出现如下界面显示:
……
Red Hat Linux release 9(Shrike)
Kernel2.4.20.8 on an i686
login:
输入:root(管理员名)后,计算机显示输口令(password:),输入你的口令即可。当计算机出现一个“#”提示符时,表明你登录成功!
屏幕显示Linux提示符:[root@localhost root]#_
这里需要说明的是“Red Hat Linux release 9(Shrike)”表示当前使用的操作系统的名称及版本。“2.4.20.8”表示Linux操作系统的核
心版本编号。“i686”表示该台电脑使用的CPU的等级。
下面我们来介绍常用基本命令
一,注销,关机,重启
注销系统的logout命令
1,Logout注销是登陆的相对操作,登陆系统后,若要离开系统,用户只要直接下达logout命令即可:
[root@localhost root]#logout
Red Hat Linuxrelease 9(Shike)
Kernel2.4.20.8 on an i686
Login:←回到登陆的画面
2,关机或重新启动的shutdown命令
Shutdown命令可以关闭所有程序,依照用户的需要,重新启动或关机。
参数说明如下:
立即关机:-h参数让系统立即关机。范例如下:
[root@localhost root]#shutdown–h now←要求系统立即关机
指定关机时间:time参数可指定关机的时间;或设置多久时间后运行shutdown命令,范例如下:
[root@localhost root]#shutdown now←立刻关机
[root@localhost root]#shutdown+5← 5分钟后关机
[root@localhost root]#shutdown 10:30←在10:30时关机
关机后自动重启:-r参数设置关机后重新启动。范例如下:
[root@localhost root]#shutdown-r now←立刻关闭系统并重启
[root@localhost root]#shutdown-r 23:59←指定在23:59时重启动
3,重新启动计算机的reboot命令
顾名思义,reboot命令是用来重新启动系统的。常用的参数如下:
-f参数:不依正常的程序运行关机,直接关闭系统并重新启动计算机。
-I参数:在在重新启动之前关闭所有网络接口。
虽然reboot命令有个参数可以使用,但是一般只需要单独运行reboot命令就可以了
二,文件与目录的操作
1,列出文件列表的ls命令
ls(list)命令是非常有用的命令,用来显示当前目录中的文件和子目录列表。配合参数的使用,能以不同的方式显示目录内容。范例
如下:
显示当前目录的内容:
[tony@free tony]$ ls
Desktop mail myinstall.log test.txt←有两个目录及两个文件夹
当运行ls命令时,并不会显示名称以“.”开头的文件。因此可加上“-a”参数指定要列出这些文件。范例如下:
[tony@free tony]$ ls–a
以“-s”参数显示每个文件所有的空间,并以“-S”参数指定按所有占用空间的大小排序。范例如下:
[tony@free tony]$ ls–s–S
总计36
4 Desktop 4 mail 24 myinstall.log 4 test.txt
在ls命令后直接加上欲显示的目录路径,就会列出该目录的内容。范例如下:
[tony@free tony]$ ls–l/usr/games
2,切换目录的cd命令
cd(change directory)命令可让用户切当前所在的目录。范例如下:
[tony@free home]$ cd tony←切换到当前目录下的tony子目录
[tony@free tony]$ cd..←切换到上一层目录
[tony@free home]$ cd/←切换到系统根目录
[tony@free/]$ cd←切换到用户主目录
[tony@free tony]$ cd/usr/bin←切换到/usr/bin目录
3,创建目录的mkdir命令
Mkdir(make directory)命令可用来创建子目录。下面的范例会在所在目录下创建tool子目录。
[tony@free tony]$ mkdir tool
4,删除目录的rmdir命令
rmdir(remove directory)命令可用来删除“空”的子目录。范例如下:
[tony@free tony]$ rmdir tool←删除tool目录
5,复制文件的cp命令
cp(copy)命令可以将文件从一处复制到另一处。一般在使用cp命令将以个文件复制成另一个文件或复制到某个目录时,需要指定原始文件
名与目的文件名或目录。范例如下:
[tony@free tony]$ cp data1.txt data2.txt←将data1.txt复制成data2.txt
[tony@free tony]$ cp data3.txt/tmp/data←将data3复制到/tmp/data目录中
显示复制过程:加入-v参数可显示命令执行过程。范例如下:
[tony@free tony]$ cp zip.txt zip2.txt←一般状态下不会显示复制过程
[tony@free tony]$ cp–v zip.txt zip3.txt←以-v显示复制过程
zip.txt->zip3.txt
递回复制:加入“-R”参数可同时复制目录下的所有文件及子目录。范例如下:
[tony@free tony]$ cp–v–R* backup←将所有文件(含子目录文件)复制到backup目录
6,删除文件或目录的rm命令
rm(remove)命令可以删除文件或目录。范例如下:
[tony@free tony]$ rm myfile←删除指定的文件
[tony@free tony]$ rm*←删除当前目录中的所有文件
rm命令的常用参数如下:
强迫删除:使用-f参数时,rm命令会直接删除文件,不再询问。范例如下:
[tony@free tony]$ rm–f*.txt←强迫删除文件
递回删除:-r也是一个相当常用的参数,使用此参数可同时删除指定目录下的所有文件及子目录。范例如下:
[tony@free tony]$ rm–r data←删除data目录(含data目录下所有文件和子目录)
[tony@free tony]$ rm–r*←删除所有文件(含当前目录所有文件,所有子目录和子目录下的文件)
强制删除指定目录:当使用-r参数删除目录时,若该目录下有许多子目录及文件,则系统会不间断地询问,以确认您的确要删除
目录或文件。若已确定要删除所存目录及文件,则可以使用-rf参数,如此一来,系统将直接删除该目录中所有的文件及子目录,不再询问。范
例如下:
[tony@free tony]$ rm–rf tmp强制删除tmp目录及该目录下所有文件及子目录
显示删除过程:使用-v参数。范例如下:
[tony@free tony]$ rm–v
7,让显示画面暂停的more命令
为了避免画面显示瞬间就闪过去,用户可以使用more命令,让画面在显示满一页时暂停,此时可按空格键继续显示下一个画面,或按Q键停
止显示。
当使用ls命令查看文件列表时,若文件太多则可以配合more命令使用。范例如下:
[tony@free bin]$ ls–al more
单独使用more命令时,可用来显示文字文件的内容。范例如下:
[tony@free tony]$ more data.txt
8,连接文件的cat命令
cat(concatenate)命令可以显示文件的内容(经常和more命令搭配使用),或是将数个文件合并成一个文件。范例如下:
逐页显示 preface.txt的内容:
[tony@free tony]$ cat preface.txt more
将preface.txt附加到outline.txt文件之后:
[tony@free tony]$ cat preface.txt>> outline.txt
将new.txt和info.txt合并成readme.txt文件:
[tony@free tony]$ cat new.txt info.txt>readme.txt
9,移动或更换文件,目录名称的mv命令
mv(move)命令可以将文件及目录移动到另一个目录下面,或更换文件及目录的名称。范例如下:
[tony@free backup]$ mv a.txt..←将a.txt文件移到上层目录
[tony@free backup]$ mv z1.txt z3.txt←将 z1.txt改名成z3.txt
[tony@free backup]$ cd..←切换到上一层目录
[tony@free tony]$ mv backup..← backup目录上移一层
10,显示当前所在目录的pwd命令
pwd(print working directory)命令可显示用户当前所在的目录。范例如下:
[tony@free tony]$ pwd
/home/tony←当前所在目录为“/home/tony”
11,查找文件的locate命令
locate命令可用来搜索包含指定条件字符串的文件或目录。范例如下:
[tony@free tony]$ locate zh_CN列出所有包含“zh_CN”字符串的文件和目录。
由于locate命令是从系统中保存文件及目录名称的数据库中搜索文件,虽然系统会定时更新数据库,但对于刚新增或删除的文件、目录,
仍然可能会因为数据库尚未更新而无法查得,此时可用root身份运行updatedb命令更新,为此数据库得内容正确。
12,搜索字符串得grep命令
grep命令可以搜索特定字符串来并显示出来,一般用来过滤先前得结果,避免显示太多不必要得信息。范例如下:
[tony@free etc]$ grep text*.conf←搜索当前目录中扩展名为.conf且包含“text”字符串得文件。
grep:amd.conf:←拒绝不符权限得操作
grep:diskcheck.conf:←拒绝不符权限得操作
grep:grub.conf←拒绝不符权限得操作
若您是使用一般权限的用户运行,上例的输出结果会包含很多如“拒绝不符权限的操作之类的错误信息,可使用-s参数消除。
[tony@free etc]$ grep–s text*.conf
13,重导与管道
重导(redirect)可将某命令的结果输出导文件中,它有两中命令:“>”和“>>”。“>”可将结果输出到文件中,该文件原有的内容会被
删除:“>>”则将结果附加到文件中,原文件内容不会被清除。范例如下:
[tony@free tony]$ ls–a>dir.txt←将ls–a命令执行结果输出到dir.txt文件。
[tony@free tony]$ cat data1.txt>> data2.txt←将 data1.txt内容附加到data2.txt文件之后。
通道(pipe)命令的符号是“”,可将某命令的结果输出给另一命令,一下范例将ls命令的输出结果传给grep命令过滤:
[tony@free etc]$ ls gerp conf←搜索并显示ls命令运行结果中包含有“conf”字符串
在举一个删除文件或目录的例子,可以利用yes命令重复输出“y”字符的特性,将结果传给rm命令,如此即可避免重复输入“y”:
[tony@free tony]$ yes rm–r mydir
三,使用光盘及软盘
在Linux的文字模式下要使用光盘或软盘,并不是只将光盘或软盘放入即可,用户需要运行加载的命令,才可读写数据。所谓加载就是将存
储介质(如光盘和软盘)指定成系统中的某个目录(如/mnt/cdrom或mnt/floppy)。通过直接存取此加载目录,即可读写存储介质中的数据。
以下就来看看文字模式下的加载及卸载命令。
1,加载的mount命令
要使用光盘时先把光盘放入光驱,然后执行加载的mount命令,将光盘加载至系统中:
[tony@free tony]# mount/dev/cdrom/mut/cdrom←加载光盘
同理,使用软盘之前也需要和光盘一样,必须先加载后才能使用:
[tony@free tony]# mount/dev/fd0/mut/floppy←加载软盘
2,卸载的umount命令
如果不需要使用光盘或软盘,则需先执行卸载命令之后,才能将光盘或软盘退出。范例如下:
[tony@free tony]# umount/ mnt/cdrom←光盘卸载
在不使用软盘时执行umount命令卸载软盘,再将软盘拿出
[tony@free tony]# umount/ mnt/←软盘卸载
四,在后台运行程序
用户有时的程序有可能要花费很多时间,如果将它放在前台运行,将导致无法继续做其他事情,最好的方法就是将它放在后台运行,甚至
可能希望在用户注销系统后,程序还可以继续运行。让我们看看那如何实现这一目的。
1,在后台运行程序的&、bg命令
将程序放到后台运行的最简单方法就是在命令最后加上“&”,范例如下:
[tony@free root]# updatedb&←在后台执行 locate数据库更新命令
[tony@free root]# bg←将更新操作放到后台运行
2,前台运行的程序fg命令
如果用户当前已有程序在后台运行,可以输入fg命令,将它从背景中移到前台运行:
[tony@free root]# fg←放到前台执行的命令会显示出来
3,在退出后让程序继续运行的nohup命令
此命令可使用户退出系统后,程序继续运行。范例如下:
[tony@free rony]$ nohup myserver&
然后用户就可以退出了,当再次登录的时候,可以用ps–aux命令看到程序仍在后台中运行。
五,任务调度命令
计算机有很多程序需要周期性的被运用,例如清理磁盘中不要的暂存盘、备份系统数据、检查远程服务器的邮件等。对于这些重复性的工
作,其实不需要每次都辛苦地运行这些程序。可利用任务调度命令,指定系统定期在某个时间运行这些程序,轻轻松松完成想要执行的工作。
任务调度的crond常驻命令
crond是Linux用来定期执行程序的命令。当安装完成操作系统后,默认便会启动此任务调动命令。crond命令每分钟会定期检查是否有要
执行的工作,如果有要执行的工作,便会自动执行该工作。由于任务调度中间的操作过程十分繁杂,我们只将任务调度文件的写法介绍给大家
,供大家参阅:
Minute Hour Day Month DayOfWeek Command
在这段文字中除了“Command”是每次都必须指定的字段以外,其他自动皆可视需求自行决定是否指定。
六,任务调度的系统工作
/ect/crontab/文件是Linux系统工程的任务调度设置文件,其默认的内容如下:
SHELL=/bin/bash←指定执行任务调度工作时所使用的SHELL
PATH=/shin:/bin:/usr/sbin:/usr/bin←指定命令搜索的路径
MAILTO=root←指定将输出结果给root用户
HOME=/←指定跟目录