sudovim/etc/hostname然后直接修改hostname文档中的主机名即可。重启后生效,或者直接执行命令:hostname主机名。
vim/etc/sysconfig/network然后设置主机名:HOSTNAME=xxx
centos6.10:vim/etc/sysconfig/network-scripts/ifcfg-eth0centos7.7,centos8:vim/etc/sysconfig/network-scripts/ifcfg-ens33BOOTPROTO="static"DEFROUTE="yes"IPV4_FAILURE_FATAL="no"IPV6INIT="yes"IPV6_AUTOCONF="yes"IPV6_DEFROUTE="yes"IPV6_FAILURE_FATAL="no"IPV6_ADDR_GEN_MODE="stable-privacy"NAME="ens33"UUID="1738c25c-cbd7-42cd-bf2f-2c203ee15148"DEVICE="ens33"ONBOOT="yes"
IPADDR=192.168.6.16NETMASK=255.255.255.0GATEWAY=192.168.6.1DNS1=221.228.255.1DNS2=218.2.135.1PREFIX=24IPV6_PEERDNS=yesIPV6_PEERROUTES=yesIPV6_PRIVACY=no
参数说明:DEVICE:此配置文件应用到的设备HWADDR:对应的设备的MAC地址BOOTPROTO:激活此设备时使用的地址配置协议,常用的dhcp,static,none,bootpNM_CONTROLLED:NM是NetworkManager的简写,此网卡是否接受NM控制;建议CentOS6为“no”ONBOOT:在系统引导时是否激活此设备TYPE:接口类型;常见有的Ethernet,BridgeUUID:设备的惟一标识IPADDR:指明IP地址NETMASK:子网掩码GATEWAY:默认网关DNS1:第一个DNS服务器指向DNS2:第二个DNS服务器指向USERCTL:普通用户是否可控制此设备IPV4_FAILURE_FATAL如果为yes,则ipv4配置失败禁用设备最后重启网卡服务:systemctlrestartnetwork
yuminstall-yntpservicentpdstart启动ntp服务chkconfigntpdon设置开机启动同步大概需要5-10分钟,然后查看是否已经是同步状态即可:ntpstat
centos8默认不支持ntp了,改为使用chrony,也很简单。不过有报错timeout
vim/etc/selinux/config这一行注释掉:SELINUX=enforcing增加这一行:SELINUX=disabled
查看防火墙状态:systemctlstatusfirewalld.service绿的running表示防火墙开启关闭防火墙:systemctlstopfirewalld.service再次查看防火墙:systemctlstatusfirewalld.service开机自启防火墙:systemctlenablefirewalld.service开机时禁止防火墙自启:systemctldisablefirewalld.service
关闭防火墙:serviceiptablesstop开机是禁止防火墙自启:chkconfigiptablesoff
本地拷贝,可以使用cp命令的-n参数,但scp却没这个参数,所以不能使用scp命令,但是可以使用rsync命令,它比scp更强大,支持“不覆盖”原目录。安装:yum-yinstallrsync
eg1.rsync-avz--progress/root/client/root@202.112.23.12:/home/work/
eg2.rsync-avzuq--progress/root/.halo/upload/asus:/home/witt/Bak/.halo/upload/
1、赋予脚本可执行权限(/opt/script/psubscribe.sh是你的脚本路径)chmod777/data/aliyun51015cn/redisChannel/psubscribe.sh2、打开/etc/rc.d/rc.local文件,在末尾增加如下内容echo"/data/aliyun51015cn/redisChannel/psubscribe.sh">>/etc/rc.d/rc.local3、在centos7中,/etc/rc.d/rc.local的权限被降低了,所以需要执行如下命令赋予其可执行权限chmod+x/etc/rc.d/rc.local
crontab-e@reboot(sleep60;/usr/local/sbin/halostart)方法三(实测无效,按照这个方法操作后,无法远程ssh到主机了)1、首先创建控制程序的脚本为了方便演示,将启动和停止函数中代码修改为了对应的echo命令输出信息;使用时替换掉StartAgent()和StopAgent()函数内代码即可!
[root@imzcy~]#chmodu+ximzcy.sh[root@imzcy~]#./imzcy.shstartstartscript...[root@imzcy~]#[root@imzcy~]#./imzcy.shstopstopscript...[root@imzcy~]#[root@imzcy~]#./imzcy.shrestartstopscript...startscript...[root@imzcy~]#[root@imzcy~]#./imzcy.shtestUsage:./imzcy.sh{start|stop|restart}3、使用chkconfig命令将脚本添加为系统服务,并测试启动和停止服务
[root@imzcy~]#cpimzcy.sh/etc/init.d/imzcy[root@imzcy~]#chmod755/etc/init.d/imzcy[root@imzcy~]#chkconfig--addimzcy[root@imzcy~]#serviceimzcystartstartscript...[root@imzcy~]#serviceimzcystopstopscript...4、常见问题4.1、将脚本添加为服务时报错:服务不支持chkconfig
[root@imzcy~]#chkconfig--addimzcyimzcy服务不支持chkconfig解决方法:出现上面那个报错,一般是/etc/init.d/下自定义的脚本中没有指明运行级别及启动、停止优先级。请尽量在脚本文件的第二行指明以下配置,以免遗漏。#chkconfig:23457980
eg.设置halo系统的开机自启。虽然halo的启动是java-jar,并非shell脚本,不过两者差不多的。而且,这个可以作为一个模板。
[root@S-CentOShome]#cat/proc/versionLinuxversion2.6.32-431.el6.x86_64(mockbuild@c6b8.bsys.dev.centos.org)(gccversion4.4.720120313(RedHat4.4.7-4)(GCC))#1SMPFriNov2203:15:09UTC2013weblogic@tynr1618-sit:/tmp/test>cat/proc/versionLinuxversion3.0.76-0.11-default(geeko@buildhost)(gccversion4.3.4[gcc-4_3-branchrevision152973](SUSELinux))#1SMPFriJun1408:21:43UTC2013(ccab990)[root@S-CentOShome]#uname-aLinuxS-CentOS2.6.32-431.el6.x86_64#1SMPFriNov2203:15:09UTC2013x86_64x86_64x86_64GNU/Linuxweblogic@tynr1618-sit:/tmp/test>uname-aLinuxtynr1618-sit3.0.76-0.11-default#1SMPFriJun1408:21:43UTC2013(ccab990)x86_64x86_64x86_64GNU/Linux13手动设置时区13.1centos7,centos8中#查看时区信息[root@tmpt01~]#timedatectl#设置为Shanghai时区[root@tmpt01~]#timedatectlset-timezoneAsia/Shanghai也可以先生成时区配置文件Asia/Shanghai,用交互式命令tzselect即可;再拷贝该时区文件,覆盖系统本地时区配置:
initscripts.x86_649.49.30-1.el7_2.3updates2、执行:yuminstallinitscripts
执行systemctlstartnfs-server或systemctlstartnfs-server报错:
[root@node6/]#systemctlstatusnfs-server●nfs-server.service-NFSserverandservicesLoaded:loaded(/usr/lib/systemd/system/nfs-server.service;enabled;vendorpreset:disabled)Drop-In:/run/systemd/generator/nfs-server.service.d└─order-with-mounts.confActive:failed(Result:exit-code)sinceThu2020-02-1322:40:33CST;2min2sagoProcess:2322ExecStopPost=/usr/sbin/exportfs-f(code=exited,status=0/SUCCESS)Process:2321ExecStopPost=/usr/sbin/exportfs-au(code=exited,status=0/SUCCESS)Process:2301ExecStartPre=/usr/sbin/exportfs-r(code=exited,status=1/FAILURE)MainPID:1236(code=exited,status=0/SUCCESS)初步原因:/etc/exports中有设置共享的文件夹。解决方法:删除/etc/exports中设置的共享文件夹,再次启动即可。
再次在/etc/exports中设置共享文件夹后,使用exportfs实用程序有选择地导出目录(无需重新启动NFS服务):$sudoexportfs-rav报错:exportfs:/sharedoesnotsupportNFSexport原因:可能时版本不兼容。当前是centos8版本,安装的是nfs-utils-1:2.3.3-26.el8.x86_64,在centos7中安装的nfs-utils.x86_641:1.3.0-0.65.el7,可以正常使用。解决方法:更换为centos7的docker镜像。
vim/etc/rc.local#在末尾添加如下语句,可启动后自动执行生效ifconfigeth0:1172.17.0.16broadcast172.17.255.255netmask255.255.0.0uprouteadd-host172.17.0.16deveth0:1ifconfigeth0:2172.17.0.122broadcast172.17.255.255netmask255.255.0.0uprouteadd-host172.17.0.122deveth0:2vim/etc/rc.local#在末尾添加如下语句,可启动后自动执行生效ifconfigeth0172.17.0.11最后千万记得赋予可执行权限:chmod+x/etc/rc.d/rc.local
每次执行:nohupjava-Xms256m-Xmx256m-jar/root/.halo/halo-1.1.1.jar>/root/.halo/halo.log&,都会有一个提示nohup:redirectingstderrtostdout,翻译过来就是“重定向标准错误到标准输出”。现象是控制台输出的信息一部分输出到了我指定的文件,另一部分却输出到了nohup.out,而我是不想让它产生nohup.out文件。解决方法:“&”改成“2>&1&”。即nohupjava-Xms256m-Xmx256m-jar/root/.halo/halo-1.1.1.jar>/root/.halo/halo.log2>&1&2>表示把标准错误(stderr)重定向,标准输出(stdout)是1。尖括号后面可以跟文件名,或者是&1,&2,分别表示重定向到标准输出和标准错误。eg.2>&1;1>&2;2>stderr.log;1>stdout.log
扩展:
创建文件:touchitcastecho‘sldkjf’>itcast3vivimitcast2-->iao进入编辑模式保存文本文件::wq:q:q!在vi/vim打开的文本文件内查找文本:/HADOOP查找下一个按n/N
创建目录:mkdiritcast4删除目录:rmitcast4如果其下有多个子目录的情况:rm–rfitcast4rmdiritcast5从一个目录中删除一个或多个子目录项修改目录名称:mvitcast4itcast444
catfilenamehead-n2itcast6查看大文件,查看该文件的头2行.equalshead-2itcast6tail-100itcast6查看该文件的末尾100行tail-fitcast6监视该文件的末尾10行(默认)tail-100fitcast6查看大文件,监视该文件的末尾100行(不写数字的话,默认10行),不断刷新。
find.-typef-name'itcast'-size+100M查找itcast开头的文件find.-typed-name'itcast'-execrm-rf{};查找并删除itcast开头的目录find/home-userroot-typef-ls查找所有者为hadoop,且类型为文件的文件,并列举出来find/-perm777-typel-ls查找权限为777,且类型为链接的文件,并列举出来注意:find命令不能搜索文件内部的文本!
ps-ef|grepsshd查找指定ssh服务进程ps-ef|grepsshd|grep-vgrep查找指定服务进程,排除gerp本身ps-ef|grepsshd–c查找指定进程个数cata.txt|grep-fb.txt从文件中读取关键词进行搜索输出a.txt文件中含有从b.txt文件中读取出的关键词的内容行cata.txt|grep–nfb.txt从文件中读取关键词进行搜索,显示行号grep-n'hello'a.txt从文件中查找关键词,并显示行号cattest.txt|grep^u找出以u开头的行内容cattest.txt|grep[u]输出非u开头的行内容cattest.txt|grephat$输出以hat结尾的行内容cattest.txt|grep-E"ed|at"显示包含ed或者at字符的内容行
练习:通过xargs杀死某一批进程:方法一、传统方法kill-9pid?以下内容了解即可,不常用到:locate:很快速的搜寻档案系统内是否某些字符串开头的文件updatedblocate/etc/shlocatepwdwhereis查找可执行文件、源代码文件(即命令)which:查找系统环境变量中的可执行命令。(范围比whereis狭窄,只在path环境变量中查找)
tar-zcvf打包压缩文件名.tar.gz被压缩的文件/目录
tar-zxvf打包文件.tar.gz
tar-zxvf打包文件.tar.gz-C目录路径-z用gzip格式来压缩/解压缩,后缀名为.tar.gz-f压缩/解压缩的文件名所以其后一定要跟一个压缩文件名称
命令英文含义-zgzip使用gzip压缩和解压缩,后缀名为.tar.gz-jbzip2使用bzip2压缩和解压缩,后缀名为.tar.bz2-ccreate生成档案文件,创建打包文件-vverbosely(啰嗦的)像唐僧一样报告进度-ffile指定档案的文件名称,f后面一定是.tar文件,所以必须放到左后-xextract(提取)解包-C(大写C)directory(目录)默认保存到当前目录,通过-C更改解压目录,注意:解压目录必须存在
eg1.tar-zxvftest.tar.gz-Ctes2/#解压缩到指定目录eg2.zip-q-rdata.zip/home/data#将/home/data这个目录下的所有文件打包压缩为当前目录下的data.zipeg3.unziptest.zip-d/tmp#将压缩文件text.zip在指定目录/tmp下解压缩
sudovim/etc/profile使普通用户临时具有root账户的权限。只需输入自己账户的密码即可。前提:该用户必须在/etc/sudoers文件中有配置项。
命令visudo:hadoopALL=(ALL)ALL
eg.hadoopnode-23=(allen)/bin/kill让hadoop用户在node-23主机上以allen的身份执行kill命令.
添加用户:useraddhadoop设置密码:passwdhadoop普通用户创建后,都会在/home/下创建一个文件夹,root特殊,其家目录有一个自己独立的目录/root/
以树状图列出目录中的内容。tree#defaultdirectoryisthecurrentdirectorytree/root#specifythedirectorytree-d#showonlydirectoriestree-Lnum目录#显示几层目录yum-yinstalltree#安装tree组件yum-yremovetree#卸载tree组件
命令1&&命令2:如果命令1执行成功了,才执行命令2命令1||命令2:如果命令1执行失败了,才执行命令2
Aninodeinyourcontextisadatastructurethatrepresentsafile.Adentriesisadatastructurethatrepresentsadirectory.在这个上下文中的inode是表示文件的数据结构,而dentries是表示目录的数据结构。Thesestructurescouldbeusedtobuildamemorycachethatrepresentsthefilestructureonadisk.Togetadirectlylisting,theOScouldgotothedentries–ifthedirectoryisthere–listitscontents(aseriesofinodes).Ifnotthere,gotothediskandreaditintomemorysothatitcanbeusedagain.这些结构可用于构建表示磁盘上的文件结构的内存高速缓存。为了直接获得列表,操作系统可以去dentries那里(如果目录在那里的话)列出其内容(一系列inode)。如果没有,则会去磁盘上将其读入内存,以便它可以再次使用。Thepagecachecouldcontainanymemorymappingstoblocksondisk.ThatcouldconceivablybebufferedI/O,memorymappedfiles,pagedareasofexecutables–anythingthattheOScouldholdinmemoryfromafile.页面缓存(pagecache)可以包含磁盘块的任何内存映射。这可以是缓冲I/O,内存映射文件,可执行文件的分页区域——操作系统可以从文件保存在内存中的任何内容。
如何释放pagecache/dentries/inodes:
Tofreepagecache:#echo1>/proc/sys/vm/drop_cachesTofreedentriesandinodes:#echo2>/proc/sys/vm/drop_cachesTofreepagecache,dentriesandinodes:#echo3>/proc/sys/vm/drop_caches小结:一般是执行2-4次sync命令,再执行echo3>/proc/sys/vm/drop_caches。注:/proc/sys/vm/drop_caches,该文件每次重启,内容都会重置为0
command&//将进程放在后台执行ctrl-z//暂停当前进程并放入后台jobs//查看当前后台任务bg//将任务转为后台执行fg//将任务调回前台kill//杀掉任务
如果我们在终端中直接运行一GUI程序,一般情况下,终端就会被当前进程占用了。如果我们想把它放到后台运行有两种方法:
bg将停止转换成运行。如果想要将任务切换回前台,可以利用fg%i命令。如果想要结束任务,可以利用kill%i命令。
先检查是否安装了lm_sensors:$rpm-qlm_sensors如果没有安装,就先安装sensors:$sudoyuminstall-ylm_sensors检测传感器:$sudosh-c"yes|sensors-detect"或者sensors-detect--auto(该命令执行的非常快,不知道到底有没有检测)如果以上步骤没有问题,执行下面的命令就可以查看CPU的温度了:$sensors查看结果如下:
如果要修改静态主机名,修改/etc/hostname修改好了之后,要重启一下服务器。输入reboot如果是centos7,可以仅仅重启服务:systemctlrestartsystemd-hostnamed查看主机名命令:hostname或cat/etc/hostname
Ubuntu/Debian:sudoapt-getinstallmemcachedRedhat/Fedora/Centos:yuminstallmemcached
容器开机启动:创建容器时候指定restart参数:dockerrun-it-p6379:6379--restart=always--nameredis-dredis对已经创建的容器用dockerupdate更新:dockerupdate--restart=alwaysxxx--restart具体参数值详细信息:no-容器退出时,不重启容器on-failure-只有在非0状态退出时才从新启动容器always-无论退出状态是如何,都重启容器
查看系统自带的mysql版本:rpm-qa|grepmysql卸载mysql:rpm-emysql-libs-5.1.73-8.el6_8.x86_64--nodeps
停止:servicemysqldstop
重启:servicemysqldrestart4.创建root管理员:mysqladmin-urootpasswordroot
5.登陆mysql-uroot-proot
6.root权限
GRANTALLPRIVILEGESON*.*TOroot@"%"IDENTIFIEDBY"root";flushprivileges;