1.什么是Linuxjava
Linux是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操做系统,他的特色是可靠性高、可移植性好、良好的开放性、强大的网络功能、强大的数据库支持、支持多种文件系统、支持多用户mysql
2.Linux远程登陆和上传下载文件linux
远程登陆工具:Telnet,ssh,secureCRT,xshell等sql
上传下载工具:Xftp、FileZilla、Winscpshell
上传下载命令(须要单独安装:yum -y install lrzsz):rz、sz数据库
sz: 将选定的文件发送(send)到本地机器; sz filenameapache
rz:运行该命令会弹出 一个文件选择窗口, 从本地选择文件上传到服务器(receive),可是不能上传文件夹,只能上传一个单一的文件编程
3.文件管理命令bash
cp的使用服务器
复制a机器上的文件到b机器上,在Windows的cmd窗口下输入scp 文件名 虚拟机用户名@虚拟机ip:路径(某个目录下),前提是Windows上安装了OpenSSHWindows53p1-2软件
本机上的复制:cp -rf test /usr/local,复制文件到某个目录下
ll和ls的使用
ll -a #显示全部文件包括隐藏的文件信息
ll -l #显示文件的详细信息
ll -la #显示全部文件包括隐藏文件的详细信息
mkdir -p #建立父目录 eg:mkdir -p /usr/local/test
cat用法:cat [options] 文件1 [文件2].....,还能够用more和less查看文件内容,不过这两个都是分页显示文件内容,退出查看用q
cat a.txt b.txt > c.txt #将几个文件处理成一个文件,并将这种处理结果保存到一个单独的输出文件
cat error.log #查看日志内容,从文件头部开始查看
tail用法:tail [参数] [文件]
tail -f filename #动态查看日志,当可能有错误的时候使用
tail -nf filename #动态查看末尾n行的日志
du的用法:
du -sh #查看当前目录下已使用的空间
du -sh filename #查看当前目录下的某个文件占用的空间
du -sh * #当前目录下的每一个文件所占用的空间大小
df -lh #查看硬盘总共使用了多少
用户权限,chmod、chgrp、chown
chmod -R 777 test #第一个7表明本用户权限,第二个7表明所属组的用户权限,第三个7表明其它用户权限,-R递归,把这个目录下的全部文件以及文件赋予权限
数字方式:4=r,2=w,1=x
chmod g+w filename #给组的用户赋予写的权限
chmod o+w filename #给其余用户赋予写的权限
chgrp [选项] [组] [文件] #更改某个文件到用户组,使用权限只能是超级用户,参数有-R
chown [选项] 用户or组 文件名 #改变文件全部者和全部组,使用权限只是超级用户 eg:chown -R hyn:hyn test
wc -l a.txt #统计指定文件中的行数
4.搜索命令
grep -c 'c' a.txt #查找a.txt文件中是否包含有‘c’这个字符
ps -ef | grep mysql | grep -v 'grep' #把grep自己的进程排除掉,以下图:
find / -name java #查找Java在哪一个目录下
5.进程相关的命令
ps -ef | grep lampp #查询lampp相关的进程
kill -9 1473(pid) #终止ID为1473的进程,kill后面可用跟多个pid,中间用空格隔开
命令后面加&,eg:sh Apache_log.sh #终端被关闭,带&的后台命令也一同关闭
nohup命令,eg:nohup sh apache_log.sh #终端被关闭后,后台进程还能够继续运行
定时任务:crontab
* * * * * sh /usr/tmp/logs/apache_log.sh #表示每分钟执行一次apache_log.sh这个脚本
* /5 * * * * sh /usr/tmp/logs/apache_log.sh #表示每5分钟执行一次apache_log.sh这个脚本
59 23 * * * sh /usr/tmp/logs/apache_log.sh # 表示每晚23:59分执行apache_log.sh这个脚本
6.软件安装命令
rpm -ivh jdk.rpm #安装jdk
rpm -qa > all_soft.txt #把已经安装的软件都输出到all_soft.txt文件里
rpm -qa >> a.txt #把查询出的安装包都追加到a.txt文件里面
7.其余经常使用命令
chkconfig --list #查看全部系统服务
chkconfig iptables off #开机不启动该服务
chkconfig iptables on #开机启动该服务
service iptables start #启动该服务
service iptables restart #重启该服务
service httpd stop #开机不启动该服务
8.创造命令
alias cdn='cd /opt/lampp/bin' #把cd /opt/lampp/bin命令变成cdn,这样下次再输入cdn的话就直接进入到bin目录下;若是想让该条命令下次启动是还生效的话,须要在家目录下的“.bashrc”文件里面加上这句话,这样下次启动就还可使用了
unalias cp #取消别名设置
9.查看端口号
netstat -nlpt | grep 80 #查看80端口号有没有被占用
lsof -i :80 #查看80端口号有没有被占用,自己linux上是没有此软件的,须要单独安装,yum -y install lsof
10.awk的简单使用
ps -ef | grep mysql | grep -v 'grep' | awk '{print $2 > "mysql.pid"}' #将MySQL的进程号写到mysql.pid文件中
ps -ef | grep mysql | grep -v 'grep' | awk '{print $2}' #查询MySQL的进程号
awk '{if ($2>60) {} else {print $1}}' score.txt #将成绩不及格的学生名册输出
11.shell的简单编程
b.写一个备份文件,要求天天晚上23:59分执行,且要清空以前的文件内容
定时执行:crontab -e ,而后在文件里面输入:59 23 * * * cd /usr/tmp/logs/ && ./apache_log.sh,重启crond就能够了
备注:
/sbin/service crond start #启动服务
/sbin/service crond stop #关闭服务
/sbin/service crond restart #重启服务
/sbin/service crond reload #从新载入配置
若是想让开机就启动crond的话,须要找到 /etc/rc.d/rc.local这个文件,在文件后面加上一行 /sbin/service crond start就能够了,以下图: