Linux学习笔记(一):Linux简介和入门

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就能够了,以下图:

相关文章
相关标签/搜索