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
原文地址:https://www.cnblogs.com/zhizhou/p/3405645.html