网络操作

1. 查看ip

cat /proc/net/arp:查看内网ip

2. PID&端口

lsof -i:8080:查看端口被那个进程占用
netstat  -nltp  |  grep  8080:查看端口监听情况
netstat -anp|grep 8080:查看端口被那个进程占用
netstat  -nltp:查看网络进程的端口监听情况
jps:查看java端口
kill  -9  pid
iptables -I INPUT -p tcp --dport 80 -j ACCEPT:开放端口,加入一条INPUT规则开放80端口
iptables -A INPUT -p tcp --dport 8080 -j DROP:关闭端口
iptables -D INPUT -p tcp --dport 8080 -j DROP:删除关闭的端口
ifconfig eth0 down/up:开关网卡
sysctl kernel.pid_max | grep kernel.pid_max:查看最大进程数
ps -eLf | wc -l:查看当前进程总数

3. 主机名

hostname:查看当前主机名
vim  /ect/sysconfig/network:修改主机名
vim  /etc/hosts:修改ip与主机名的映射关系,ip和主机名的映射与解析
vim  /etc/sysconfig/network-scripts/ifcfg-eth0:修改ip

设置静态ip:

linux python监听一个端口 linux监听ip和端口命令_重启

系统操作

1. 环境变量(vim /etc/profile)

export JAVA_HOME=/usr/local/jdk
export PATH=$PATH:$JAVA_HOME/bin

2. 环境变量SSH免密登录(A–>B)

A:ssh-keygen  -t  rsa (提示时,直接回车即可)
A:ssh-copy-id  root@hadoop1(B)如果再有C加入(A-->C)
A:ssh-copy-id  root@hadoop2(C),不需要重新生成ssh-kengen

3. 日期

date:查看当前日期
date +%Y-%m-%d:格式化输出日期
date -s "2017-10-10 11:11:11",hwclock -w:修改日期

4. 用户记录

who:查看谁在线
last -10:查看最近10个用户的登录记录

5. 关机/重启

shutdown -h now:关机
halt:关机
shutdown -r now:重启
reboot:重启
vim /etc/inittab:设置Linux默认启动界面,常用的是3(终端)和5(图形)

6. 进程

ctrl+z:进程会挂起到后台
bg jobid:让进程在后台继续执行
fg jobid:让进程回到前台
ps  -ef:查看系统所有的进程
ps  -ef  |  grep  tomcat:查看tomcat的进程
top:实时查看系统状态
free  -h:查看内存信息

7. 打印

echo hello:打印hello
echo $SHELL:打印当前用的是那种shell

8. 查找服务或命令

which  java:查看java命令的所在目录
whereis  java:查看java命令及java的所在目录

9. 查看shell

cat  /etc/shells:查看所有shell
echo  $SHELL:查看当前shell
chsh  -s /bin/zsh:修改当前用户所用的shell(不加用户名,默认当前用户)
uname -a:查看当前系统版本
lsb_release -a:查看当前系统版本

10. 设置Linux开机启动

a. vim  /etc/rc.local -->zkServer.sh start
b. chkconfig  服务名称  on

11. 用户管理

useradd  anson:添加用户,创建测试用户用这个
sudo  passwd  anson:设置用户密码,创建测试用户用这个
cat  /etx/passwd:查看用户信息
userdel  -r  anson:删除用户(加-r:删除用户及其主目录)
sudo  命令:获取root权限,在执行此命令(使用sudo,需要当前用户在sudoers的列表里面)
vim  /etc/sudoers  -->  anson  ALL=(ALL)  ALL:将anson添加到sudoers里面
sudo  su,sudo  -i:切换root,不需要密码
su,su  root:切换root,需要密码
su和sudo区别:su仅获得权限,工作环境不变。sudo获取root权限和工作环境。
test切换不了root:将test加入/etc/sudoers文件中

12. 挂载&卸载

a. 挂载光驱
mkdir   /mnt/cdrom      创建一个目录,用来挂载
mount -t iso9660 -o ro  /dev/cdrom  /mnt/cdrom/:将设备/dev/cdrom挂载到 挂载点   /mnt/cdrom中

b. 挂载光盘镜像文件(.iso文件)
mount -t iso9660 -o loop  /home/hadoop/Centos-6.7.DVD.iso  /mnt/centos
注:挂载的资源在重启后即失效,需要重新挂载。要想自动挂载,可以将挂载信息设置到/etc/fstab配置文件中

c. 卸载 umount
umount  /mnt/cdrom

13. 查看存储空间

df  -h:查看存储空间
du  -sh  /*:统计根目录下文件及文件夹的大小
du -sh ./docker:查看当前路径下的docker文件夹的大小
lsb_release -a:如何查看当前Linux是Ubuntu还是centOS
cat /proc/version:查看道歉Linux是Ubuntu还是centOS
cat /etx/system-release:查看系统版本
cat /proc/cpuinfo:查看系统信息

14. 系统服务

service  --status  -all:查看系统所有的后台服务进程
service  iptables  status:查看防火墙的状态
service  iptables  stop:停止服务
service  sshd  start:开启服务
service  network  restart:重启服务
chkconfig  iptables  on:设置服务开机自启动
chkconfig  iptables  off:设置服务开机不自启动
chkconfig  --list  |  grep  iptables:查看服务开机启动的状态
chkconfig  --level  35  iptables  on:指定系统级别3和5,开机自启动
systemctl list-unit-files|grep firewalld.service:查看防火墙状态
systemctl stop firewalld.service:关闭防火墙
systemctl disable firewalld.service:关闭开机启动

15. 系统启动级别

vim  /etc/inittab:配置默认启动级别
0:关机模式
1:单用户模式
2:多用户模式&不支持网络
3:多用户模式&全功能&不带图形界面
4:不用的
5:多用户模式&全功能&带图形界面
6:重启模式

16. 安装软件

a. **二进制发布包**:软件已经针对具体平台编译打包发布,只要解压,修改配置即可

b. **RPM发布包**:软件已经按照redhat的包管理工具规范RPM进行打包发布,需要获取到相应的软件RPM发布包,然后用RPM命令进行安装
rpm安装:rpm  -ivh  MySQL-server……

c. **yum在线安装**:
软件已经以RPM规范打包,但发布在了网络上的一些服务器上,可用yum在线安装服务器上存在的rpm软件,并且会自动解决软件安装过程中的库依赖问题(注:类似于maven)
yum安装:yum  install  mysql
yum查找:yum  list  |  grep  telnet

d. **源码编译安装**:
软件以源码工程的形式发布,需要获取到源码工程后用相应开发工具进行编译打包部署
源码安装:
	i. 在源码工程中make,需要gcc(yum  install  -y  gcc)
	ii. 在源码工程中make PREFIX=/usr/local/redis install

17. crontab

a. 管理
yum install crontabs:安装
service crond start/stop/restart/reload/status:服务管理
service crond start:手动启动任务
chkconfig  --list:查看任务是否设置了开机自启动
chkconfig  --levle 35  crond  on:在3和5模式下,自启动任务

b. 任务命令
crontab [-u user] [ -e | -l | -r ]
-u user:指定某个用户,不指定-u 表示当前用户。
file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。
-e:编辑某个用户的crontab文件内容。
-l:显示某个用户的crontab文件内容。
-r:删除定时任务配置,从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文。
-i:在删除用户的crontab文件时给确认提示。
crontab file [-u user]:用指定的文件替代目前的crontab。
crontab  -u  anson  -l:查看某个用户有没有定时任务,不指定"-u  anson"就是当前用户
crontab -e [-u user]:编辑当前用户的crontab. 

c. 编写任务
* * * * *   command 
分 时 日 月 周 命令 
第1列:分钟1~59 每分钟用*或者 */1表示 
第2列:小时0~23(0表示0点) 7-9表示:8点到10点之间
第3列:日期1~31 
第4列:月份1~12 
第5列:星期0~6(0表示星期天) 
第6列:要运行的命令
30 21 * * * /usr/local/etc/rc.d/httpd restart:每晚的21:30重启apache
45 4 1,10,22 * * /usr/local/etc/rc.d/httpd restart:每月1、10、22日的4 : 45重启apache。
crontab 文件中的命令,要写全路径

18. 清理Linux缓存

a. sync; echo 1 > /proc/sys/vm/drop_caches:仅清除页面缓存
b. sync; echo 2 > /proc/sys/vm/drop_caches:清除目录项和inode
c. sync; echo 3 > /proc/sys/vm/drop_caches:清除页面缓存,目录项和inode

19. Linux服务器磁盘无故被沾满

用命令找不出那些大文件,并且,移除2G后,也会马上被占满

a. lsof |grep delete:根据lsof查询文件被删除但是没有被杀死的进程
b. kill -9 PID:终止那个进程