centos常用命令

小知识 09-01 21:28
系统信息:
 
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