windows
操作系统
Linux/Nuix
Mac
环境
开发dev
测试环境Test
integration test(IT)集成测试环境
system test(ST)系统测试环境
SIT 集成系统测试环境
SandBox 沙盒
Pre 预生产
生产;线上环境
LINUX命令区分大小写
#表示标注
远程连接终端软件有
Xshell,putty,SecureCRT
查看IP
ifconfig
[mi@localhost ~]$ [用户名@服务器名 用户目前在的路径] $代表普通用户,#代表超级管理员
文件夹说明
home #用户的主目录
bin #二进制,可执行文件,主要存放命令文件!!!
sbin #system bin 系统二进制文件!!!
selinux #系统文件!!!
boot #系统文件!!!
dev #外设
etc #配置文件
lib #系统资源库
media #音频
opt #用户软件安装路径
var #用户软件安装路径
usr #用户软件安装路径
pwd
打印当前路径
/home/mi #当前用户根目录
/ #系统根目录
cd 切换目录
[mi@localhost ~]$ cd / #更改路径
[mi@localhost /]$
cd ~
cd /home/mi
cd 这三个执行都回到/home/mi
ls
[mi@localhost /]$ ls #查看当前路径内容
[mi@localhost /]$ ls /home #查看/home下的内容
绝对路径和相对路径
cd /home/mi #从根目录开始就是绝对路径
cd home/mi #从当前路径开始算起就是绝对路径
../ #代表上级目录
./ #代表当前目录,不用./也是当前目录
命令 --help #命令的帮助文档
man 命令 #查看命令的帮助文档
退出键 q键
ls -l /bin #以列的形式展现bin文件夹的内容
ls -a #查看当前目录的所有内容
文件管理
文件夹
增
mkdir ../aaa ./bbb ccc #同时创建名为aaa、bbb、ccc的文件夹,aaa在上一目录,bbb、ccc在当前目录
#文件本来就存在,会返回提示:File exists.
mkdir -p 2017/05/23 #即使2017/05路径不存在,依然可以创建,同时创建了2017、05、23这三个不同的上下级的文件
删
rmdir 2017/05/23 2017/05/23 #23为空文件夹时,成功删除
rmdir -p 2017/05/23 #先看23是否是空文件夹,是空文件夹删除;删除23后再判断05是否是空文件夹,是空文件夹删除05;依次类推
rm -r 2017 #递归删除2017这个文件或者文件夹,即使里面有内容
查
find 绝对路径 关键字 find /home -name '*a'
改
mv aa bb #若bb存在,则把aa移动到bb下;若bb不存在,aa重命名为cc;
mv aa ./bb/cc #若bb存在,cc不存在,则aa移动至bb下,重命名为cc;若bb存在,cc存在,则aa移动至bb/cc下面
cp -r aa bb #若bb存在,则把aa复制到bb下;若bb不存在,aa复制并更名为cc; -r表示复制目录
文本
增
touch aa/hello.log #创建hello.log的文本文件,前提aa的路径必须存在
删
rm hello.log #删除hello.log文本
查
cat #适合查看内容较少的文本
cat a.txt b.txt #查看a.txt和b.txt文件
cat -n a.txt #查看a.txt且编号,空行也编号
cat -b a.txt #查看a.txt且编号,空行不编号
more
more a.txt #分屏查看a.txt内容,且空格为翻页,仅能往后面翻页
more a.txt b.txt #查看a.txt和b.txt的文件
less
less a.txt #查看a.txt,且可以搜索关键字
#输入【/ a】查看【a】的关键字
#按【n】或者【N】进行关键字翻页
#按【Q】退出
head
head a.txt #只显示前10行
head -30 a.txt #显示前30行
tail
tail a.txt #默认显示后10行
tail -20 a.txt #显示后20行
tail -20f a.txt #动态显示后20行,适用查看日志
改
mv aa bb #若bb存在,则把aa移动到bb下;若bb不存在,aa重命名为cc;
mv aa ./bb/cc #若bb存在,cc不存在,则aa移动至bb下,重命名为cc;若bb存在,cc存在,则aa移动至bb/cc下面
cp aa bb #若bb存在,则把aa复制到bb下;若bb不存在,aa复制并更名为cc;
编辑文件
vi hello.log #和vim hello.log 编辑已存在的文件
#按【i】键/【a】键进入编辑模式
#按【Esc】退出编辑模式
#按【:】【w】【q】保存并退出
#按【Z】【Z】保存退出
#按【:】【q】【!】强制退出
y4y #非编辑状态下,复制4行
d3d #非编辑状态下,删除3行
u #非编辑状态下,撤销
p #粘贴
/a #查找关键字
n #向下查找
N #向上查找:n/N
gg #定位首行
G #定位末行
$ #定位行尾
:10 #行定位,(定位到第10行)
ZZ #保存退出
:set nu #编号
强制退出
按【Ctrl】+【Z】/【Ctrl】+【C】
搜索
find /home/mi -name 'hello' #在/home/mi下查找名称为hello的内容,精确查找
find / -name 'hello*' #在根目录下,按名称查找包含hello的内容,模糊查找
find / -name '?hello' #在根目录下,按名称查找包含hello的内容,且hello前面有一个字,模糊查找
grep #不打开文件进行查找
grep 'hello' a.txt #在a.txt中查找'hello',最后显示出关键字的整行内容,区分大小写
grep -i 'hello' a.txt #不区分大小写查找'hello'
查找命令
whereis cd #查找到命令的位置
用户管理(root用户才能进行操作)
su root #切换成超级管理员
增
adduser zhangsan #添加新用户 zhangsan,也可以写成useradd
passwd zhangsan #给用户添加密码
删
删前要进行退出操作,避免zangsan和root用户在切换
userdel zhansan #仅删除zhangsan,其目录还在 /home/zhangsan还在,记录还在/etc/passwd
rm -rf /home/zhangsan #递归且不提示删除zhangsan的家,-f用注意,提示最好,避免误删
userdel -r zhangsan #递归删除zhangsan的东西,包括用户名和home下的家,包括/etc/passwd的记录
查
cat /etc/passwd #查看是否增加成功,passwd是个文本,每增删一个用户,就会有相应记录
改
passwd zhangsan
组管理
添加一个新用户时,会默认新建一个这个用户同名的组
添加组
groupadd sankou #添加sankou组
gpasswd sankou #设置sankou组密码
删除组
groupdel sankou #删除sankou组
查看
cat /etc/group #查看组信息
组成员
添加组成员
gpasswd -a pp sankou #将pp这个用户添加到sankou组里
重新设置组成员
gpasswd -M yy,zz sankou #sankou组以前的成员被删除,添加了yy,zz这2个用户进去
删除组成员
gpasswd -d pp sankou #将pp这个用户从sankou组里删除
组管理员
gpasswd -A pp sankou #将pp这个用户作为sankou组的管理员
权限管理(ll命令可以看到权限)
drwxr-xr-x. 12 root root 4096 Apr 10 04:09 usr
点号前
【d】【rwx】【r-x】【r-x】
第一个字表示类型
d表示目录,-表示文本文件,l表示快捷方式
三种权限:
r/4 -read可读 w/2 -write可写 x/1 -execute可执行 ,没有字母用-/0表示文本文件 数字也可以相加减进行
可执行:对于文件夹,可以进入文件夹 ;对于文件,可以运行文件
三种角色:
用户【rwx】u 组【r-x】g 其他用户【r-x】o 所有用户a/ugo
更改权限
修改权限仅能是用户自己、或是root用户
chmod [u/g/o][=/+/-][rwx] 文件 #重新给权限,u代表用户,g代表组,o代表其他用户,=为重新给权限,+表示加权限,-表示减权限
chmod o+r db #给其他用户对文件(或文件夹)db读的权限
chmod g+rwx,o+r,u-x abc.txt
chmod ugo=rwx abc.txt
chmod a=rwx abc.txt
chmod 763 abc.txt #(数字依次设置用户,组,其他用户)
chmod -R 777 a #a以及所有目录下的所有文件、文件夹权限递归修改为rwx
更改所有者
chown 新用户 文件名 #(只能root用户才有权限更改)
chown wangmazi abc.txt
更改组
chgrp 新组名 文件名 #更改组
文件压缩和解压缩
zip
压缩
zip test.zip 20.log 30.log cc #将20.log、30.log和cc的文件夹压缩成test.zip格式,路径为当前路径
# zip 压缩后的文件名 要压缩的文件
解压
unzip test.zip #解压test.zip ,解压到当前文件夹
unzip test.zip -d ./ss #解压到当前ss文件夹下
tar
压缩(-v表示显示执行信息)
-v或--verbose 显示指令执行过程。
-z或--gzip或--ungzip 通过gzip指令处理备份文件。
-f<备份文件>或--file=<备份文件> 指定备份文件。
-c或--create 建立新的备份文件。
-x或--extract或--get 从备份文件中还原文件。
tar -cvf cc.tar cc bb.txt #将cc,bb.txt压缩成cc.tar
tar -zcvf cc.tar.gz cc bb.txt #压缩成.tar.gz格式
解压
tar -xvf cc.tar #解压cc.tar
tar -zxvf cc.tar.gz #解压cc.tar.gz格式
tar -zxvf cc.tar.gz -C ./ss #解压到指定目录下
系统管理
网络管理
ifconfig #查看ip地址
ping www.baidu.com #查看连接速度
service network status #查看网络状态
磁盘管理
du #查看磁盘文件使用(单位是kb)
df #查看磁盘分区
进程管理
ps #(查看当前用户进程)
ps -aux #(根据用户查看所有用户进程都在)
top #(实时动态查看),前20条
kill -9 9404 #强制关闭PID为9404的进程
date #(查看服务器时间)
系统开关机
shutdown -h now #关机
shutdown -h 18:00 #定时关机
halt #待机
reboot #重启
shutdown -r now #重启
文件名太长,可以按TAB键补全
环境搭建
文件上传工具:
SecureFX、xftp、cutftp、Filezilla、WinSCP等等
软件安装
源码安装、
解压
tar -zxvf lrzsz-0.12.20.tar.gz #先解压.tar.gz的文件(先用SecureFX上传到/home/mi/test路径下)
配置
./configure --prefix=/usr/local/lrzsz #在当前文件下配置,一般安装在 /opt、/usr、/var下,--preifx指定安装路径,不写安装路径就默认安装路径
编译
make
安装
make install
软件使用(类似于windows下的执行某个软件)
cd /usr/local/lrzsz/bin/lrz #绝对路径执行已安装软件的命令
./lrz #相对路径执行安装软件的命令
#执行安装后的bin的lrz,执行本地命令,都可以使用【路径/命令】,必须要加路径,不管是相对还是绝对路径,这里可以写成 /usr/local/lrzsz/bin/lrz
创建快捷方式
cd /usr/local/bin #先切换到/usr/local/bin下
ln -s /usr/local/lrzsz/bin/lrz lrz #创建快捷方式,下次可以直接使用lrz命令,不用再进入目录里使用
卸载
先找到路径,再删除,最好再搜索下
rpm安装(跟源码包的区别就是已编译,源码未编译)
安装
rpm -ivh 包名.rpm #先上传,再切换到上传路径下,进行安装
查找已安装的包
rpm -qa #查询系统中所有已安装的安装包
rpm -qa 'p11*' #查看p11开头的已安装的安装包
rpm -qa 'p11' | grep -i 'p11' #可以通过管道查询,从前面的内容中输出作为后面的输入 输出|输入
卸载
rpm -e 完整包名 #卸载同时也要删除 rm -rf /var/lib/mysql,如果有依赖的话
rpm -e 完整包名 --nodeps
yum安装
安装
yum -y install mysql,php #安装,-y表示询问是否安装时,确认,这里安装了2个包,mysql和php这两个包,包名不带版本号等
查询
yum list
更新
yum update
卸载
yum remove mysql,php
安装完mysql的操作
检查mysql服务状态
service mysql status
重启mysql服务
service mysql start
进入mysql
mysql -uroot -p密码
进入mysql后修改mysql密码
mysql> set password = password('123'); #修改密码为123
mysql中的一些操作(操作结束均以【;】结尾表示)
mysql>show databases; #查看数据库
mysql>show tables; #查看表
mydql>use 数据库; #使用某个数据库,可以在数据里进行创建、查找修改的操作
作业:内网网段,网关,掩码,局域网,子网,各网段
局域网网段
C类局域网专用网段:192.168.0.1~192.168.255.254 很多公司网吧都是用这个网段 hoho
B类局域网专用网段:172.16.0.1~172.31.255.254
A类局域网专用网段:10.0.0.1~10.255.255.254
几个特殊的IP地址:127.0.0.1为本地回路测试地址
255.255.255.255代表广播地址
0.0.0.0代表任何网络
网络号全为0的代表本地网络和本地网段
网络号全为1的代表所有的网络
主机位全为0的代表某个网段的任何主机地址
主机位全为1的代表该网段的所有主机
网关
网关(Gateway)又称网间连接器、协议转换器。网关在网络层以上实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关既可以用于广域网互连,也可以用于局域网互连。 网关是一种充当转换重任的计算机系统或设备。使用在不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。与网桥只是简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统
局域网
局域网(Local Area Network,LAN)是指在某一区域内由多台计算机互联成的计算机组。一般是方圆几千米以内。局域网可以实现文件管理、应用软件共享、打印机共享、工作组内的日程安排、电子邮件和传真通信服务等功能。局域网是封闭型的,可以由办公室内的两台计算机组成,也可以由一个公司内的上千台计算机组成。
若存在反向代理服务器(nginx)时,需用ssh跳转
跳转命令:
ssh root@192.168.1.3
服务器间文件传输命令
sftp root@192.168.1.3
get 命令
put命令