Linux-一切皆文件
VMnet1 Host-Only网络下的虚拟交换机 VMnet8 虚拟NAT网络下的虚拟交换机
桥接模式 虚拟出同一网段下都能访问的服务器 vi /etc/rc.local 开机启动文件 vi /etc/profile 环境变量 ~./bashrc 用户环境变量
source /etc/profile 执行环境变量
ip a 查看IP地址
![](https://i-blog.csdnimg.cn/blog_migrate/a580af46961663aeed1617c5fab6f8dc.png)
ifconig 查看IP地址
dhclient 自动获取IP
df -h 查看磁盘容量
当前用户 主机名 普通用户标识 ![](https://i-blog.csdnimg.cn/blog_migrate/500dc77d74b8f67298b6671fa3e2b78b.png)
$ 普通用户 #root 用户
uname -a 显示Linux操作系统位数
find / -name ** 查询文件位置
![](https://i-blog.csdnimg.cn/blog_migrate/71178333b7deff909f1fffda893fc0b1.png)
netstat -Int cha 查看进程
/opt/lampp/bin/mysql mysql -uroot -p123456 启动mysql
mysql加入环境变量
1.vi ./etc/profile
2.末行 export PATH=/opt/lampp/bin:$PATH 3.source /etc/profile
alias mysql='/opt/lampp/bin/mysql mysql -uroot -p123456
vi ~/.bashrc 2.source ~/.bashrc
du -sh * 查询文件大小
ls *搜寻内容 cat bb |grep aa|wc -l 查找bb文件里的aa
tail -f /opt/.../log|grep xx 搜寻日志里的文字信息
date 显示时间date -a 修改日期 date-s 修改时间
date +%Y%m%d%H%M%S 年月日时分秒
/etc/init.d/network reload 重新导入
-
sudo /opt//lampp/lampp start 启动xampp
service iptables stop
关闭防火墙
service iptables restart
重启防火墙
/etc/rc.d/rc.local
内写入 /opt/lampp/lampp start 自启动lampp
lampp
启动 Apache mysql php
启动tomcat
sh startup.sh && tail -f ../logs/catalina.out
-
ps -ef|grep tomcat |grep -v "grep"<> |awk '{print $2}'
查看tomcat进程
ps -ef|grep tomcat
|grep -v "grep"<>
|awk '{print $2}' <取列值>
ps -ef|grep tomcat |grep -v "grep"<> |awk '{print $2}'|xargs kill -9
killall -9 kill全部进程
上传下载文件:Xftp ssh FileZilla Winscp
reboot 不接参数
cd /home/tom2 vi ./hello
chmod a+x / chmdo + x
增加所有权限 chmod o-wx 减去权限
chmod g+w 给同组其他用户加权限 去除权限把 + 变为 -
chmod o+w 给其他用户加权限 chmod 777最高权限
chmod -r 文件夹
charp 改变文件所属组
cat * |wc -l 统计文件内有多少行 wc -l file 统计行数
| 管道符 连接两条命令,把前面的命令执行结果交给后面的处理
ls && wc -l && 同时执行前后两条命令 x 4代表执行 w 2代表写 x 1代表读
chmod
./hello "调用名" - 调用参数
变量赋值“=”不允许有空格 chmod +x 文件名 增加可执行权限
$0 脚本名 $$脚本PID
![](https://i-blog.csdnimg.cn/blog_migrate/6d4e6be431c693cdce4279e34b82978f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/009c072360b52971c2d4142440e499d3.png)
$# 是传给脚本的参数个数
$
0
是脚本本身的名字
$
1
是传递给该shell脚本的第一个参数
$
2
是传递给该shell脚本的第二个参数
$@ 是传给脚本的所有参数的列表 $$ 是脚本运行的当前进程ID号
$? 是显示最后命令的退出状态,
0
表示没有错误,其他表示有错误
$* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过
9
个
加法 # 注释
"0: "{myList[0]}} 取值
![](https://i-blog.csdnimg.cn/blog_migrate/28648060a40c3ebf26274881fce854c8.png)
脚本执行
du -s./xxx 显示总计,列出最后加总的值 du -k./xxx 以KB为单位输出并不含子目录大小
![](https://i-blog.csdnimg.cn/blog_migrate/9f03d8856406e9e4396b30d90d13c146.png)
yum -y install lsof 安装 lsof ./xxx
lsof +d DIR 显示目录下被进程打开的文件 lsof +D DIR 搜索所有目录(文件过多的话时间稍长)
/opt/lampp/lampp start 启动lampp
su 返回root
sarot 切换账号(不会重新加载切换用户的环境变量)
su - sarot 切换账号(重新加载切换用户的环境变量)
init 0/shutdown -r now 关机 init 6 /reboot -f 强制重启
crontab 定时任务
crontab -e 编辑定时任务 crontab -l 查看当前有哪些定时任务
*****touch /tmp/hhahaha
netstat -nlpt|grep pid 查看进程号启动的端口号有没有被占用
netstat -nlpt|grep port 查看这个进程号启动的端口号是什么
软件安装 rpm -ivh xx.rpm 自动加环境变量 rpm -e 卸载xx.rpm
rpm -qa 查找所有已安装的包 rpm -qa|grep xx 查询是否安装
configure prefi= 生成编译文件
awk‘{print $*}’
vi /etc/sudoers - /root- N查找root ALL=(ALL) ALL NOPASSWD:ALL
ESC-O 下行添加 用户名 ALL=(ALL) ALL
ESC : qw 保存退出
su tom2 ![](https://i-blog.csdnimg.cn/blog_migrate/768a71f630f05dc5c340baecd9490a1a.png)
u 前3位 owner ; g 中间3位 group ; o 最后3位 other ; a 全部9位 all
chmod - R 444 /etc/sudoers 设置文件权限
chmod 755 xxx 更改文件权限为: -rwxr-rx
chmod 644 xxx 更改文件权限为:
-rw-rr
sudo reboot sarot 获取超级用户权限 . ![](https://i-blog.csdnimg.cn/blog_migrate/1ee3280ce8d3fdeb476b0b41fcb04463.png)
pwd/whoami 查看当前文件所处位置 who/w查看当前已经登录的用户
id查看当前用户
ifconfig 查看IP地址
-vi /etc/sysconfig/network-scripts/ifcfg-eth0 设置IP地址
dhclient 重新获取地址 tell -f 动态查看日志 ln 创建创建 (快捷方式)软连接 ln -s 硬连接
du -sh 当前文件下占用时间
du -sh*当前目录下所有文件占用空间
du - cd - 迅速切换之前操作目录
sh 执行shell脚本 py 执行python脚本
vi 创建文本并编辑 查看模式/编辑模式
cat 纯查看模式(短文件) more/less cat 纯查看模式(多页) head/tail 前/后10行 head/tail -n 显示*行
命令开启: i 编辑内容 a下一位置 o 下一行 i在光标处chauffeur
M 移动光标页面到中央 L移动光标到页面尾处 Ctrl+f 向后翻页 Ctrl+b 向前翻页 0移动光标到行首 u 撤销
$
移动光标到行尾
/
从上往下开始查找
?
从下往上开始查找
q
退出编辑
wq
保存退出
q
强制退出 q!强制退出
u 重复前一个动作 .重复前一个动作
esc 编辑模式切换到命令模式
退出vi 命令模式下 :q 直接退出 q!不保存退出 wq/:x保存退出
查找 /test 从头开始找 ?test从文件末尾开始找
:set number 显示行号 set nonu 取消显示行号
shift+g 迅速文件末尾 0 移动光标到行首 $ 移动光标移到行尾
u 撤销 yy复制整行 p 粘贴 . 重复前一次的操作 %s/strc(原字符)/str)/g 替换 %s/aa/cc/g
mkdir 创建文件夹 touch 创建文件 mkdir -p /xxx 创建无父目录的文件夹
mdir 移除空文件夹 man xx 命令帮助文档
ls -a 查看隐藏文件 ls-la查看文件/文件权限 ls -l = ll
cp -ax 复制文件 cp -r 复制目录 cp -rf 复制全部格式的文件/文件夹
alias cp提问覆盖 alias创建命令
/etc/profile 系统环境变量 source/etc/profile
~./bashrc 用户环境变量 source~./bashrc export PATH=$PATH
service network resart 重启网卡
service network stop 关闭网卡
service network start 开启网卡
yum -y install lrzsz 安装 rz(上传) / sz(下载)的命令
useradd 添加新用户 passwd 用户名 添加密码
![](https://i-blog.csdnimg.cn/blog_migrate/4fdc41beb47e779c651d9a0e5a01f3ed.png)
userdel -r删除用户
usermod -l 新用户名 旧用户名 更改用户名
mv ./用户名 ./用户名 更改用户名
userdel -r tom1 删除用户时也删除他的家目录
userdel - r 删除用户
用户默认在/home/下
du -s
du summarize
ps 只显示你执行的那一时刻
to 动态查看进程,但不能查找
grep "搜索内容" ./文件名 精确搜索文件内内容
grep -c "搜索内容" ./文件名 显示搜素内容匹配行数
![](https://i-blog.csdnimg.cn/blog_migrate/355c6460e2ca2c2bae11c2c2f9f0dfd9.png)
grep 查找文件内容 grep -v 过滤掉指定的信息 cat 查找文件
![](https://i-blog.csdnimg.cn/blog_migrate/ec85a33deb366abd5049a28908b00fbf.png)
ps -ef|grep httpd 列出当前进程中httpd下的所有进程
![](https://i-blog.csdnimg.cn/blog_migrate/2eabe5e7d83f275a53385a876313a8bc.png)
ps -ef|grep java 列出当前进程中java下的所有进程
![](https://i-blog.csdnimg.cn/blog_migrate/b7c48a1ffa862c0c2bbcb8f51c4e9bad.png)
ps -ef|grep -v grep 踢出进程 kill-9 java kill掉java进程
nohup sh startWebLogic.sh& 启动WebLogic
find / -name crontba 查找crontab定时任务
![](https://i-blog.csdnimg.cn/blog_migrate/2be814d88a924693aa0349cdee8a03f5.png)
crontba -l 查看定时任务
![](https://i-blog.csdnimg.cn/blog_migrate/9b879ffbc8421bfe6c92ea2d2a1a1109.png)
crontab -e 编辑定时任务
![](https://i-blog.csdnimg.cn/blog_migrate/cf82393eafecd4d726321356b8b0aba6.png)
rpm -i 安装 rpm-e 卸载 rpm-qa 查询所有已安装包
ps -aux
查看当前进程 ps 显示瞬间进程 使用权限是所有使用者
find ./ -name mysqld 根目录下查找 mysqld ./根目录
![](https://i-blog.csdnimg.cn/blog_migrate/58781a76d40d796b3030af86ce7f4cf6.png)
find ./ -name mysql
locate 搜索所有文件(搜素数据库)
yum install mlcatemlocate
安装locate
wehreis 程序名的搜索 which PATH变量指定路径下搜索某个命令位置(用于查看命令是否单一,执行的是哪一个位置的命令)
![](https://i-blog.csdnimg.cn/blog_migrate/f2ac18df5c265115643097efe6a855a8.png)
find ./opt/ -name mysql opt 目录下查找mysql
unzip ./bugfree_z3.0.4.zip 解压缩 bugfree_z2.0.4zip,生成bugfree3.0.4文件 tar -zxvf ./ tar xvf xxx .gz 解压缩
![](https://i-blog.csdnimg.cn/blog_migrate/e6930d5da492424f10c0aa1d5efb4191.png)
tar -zcvf xx.tar.gz. xx 压缩
tar -zxf 压缩
rm -rf
./tesant
删除一切文件 rm -rf / 删除,崩溃
yum list|grep zip/unzip 安装 zip/unzip指令
zip -9r ./bugfree_v.3.0.4zip ./bugfree3.0.4/
zip -9r ./压缩后的文件名 ./压缩的文件/
tar
zcvf
./ xxx.tar
前面是包名后面是要给谁打包 后缀名为gz/tgz为已压缩
tar xf 解压
解压 zip 打zip包 直接安装zip命令 、
unzip 解压 gzip 仅能压缩文件,打包完原来的文件消失
gunizp 解压
![](https://i-blog.csdnimg.cn/blog_migrate/18d1f7a84d7da9711dbe3b9cc0236dcc.png)
more ./test 列出当前文件内容
~代表家目录/home/ 快速回到家目录 cd 进入文件/文件夹 cd ../../../上几级目录 cd -返回上次所在的目录
/ 顶级目录,相当于windows的我的电脑
相对于当前路径
绝对路径 实际的路径
-
重定向 cat*>test 会覆盖内容
cat >test 清空日志 cat >>test 在末端追加内容
-
wc -l ./xxx 查看行数 wc -c ./xxx 统计字节数 wc -w ./xxx 统计字节数 wc -L ./xxx 统计最长行数 wc -m ./xxx 统计字符数
启动jekins
java -jar jekins
ctrl+v-shift+i-esc 加注释 shutdown -r now 重启
环境搭建:
1.下载依赖软件
2.获取源代码_根据语言不同来查看是否需要编译、打包
3.导入基础数据 4.修改配置文件 5.启动 java程序 (tomcat.weblogic.jetty.resin.ws)
php、ruby、python(nginx、apache)
日常部署:
1.获取最新代码(编译、打包)-表结构变更,要执行sql
2.修改配置文件
3.重启程序
src_path='opt/lampp/logs/access_log'
tar_path='/tmp/logs/'cp -rf ${src_path} ${tar_path}_access_log
time=date %Y%m%d%H%M%S
cp -rf {src_path} ${tar_path}_access_log_$time>${src_path}
crontab -e
一万小时 专家
![](https://i-blog.csdnimg.cn/blog_migrate/68f724bad5a33d9a9f6bd2ca7369ecb7.gif)