Linux学习:
netstat-a 是查看网络的配置
netstat-anp 查看端口对应的进程号 可以查看端口号的占用情况
RPM包管理 rpm是一种互联网下载包的打包及安装工具,它包含在某些linux的分发版中。它生成具有.rpm扩展名的文件
rpm包有点类似于windows中.setup文件
rmp是扩展名,同时也是标识了这是rmp包管理和安装的
rpm常用命令:
rpm-qa :查询所有安装的rpm软件包
rpm-qa | more
rpm-qa | grep samba
q代表查询 a代表所有的
rpm-q samba 查询samba是否安装
rpm-qi samba 查询samba安装的详细信息
I information
rpm-qf 文件全路径名查询文件所属的rpm软件包
rpm-qf /etc/passwd
rpm-ivh rpm包全路径名称: 安装rpm包到当前系统有提示信息 有进度条
参数说明:
i= install 安装
v= verbose 提示
h= hash 进度条
rpm包的卸载:
rpm-e rpm包的名称
rpm-e samba
rpm-e –nodeps samba 强制卸载,容易破坏软件的依赖关系
安装samba
1/查看是否已经安装samba
2/若有卸载
3/卸载后安装,可以是rpm包,包括client,Z,common三个包
当然也可以apt-getinstall samba4
4/创建一个用户,就是一个普通的linux登录用户,这是为了限定登录的window用户,这样就可以指定我们允许的用户登录
useraddwang
passwdwang
5/为刚才创建的用户添加samba密码
cat/etc/passwd | mkpasswd.sh > /etc/samba/smbpasswd 这句话的意思就是将所有的linux用户都添加到samba用户中去
如果我们想指定某个用户添加可以使用grep用户名 管道过滤
或者smbpasswdwang 直接对wang进行设置
给用户设置samba密码
smbpasswdwang
6/启动samba服务器
servicesmb start
servicesmb restart
servicesmb stop
crontab命令, 用于设置周期性被执行的指令
例如我们想在每天2点的时候执行某个程序或我们想完成某个功能,就可以用crontab命令
-e[UserName]: 执行文字编辑器来设定时程表,内定的文字编辑器是VI,如果你想用别的文字编辑器,则请先设定VISUAL环境变数来指定使用那个文字编辑器(比如说setenvVISUAL joe)
-r[UserName]: 删除目前的时程表
-l[UserName]: 列出目前的时程表
-v[UserName]:列出用户cron作业的状态
时程表的格式如下:
f1f2 f3 f4 f5 program
其中f1是表示分钟,f2表示小时,f3表示一个月份中的第几日,f4表示月份,f5表示一个星期中的第几天。program表示要执行的程式。
当f1为*时表示每分钟都要执行program,f2为*时表示每小时都要执行程式,其余类推
当f1为a-b时表示从第a分钟到第b分钟这段时间内要执行,f2为a-b时表示从第a到第b小时都要执行,其余类推
当f1为*/n时表示每n分钟个时间间隔执行一次,f2为*/n表示每n小时个时间间隔执行一次,其余类推
当f1为a,b, c,... 时表示第a,b, c,... 分钟要执行,f2为a,b, c,... 时表示第a,b, c...个小时要执行,其余类推
实例:date>> /home/mydate
crontab-e
会打开一个文本文件,在文本文件忠输入02 × × × date >> /home/mydate2
但这只是执行了一个任务,如何执行多个任务呢???
1/写在一个文件里,分行写
2/可以把所有的任务,写入到一个可执行文件(shell编程)
vimytask.sh
date>> /home/mydate3
cp/home/date3 /root 在mytask.sh中写入我们要执行的任务
crontab-e
写入×× × × × /root/mytask.sh 写上全路径
终止任务:crontab-r
查看系统进程执行情况
ps-aux
终止进程
kill 进程号
如果无法杀死那么就
kill-9 进程号 强杀
killall 杀死这个进程和这个进程的子进程
netstat-an |more 查看显示网路统计
可以查看有那些是连接到我的linux系统的
通过端口号我可以查看查看是哪个进程占用了这个端口
netstat-anp | more 这样就会显示所有的端口与进程的对应关系
追踪进程号和端口的对应
traceroute 追踪路由
route查看路由表
groupaddmysql 创建一个组
useradd-g mysql mysql 将创建的用户添加到mysql组中
mysql数据库的安装
apt-getinstall mysql-server
卸载
sudo apt-get autoremove --purge mysql-server-5.0
2 sudo apt-get remove mysql-server
3 sudo apt-get autoremove mysql-server
4 sudo apt-get remove mysql-common(非常重要)
清理残留数据
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
启动mysql
/etc/init.d/mysql start
/etc/init.d/mysql stop
/etc/init.d/mysql status 查看状态
编写java程序连接mysql的时候,要将mysql-connection。jar包放在jdk/jre/lib/ext 目录下,这样java才可以找到jar包连接
mysql的备份
到mysql的bin目录下使用 mysqldump-u root -p密码 数据库名 》 /home/
./mysqldump-u root -pwang735019 users > /home/users.bak
数据库恢复
mysql-u root -p密码数据库名 《 目录
mysql-u root -pwang735019 users < /home/users.bak
在恢复的时候,我们的数据库中必须要有这个users库,不然语句无法识别这个users库
如果要单独备份一个库中的一个表,库名。表名 就可以了 lib.users
cp-r workspace/ /home/ 拷贝目录
软连接
ln-s 源 目标
grep命令
在一个文件或是一个目录中搜索关键字
grep“ 1” /home / abc.java 在abc.java文件中查找是否有1这个关键字
grep -n “ 1” /home / abc.java 查看在第几行
grep -n “ 1” /home / abc.java /root/abc 在两个目录中查找 或多个目录中