CentOS自动化运维常用命令-学习笔记
- 格式:pdf
- 大小:147.97 KB
- 文档页数:10
CentOS运维常⽤命令1、添加系统帐号[root@localhost ~]# adduser gordon[root@localhost ~]# passwd gordon //新帐号添加密码,然后输⼊密码就完成了。
修改原有帐号,直接输⼊passwd2、普通系统帐号添加root权限visudo命令是⽤vim编辑修改/etc/sudoers配置⽂件[root@localhost ~]# visudo在“root ALL=(ALL) ALL”这⼀⾏下⾯,再加⼊⼀⾏:gordon ALL=(ALL) ALL #sudo⽆需输⼊密码 将原来的:gordon ALL=(ALL) ALL 修改为:gordon ALL=(ALL) NOPASSWD:ALL3、启⽤SFTP服务、修改SSH端⼝、禁⽤root远程ssh登录(1)启⽤SFTP服务#查看OpenSSH版本是否⼤于4.8p1。
$ ssh -V (注意:V⼤写)$ sudo groupadd sftpusers(2)禁⽤root远程ssh登录修改/etc/ssh/sshd_config⽂件,将#PermitRootLogin yes修改为PermitRootLogin no(3)修改SSH端⼝$ vi /etc/ssh/sshd_config #Port 22 //这⾏下⾯添加这⼀⾏ Port 58585先开启防⽕墙:$ systemctl start firewalld#查看firewalld状态:systemctl status firewalld;#关闭防⽕墙:systemctl stop firewalld$ firewall-cmd --zone=public --add-port=58585/tcp --permanent // (permanent是保存配置,不然下次重启以后这次修改⽆效)注意-重载防⽕墙:$ firewall-cmd --reload查看添加端⼝是否成功,如果添加成功则会显⽰yes,否则no$ firewall-cmd --zone=public --query-port=58585/tcp#重启sshd服务$ sudo systemctl restart sshd.service4、java与mysql安装java安装:mysql安装: mysql远程登录: mysql>grant all privileges on *.* to root@'%' identified by "password"; mysql>GRANT SElECT ON *.* TO 'username'@'%' IDENTIFIED BY "password"; mysql旧密码验证 mysql>ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'youpassword'; mysql表情符编码 utf8mb4 utf8mb4_general_ci。
基础文件管理命令1、你在哪之pwd命令pwd:print working directory ,也就是显示当前所在目录的意思用法:直接敲pwd即可2、改变你所在的目录之cd命令cd:change directory,也就是切换/改变目录的意思用法:cd [相对路径或绝对路径]相对路径:不是由/ 写起:比如由/usr/share/doc 到/usr/share/man 下面时,可以写成:cd ../man绝对路径:由根目录/ 写起:比如cd /usr/local/,表示切换到/usr/local目录下面那两点:“..”代表什么意思呢?下面来说一说一些特殊的目录. :代表此层目录;.. :代表上一层目录;- :代表前一个工作目录;~ :代表“当前登陆用户身份”所在的主目录;~account :代表account这个用户的主目录(account是个账户名称)。
特别注意:在所有目录下面都会存在的两个目录,分别是“.”和“..”,分别代表此层与上层目录的意思。
4 创建一个新目录:mkdir命令mkdir:make directory,即创建目录用法:mkdir [-p] 目录名称不加参数,直接敲“mkdir 目录名称”-p:创建多层目录3 删除一个目录之rmdir命令rmdir:remove directory,即移除/删除“空”目录用法:rmdir [-p] 目录名称-p:连同上层“空的”目录也一起删除举例:刚刚在/tmp里面创建了目录,我们来把他们删除rmdir仅能删除“空的目录”;所以当我们删除test1这个目录,提示删除失败,因为它不是“空”的目录,它里面有test2这个目录。
当我们加上-p参数,首先会删除test3这个目录,test3是“空”的目录,所以成功删除,这时候test2也变成“空”的目录了,所以也删除了,然后test1也变成了“空”的目录了,所以test1也被删除。
-p ,其实就是递归操作。
linux笔记全(⽆图版)1、ls 查看当前⽬录下的所有内容⿊⾊的是⽂件,蓝⾊的是⽂件夹,也就是⽬录2、rm -f anaconda-ks. cfg 彻底删除⽂件(如不确定,则需要先保存备份,也就是快照)3、ifconfig 查看⽹卡的配置信息(ip地址等)4、ifconfig ens33 192.168.18. 201 /24(⽹络地址/⼦⽹掩码)更改ip地址5、systemctl restart network 重启⽹络服务6、桥接模式,直接可以进⾏通信(同⼀⽹段,配置ip)7、能不能通信的2个条件:在同⼀个物理⽹络内,ip地址也在同⼀⽹段内8、仅主机模式,虚拟机和物理机不能进⾏通信,相当于虚拟机和物理机进⾏了隔离与笔记本(真机)通信截图9、NAT模式,⾃动分配⽹络地址和⽹关,以及dns,可以直接上⽹可以访问互联⽹内的主机,但互联⽹内的主机不能访问本机(max特点)10、route -n 查看⽹关11、cat /etc/resolv. conf 查看dns(注意cat后⾯有⼀个空格,空格不可少)12、验证nat模式可以直接上⽹13、shell:通常指linux的字符界⾯,图形界⾯和字符界⾯都属于shell,但图形界⾯的shell常称为gui,字符界⾯的shell常称为cli14、cat /etc/shells 查看⽂件内容(linux⾥⾯提供的所有的shell)15、linux默认使⽤的shell是bash的shell16、echo $SHELL 查看当前使⽤的shell17、shell默认指的是bash,它的应⽤是最⼴泛的18、linux是彻底的多⽤户多任务,它可以直接多个⽤户同时进⾏操作19、ctrl+alt+f2-f6 对应5个shell ctrl+alt+f1 开始图形界⾯shell 作⽤:如何开始shell(也就是如何打开命令界⾯)20、虚拟终端的缩写为tty, 在字符界⾯下执⾏“tty"命令就可以显⽰⽤户⽬前所在的终端编号(终端名称)。
CentOS7常⽤命令⼤全CentOS7 常⽤命令集合这两天⼀直在对CentOS 7.2进⾏初体验,各种学习命令肿么⽤,不过其实⼤多和DOS是⼀样的,只是命令的表达上可能有点⼉不⼀样,毕竟这些都不是⼀家出来的嘛~废话不多说,直接上命令和解析!常⽤命令⽂件与⽬录操作命令解析cd /home进⼊ ‘/home’ ⽬录cd ..返回上⼀级⽬录cd ../..返回上两级⽬录cd -返回上次所在⽬录cp file1 file2将file1复制为file2cp -a dir1 dir2复制⼀个⽬录cp -a /tmp/dir1 .复制⼀个⽬录到当前⼯作⽬录(.代表当前⽬录)ls查看⽬录中的⽂件ls -a显⽰隐藏⽂件ls -l显⽰详细信息ls -lrt按时间显⽰⽂件(l表⽰详细列表,r表⽰反向排序,t表⽰按时间排序)pwd显⽰⼯作路径mkdir dir1创建 ‘dir1’ ⽬录mkdir dir1 dir2同时创建两个⽬录mkdir -p /tmp/dir1/dir2创建⼀个⽬录树mv dir1 dir2移动/重命名⼀个⽬录rm -f file1删除 ‘file1’rm -rf dir1删除 ‘dir1’ ⽬录及其⼦⽬录内容查看⽂件内容命令解析cat file1从第⼀个字节开始正向查看⽂件的内容head -2 file1查看⼀个⽂件的前两⾏more file1查看⼀个长⽂件的内容tac file1从最后⼀⾏开始反向查看⼀个⽂件的内容tail -3 file1查看⼀个⽂件的最后三⾏vi file打开并浏览⽂件⽂本内容处理命令解析grep str /tmp/test在⽂件 ‘/tmp/test’ 中查找 “str”grep ^str /tmp/test在⽂件 ‘/tmp/test’ 中查找以 “str” 开始的⾏grep [0-9] /tmp/test查找 ‘/tmp/test’ ⽂件中所有包含数字的⾏grep str -r /tmp/*在⽬录 ‘/tmp’ 及其⼦⽬录中查找 “str”diff file1 file2找出两个⽂件的不同处sdiff file1 file2以对⽐的⽅式显⽰两个⽂件的不同vi file 操作解析i进⼊编辑⽂本模式Esc退出编辑⽂本模式:w保存当前修改:q不保存退出vi:wq保存当前修改并退出vi命令解析操作解析查询操作命令解析find / -name file1从 ‘/’ 开始进⼊根⽂件系统查找⽂件和⽬录find / -user user1查找属于⽤户 ‘user1’ 的⽂件和⽬录find /home/user1 -name *.bin在⽬录 ‘/ home/user1’ 中查找以 ‘.bin’ 结尾的⽂件find /usr/bin -type f -atime +100查找在过去100天内未被使⽤过的执⾏⽂件find /usr/bin -type f -mtime -10查找在10天内被创建或者修改过的⽂件locate *.ps寻找以 ‘.ps’ 结尾的⽂件,先运⾏ ‘updatedb’ 命令find -name ‘*.[ch]’ | xargs grep -E ‘expr’在当前⽬录及其⼦⽬录所有.c和.h⽂件中查找 ‘expr’find -type f -print0 | xargs -r0 grep -F ‘expr’在当前⽬录及其⼦⽬录的常规⽂件中查找 ‘expr’find -maxdepth 1 -type f | xargs grep -F ‘expr’在当前⽬录中查找 ‘expr’压缩、解压命令解析bzip2 file1压缩 file1bunzip2 file1.bz2解压 file1.bz2gzip file1压缩 file1gzip -9 file1最⼤程度压缩 file1gunzip file1.gz解压 file1.gztar -cvf archive.tar file1把file1打包成 archive.tar(-c: 建⽴压缩档案;-v: 显⽰所有过程;-f: 使⽤档案名字,是必须的,是最后⼀个参数)tar -cvf archive.tar file1dir1把 file1,dir1 打包成 archive.tartar -tf archive.tar显⽰⼀个包中的内容tar -xvf archive.tar释放⼀个包tar -xvf archive.tar -C /tmp把压缩包释放到 /tmp⽬录下zip file1.zip file1创建⼀个zip格式的压缩包zip -r file1.zip file1 dir1把⽂件和⽬录压缩成⼀个zip格式的压缩包unzip file1.zip解压⼀个zip格式的压缩包到当前⽬录unzip test.zip -d /tmp/解压⼀个zip格式的压缩包到 /tmp ⽬录yum安装器命令解析yum -y install [package]下载并安装⼀个rpm包yum localinstall [package.rpm]安装⼀个rpm包,使⽤你⾃⼰的软件仓库解决所有依赖关系yum -y update更新当前系统中安装的所有rpm包yum update [package]更新⼀个rpm包yum remove [package]删除⼀个rpm包yum list列出当前系统中安装的所有包yum search [package]在rpm仓库中搜寻软件包yum clean [package]清除缓存⽬录(/var/cache/yum)下的软件包yum clean headers删除所有头⽂件yum clean all删除所有缓存的包和头⽂件⽹络相关命令解析ifconfig eth0显⽰⼀个以太⽹卡的配置ifconfig eth0 192.168.1.1 netmask 255.255.255.0配置⽹卡的IP地址ifdown eth0禁⽤ ‘eth0’ ⽹络设备ifup eth0启⽤ ‘eth0’ ⽹络设备iwconfig eth1显⽰⼀个⽆线⽹卡的配置iwlist scan显⽰⽆线⽹络ip addr show显⽰⽹卡的IP地址系统相关命令解析su -切换到root权限(与su有区别)shutdown -h now关机shutdown -r now重启top罗列使⽤CPU资源最多的linux任务(输⼊q退出)pstree以树状图显⽰程序man ping查看参考⼿册(例如ping 命令)passwd修改密码df -h显⽰磁盘的使⽤情况cal -3显⽰前⼀个⽉,当前⽉以及下⼀个⽉的⽉历cal 10 1988显⽰指定⽉,年的⽉历date –date ‘1970-01-01 UTC 1427888888 seconds’把⼀相对于1970-01-01 00:00的秒数转换成时间XSheel 5相关操作窗体快捷键命令解析Ctrl + u删除光标之前到⾏⾸的字符Ctrl + k删除光标之前到⾏尾的字符Ctrl + c取消当前⾏输⼊的命令,相当于Ctrl + BreakCtrl + a光标移动到⾏⾸(ahead of line),相当于通常的Home键Ctrl + e光标移动到⾏尾(end of line)Ctrl + f光标向前(forward)移动⼀个字符位置Ctrl + b光标往回(backward)移动⼀个字符位置Ctrl + l清屏,相当于执⾏clear命令Ctrl + r显⽰:号提⽰,根据⽤户输⼊查找相关历史命令(reverse-i-search)Ctrl + w删除从光标位置前到当前所处单词(word)的开头Ctrl + t交换光标位置前的两个字符Ctrl + y粘贴最后⼀次被删除的单词Ctrl + Alt + d显⽰桌⾯Alt + b光标往回(backward)移动到前⼀个单词Alt + d删除从光标位置到当前所处单词的末尾Alt + F2运⾏Alt + F4关闭当前窗⼝Alt + F9最⼩化当前窗⼝Alt + F10最⼤化当前窗⼝Alt + Tab切换窗⼝Alt + 左键移动窗⼝(或在最下⾯的任务栏滚动⿏标滑轮)操作⼩技巧⿏标中间键:粘贴突出显⽰的⽂本。
centos7常⽤命令1:linux 命令的使⽤man部分个⼈觉得这是⼀个最⽜逼的命令了,可以查看各种命令的⽤法和说明、功能。
下⾯就⽤⼀个命令举⼀个例⼦man ls 查看ls 命令的说明、功能。
(唯⼀可惜的是显⽰的是英⽂,对我这种英⽂不好的渣渣是有那么点不友好,不过勉强能看的懂个⼤概)cd部分,进⼊⽂件夹cd /⽂件夹1 进⼊⽂件夹1cd .. 返回上⼀级⽬录cd 单独⼀个cd,不管你当前⽬录在哪,只要输⼊cd 就给你跳转到根⽬录下的/root ⽂件夹cd / 回到根⽬录vi/vim 部分⽂本编辑器(vim是vi的升级版,vi修改⽂件⾥⾯没有彩⾊的,⽽vim是有彩⾊字体部分的)vi/vim ⽂件名1 进⼊到⽂件名为⽂件名1的⽂件⾥,进来之后按i进⼊到可修改状态,修改之后,要是忘记了修改哪部分的话,想要退出,那么先按esc,再按 :q!(不保存退出) 修改之后想要保存退出的话同样先按esc,再按 :wq(保存退出),进⼊⽂件后按 /可查找。
cat部分只是⽤来读取⽂件,不是⽂本编辑器,不能对⽂本内容进⾏修改,不能按上下键来进⾏滚动查看cat ⽂件名1 查看⽂件名为⽂件名1的⽂件内容less/more 12.txt 两个都是⽂本查看器,区别是more只能通过enter键来进⾏查看下⾯内容,⽽less除了enter键以外还可以通过上下键来进⾏翻页tail -n122 12.txt 查看12.txt⽂件的最后122⾏内容tail -f 12.log 运⾏项⽬是可以看项⽬的⽇志变化head -n122 12.txt 查看12.txt⽂件的前⾯122⾏内容ls,ll, ls -l 部分显⽰当前⽂件夹⾥的所有⽂件和⽂件夹ls 只显⽰当前⽂件夹的所有⽂件名字ll 显⽰当前⽂件夹的所有⽂件,包括⽂件的创建时间和⽂件⼤⼩ls -l 功能和 ll 命令⼀样mkdir,touch 部分这两个为什么放⼀起说呢,因为⼀个是创建⽂件夹的命令,⼀个是创建⽂件的命令mkdir ⽂件名1 在当前⽬录下创建⽂件名为⽂件名1的⽂件夹touch 44.txt touch命令可以创建任何后缀格式的⽂本,这句的命令是在当前⽬录下创建44.txt这个⽂件tar 部分 压缩、解压命令tar -cfvz 压缩包名字(格式:xx.tar.gz) 要压缩的⽂件名压缩命令tar -xfvz 压缩包名字 解压命令sed 部分sed 是⼀种在线编辑器,它⼀次处理⼀⾏内容。
centos运维技巧以下是一些CentOS运维的技巧:1. 更新安装包:使用`yum update`命令可以更新系统安装包到最新版本。
2. 安装EPEL存储库:EPEL存储库提供了许多额外的软件包。
使用以下命令安装EPEL存储库:```yum install epel-release```3. 安装常用工具:安装一些常用的工具可以方便系统管理。
使用以下命令安装常用工具:```yum install vim wget curl screen git```4. 配置防火墙:CentOS默认启用防火墙。
使用以下命令配置防火墙:```firewall-cmd --add-port=80/tcp --permanent # 开放80端口firewall-cmd --reload # 重载防火墙配置```5. 创建用户和组:使用以下命令创建新用户和组:```useradd username # 创建新用户passwd username # 为用户设置密码groupadd groupname # 创建新组```6. 修改主机名:使用以下命令可以修改系统的主机名:```hostnamectl set-hostname newhostname```7. 日志管理:使用`journalctl`命令查看系统日志:```journalctl -u serviceName.service # 查看指定服务的日志journalctl -u serviceName.service -f # 实时查看指定服务的日志```8. 监控系统资源:使用`top`命令可以实时监控系统的运行情况。
9. 设置定时任务:使用`crontab`命令可以设置定时任务:```crontab -e # 编辑当前用户的定时任务```10. 网络设置:使用`nmcli`命令可以管理网络设置:```nmcli device show # 查看网络设备信息nmcli connection show # 查看网络连接信息```。
CentOS Linux最常用命令及快捷键整理centoslinux最常用命令及快捷键整理最近,我一直在体验CentOS系统。
为了方便自己和他人,我整理了Linux的常用命令和快捷键。
然而,它们中的大多数与DOS相同,但命令的表达方式可能略有不同。
常见linux命令:文件和目录:#cd/home进入'/home'目录#cd..返回上一级目录#cd../..返回上两级目录#cd-返回上次所在目录#cpfile1file2将file1复制为file2#cp-adir1dir2复制一个目录#cp-a/tmp/dir1。
将目录复制到当前工作目录(表示当前目录)#ls查看目录中的文件#ls-a显示隐藏文件#ls-l显示详细信息#ls-lrt按时间显示文件(l表示详细列表,r表示反向排序,t表示按时间排序)#PWD显示工作路径#mkdir1创建'dir1'目录#mkdir1dir2同时创建两个目录#mkdir-p/TMP/dir1/dir2创建目录树#mvdir1dir2移动/重命名目录#rm-ffile1删除'file1'#rm-rfdir1删除'dir1'目录及其子目录内容查看文件内容:#Catfile1从第一个字节开始查看文件内容#head-2file1查看文件的前两行#morefile1查看长文件的内容#tacfile1从最后一行开始反向查看一个文件的内容#tail-3file1查看一个文件的最后三行文本处理:#Grepstr/TMP/test查找文件'/TMP/test'\#grep^str/tmp/test在文件'/tmp/test'中查找以\开始的行#grep[0-9]/tmp/test查找'/tmp/test'文件中所有包含数字的行#grepstr-r/tmp/*在目录'/tmp'及其子目录中查找\#difffile1file2找出两个文件的不同处#SDIFFFILE1文件2以比较的方式显示两个文件的不同查找:#find/-namefile1从'/'开始进入根文件系统查找文件和目录#Find/-user1查找属于用户“user1”的文件和目录#find/home/user1-name\\*.bin在目录'/home/user1'中查找以'.bin'结尾的文件#Find/usr/bin type f-atime+100查找过去100天内未使用的可执行文件#find/usr/bin-typef-mtime-10查找在10天内被创建或者修改过的文件#找到\\*。
CentOS常用命令在我们的使用中,经常被使用。
所以,我们对一些经常使用又很重要的CentOS常用命令进行了全面的整理。
下面,就来介绍这些CentOS 常用命令。
一:使用CentOS常用命令查看cpu1. more /proc/cpuinfo | grep "model name"2. grep "model name" /proc/cpuinfo3. [root@localhost /]# grep "CPU" /proc/cpuinfo4. model name: Intel(R) Pentium(R) Dual CPU E2180 @ 2.00GHz5. model name: Intel(R) Pentium(R) Dual CPU E2180 @ 2.00GHz如果觉得需要看的更加舒服grep "model name" /proc/cpuinfo | cut -f2 -d:二:使用CentOS常用命令查看内存1. grep MemTotal /proc/meminfo2. grep MemTotal /proc/meminfo | cut -f2 -d:3. free -m |grep "Mem" | awk '{print $2}'三:使用CentOS常用命令查看cpu是32位还是64位查看CPU位数(32 or 64)getconf LONG_BIT四:使用CentOS常用命令查看当前linux的版本more /etc/redhat-releasecat /etc/redhat-release五:使用CentOS常用命令查看内核版本uname -runame -a六:使用CentOS常用命令查看当前时间date上面已经介绍如何同步时间了七:使用CentOS常用命令查看硬盘和分区df -hfdisk -l也可以查看分区du -sh可以看到全部占用的空间du /etc -sh可以看到这个目录的大小八:使用CentOS常用命令查看安装的软件包查看系统安装的时候装的软件包cat -n /root/install.logmore /root/install.log | wc -l查看现在已经安装了那些软件包rpm -qarpm -qa | wc -lyum list installed | wc -l不过很奇怪,我通过rpm,和yum这两种方式查询的安装软件包,数量并不一样。
否则打开vim编辑器。
5. id tom &>/dev/null && echo "Hi tom" || echo "No such user"如果id tom 执行成功,则说明用户存在,屏幕将显示Hi,tom 否则显示No such..3.3.3作业控制技巧:# vim & # jobs # fg 1 通过fg<编号>的形式将进程再次调回到前台执行;3.3.4 花括号{}的使用技巧:# echo {a,b,c} 通过花括号扩展可以生成命令行或脚本所需要的字串# echo user{1,5,8} # user1 user5 user8 # echo {0..10} #1 2 ..10# echo {0..10 ..2} # 0 2 4..10# echo a{2..-1} #a2 a1 ..a-1# mkdir /tmp/dir{1..5}#ls -ld /tmp/dir{1,2,3}#chmod 777 /tmp/dir{1,2}#kill -9 {4603,8345,11574,12257}3.4变量3.4.1自定义变量:建议统一使用大写或者首字母大写。
默认NAME的值是可以被修改的,但可以通过typeset 为这个变量添加只读属性来防止误操作,如果需要限定变量值可以设置为整数,亦可以用typeset添加属性;NAME=tomcatecho $NAMEtypeset -r NAME #添加readonly只读属性declare INT_NUMBER #预先定义一个变量,但是暂时不给赋值typeset -in INT_NUMBER #设置整数变量read P_NUMBER #回车后输入要赋值给P_NUMBER的值echo $P_NUMBERread -p "Please input a number:"P_NUMBER # set #查看当前系统中设置的所有的变量和值unset P_NUMBER #删除变量;3.4.2 变量的使用范围使用name=[value]的形式定义的变量默认仅在当前shell 中有效,子进程不会集成这样的变量.使用export 命令会将变量放入环境中,这样的进程会从父进程哪里继承环境,export 可以直接定义环境变量并赋值.TEST=passecho $TESTbash #在当前shell下开启新进程bashecho $TEST #查看变量值为空exitexport TEST #将已有用户变量添加至环境export NAME=tom # 直接定义环境变量3.4.3 环境变量Bash预设定了很多环境变量,可以直接调用这些变量;Bash手册:BASHPID 当前bash进程的进程号GROUPS 当前用户所属的组ID号HOSTNAME 当前主机的主机名称PWD 当前工作目录OLDPWD 前一个工作目录RANDOM 0 - 32767之间的随机数UID 当前用户的ID号码HISTSIZE 命令历史的记录条数HOME 当前用户的家目录PATH 命令搜索路径PS1 主命令提示符PS2 次命令提示符echo $PATH/usr/local/sbin:/usr/....#PATH=/root给PATH直接赋值/root目录, 则以后再执行ls命令会提示没有找到. 因为系统只会在/root目录下查找有没有ls命令. 但是因为修改并没有通过写入文件的方式吧修改永久保存至环境变量, 所以退出重新登录即可复原.修改PATH变量的正确方法是在原来的基础上修改,所以在赋值时需要引用旧值:#PATH=$PATH:/root #在与原有路径列表后追加目录3.4.4 位置变量test.sh#!/bin/bash#This is test script for parameter!echo "This is file name:$0"echo "This is first parameter:$1"echo "This is second parameter:$2"echo "This is the number of all parameter:$#" echo "This is the all parameter:$@"echo "This is PID:$$"#bash /tmp/test.sh a b c #允许改脚本使用3个参数注释:$0代表当前Shell程序的文件名称, $1代表允许shell 程序是的第一个参数,范围$1~$9;使用Shell位置变量有助于我们查看很多相关信息, $#代表Shell程序所以参数个数; $*和$@均代表所有参数的内容,区别是$*将所有的参数作为一个整体,而#@将所有的从参数分别作为个体看待.$$ 代表当前进程的ID号码,$? 表示程序的退出代码(一般0代表命令成功执行,非0代表命令执行失败)3.4.5Linux中一般可以使用${变量名}的形式展开变量的值 # echo ${NAME}${varname:-word} 如varname存在且非null,则返回其值,否则返回word${varname:=word} 如varname存在且非null,则返回其值,否则设置为word${varname?message} 如varname存在且非null,则返回其值,否则显示varname:message${varname:+word} 如varname存在且非null,则返回word,返回null修改变量的值输出${variable#key} 从头开始删除关键字,执行最短匹配${variable##key} 从头开始删除关键字,执行最长匹配${variable%key} 从尾开始删除关键字,执行最短匹配${variable%%key} 从尾开始删除关键字,执行最长匹配${variable/old/new} 将old替换为new,尽替换第一个出现的old${variable//old/new}将old替换为new,替换所有的old # USR=$(head -1 /etc/passwd)# echo ${USR%:*:}3.4.6 数组# B=(aa bbb cccc)# echo ${B[0]}:${B[1]}:${B[2]}# echo ${A[*]} #${name[*或@]}调用所有的数组成员.# echo ${A[@]}# echo "length of B_2 is ${#B[2]}"#${#name[subscript]}可以返回长度3.4.7 算术运算与测试# $((expression)) 算术表达式# expr arg1 + arg2 命令工具expr也可以实现算术运算使用Bash内置命令 test 可实现测试工作或者使用 [ 测试表达式 ].注意使用[ 表达式 ]记得在表达式两边都要留有空格# test -d /etc/ && echo "yes" || echo "no" # etc是目录就yes,否则no# [ -d /etc/ ] && echo "yes" || echo "no"-d file 文件文件是否存在且为目录是否存在且为目录-e file 文件是否存在文件是否存在-f file 文件是否存在,且为普通文件文件是否存在-r file 文件是否存在且可读-w file 文件是否存在且可写-x file 可执行-s 非空-h 是否为空链接-n STRING 字符串长度非0-z STRING 字符串长度为0STRING1 = STRING2 字符串相等!= 不相等INTER1 -eq INSTER2 整数1与整数2相等-ge 大于或等于-gt 大于-le 小于或等于-lt 小于-ne 不等于# [ -n $PATH ] && echo "yes" || echo "no"#PATH变量有定义,所以为非空3.5 shell引号3.5.1 反斜线\* 把 * 作为字母意义上的普通字符在命令的末尾使用 \回车后, \可以将回车的命令功能屏蔽,换行继续输入命令# echo * # 显示当前目录的所有文件列表# echo \* # 显示*字符# find / \> -name "test.txt" \> -type f \> -size +5M3.5.2 单引号单引号可以将它中间的所有任意字符还原为字面意义,实现屏蔽shell元字符的功能. 单引号必须成对出现.3.5.2 双引号类似于单引号 , 但其不会屏蔽 ' , \ 和 $ 这三个shell元字符的含义.如果需要屏蔽这些字符含义,必须前置一个 \ 符号,# echo "\$HOME"3.5.4 反引号Shell中使用反引号进行命令替换 , 是shell可以将命令字符替换为命令执行结果,$()同样结果# echo "Today is `date +%D`"# echo "Today is $(date +%D)"3.5 正则表达式Everything is file# cp /etc/passwd /tmp/# grep root /tmp/passwd #查找包含root的行查找:与0:之间包含任意两个字符的字串, 并显示该行(--color代表以颜色加亮显示匹配的内容)# grep --color :..0: /tmp/passwd查找包含至少一个0的行(第一个0必须出现,第二个0可以出现)# grep --color 00* /tmp/passwd查找包含oot或ost的行grep --color o[os]t /tmp/passwd查找包含数字0~9的行grep --color [0-9] /tmp/passwd查找包含字母f-q的行grep --color [f-q] /tmp/passwd查找以root开头的行:grep --color ^root /tmp/passwd查找以bash结尾的行grep --color bash$ /tmp/passwd查找sbin/后边不跟n的行:grep --color sbin/[^n] /tmp/passwd查找数字0出现1次, 2次的行:grep --color '0\{1,2\}' /tmp/passwd查找包含两个root的行(注:grep 在使用/(/)过滤时, 匹配条件必须使用引号);grep --color "\(root\) .*\1" /tmp/passwd查找包含以root: 开头并以 :root 结尾的字串行:grep --color "\(root\)\(:\).*\2\1" /tmp/passwd过滤文件的空白行:grep ^$ /tmp/passwd过滤文件的非空白行:grep -v ^$ /tmp/passwd3.6 Awk 操作指令1.记录与字段<1>读取输入行并输出第一个字段,第二个字段,第三个字段. echo hello the world | awk '{print $1,$2,$3}'<2>读取输入行并输出该行echo hello the world | awk '{print $0}'<3>读取输入行并输入该行的字段个数echo hello the world | awk '{print NF}'<4>读取输入行并输出该行最后一个字段echo hello the world | awk '{print $NF}'2.字段分隔符默认awk读取数据以空格或者制表符作为分隔符,但可以通过-F 或FS(field separator)变量来改变分隔符.将字段的分隔符改为冒号(:),awk -F: '{print $1}' /etc/passwdawk 'BEGIN {FS = ":"} {print $1}' /etc/passwd指定多个字段分隔符echo 'hello the:word , !'|awk 'BEGIN {FS=[:, ]"} {print $1,$2,$3,$4}'自动化运维的必要条件:1.可扩展的高并发网站集群架构F5 , A10DNS->LB4->LB7->Cache->Web->中间件->DB->存储。
以下是一些基本的CentOS 7 操作命令:1. 登录/注销:- 登录:`ssh username@ip_address`(使用SSH客户端登录到服务器)- 注销:`exit`或`logout`(注销当前用户)2. 文件和目录操作:- 切换目录:`cd directory_path`(切换到指定路径)- 显示当前目录:`pwd`(显示当前工作目录的路径)- 列出目录内容:`ls`(列出文件和目录)- 创建目录:`mkdir directory_name`(创建一个新目录)- 复制文件:`cp source_file destination_file`(复制文件到指定位置)- 移动/重命名文件:`mv source destination`(将文件或目录移动/重命名)- 删除文件:`rm file_name`(删除指定文件)- 删除目录:`rmdir directory_name`(删除指定目录,仅限空目录)- 强制删除目录及其内容:`rm -r directory_name`(递归删除目录及其内容)3. 包管理:- 更新系统软件包:`yum update`(更新所有已安装的软件包)- 安装软件包:`yum install package_name`(安装指定软件包)- 卸载软件包:`yum remove package_name`(卸载指定软件包)- 搜索软件包:`yum search keyword`(搜索具有关键字的软件包)- 列出已安装软件包:`yum list installed`(列出所有已安装的软件包)4. 网络相关:- 查看IP 地址:`ip addr show`或`ifconfig`(显示网络接口及其配置信息)- 测试网络连通性:`ping ip_address`(向指定IP地址发送网络数据包)- 查看网络连接状态:`netstat -tuln`(显示当前网络连接和监听端口)- 查看路由表:`ip route show`(显示系统的路由表)这只是一些常见的基本操作命令,CentOS 7 包含了更多功能强大的命令和工具。
centos7 linux 常用命令以下是CentOS 7 Linux中常用的一些命令:1. ls:列出当前目录中的文件和子目录。
2. cd:改变当前工作目录。
3. pwd:显示当前工作目录的路径。
4. mkdir:创建一个新的目录。
5. rm:删除文件或目录。
6. cp:复制文件或目录。
7. mv:移动文件或目录,或者重命名文件或目录。
8. touch:创建一个新的空文件。
9. cat:显示文件的内容。
10. less:逐页显示文件内容。
11. head:显示文件的开头几行。
12. tail:显示文件的结尾几行。
13. grep:在文件中搜索匹配指定模式的文本。
14. find:在文件系统中查找文件和目录。
15. chmod:修改文件或目录的权限。
16. chown:修改文件或目录的所有者。
17. chgrp:修改文件或目录的组。
18. tar:打包与解包文件。
19. gzip:压缩文件。
20. unzip:解压缩压缩文件。
21. top:显示系统中运行的进程和系统资源的使用情况。
22. ps:显示当前用户的进程状态。
23. kill:终止一个正在运行的进程。
24. ifconfig:显示网络接口的配置。
25. ping:测试与另一个网络主机的连接。
26. ssh:通过安全连接远程登录到另一个主机。
27. scp:通过安全连接在本地主机和远程主机之间复制文件。
28. wget:从网上下载文件。
29. yum:包管理器,用于安装、更新和删除软件包。
30. systemctl:管理系统服务的命令。
这些是CentOS 7 Linux中的一些基本命令,对于日常的系统管理和文件操作非常有用。
centos常用维护命令
CentOS是一种流行的Linux发行版,广泛应用于服务器和数据中心环境。
以下是CentOS 常用维护命令,这些命令涵盖了系统监控、进程管理、网络配置和安全管理等方面的操作:top:实时显示系统状态,包括CPU使用率、内存使用情况、进程数等。
ps:显示当前进程的状态,包括进程ID、进程名称、运行时间等。
kill:终止指定进程,需要提供进程ID作为参数。
df:显示磁盘使用情况,包括可用空间、已用空间、文件系统挂载点等。
du:查看目录或文件的大小,可以递归地查看目录空间占用情况。
free:显示内存使用情况,包括物理内存、交换空间等。
netstat:显示网络连接状态,包括监听端口、连接状态等。
ifconfig:查看和配置网络接口信息,包括IP地址、MAC地址等。
iptables:配置和管理防火墙规则,用于控制网络访问。
chkconfig:管理系统服务,可以启动、停止和重启服务。
service:用于管理系统服务,可以控制服务的启动、停止和重启等操作。
yum:管理软件包,用于安装、更新和卸载软件包。
rpm:查询已安装的软件包信息,可以显示软件包的详细信息。
cron:定时执行任务,可以安排定期执行的命令或脚本。
nmap:网络扫描工具,可以扫描指定主机的开放端口和服务。
这些命令是CentOS系统维护中常用的工具,可以帮助管理员监控系统状态、管理进程和网络配置、安装和更新软件包等操作。
使用这些命令可以提高系统的可靠性和安全性,确保系统正常运行。
centos常用的20个命令介绍
以下是CentOS系统中常用的20个命令的介绍:
1.ls:列出当前目录下的文件和子目录。
2.cd:切换工作目录。
3.pwd:显示当前所在的目录。
4.mkdir:创建一个新的目录。
5.rm:删除文件或目录。
6.cp:复制文件或目录。
7.mv:移动文件或目录,也可用于重命名文件或目录。
8.cat:查看文件内容或将多个文件合并到一个文件中。
9.grep:在文件中搜索匹配指定模式的字符串。
10.find:在指定目录下搜索文件。
11.chmod:修改文件或目录的权限。
12.chown:修改文件或目录的所有者。
13.chgrp:修改文件或目录的所属组。
14.tar:打包和解压缩文件。
15.top:实时查看系统资源使用情况和进程信息。
16.ps:查看当前运行的进程。
17.kill:终止正在运行的进程。
18.ifconfig:查看和配置网络接口信息。
19.ping:测试与其他主机的连通性。
20.yum:CentOS系统的包管理器,用于安装、升级和删除软件包。
这些命令是在CentOS系统中常用且重要的命令,熟悉并掌握它们可以帮助您更好地管理和操作系统。
Linux常用基本命令及应用技巧一,注销,关机,重启1,注销系统的logout命令2,关机或重新启动的shutdown命令3,重新启动计算机的reboot命令二,文件与目录的操作列出文件列表的ls命令1,ls(list)命令用来显示当前目录中的文件和子目录列表。
范例如下:[tony@free tony]$ ls[tony@free tony]$ ls –a[tony@free tony]$ ls –s –S2,切换目录的cd命令cd(change directory)命令可让用户切当前所在的目录。
3,创建目录的mkdir命令Mkdir(make directory)命令可用来创建子目录。
[tony@free tony]$ mkdir tool4,删除目录的rmdir命令rmdir(remove directory)命令可用来删除“空”的子目录。
范例如下:[tony@free tony]$ rmdir tool ←删除tool目录5,复制文件的cp命令cp(copy)命令可以将文件从一处复制到另一处。
范例如下:[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 –v zip.txt zip3.txt ←以-v显示复制过程zip.txt ->zip3.txt递回复制:加入“-R”参数可同时复制目录下的所有文件及子目录。
范例如下:[tony@free tony]$ cp –v –R * backup ←将所有文件(含子目录文件)复制到backup目录6,删除文件或目录的rm命令rm(remove)命令可以删除文件或目录。
CentOS7常⽤基本命令整理⼀:重启命令1).⽴刻重启(root⽤户使⽤)rebootshutdown -r nowinit 62).10分钟后⾃动重启(root⽤户使⽤)shutdown -r 103).在时间为20:35时候重启(root⽤户使⽤)shutdown -r 20:354).如果是通过shutdown命令设置重启的话,可以取消重启shutdown -c⼆:关机命令1).⽴刻关机(root⽤户使⽤)haltpoweroffshutdown -h nowinit 02).10分钟后⾃动关机shutdown -h 10三:hostname命令查看主机名hostname设置主机名临时修改hostname 主机名永久修改vi /etc/hostname四:⽹络服务查看IP信息ip a⽹络连通性测试设置⽹络信息vi /etc/sysconfig/network-scripts/ifcfg-ens33重启network⽹络服务service network restart五:防⽕墙设置查看防⽕墙状态systemctl status firewalld关闭防⽕墙systemctl start firewalld禁⽌开机启动systemctl disable firewalld六: ⽂件服务注意:如果能够远程可以通sftp远程到服务器直接修改,特别是修改的数据⽐较多时,更加有效率。
1.新建登陆站点2.sftp操作主机映射⽂件修改主机名与IP映射关系vi /etc/hosts⽬录操作命令查看⼯作⽬录(Print Working Directory)pwd切换⼯作⽬录(Change Directory)cd [⽬录位置]列表(List)显⽰⽬录内容ls [选项]... [⽬录或⽂件名]-l :详细信息显⽰-a:显⽰所有⼦⽬录和⽂件的信息,包括隐藏⽂件-A:类似于“-a”,但不显⽰“.”和“…”⽬录的信息-R:递归显⽰内容创建新的⽬录(Make Directory)mkdir [-p] [/路径/]⽬录名统计⽬录及⽂件的空间占⽤情况(estimate file space usage)du [选项]... [⽬录或⽂件名]常⽤命令选项-a:统计时包括所有的⽂件,⽽不仅仅只统计⽬录-h:以更易读的字节单位(K、M等)显⽰信息-s:只统计每个参数所占⽤空间总的⼤⼩⽂件操作命令新建空⽂件,或更新⽂件时间标记touch ⽂件名查看⽂件类型file ⽂件名复制(copy)⽂件或⽬录cp [选项] 源⽂件或⽬录… ⽬标⽂件或⽬录常⽤命令选项-r:递归复制整个⽬录树-p:保持源⽂件的属性不变-f:强制覆盖⽬标同名⽂件或⽬录-i:需要覆盖⽂件或⽬录时进⾏提醒删除(Remove)⽂件或⽬录rm [选项] ⽂件或⽬录1常⽤命令选项-f:强⾏删除⽂件,不进⾏提醒-i:删除⽂件时提醒⽤户确认移动(Move)⽂件或⽬录mv [选项]... 源⽂件或⽬录… ⽬标⽂件或⽬录如果⽬标位置与源位置相同,则相当于改名显⽰系统命令所在⽬录which <选项> command(命令名称)常⽤命令选项-a:将所有由PATH路径中可以找到的指令均列出,⽽不⽌第⼀个被找到的指令名称find查找find <路径> <选项> [表达式]find查找的特点从指定路径下递归向下搜索⽂件⽀持按照各种条件⽅式查找⽀持对查找到的⽂件再进⼀步的使⽤指令操作(例如:删除、统计⼤⼩、复制等)常⽤命令选项-name 根据⽂件名查找-user 根据⽂件拥有者查找-group 根据⽂件所属组寻找⽂件-perm 根据⽂件权限查找⽂件-size 根据⽂件⼤⼩查找⽂件-type 根据⽂件类型查找(f-普通⽂件,c-字符设备⽂件,b-块设备⽂件,l-链接⽂件,d-⽬录)-o 表达式或-and 表达式与⽂件内容操作命令显⽰出⽂件的全部内容cat全屏⽅式分页显⽰⽂件内容more按空格键向下翻⼀屏、按b键向上翻⼀屏按q键退出与more命令相同less查看⽂件开头的⼀部分内容(默认为10⾏)head -n ⽂件名查看⽂件结尾的少部分内容(默认为10⾏)tail -n ⽂件名统计⽂件中的单词数量(Word Count)等信息wc [选项] ⽬标⽂件常⽤命令选项-l:统计⾏数-w:统计单词个数-c:统计字节数查找⽂件⾥符合条件的字符串grep [选项] <关键字> <⽂件…>常⽤选项-c:计算匹配关键字的⾏数-i:忽略字符⼤⼩写的差别-n:显⽰匹配的⾏及其⾏号-s:不显⽰不存在或不匹配⽂本的错误信息-h: 查询多个⽂件时不显⽰⽂件名-l:查询⽂件时只显⽰匹配字符所在的⽂件名–color=auto:将找到的关键字部分加上颜⾊显⽰压缩命令压缩(解压)⽂件或⽬录,压缩⽂件后缀为gz gzip [选项] 压缩(解压缩)的⽂件名常⽤选项-v显⽰⽂件名和压缩⽐(verbose)-num⽤指定的数字num调整压缩的速度,-1或–fast表⽰最快压缩⽅法(低压缩⽐),-9或–best表⽰最慢压缩⽅法(⾼压缩⽐)。
否则打开vim编辑器。
5. id tom &>/dev/null && echo "Hi tom" || echo "No such user"如果id tom 执行成功,则说明用户存在,屏幕将显示Hi,tom 否则显示No such..3.3.3作业控制技巧:# vim & # jobs # fg 1 通过fg<编号>的形式将进程再次调回到前台执行;3.3.4 花括号{}的使用技巧:# echo {a,b,c} 通过花括号扩展可以生成命令行或脚本所需要的字串# echo user{1,5,8} # user1 user5 user8 # echo {0..10} #1 2 ..10# echo {0..10 ..2} # 0 2 4..10# echo a{2..-1} #a2 a1 ..a-1# mkdir /tmp/dir{1..5}#ls -ld /tmp/dir{1,2,3}#chmod 777 /tmp/dir{1,2}#kill -9 {4603,8345,11574,12257}3.4变量3.4.1自定义变量:建议统一使用大写或者首字母大写。
默认NAME的值是可以被修改的,但可以通过typeset 为这个变量添加只读属性来防止误操作,如果需要限定变量值可以设置为整数,亦可以用typeset添加属性;NAME=tomcatecho $NAMEtypeset -r NAME #添加readonly只读属性declare INT_NUMBER #预先定义一个变量,但是暂时不给赋值typeset -in INT_NUMBER #设置整数变量read P_NUMBER #回车后输入要赋值给P_NUMBER的值echo $P_NUMBERread -p "Please input a number:"P_NUMBER # set #查看当前系统中设置的所有的变量和值unset P_NUMBER #删除变量;3.4.2 变量的使用范围使用name=[value]的形式定义的变量默认仅在当前shell 中有效,子进程不会集成这样的变量.使用export 命令会将变量放入环境中,这样的进程会从父进程哪里继承环境,export 可以直接定义环境变量并赋值.TEST=passecho $TESTbash #在当前shell下开启新进程bashecho $TEST #查看变量值为空exitexport TEST #将已有用户变量添加至环境export NAME=tom # 直接定义环境变量3.4.3 环境变量Bash预设定了很多环境变量,可以直接调用这些变量;Bash手册:BASHPID 当前bash进程的进程号GROUPS 当前用户所属的组ID号HOSTNAME 当前主机的主机名称PWD 当前工作目录OLDPWD 前一个工作目录RANDOM 0 - 32767之间的随机数UID 当前用户的ID号码HISTSIZE 命令历史的记录条数HOME 当前用户的家目录PATH 命令搜索路径PS1 主命令提示符PS2 次命令提示符echo $PATH/usr/local/sbin:/usr/....#PATH=/root给PATH直接赋值/root目录, 则以后再执行ls命令会提示没有找到. 因为系统只会在/root目录下查找有没有ls命令. 但是因为修改并没有通过写入文件的方式吧修改永久保存至环境变量, 所以退出重新登录即可复原.修改PATH变量的正确方法是在原来的基础上修改,所以在赋值时需要引用旧值:#PATH=$PATH:/root #在与原有路径列表后追加目录3.4.4 位置变量test.sh#!/bin/bash#This is test script for parameter!echo "This is file name:$0"echo "This is first parameter:$1"echo "This is second parameter:$2"echo "This is the number of all parameter:$#" echo "This is the all parameter:$@"echo "This is PID:$$"#bash /tmp/test.sh a b c #允许改脚本使用3个参数注释:$0代表当前Shell程序的文件名称, $1代表允许shell 程序是的第一个参数,范围$1~$9;使用Shell位置变量有助于我们查看很多相关信息, $#代表Shell程序所以参数个数; $*和$@均代表所有参数的内容,区别是$*将所有的参数作为一个整体,而#@将所有的从参数分别作为个体看待.$$ 代表当前进程的ID号码,$? 表示程序的退出代码(一般0代表命令成功执行,非0代表命令执行失败)3.4.5Linux中一般可以使用${变量名}的形式展开变量的值 # echo ${NAME}${varname:-word} 如varname存在且非null,则返回其值,否则返回word${varname:=word} 如varname存在且非null,则返回其值,否则设置为word${varname?message} 如varname存在且非null,则返回其值,否则显示varname:message${varname:+word} 如varname存在且非null,则返回word,返回null修改变量的值输出${variable#key} 从头开始删除关键字,执行最短匹配${variable##key} 从头开始删除关键字,执行最长匹配${variable%key} 从尾开始删除关键字,执行最短匹配${variable%%key} 从尾开始删除关键字,执行最长匹配${variable/old/new} 将old替换为new,尽替换第一个出现的old${variable//old/new}将old替换为new,替换所有的old # USR=$(head -1 /etc/passwd)# echo ${USR%:*:}3.4.6 数组# B=(aa bbb cccc)# echo ${B[0]}:${B[1]}:${B[2]}# echo ${A[*]} #${name[*或@]}调用所有的数组成员.# echo ${A[@]}# echo "length of B_2 is ${#B[2]}"#${#name[subscript]}可以返回长度3.4.7 算术运算与测试# $((expression)) 算术表达式# expr arg1 + arg2 命令工具expr也可以实现算术运算使用Bash内置命令 test 可实现测试工作或者使用 [ 测试表达式 ].注意使用[ 表达式 ]记得在表达式两边都要留有空格# test -d /etc/ && echo "yes" || echo "no" # etc是目录就yes,否则no# [ -d /etc/ ] && echo "yes" || echo "no"-d file 文件文件是否存在且为目录是否存在且为目录-e file 文件是否存在文件是否存在-f file 文件是否存在,且为普通文件文件是否存在-r file 文件是否存在且可读-w file 文件是否存在且可写-x file 可执行-s 非空-h 是否为空链接-n STRING 字符串长度非0-z STRING 字符串长度为0STRING1 = STRING2 字符串相等!= 不相等INTER1 -eq INSTER2 整数1与整数2相等-ge 大于或等于-gt 大于-le 小于或等于-lt 小于-ne 不等于# [ -n $PATH ] && echo "yes" || echo "no"#PATH变量有定义,所以为非空3.5 shell引号3.5.1 反斜线\* 把 * 作为字母意义上的普通字符在命令的末尾使用 \回车后, \可以将回车的命令功能屏蔽,换行继续输入命令# echo * # 显示当前目录的所有文件列表# echo \* # 显示*字符# find / \> -name "test.txt" \> -type f \> -size +5M3.5.2 单引号单引号可以将它中间的所有任意字符还原为字面意义,实现屏蔽shell元字符的功能. 单引号必须成对出现.3.5.2 双引号类似于单引号 , 但其不会屏蔽 ' , \ 和 $ 这三个shell元字符的含义.如果需要屏蔽这些字符含义,必须前置一个 \ 符号,# echo "\$HOME"3.5.4 反引号Shell中使用反引号进行命令替换 , 是shell可以将命令字符替换为命令执行结果,$()同样结果# echo "Today is `date +%D`"# echo "Today is $(date +%D)"3.5 正则表达式Everything is file# cp /etc/passwd /tmp/# grep root /tmp/passwd #查找包含root的行查找:与0:之间包含任意两个字符的字串, 并显示该行(--color代表以颜色加亮显示匹配的内容)# grep --color :..0: /tmp/passwd查找包含至少一个0的行(第一个0必须出现,第二个0可以出现)# grep --color 00* /tmp/passwd查找包含oot或ost的行grep --color o[os]t /tmp/passwd查找包含数字0~9的行grep --color [0-9] /tmp/passwd查找包含字母f-q的行grep --color [f-q] /tmp/passwd查找以root开头的行:grep --color ^root /tmp/passwd查找以bash结尾的行grep --color bash$ /tmp/passwd查找sbin/后边不跟n的行:grep --color sbin/[^n] /tmp/passwd查找数字0出现1次, 2次的行:grep --color '0\{1,2\}' /tmp/passwd查找包含两个root的行(注:grep 在使用/(/)过滤时, 匹配条件必须使用引号);grep --color "\(root\) .*\1" /tmp/passwd查找包含以root: 开头并以 :root 结尾的字串行:grep --color "\(root\)\(:\).*\2\1" /tmp/passwd过滤文件的空白行:grep ^$ /tmp/passwd过滤文件的非空白行:grep -v ^$ /tmp/passwd3.6 Awk 操作指令1.记录与字段<1>读取输入行并输出第一个字段,第二个字段,第三个字段. echo hello the world | awk '{print $1,$2,$3}'<2>读取输入行并输出该行echo hello the world | awk '{print $0}'<3>读取输入行并输入该行的字段个数echo hello the world | awk '{print NF}'<4>读取输入行并输出该行最后一个字段echo hello the world | awk '{print $NF}'2.字段分隔符默认awk读取数据以空格或者制表符作为分隔符,但可以通过-F 或FS(field separator)变量来改变分隔符.将字段的分隔符改为冒号(:),awk -F: '{print $1}' /etc/passwdawk 'BEGIN {FS = ":"} {print $1}' /etc/passwd指定多个字段分隔符echo 'hello the:word , !'|awk 'BEGIN {FS=[:, ]"} {print $1,$2,$3,$4}'自动化运维的必要条件:1.可扩展的高并发网站集群架构F5 , A10DNS->LB4->LB7->Cache->Web->中间件->DB->存储。