赞
踩
基础命令
ls pwd cd mkdir -p 创建多层目录 touch mv 移动 rm -f强制 -i递归
进阶命令
df free(查看内存使用情况)
查看文件内容 head tail less
统计文件信息 wc -l(行)
cal 日历 passwd 修改用户密码 (passwd a 修改a用户密码)
高级命令
hostname id whoami ps -ef -e全部 -f 全部列
top 服务器进程占用资源 pr 优先级 以大为优
%cpu cpu占用 %MEM 内存占用
du -sh 查看文件真实大小
find 查找文件 find 查找路径 选项(-type [f 文件 d目录]) 值
service 软件服务启动/停止/重启
kill PID 结束进程 killall 进程名
reboot 重新启动
reboot -w 只写入关机与开机的日志信息用于测试
shutdown 关机 shutdown -l 取消
uptime 计算机开机时间
uname 获取操作系统信息
netstat -tnlp 用于查看ip和端口是否占用
ctrl+u 删除光标前
ctrl +k 删除光标后
编辑器 –vi
显示行数末行模式下输入 :set number
模式
命令模式 删除复制粘贴对文件内容操作
便捷模式 内容编辑
末行模式 对文件操作搜索替换撤销
命令模式
末行模式
进入方式
按键 : 命令模式下 输入 : 或者 /
退出: esc 两次 或 删除末行所有字符
保存
输入 ‘:w’ 保存文件
输入 ‘:w 路径’ 另存为
退出
输入 ‘:q’ 退出文件
强制退出
输入: ‘!q’ 强制退出不做保存
调用外部命令
输入: ’!外部命令’ 例如!ls
搜索
输入: /关键词
在搜索结果中上/下切换 : N/n
取消高亮
:nohl
替换
:s/搜索的关键词/替换为 替换光标所在行中的第一处 :s/搜索的关键词/替换为/g 替换光标所在行全部 :%s/搜索的关键词/替换为 替换整个文档中第一处符合条件的 :%s/搜索的关键词/替换为/g 替换整个文档符合条件的
%表示整个文档 g表示全局(global)
显示行号
:set number 关闭set nonumber
永久显示
vi /etc/virc
在最后一行添加set nu
拓展 vi打开多个文件 在末行模式下进行文件切换
查看当前已经打开的文件名称’:files’
%a 表示activite’ 当前正在打开的文件
切换文件方式:
1.如需要打开指定文件 ‘:open 已经打开的文件名’
2.通过其他命令来切换上/下一个文件
‘bn’切换到下一个文件 ‘bp’ 切换到上一个文件
back next back previous
竖行分屏显示
:vs
命令行模式,然后输入下面的命令:“:vertical res 20” 。进入命令行模式前,光标所在的窗口宽度将变成全部宽度的20%。
光标窗口切换:
Ctrl+w 循环切换
Ctrl+w+L
把光标移到右边的屏中。
Ctrl+w+H
把光标移到左边的屏中。
Ctrl+w+K
把光标移到上边的屏中。
Ctrl+W+J
把光标移到下边的屏中。
编辑模式
进入方式: i光标所在前 a光标所在后 o光标所在行下面另起一行插入
I行首 A行尾 O上
理解记忆i (insert ) a (after)
扩展内容
Linux 自有服务
自有服务不用用户安装,系统安装好后就可以直接使用的服务(内置)
②修改用户
常用语法: usermode 选项 用户名
常用选项:
-g -G -u
-l (小写L)修改用户名 usermod -l 新用户 旧用户
[-l 新用户] 理解为选项
③设置密码
Linux不允许没有密码的用户登录到系统,因此前面创建的用户目前都处于锁定状态,需要设置密码之后才能登陆计算机.
常用语法: psswd 用户名
切换用户 su 用户名 输入用户密码 (su指 switch user)
④删除用户
常用语法:userdel 选项 用户名
常用选项: -r 表示在删除用户的同时删除其家目录
删除其他已经登陆的用户, kill 其他登陆用户的全部进程后再进行用户删除.
2. 用户组管理
系统对一个用户组中的所有用户集中管理,用户组的管理涉及用户组的添加删除和修改,组的操作实际上是对/etc/group文件更新
文件结构 用户组名 : 密码 : 用户组id
组内用户名表示附加组是该组的用户名称
①用户添加
常用语法 groupadd [选项] [组id] 用户组名
常用选项 -g 类似用户添加的-u -g表示自己设置一个用户组id ,如果不指定,则默认从500之后递增
②用户组的编辑
常用语法 groupmod 选项 用户组名
选项 -g : 修改组id
-n: 类似于用户修改的 -l ,表示修改用户组的名称
③用户组删除
常用语法 groupdel 用户组名
网络设置
网卡配置文件位置 /etc/sysconfig/network-scripts
网卡命名格式ifcfg-网卡名称
网卡重启 service network restart
在有的分支版本中可能没有service 命令来快速启动,但有一个共性目录:/etc/init.d,这个目录存放着很多对服务的快捷方式
此处重启网卡还可以使用 /etc/init.d/network restart
软连接
ln -s 原文件路径 快捷方式路径
ls -l 显示 连接名->源文件位置
如何开启单个网卡:
停止某个网卡ifdown 网卡名
开启某个网卡 ifup 网卡名
ssh服务
ssh (secure shell,安全外壳协议),2种常用作用:远程连接协议 远程文件传输协议
协议使用端口号 默认22
可以被修改:修改需要修改ssh服务的配置文件: /etc/ssh/ssh_config
服务启动 停止 重启
service sshd start/stop/restart
/etc/init.d/sshd start/stop/restart
可视化传输FileZilla 软件
Linux自有服务(2)
设置主机名
1、临时设置主机名 hostname 设置的主机名 (需要切换用户使之生效)
2、永久设置主机名(需要重启生效)
先找到一个文件 /etc/sysconfig/network
hosts位置 /etc/hosts
修改后保证hostname -f 能看到否则去修改 hosts文件
FQDN:(Fully Qualified Domain Name)全限定域名:同时带有主机名和域名的名称。(通过符号“.”)
例如:主机名是bigserver,域名是mycompany.com,那么FQDN就是bigserver.mycompany.com。
主机名修改不在hosts中修改会导致apache无法启动,会影响本地域名解析
chkconfig
作用: 管理启动项服务 并不是所有linux 下都有该服务,有的可能需要自己去添加.
设置开机自启动
1.centos6使用chkconfig
chkconfig --list 查看开机启动项
chkconfig servicename on/off /设置服务开机自启动开/关
如果服务尚未被添加到 chkconfig 列表中,则现需要使用 –-add 参数将其添加进去:chkconfig --add servicename
只想看指定的服务: chkconfig --list servicename
2.centos7 使用systemctl
systemctl disable servicename 开机不自启动
systemctl enable servicename 开机自启动`
ntp服务
作用:用于计算机同步时间
同步方式: 一次性同步手动同步 和 自动同步
一次性同步
ntpdate 时间服务器或ip
设置时间同步服务
服务名 ntpd
启动时间服务器 service ntpd start 或 /etc/init/ntpd start
防火墙服务
查看iptables 是否开机启动
chkconfig --list | grep iptables
iptables 服务启动/重启/关闭
/etc/init.d/iptables start/restart/stop
查看iptables 规则
service iptables status 如果防火墙没启动显示未启动,如果已经启动,则显示防火墙的相关规则信息.
查看规则命令
iptable -L -n -L表示列出规则 -n 以数字方式显示
简单设置防火墙规则
iptabls -A INPUTE -p tcp --dport 80 -j ACCEPT
-I将规则添加到最前 -A 添加到最后
-p 协议 INPUTE 进站 --dport 指定端口
-j 指定行为结果允许 accept 禁止 reject
添加完成后需要保存操作 /etc/init.d/iptables save
rpm管理(重点)
作用:类似于windows的软件管家 .Linux服务器上的软件包进行管理操作,管理分为:查询 卸载 安装
查询某个软件的安装情况
rpm -qa|grep 关键词
-q 查询(query) -a 全部
卸载某个软件
rpm -e 软件的名称 当存在依赖关系时不能卸载,只能通过强制卸载
强制卸载 rpm -e 软件包名 --nodeps
软件的安装
想装软件先找到安装包
查看块状设备的信息 lsblk (list block devices )
U盘挂载 和 解挂
a. 解挂操作 umount 当前设备挂载点
b. 挂载操作 mount 设备原始地址 要挂在的路径(建议/mnt)
设备的原始地址: 地址同一都在/dev下,根据大小确定name值拼在一起组成原始地址
安装软件
rpm -ivh 软件包的完整名称
-i install
-v显示进度条 -h 表示以#号形似显示进度条
cron/crontab 计划任务(重点)
systemctl enable 服务名
作用:在指定的时间点执行指定的任务
语法:crontable 选项
-l list列出指定用户的计划任务列表
-e edit编辑指定用户的计划任务列表
-u user 指定用户,如果不指定则表示当前用户
-r remove 删除指定用户的计划任务
计划任务的规则语法格式:以行为单位,一行为一个计划
分 时 日 月 周 需要执行的命令
crontable -e
例:每天0点0时执行 reboot 0 0 * * * reboot
取值范围 分 :0-59 时 0-23 日 0-31 月 1-12 周 0-6 0指星期天
四个符号: *取值范围的每一个数字 - 表示一个连续的区间
/ 表示每多少个 每10分钟一次 */10
,表示多个取值 1点 3点 1,3
Crontab权限问题 : 本身是用户就可以创建自己的计划任务
超级管理员可以通过设置来禁止某些用户设置计划任务
配置文件位于: /etc/cron.deny(黑名单) 在文件中加入用户名
/etc/cron.allow (白名单) 本身不存在,需要手动创建.使用在文件中
加入用户名
白名单优先级高于黑名单: 对于同一用户在黑白名单中,白名单效果生效
Linux 权限管理(重点)
1.Linux权限针对用户 用户组
三个身份 owner group othes 权限 read write execute (数字表示4 2 1)
2.身份介绍
3.Linux权限介绍
首字母: d 表文件夹 –表文件 l表软连接
4.权限设置
用法: chmod [选项] [ + | - | = ] 文件 选项-R 递归设置权限
u 用户 g 用户组 o 其他用户 a所有用户
例子chmod -R u+r,g+w,o+w test
chmod 124 test
文件所有者加上执行权限 ,用户组加写权限,其他人加读权限
当任何一个具有读写执行权限文件会变成绿色 (-rwx------ dong dong 文件)
注意:设置写权限时需加上读权限(对文件只有写入不能读这种权限没意义)
4.注意事项
Linux 中删除一个文件不是看文件是否有权限,而是看问价你所在的目录是否有写权限.
属主与属组的设置
属主: 所属的用户 属组: 所属用户组
在文件创建的时候会使用创建者的信息
1.chown 改变文件所属用户
chown 用户名 文档路径
chown – R 用户名 文件夹路径
2.chgrp 改变文件所属用户组
chgrp 用户组 文档路径
chgrp -R用户组 文件夹路径
3.同时修改用户和用户组
chown 用户名:用户组名 文档位置
4.扩展
用户需要管理员权限,但是root不能把自己的密码告诉用户
解决: 使用sudo命令 sudo(switch user do )可以让管理员事先定义某些特殊命令谁可以执行
默认sudo中是没有除root用户之外的用户规则,要想使用必须配置sudo
配置文件/etc/sudoers
a.配置sudo文件使用 ‘visudo’
b.配置普通用户的权限
默认 root ALL=(ALL) ALL root用户名 如果是用户组表示%用户组
ALL允许登录主机
(ALL) 表示以谁的身份去执行,ALL表示root身份 ALL表示当前用户可以执行的命令,多个命令可以使用用’,’(逗号隔开)
编写sudo规则的时候不建议直接写命令的形式,建议写命令的完整路径,
路径可以使用which来查找
案例:将dong设置为可以添加用户,可以修改用户密码但是不能修改root密码
Dong ALL=(ALL) useradd路径, /user/bin/passwd, !/user/bin/passwd root
普通用户怎么查看自己具有哪些权限 sudo –l
网络相关概述
A类 10.0.0.0-10.255.255.255 B类172.16-172.31 C类 192.168.X.X
Ping arp tracerout
Shell
Linux 默认的shell 在/bin/bash
Shell入门
代码规范:
#!/bin/bash 告知系统当前的脚本需要使用的shell解释器
Shell相关命令
使用流程: 创建.sh文件 touch .sh
编写shell脚本
执行脚本 必须具有执行权限
执行在运行时一定要写成./test.sh而不是test.sh,直接写test.sh Linux 会去PATH(环境变量)里去寻找test.sh,而只用/bin/sbin /usr/bin /usr/sbin 等在PATH里,当你的目录通常不在PATH里,所以写成test.sh,是不会找到命令的,要用./test.sh告诉系统说,就在当前路径找
例:test.sh
#!/bin/bash
echo 'hello word’
useradd shelltest
touch /home/shelltest/try.html
echo 'success’
执行 ./test.sh 或者 /bin/bash test.sh
Shell进阶
e equal g great l less
3.3逻辑运算符
! 非 -o 或 -a 且
3.4 字符串运算符
= 相等 [
a
=
a=
a=b ]
!= 不相等
-z 检测字符串的长度是否为0,为0返回true
-n 判断字符串长度是否为0,不为0返回true
str 检测字符串是否为空,不为空返回true
3.5文件测试运算符(重点)
文件测试运算符用于检测Linux 文件的各种属性
操作符 说明 举例
-b file 检测文件是否为块设备,如果是返回true [ -b $file ]
-c file 检测文件是否是字符设备文件,如果是返回true [ -c $file ]
-d file 检测是否为目录,是返回true [ - d $file ]
-f file 是否为普通文件(不是目录也不是设备文件)
是 返回true [ -f $file ]
-w file 检测文件是否可写,是返回true [ -w $file ]
-r file 检测文件是否可读,是返回true [ -r $file ]
-x file 检测文件是否可以执行,是返回true [ -x $file ]
-s file 检测文件是否为空(文件是否大于0)不为空返回true [ -s $file ]
-e file 检测文件(包括目录)是否存在,存在返回true [ -e $file ]
注意 ; 权限部分,有一个部分符合,则认为是有权限的
4. shell 脚本附带选项(重点)
问题描述:在Linux shell 中如何处理tail -10 test.txt 这样的命令选项
步骤:
调用tail命令 -> 系统把后续选项传递给tail -> tail先去打开指定文件 -> 取出最后的10行
$1 接收第一个参数
#!/bin/bash
echo $1 $2 执行 ./文件 参数1 参数2
$1表示接收第一个参数 $0 表示执行的脚本自身
mysql基础
备份
Linux下执行
完全备份(数据+结构): #mysqldump -uroot -p密码 -A >备份文件路径
指定库备份(数据+结构)#mysqldump -uroot -p密码 库名 >备份文件路径
多个库备份(数据+结构)#mysqldump -uroot -p密码 --databases db1 db2 >备份文件路径
案例:每一分钟备份整个数据库
编写shell
#!/bin/bash
filename=”mysql”date +%y%m%d
”.sql”
mysqldump -uroot -p密码 库名 > $filename
编辑计划任务
crontab -r (进入计划任务编辑)
查看red版本
cat /etc/redhat-release
查询某个进程id pidof 服务名称
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。