Linux
过了很久没在Linux上操作了,把以前记在本子上的指令摘下来吧!顺便复习一下吧!
软件操作命令:
软件包管理器:yum
安装软件:yum install xxx
卸载软件:yum remove xxx
搜索软件:yum search xxx
清理缓存:yum clean packages
列出已安装:yum list
软件包信息:yum info xxx
服务器硬件:
内存:free –m(-m以兆的形式展示)
硬盘:df –h(-h表示human以人类看得懂的形式展示)
负载:w/top 在我们运维的知识里面, 负载是一个我们能看到的资源,比如说负载使用一个数字来表示的,当我们的cpu一个资源被占满了的时候,默认显示就是1,当我们出现超频的时候就是一点几,超过了我们cpu本身的运算能力。当我们的cpu低于一个值比如说0.6或者0.5,(每一个运维工程阈值不一样),表示负载是正常的,在查看负载有load average有三个数字,分别表示最近一分钟的平均负载,第二个表示最近五分钟的平均负载,第三个表示最近15分钟的平均负载。负载在我们运维中是一个比较重要的健康指标。超过1随时可能宕机。在我们运维中0.6或者0.7一般属于比较健康的一个值,大于这个值会进入报警的危险的阈值中。预留0.3-0.4是为了服务器飙升快到1之前可以挽救,跑到1基本上已经GG了…
cpu个数和核数: cat/proc/cpuinfo 因为Linux都是文件操作系统,所以查看cpu都是通过文件可以查出来
格式化磁盘: fdisk
文件操作命令:
首先了解一下文件的目录结构:
根目录: /
家目录:/home
(注意~表示的是当前用户下的家目录,而/home表示家目录下面有好几个用户)
临时目录:/tmp 其定时会进行一些清理,所以临时文件可以放里面
配置目录:/etc
用户程序目录:/usr
前四个比较重要,第五个可能离我们远一点,用cd命令到到指定目录查看ls –al结构
文件操作基本命令:
查看目录下的文件:ls 一般加上-al来列表展示在centos里用ll可以代替ls –al
新建文件:touch
新建文件夹:mkdir
进入目录:cd
删除文件和目录:rm
复制:cp
移动:mv
显示路径:pwd
另外新建多层目录:即循环新建目录mkdir –p a_dir/test1/test2创建了a_dir中的test1目录,里面包含了test2(p表示循环)
删除文件夹:rm –ra_dir(r表示循环)他会问你是否要删除底层的,点y即可如果不想让他询问是否删词里面的直接 rm –rf a_dir强制删除
另外复制:cp ./a_dir~/b.dir 移动到b.dir,mv 也是一样
文本编辑神器Vim
在服务器上我们是没有类似Windows的操作界面的,所有的GUI界面都是无法使用的
Vim是目前所知的最出名的Linux文本编辑器,可以对文件修改操作
Vim安装:yum install vim
Vim学习:http://www.runoob.com/linux/linux-vim.html
用VIM新建一个文件a:vim a
这时候按键盘任何键都没有输入的要输入的话i变成insert模式
编辑完了按住esc退出键退出insert模式,按冒号键再按wq保存退出
移动到行首和行位:打开大写,然后输入大G跑到了行位。恢复到小写,按两次gg就会跑到行首
删除一行:小写的dd,再按u恢复
没有鼠标的情况下复制:哈哈,有鼠标可以直接复制黏贴。没有鼠标则需要指令
在光标在某一行时yy,在到指定的位置按p即可。
:set number显示行数模式
最后可以用cat查看
另外一个比较重要的东西叫做文件的权限,我们经常听到有个东西叫做777
我们做常见到的是777是最大的权限。777本质是由三个位置组成就是4+2+1=7
r是读,w是写,x可执行。上图中r=4,w=2,x=1
例如上图的文件rw-=6,rw-=6,r--=4 所以a的权限是664(第一个-表示文件,d表示目录不用管它)
文件搜索、查找、读取
Vim虽然是比较好的软件,但是不能每个文件都用Vim来打开。Vim是把所有东西都读到内存里去,如果有个2G文件,我们服务器只有1G直接将我们服务器撑爆了!
从文件尾部读取:tail(一般加上-f实时追踪)
从文件头部读取:head(按住enter键一行一行往下)
(从哪里读根据业务需求决定)
读取整个文件:cat,使用这个命令注意文件多大多小,不要挤爆内存
分页读取:more
可控分页:less
搜索关键字:grep (比如grep “11” a,grep -n “11” a显示行数)有一个很大文件,我们只想搜索有关键词的那几行就用grep
查找文件:find 这个在运维中用的比较多find .列出当前目录下所有文件 find /etc/就是etc下面的所有文件又如find . –name “*BCD” 就可以吧ABCD找出来其他可以参考菜鸟教程比如-type –f表示文件类型–type –d表示文件夹
统计个数:wc(比如cat a | wc -l)显示行数 |表示管道的意思,在Linux中很多命令都可以通过管道来进行操作,做完了之后将内容传给下一个命令。
文件压缩与解压缩
tar命令,使用man tar来查看tar的操作手册
压缩某个文件:tar –cf a.tar a 把a给压缩成a.tar
查看压缩文件:tar –tf a.tar
详细查看压缩文件:tar –tvf a.tar
解压压缩文件:tar –xf a.tar(x表示抽取)
Cf是tar格式的压缩文件 czvf是gz,v表示显示后缀为.tar.gz等等
总结就是tar格式是-cvf|tvf|xvf tar.gz是-czvf|tzvf|xzvf
系统用户命令
添加用户:useradd
添加用户:adduser
(以上两个命令在centos中区别不大,在ubantu中差别挺大的)就是指令+用户
即可比如useradd lvbu
删除用户:userdel 删除用户后文件夹还在 用户编程1001 在userdel 后面加 -r可以删除文件
设置密码:passwd 比如 passwdlvbu后面输入密码即可必须必8个字符以上
当我们系统创建时有一个超级管理员账号,推荐使用其他账号,因为root账号权限太大了,往往会出现很多问题。
防火墙
防火墙的作用:保护服务器安全
设置防火墙规则:开放80端口,22端口。80端口是webserver端口 22端口是ssh的端口
也可以关闭防火墙,比如安装mysql要开3306端口,每次安装一个都要开端口比较麻烦,可以关闭。只要是线上服务器就一定要使用防火墙。个人就不是很有所谓了。还有服务器一般开80,22还有443。443端口是https协议端口
安装:yum install firewalld
启动:service firewalld start
检查状态:service firewalld status
关闭或禁用防火墙:service firewalld stop/disable
查看安没安装:yum list |grep firewall
查看启没启动:ps –ef |grep firewall
另外,Centos7是自动安装防火墙的。
Firewall –cmd命令可以对其进行简单操作
比如firewall –cmd –-version版本号—help,还有—state状态
防火墙有区域和端口
--get –zones区域 –get –default–zone默认区域–list –all-zone所有区域配置—zone=区域名,即指定区域–list-ports端口
Firewall –cmd –query-service=ssh查看有没有这个服务ssh
加一个ssh端口服务就是firewall –cmd –add-service=ssh
删除就是firewall –cmd –remove-service=ssh
删除了就不能访问了!
查询那些服务 …….—list –services
查询端口有没firewall –cmd –query-port=22/tcp
加入tcp就是 firewall –cmd–add-port=22/tcp
服务和端口两个添加一个就可以了
提权和 文件上传下载的操作
提权:sudo
Visudo
文件下载
服务器下载:wget或curl
文件上传scp
提权:普通用户安装软件需要root权限,但是普通账号和root之间是有区别的,不可能一直在root下进行操作。配置所有软件不要在root下操作,因为root是最高权限账号,一般都不需要用这个账号登录的,root账号泄露非常危险。为了使普通账号如abc有root的权限安装vim,就执行sudo yum install vim就可以了,然后输入abc的密码就可以,发现adc不在sudoers文件里,需要在root账号执行visudo,大写G跑到文件最后一行Allow people in group wheel to run all commands下面I 输入%abc ALL=(ALL) ALL直接复制上面一行就是了,然后退出wq保存就可以了此时就可以了哈哈哈哈!此时root就可以不再使用了,因为普通账号有root的权限了。
文件下载:wget和curl 必须下载百度首页就是wgethttp://www.baidu.com就有了indexl.html文件或者curl -obaidu.html http://www.baidu.com (-o表示指定文件名)。一般使用wget就可以了,curl得加参数比较麻烦。
又如将本地的文件上传到服务器上去,在本地的话是linux,把bcd.txt文档传上去进入文件所在目录 scp bcd.txt abc@192.168.0.106:/tmp/用户和IP已经目录即可,和ssh很像,因为scp的命令就是基于ssh协议传输的。
从服务器下载到本地,也是scpabc@192.168.0.106:/tmp/bcd.txt ./(./表示当前目录下)
注意区别一下上传和下载,的指令顺序。
在Windows下通过xshell软件上传和下载即可。需要安装软件yum install lrzsz(lr和sz是命令)sudo yum install lrzsz提权,rz选择文件即可。
从服务器下载到windows,sz bdc.txt即可。