系统信息:
arch 显示处理器架构
uname -r 显示正在使用的内核版本
关机启动:
halt 关机
reboot 重启
shutdown -h 预定时间 在预定时间后关闭系统
shutdown -c 取消按预定时间关闭系统
文件和目录:
cd 进目录 cd .. cd / cd ~
ls 显示目录里的文件
ll、ls -l 显示目录李的文件详细信息
ll -h -h是以k、m、g的格式显示文件大小
ls -a 显示隐藏文件
ls -lhS 按文件大小排列显示
tree 显示由根目录开始的树形结构
pwd 显示工作路径
mkdir 建目录
rmdir 删空目录
rm -rf 删除目录(-r递归)
mv 移动并改名
vi/vim 编辑器:一般模式下:i键进入编辑模式;冒号进入指令模式
编辑模式下:esc键退出编辑模式,回到一般模式
指令模式下:w保存,q退出,wq保存并退出,wq!强制保存并退出
echo 添加>或覆盖>,并显示
echo "aaaa" >> test.php //把字符串aaaa追加到test.php末尾
echo "aaaa" > test.php //把aaaa字符串覆盖test.php的内容
cp 拷贝
touch 建文件
rm -f 删文件
find / -name 按名字查找文件路径,可用*表示文件名部分
find / -user 用户名 按所有者找
查看文件:
cat 查看文件内容
tac 首末倒置
head -n 10 文件名 查看文件前十行
tail -n 1 文件名 查看文件后十行
tail -f 文件名 实时追踪文件内容的更新
grep在文件内搜索字符串匹配的行并输出:grep+参数+查找内容+文件
参数有-c:只输出匹配行的计数。
-I:不区分大小写(只适用于单字符)。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
查询多文件时,多文件间用空格隔开。
-n:显示匹配行及行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。
grep对查询的结果进行筛选: rpm -qa | grep mysql
其中‘|’符号为‘管道’,理解为‘且’
常用快捷键:history 查看所敲的命令记录
ctrl+l 清屏
ctrl+D 回到本机root用户
ctrl + c 停止进程
ctrl + z 终止程序
tab键 补写文件名
ctrl +alt、ctrl +alt+g
挂载:mount+文件路径
磁盘空间:
df -h 查看磁盘剩余空间
进程:
ps -ef 查看进程
ps -ef |grep 进程号 查看某个进程是否正在运行
kill -s 9 进程号 杀掉进程
查看某个端口是否被占用
lsof -i:端口号
文件权限:
chmod改变文件或者目录权限:chmod 权限 文件(目录)名
文件: r查看;w修改;x执行
目录: r列出目录内容;w在目录中创建和删除;x进入目录
删除一个文件的前提条件:该文件所在的目录有w权限,你才能删除该文件。
例如: chmod u+x test.java
chmod 750 test.java
chown改变所有者: chown user test.java
压缩包:
常用命令:tar xvf tar包 -C 目标文件夹
tar cvf 包名 原包 压缩为tar包
tar xvf 包名.gz.tar 解压tar包,后面接压缩到什么目录在,默认为当前目录
rar a 包名 原包 压缩为rar包
rar x 包名.rar 解压rar包 ,后面接压缩到什么目录中,默认为当前目录
zip 包名 原包 压缩为zip包
unzip 包名.zip 解压zip包,后面接压缩到什么目录中,默认为当前目录
rpm包下载安装:
rpm -ivh rpm包 安装一个rpm包
rpm -ivh --nodeeps rpm包 安装一个rpm包并忽略依赖关系警告
rpm -Uvh yum源 下载并安装网上的rpm包
rpm rpm包 更新
rpm -qa 显示系统中所有已经安装的rpm包
启动、停止服务:service 服务名 stop、start、restart
yum安装软件:
yum install __ -y 顺畅安装
yum clean all 删除所有缓存的包和头文件
yum makecache 存为缓存
yum update yum更新
yum list 列出当前系统中安装的所有包
用户:
who am i 查看登陆的用户名
su 用户名 切换用户
ctrl+d 回到root用户
ssh root@主机名 跨主机通讯
useradd/useradd 用户名 #添加用户
passwd 用户名 #设置用户密码
usermod -a -G apache feng # -a表示保留feng的原来所在组,并且添加feng到apache组
gpasswd –a feng apache #从apache组中删除用户
passwd -d 用户名 #清除用户密码
userdel –r 用户名 #删除用户 ( '-r' 排除主目录)
groups 用户名 #查看某用户所属组
防火墙:
service iptables status 功能描述:查看防火墙状态
chkconfig iptables -list 功能描述:查看防火墙开机启动状态
service iptables stop 功能描述:临时关闭防火墙
chkconfig iptables off 功能描述:设置防火墙开机关闭
chkconfig iptables on 功能描述:设置防火墙开机启动
查看内存使用情况
free -m
awk用法
free -m | awk 'NR==2{print $3}' #输出第二行第三列的那个数
cat -n index.php | grep -i hyphen | awk 'END {print $6}' #grep -i 匹配不区分大小写,awk 'END {print $6}' 输出通过空格分割结果的第六列最后一个结果
grep 用法
grep 主要适用于查找匹配相关字符串
cat -n test.txt | grep hello #某个文件中匹配某个字符串
ls -l | grep default #匹配default目录
查找大文件
du --max-depth=1 -m | sort -rn #查找当前目录大小倒序排序 -m 代表大小单位MB
find / -size +200M -exec ls -lh {} ;查找跟目录下大于200M的文件
文件压缩与加密解密 openssl
压缩加密
/usr/bin/sudo /usr/bin/tar -zcvf - /tmp/fw_data_1534758973495|/usr/bin/openssl des3 -salt -k 123456 | dd of=/tmp/fw_data_1534758973495.tar.gz
解压解密
dd if=fw_data_1534759128767.tar.gz |openssl des3 -d -k 123456|tar zxf - --strip-components 1 -C test_tar
一个修改站点文件权限的shell
#!/bin/sh
basepath=$(cd `dirname $0`; pwd) #获取当前文件目录的绝对路径
echo $basepath
path=$(cd `dirname $basepath`;pwd) #获取当前文件上级目录的绝对路径
echo $path
sudo chown www:www $path -R
sudo chmod 0755 $path -R
sudo chmod 0777 $path/config -R
sudo chmod 0777 $path/data -R
sudo chmod 0777 $path/log -R
14.rsync 复制目录但排除目录下的某些目录复制
rsync -av [--exclude 要排除的目录(相对路径)] 要复制的目录 目标目录
rsync -av --exclude firewall_v1.2_source/apps --exclude firewall_v1.2_source/log --exclude firewall_v1.2_source/data --exclude firewall_v1.2_source/lib firewall_v1.2_source /Users/feng/Documents/work/bluedon/firewall_v1.2_source_bak
修改网口的IP(临时启用重启失效)
sudo ifconfig en4 172.16.105.51/24