linux——常用命令与脚本
linux常用命令
--文件管理
pwd --查看当前目录
cd --切换当前目录
ls --列出当前目录下的所有文件
touch --创建文件
mkdir --建立目录
rmdir --删除空目录
rm --删除文件
mv --移动和重命名
cp --复制
file --查看文件类型
--文本文件的查看
cat --查看全部
tail --查看尾部
head --查看头部
more --分屏查看
less --分屏查看
diff --比较
wc --统计
--文本文件的筛选
grep --筛选 -v显示不匹配的
sort --排序
--文件查找
find --查找
which --查找path路径下的命令
loacte --根据一个数据库查找文件,会比较看。如果数据库比较旧的话,可以使用updatedb命令更新(需要管理员命令)
whereis --根据数据库查找文件,主要查找特殊文件:二进制等
--显示
echo
tee --将内容显示到屏幕,同时保存到文件tee -a追加到文件的末尾
--程序及服务
/sbin/chkconfig --list --列出所有的服务
service
ps --进程 -e 显示全部进程
pstree --进程树
top --显示进行
& --后台运行
fg --前台
kill --杀死进程
--时间
date --显示时间 "+%y%m%d" "+%H%M%S"
ntpdate --同步时间http://www.time.edu.cn/mem.htm
--硬件管理
fdisk
mount --挂载
unmount --卸载
df --挂载系统统计
du --显示文件占用空间, du -sm ./* 对当前目录的各个子目录进行汇总
--用户管理
useradd --添加用户
passwd --修改密码
userdel --删除用户 -r删除该用户的主目录等文件
usermod --修改用户,可修改主目录、shell等
groupadd --添加组
groupdel --删除组
chown --修改所属用户,可同时修改所属组
chgrp --修改所属组
chmod --修改权限
umask --设置默认权限
shell脚本执行方式
. a.sh #如果在b脚本中以这种方式调用a这个脚本,那么a这个脚本中设置的变量等会在b脚本中可见
./a.sh #如果在b脚本中以这种方式调用a这个脚本,那么a这个脚本中设置的变量等会在b脚本中不可见
a;b #执行命令a之后,执行命令b
linux常用配置文件
--网络文件
--ip
/etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR=192.168.181.110
NETMASK=255.255.255.0
GATEWAY=192.168.181.2
--DNS
/etc/resolv.conf
nameserver 192.168.181.2
--主机名
/etc/sysconfig/network
HOSTNAME=main.hadoop
配置主机名的IP
/etc/hosts
192.168.181.110 main.hadoop
配置完成之后重启网络
service network restart --需要管理员权限
ifconfig --查看ip
route --查看路由
hostname --查看主机名
--个人配置文件
配置变量的传递过程:其中/etc中的是全局性的,每个用户都会受其影响。
/etc/profile.d/*.sh --> /etc/bashrc --> ~/.bashrc -->~/.bash_profile
--防火墙
有很多软件无法正常运行就是因为防火墙的原因。
/etc/sysconfig/iptables
停止防火墙
service iptables stop
启动防火墙
service iptables start
ssh面密码登陆
场景:
A机器要通过ssh面密码登陆到B1、B2、B3机器
解决步骤:
#1. A机器操作 #生成公钥和私钥 mkdir ~/.ssh #保证主目录下有.ssh文件夹 chmod 700 ~/.ssh#设置权限 ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa #-t 类型,-P 设置密码 -f生成文件 cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys #将公钥保存到文件中 chmod 600 ~/.ssh/authorized_keys #将公钥拷贝到需要登录的各个机器 scp ~/.ssh/id_rsa.pub B1_user@B1_ip:~/ scp ~/.ssh/id_rsa.pub B2_user@B2_ip:~/ scp ~/.ssh/id_rsa.pub B3_user@B3_ip:~/ #2. B1、B2、B3机器上操作 #建立相应的文件夹 mkdir ~/.ssh #保证主目录下有.ssh文件夹 chmod 700 ~/.ssh#设置权限 cat ~/id_rsa.pub >>~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys #OK
CentOS更换软件镜像
#详情查看:http://mirrors.163.com/.help/centos.html cd /etc/yum.repos.d mv CentOS-Base.repo CentOS-Base.repo.bak #然后将从163下载好的文件替换mv CentOS-Base.repo