Linux运维基础命令笔记(上半部分):
因为是博主跟着学一个一个字敲的,图片数量过多上传有点麻烦,缺失步骤的部分在末尾,所以文章后配有具体的步骤截图,需要的同学自己找一下吧。最好还是自己跟着命令敲一遍,有利于深化记忆注意。因为centos版本不同(我用的centos7),在启动项管理模块chkconfig语法被systemctl更替。具体请大家仔细查看相关内容
获得超级管理员用户权限:su root
#clear/ctrl + l 清屏(隐藏当前信息)
#ls == list 列出当前目录下的所文件夹名称
./ 表示当前目录下
…/ 上一级目录
/ 从根目录开始寻找相应路径
#ls [选项] [路径] [] 表示可选项
#ls -l [路径] -l 表示list,以详细列表进行展示
#ls -la [路径] -a 表示显示所有文件/文件夹(包括隐藏文件/文件夹)
#ls -lh [路径] -h 列出指定路径下所有的文件/文件夹的名称,列表形式显示,可读性较高。
#Pwd (print working directory)显示当前路径
#cd /路径 切换进入当前路径
#cd ~ “~”快速切换到当前用户home目录里面
#mkdir [路径]+文件名 创建文件夹 蓝色表示文件夹;绿色表示拥有所有权限
默认在当前目录下创建文件夹
#mkdir -p [路径]+文件名(/a/b/c/d) -p 一次性创建多个文件夹(上下层包含关系)
#mkdir a b c d 一次创建多个文件夹,在同一目录下
#touch [路径] +文件名 touch usr/local/4.txt touch 1.txt 2.txt 3.txt 创建文件
#cp 被复制的文档路径 文档被复制到的路径(被复制的文件可以重命名,内容不变)
#cp -r 被复制的文件夹路径 文件夹被复制到的路径(-r==递归)
#mv 被复制的文件夹/文件路径 文件夹/文件被复制到的路径 文件夹里的内容全部移动,并且可以重命名。
#rm /路径 删除文件
#rm -f /路径 强制删除文件,不需要回答Y 可以删除多个文件
#rm -f /路径* 强制删除文件,不需要回答Y 可以删除多个文件 * 代表通配符,只要以路径名开头的的全部删除
#rm -rf /路径 递归强制删除文件夹(-r==递归) 可以删除多个文件夹与文件
#vim /文件路径 打开一个文件(可以存在,也可以不存在) shift+英文冒号输入q退出
输出重定向:
’>‘ 覆盖输出,覆盖原来的内容
’>>‘ 追加输出,不会覆盖原来的内容
用法:#ls -la > /路径 (如果没有该路径则会自动创建文件)
#cat /文件路径(不能打开文件夹) 直接打开一个文件并自动退出
#cat /文件路径1 /文件路径2 /文件路径3 > 合并之后的路径 合并文件 需要配合输出重定向,原文件不会删除
#df -h 显示磁盘空间 h表示可读性较强
#free -m 查看内存使用情况 m == Mb 可以 g ==Gb
用于临时内存,当系统真实内存不够用时可以临时使用磁盘空间来充当内存。
#head -n /路径 n表示行数,默认情况下为查看前十行
#tail -n /路径 n表示行数,默认情况下为查看后十行
#tail -F /路径 查看一个文件实时的动态变化F必须大写
左边为查看 右边追加数据
#less /路径 辅助功能 查看 空格翻一页 q退出
#wc -lwc /文件路径 统计文件信息内容
l lines 行数; w words 单词; c bytes 字节;
#date 显示时间 %F 完整的年月日 %T 完整的时间
#date +%F %F等价于“+%Y-%m-%d”
#date “+%F %T” %T等价于“%H:%M:%S”
#date -d “-1 day” “+%Y-%m-%d %H:%M:%S”
#cal 等价于 #cal -1 输出日历
#cal -3 前后三个月
#cal -y 年份 输出某一年对的日历
#ls / | grep(过滤) /目标特征 在根部录下过滤带特征o的文件
| 相当于条件连接符
#ls / | wc -l
统计文件的个数
#hostname 输出完整的主机名
#hostname -f 输出当前主机中的FQDN(全限定域名)
#id 查看当前用户的基本信息
#id 用户名 查看指定用户的基本信息
验证用户信息:通过文件/etc/passwd
验证用户组信息:通过文件/etc/group
#whoami 查看登陆用户名 一般用于shell脚本
#ps -ef 查看服务器进程信息
-e 等价于 -A 列出全部进程 -f 显示全字段(列)
在ps结果中过滤想要查看进程的状态 -ef | 路径
#ps -ef | grep 进程名称
#top 查看资源管理器 实时更新
M:表示讲结果按内存(MEM)从高到低进行降序排列
P:将CPU按照使用率从高到低进行降序排列
1:当服务器拥有多个cpu的时候是使用1切换各个cpu进程
#du -sh 路径目录 查看目录的真实大小
-s:summaries 只显示汇总的大小;-h 以较高的形式进行显示
#find 路径范围 选项 选项的值
选项 -name 按照文档名称进行搜索
-type 按照文档的类型进行搜索
“-”表示文件(在使用find的时候要用f来代替) “d”表示文件夹
#service 启动项 stop/start/ restart 控制一些软件的服务停止/启动/重启
#kill 进程pid 关闭进程 需要配合ps一起使用
#killall 进程名称 不需要配合ps
#ifconfig 获取网卡信息
#reboot 重新启动计算机
#reboot -w 模拟重新启动计算机
#shutdown 关机
#shutdown -h now “关机提示” 立即关机
#shutdown -h 16:00 “关机提示” 定时关机
取消关机 ctrl + c 或者 shutdown -c
#uptime 查看开机时间
#uname 获取计算机系统类型
#uname -a 表示获取全部的系统信息
#natstat -tnlp 查看网络连接状态
-t 表示只列出tcp协议的连接
-n 将地址从字母组合转化为IP数字地址
-l 表示过滤状态“state” 列值为listen(监听)的连接
-p 显示发起链接的pid和进程名称
#man 命令名(cp) manual 手册 查看命令的用法
快速删除光标之前 ctrl + u 快速删除光标之后 ctrl +k
#Vim的打开文件的四种方式
#Vim 文件路径 打开指定的文件
#Vim +数字 文件路径 打开指定的文件,并将光标移动指定行
#Vim +/关键词 文件里路径 打开指定的文件,并且高亮显示关键词
#Vim 文件里路径1 文件里路径2 文件里路径3 同时打开多个文件
Vim命令模式:
1、光标移动到该行行首: shift + 6(^)
2、光标移动到该行行尾: shift + 4($)
3、光标移动到首行: gg
4、光标移动到末行: G
5、翻屏: 上翻: Ctrl + b(before) 下翻:ctrl + a(after)
复制操作:
1、 复制光标所在行
按键:yy
粘贴:在想要粘贴的地方按下p键
2、 以光标所在行为准(包括当前行),向下复制指定的行数
按键:数字yy
3、 可视化复制
按键:ctrl + v 按下上下左右方向键选中需要复制的区块,按下yy键进行复制,p粘贴
剪切/删除光标当前行
按键:dd 不粘贴则是删除
剪切/删除指定行数 包括光标当前行
按键:数字+dd
剪切/删除光标当前行,但是删除后下一行不上移
按键:D (删除后当前行为空白行)
撤销: u 相当于返回上一步
恢复:ctrl + r 相当于回到刚才一步
光标的快速移动:
1、 将光标移动到指定的行:
按键:数字+G
2、 以当前光标为准向上/向下移动n行
按键:数字+上键 ,数字+下键
3、以当前光标为准向左/向右移动n个字符
按键:数字+左键 ,数字+右键
3、 末行模式下:
按键:shift + : 输入指定行数+回车
末行模式下:
保存操作:
输入:“w”
另存为操作:
输入:“w 路径”
保存并退出:
输入:“wq”
强制退出:
输入:“q!”
调用外部命令:
输入:“!命令”
搜索/查找
输入:“/关键词“
在搜索结果中切换上下一个结果 : N/n (next)
取消高亮: nohl (no highlight)
替换
:s/搜索的关键词/新的内容 替换光标所在行的第一处符合条件的内容
:s/搜索的关键词/新的内容/g 替换光标所在行全部符合条件的内容
:%s/搜索的关键词/新的内容 替换整个文档的第一处符合条件的内容
:%s/搜索的关键词/新的内容/g 替换整个文档符合条件的内容
g表示全局(global)
显示行号: set nu (number)
取消行号: set nonu
%a 表示正在打开的文件
表示上一个打开的文件
打开其他文件: “ :open 文件名”
通过命令来切换上一个/下一个文件
输入:“bn” 切换到下一个文件(back next)
输入:“bp” 切换到上一个文件(back previous)
I == insert 插入 a == append 追加
开启代码着色:
syntax on
关闭代码着色:
syntax off
vim计算机的使用
1、 进入编辑模式
2、 按下“ctrl + r” ,然后输入“ = ”,此时光标会显示到最后一行
3、 输入需要计算的内容,按下回车
Vim配置的三种情况
1、 在文件打开的时候在末行模式下输入的配置(临时的)
2、 个人配置文件(~/.vimrc , 如果没有可以自行建立)
设置默认显示行号
3、 全局配置文件(vim自带,/etc/vimrc)
如果针对同一个配置项,个人配置文件中存在,则以个人配置文件为准,如果个人配置文件中不存在这一项,则以全局配置文件为准。
异常退出:
末行模式下使用x退出
大“X”表示文件加密,输入为空则表示取消加密
运行模式
在Linux中存在一个进程:init(initial ,初始化进程)进程id是1
查看进程:#ps -ef | grep init
改进程存在一个对应的配置文件:inittab(系统运行级别配置文件,位置/etc/inittab)
#init 0 表示关机
#init 3 表示切换到不带桌面的模式
#init 5 表示切换到图形模式
#init 6 表示重启电脑
这些命令其实是调用的init进程,将数字(运行级别)传递给进程,进程去读配置文件执行对应的操作。
用户管理
修改用户
设置密码
删除用户
用户组添加
用户编辑
用户组删除
网卡设置
首先知道网卡配置文件地址:#ls /etc/sysconfig/network-scripts/
在目录网卡的配置文件命名格式:ifcfg-网卡名称
ONBOOT:是否开机自启
BOOTPROTO:ip地址分配方式,DHCP表示动态主机分配协议
HWADDR:硬件地址,MAC地址
如果后续需要重启多个网卡如何做?
#service * start/restart
共性目录存放着对服务的快捷方式:/etc/init.d
此处重启网卡命令还可以使用:
#/etc/init.d/network restart
扩展:如果修改网卡的配置文件,但是配置文件的目录层次很深,此时可以在浅的目录中创建一个快捷方式(软连接)。方便以后去查找:
#ln -s 原始文件路径 快捷方式的路径
通过#ls -l 查看文件详细信息 “l”为link(连接类型),后面的“->”指向原文路径
扩展:如何去重启单个网卡?
停止某个网卡:#ifdown 网卡名
开启某个网卡:#ifup 网卡名
例如:
禁用状态:无ip地址
启用状态:有ip地址
提示:在实际工作中不要随意随意禁用网卡
ssh服务(重点)
ssh(secure shell,安全外壳协议),该协议有两个常用的作用:远程连接协议,远程文件传输协议
协议使用端口:默认22
端口号可以被修改,修改ssh服务(先去掉注释符#)的配置文件即可:
端口号范围:0~65535
不能使用已站用的端口号
服务进程启用/开启/重启
#service sshd start/stop/restart
#/etc/init.d/sshd start/stop/restart
远程终端
常见的终端工具有:Xshell、secureCRT、Putty等
SSH服务文件传输
可视化界面的传输工具:Filezilla
使用filezilla上传文件方式:
1、 直接打开文件向远程终端框内拉
2、 复制文档或者文件路径粘贴在本站站点内选择上传即可
扩展:使用pscp.exe命令行传输文件(需要设置环境变量)
设置主机名
#hostname
#hostname -f FQDN(全限定域名)
1、 临时设置主机名(切换用户使之生效):#hostname 设置的主机名
登陆:su
2、永久设置主机名(需要重启)
方法1、
方法2
或者在文件里直接修改保存即可。
修改linux服务器的hosts文件,将Kobe指向本地(FQDN)
不设置FQDN会怎样:很多开源服务器软件会把报错或者无法启动;方便记忆;影响本地的域名服务
#vim /etc/hosts
Chkconfig(systemctl)相当于window下的“电脑管家”提供”开机启动”的一个管理服务
ntp服务:对计算机的时间同步管理操作
同时服务器时间的方式有两个:一次性同步(手动同步)、通过服务自动同步
1、 一次性同步(简单)
#ntpdate 时间服务器的域名或者IP地址
IP地址查看可以访问 http://www.ntp.org.cn/pool
如果上述方法不可行是,可使用命令:/usr/sbin/ntpdate stdtime.gov.hk
2、 设置时间同步服务(版本不同,命令不同)
Centos7:systemctl list-unit-files (查看自启动项,enabled为启动,否则为disabled)
执行开机禁用自启命令 : systemctl disable 启动项目
随系统开启启动 : systemctl enable 启动项目
服务名:ntpd(centos6)
启动ntpd服务
#service ntpd start 或者 /etc/init.d/ntpd start
设置ntpd服务开机启动
#chkconfig –list | grep ntpd
防火墙服务:
firewalld centos6.5防火墙名称为iptables
2、firewalld服务 stop/start/restart
Centos7查看防火墙状态:#systemctl status firewalld
已启用:
关闭防火墙:#systemctl stop firewalld.service
可以访问linux内置apache
启动防火墙: #systemctl start firewalld
无法访问linux
永久禁用或者开启防火墙
执行开机禁用防火墙自启命令 : systemctl disable firewalld.service
防火墙随系统开启启动 : systemctl enable firewalld.service
Centos7查看相关规则:systemctl status 项目(-l 可以使用)
Centos6为:项目service 项目 status
简单设置防火墙规则(centos7)
查看已打开的端口 netstat -anp
添加允许的端口 firewall-cmd --add-port=8080/tcp --permanent
若移除端口 firewall-cmd --permanent --remove-port=8080/tcp
rpm管理(重点)
rpm类似于window上的电脑管家,主要用于对linux服务器上的 软件包进行管理,相应的操作为:查询、卸载、安装
#rpm -qa | grep关键词
-q = =query 查询 -a = = all 所有
查询firefox浏览器
卸载软件:#rpm -e 软件名
–nodeps 表示忽略依赖关系
查看块状设备的信息:
#lsblk
扩展:光盘的挂载和解挂
解挂操作
命令:umount
语法:#umount 当前设备的挂载点(路径)
此时,相当于U盘在window上已经被弹出来了,但是没有拔下来usb接口
挂载光盘:
命令:mount
语法:#mount 设备原始地址 要挂载的路径
设备原始路径:统一都在/dev下,然后根据大小确定具体name的值,拼凑在一起组成原始地址,例如当前:“dev/sr0”
要挂载的位置路径:挂载目录一般都在mnt下,也可以在mnt下建目录,此处以“mnt/dvd”为例
安装软件的命令:
#rpm -ivh 软件完整包名
-I install安装
-v 显示进度条
-h 表示以“#”形式显示进度条
rpm安装案例
1、 下载linux qq RPM文件,使用filezilla拖入linux文件(此处为/mnt/ 下)
下载地址: http://175.6.13.186/dlied1.qq.com/qqweb/LinuxQQ_1/linuxqq_2.0.0-b2-1082_x86_64.rpm
2、 安装
3、 使用命令将图形化界面QQ映射到gui
export DISPLAY=192.168.133.129 linux地址
启动QQ:终端输入 QQ 即可启动
cron/crontab 计划任务(重点)
语法:#crontab 选项
常用选项:
-l:list 列出指定用户的计划任务表
-e:edit 编辑指定用户的计划任务表
-u:user 指定的用户名,如果不指定,则表示当前用户
-r:remove 删除指定用户的计划任务表
编辑计划任务(重点)
案例:
Crontab权限问题:任何用户可以创建自己的计划任务
但是管理员可以通过配置文件来限制其他用户使用crontab
黑名单默认文件(空文件,手动添加黑名单用户): /etc/cron.deny
还有一个配置文件:(白名单)
位置:/etc/cron.allow 本身不存在,需要自己创建
注意:白名单优先级高于黑名单,如果一个用户同时被存于两个文件夹中,则会被默认允许创建定制计划表。
====================================================================
直接登陆root用户获取全部权限
账户:root
密码:自己设置的初始密码