zoukankan      html  css  js  c++  java
  • Linux简单学习

    linux的特点

    Linux里面一切皆是文件
    Linux里面没有后缀名这一说

     linux目录结构

    /bin:是Binary的缩写,这个目录存放着系统必备执行命令
    /boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件,自己的安装别放这里
    /dev:Device(设备)的缩写,该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
    /etc:所有的系统管理所需要的配置文件和子目录。
    /home:存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
    /lib:系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
    /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
    /media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
    /misc: 该目录可以用来存放杂项文件或目录,即那些用途或含义不明确的文件或目录可以存放在该目录下。
    /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
    /net  存放着和网络相关的一些文件.
    /opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
    /proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
    /root:该目录为系统管理员,也称作超级权限者的用户主目录。
    /sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
    /selinux:这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙
    /srv:service缩写,该目录存放一些服务启动之后需要提取的数据。
    /sys: 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
    /tmp:这个目录是用来存放一些临时文件的。
    /usr: 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
    /var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

    VIM编辑器

    1)yy        (功能描述:复制光标当前一行)
    2)p        (功能描述:箭头移动到目的行粘贴粘在光标所在行的下一行)
    3)u        (功能描述:撤销上一步)
    4)dd        (功能描述:删除光标当前行)
    5)shift+^    (功能描述:移动到行头)
    6)shift+$    (功能描述:移动到行尾)
    71+shift+g        (功能描述:移动到页头,数字,先按1,再同)
    8)shift+g            (功能描述:移动到页尾)
    9)数字N+shift+g    (功能描述:移动到目标行)
    10)x 删除一个字母
    11)r  修改一个字母
    Shift + z+ z 快速保存

    网络相关

    查看ip
    ifconfig
    修改IP地址
    vim /etc/sysconfig/network-scripts/ifcfg-eth0
    重启网络服务
    service network restart
    主机名修改
    vi /etc/sysconfig/network
    映射
    /etc/hosts
    window7的主机映射文件
    C:WindowsSystem32driversetc
    防火墙
    chkconfig iptables off    (功能描述:关闭防火墙开机启动)
    chkconfig iptables on    (功能描述:开启防火墙开机启动)
    service iptables status    (功能描述:查看防火墙状态)
    service iptables stop    (功能描述:临时关闭防火墙)

    文件目录类

    pwd 显示当前工作目录的绝对路径
    ls 列出目录的内容 ll命令
    mkdir [
    -p] 要创建的目录
    touch test.java

    cd (
    1)cd 绝对路径 (2)cd 相对路径 (3)cd ~或者cd (功能描述:回到自己的家目录) (4)cd - (功能描述:回到上一次所在目录) (5)cd .. (功能描述:回到当前目录的上一级目录) (6)cd . (功能描述:回到当前目录)
    cp
    -r sourceFolder targetFolder (功能描述:递归复制整个文件夹)
    rm
    -rf deleteFile (功能描述:递归删除目录中所有内容) (1)mv oldNameFile newNameFile (功能描述:重命名) (2)mv /temp/movefile /targetFolder (功能描述:递归移动文
    cat 查看文件内容 cat
    /etc/redhat-release
    more 查看文件内容 查看文件内容,一页一页的显示文件内容。
    tail 查看文件内容
    1)tail -n 10 文件 (功能描述:查看文件头(从末尾开始数)
    重定向 (1)ls -l >a.txt文件 (功能描述:列表的内容写入文件a.txt中(覆盖写)) (2)ls -al >>a.txt文件 (功能描述:列表的内容追加到文件aa.txt的末尾)

    echo echo $JAVA_HOME
    history
    !111
    date "+%Y-%m-%d %H:%M:%S" date设置系统时间 cal查看日历

    scp 远程复制

    file 文件类型

    用户管理命令

    useradd 用户名        (功能描述:添加新用户)
    passwd 设置用户密码
    id 判断用户是否存在
    su 切换用户
    userdel 删除用户
    userdel -r hadoop
    who 查看登录用户信息 cat /etc/passwd 查看创建了哪些用户 usermod修改用户 usermod -g mygroup hadoop groupadd 新增组 groupdel删除组 groupmod修改组 groupmod -n hadoop1 hadoop
    cat /etc/group 查看创建了哪些组

    文件权限

    chmod改变权限
    [root@hadoop003 test1]# chmod u+x test1.java
    [root@hadoop003 test1]# chmod g+x test1.java
    [root@hadoop003 test1]# chmod o+x test1.java
    [root@hadoop003 test1]# chmod 777 test1.java
    [root@hadoop003 test1]# chmod -R 777 testdir
    
    chown改变所有者
    [root@hadoop003 test1]# chown hadoop test1.java
    
    chgrp改变所属组
    [root@hadoop003 test1]# chgrp hadoop test1.java

    磁盘分区

    fdisk查看分区
    fdisk -l            (功能描述:查看磁盘分区详情)
    注意:在root用户下才能使用
    
    df查看硬盘
    [root@hadoop003 ~]# df -h
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda2        15G  3.5G   11G  26% /
    tmpfs           939M  224K  939M   1% /dev/shm
    /dev/sda1       190M   39M  142M  22% /boot
    
    du -sh /usr/share/*   
    文件夹下所有文件大小
    
    find 查找文件或者目录
    [root@hadoop003 ~]# find /opt/ -name *.txt
    
    grep 过滤查找及“|”管道符
    [root@hadoop003 opt]# ls | grep -n test
    
    which 文件搜索命令
    [root@hadoop003 opt]# which ls
    /bin/ls

    进程线程

    ps查看系统中所有进程
    ps -ef
    
    top查看系统健康状态
    P:        以CPU使用率排序,默认就是此项 
    M:        以内存的使用率排序 
    
    pstree查看进程树
    选项
      -p:  显示进程的PID 
      -u:  显示进程的所属用户
    
    kill终止进程
    kill -9 pid进程号
    
    netstat显示网络统计信息
    netstat -anp        (功能描述:此命令用来显示整个系统目前的网络情况。例如目前的连接、数据包传递数据、或是路由表内容)
    [root@hadoop003 hadoop-2.7.2]# netstat -anp | grep 22

    压缩和解压类

    tar打包案例
    (1)压缩:tar -zcvf  XXX.tar.gz   n1.txt    n2.txt
        压缩多个文件
    [root@hadoop003 opt]# tar -zcvf test.tar.gz test1.java test.java 
    test1.java
    test.java
    [root@hadoop003 opt]# ls
    test1.java  test.java  test.tar.gz 
    压缩目录
    [root@hadoop003 opt]# tar -zcvf test.java.tar.gz test1
    test1/
    test1/hello
    test1/test1.java
    test1/test/
    test1/test/test.java
    [root@hadoop106 opt]# ls
    test1 test.java.tar.gz 
    解压:tar -zxvf  XXX.tar.gz,如果有重名,则直接覆盖。
        解压到当前目录
    [root@hadoop003 opt]# tar -zxvf test.tar.gz
    解压到/opt目录
    [root@hadoop003 opt]# tar -zxvf test.tar.gz -C /opt 

    后台服务管理类

    service后台服务管理
    1)service network status   查看指定服务的状态
    2)service network stop    停止指定服务
    3)service network start    启动指定服务
    4)service network restart   重启指定服务
    5)service --status-all      查看系统中所有的后台服务
    chkconfig设置后台服务的自启配置 1)chkconfig 查看所有服务器自启配置 2)chkconfig iptables off 关掉指定服务的自动启动 3)chkconfig iptables on 开启指定服务的自动启动
    crond系统定时任务 crontab定时任务设置
    crontab [选项] 选项: -e: 编辑crontab定时任务 -l: 查询crontab任务 -r: 删除当前用户所有的crontab任务 2)参数说明 [root@hadoop003 ~]# crontab -e (1)进入crontab编辑界面。会打开vim编辑你的工作。 * * * * * 执行的任务 项目 含义 范围 第一个“*” 一小时当中的第几分钟 0-59 第二个“*” 一天当中的第几小时 0-23 第三个“*” 一个月当中的第几天 1-31 第四个“*” 一年当中的第几月 1-12 第五个“*” 一周当中的星期几 0-7(0和7都代表星期日) (2)特殊符号 特殊符号 含义 * 代表任何时间。比如第一个“*”就代表一小时中每分钟都执行一次的意思。 , 代表不连续的时间。比如“0 8,12,16 * * * 命令”,就代表在每天的8点0分,12点0分,16点0分都执行一次命令 - 代表连续的时间范围。比如“0 5 * * 1-6命令”,代表在周一到周六的凌晨5点0分执行命令 */n 代表每隔多久执行一次。比如“*/10 * * * * 命令”,代表每隔10分钟就执行一遍命令 (3)特定时间执行命令 时间 含义 45 22 * * * 命令 在22点45分执行命令 0 17 * * 1 命令 每周1 的17点0分执行命令 0 5 1,15 * * 命令 每月1号和15号的凌晨5点0分执行命令 40 4 * * 1-5 命令 每周一到周五的凌晨4点40分执行命令 */10 4 * * * 命令 每天的凌晨4点,每隔10分钟执行一次命令 0 0 1,15 * 1 命令 每月1号和15号,每周1的0点0分都会执行命令。注意:星期几和几号最好不要同时出现,因为他们定义的都是天。非常容易让管理员混乱。 3)案例: */1 * * * * /bin/echo `date` >> /tmp/test

    env
      查看环境变量

    RPM和YUM

    rpm -ivh package     # 直接安装
    rpm -qa   #所有安装的包
    rpm -ql tree  查询
    rpm -e tree  删除
    RPM -q tree 查询
    
    yum相关
    yum install -y xxxx
    yum remove -y xxxx
    yum update -y xxxx
    
    配置yum源
    wget http://mirrors.163.com/.help/CentOS6-Base-163.repo

    面试题

    建立软链接(快捷方式),以及硬链接的命令。
    答案:
    软链接: ln -s slink source
    硬链接: ln link source

    终端是哪个文件夹下的哪个文件?黑洞文件是哪个文件夹下的哪个命令?
    答案:
    终端  /dev/tty

    
    

    黑洞文件  /dev/null

    
    

    用什么命令对一个文件的内容进行统计?(行号、单词数、字节数)
    答案:

    
    

    wc 命令 - c 统计字节数 - l 统计行数 - w 统计字数。

    Linux 中进程有哪几种状态?在 ps 显示出来的信息中,分别用什么符号表示的?

    ps -aux

    D 不可中断 Uninterruptible(usually IO)
    R 正在运行,或在队列中的进程
    S 处于休眠状态
    T 停止或被追踪
    Z 僵尸进程
    W 进入内存交换(从内核 2.6 开始无效)
    X 死掉的进程


    使用什么命令查看网络是否连通?
    答案:
    netstat

    查看各类环境变量用什么命令?

    
    

    答案:

    
    

    查看所有 env
    查看某个,如 home: env $HOME

    问题四十:

    你的系统目前有许多正在运行的任务,在不重启机器的条件下,有什么方法可以把所有正在运行的进程移除呢?

    答案:

    使用linux命令 ’disown -r ’可以将所有正在运行的进程移除

    bash shell 的内置命令let 可以进行整型数的数学运算。

    #! /bin/bash


    let c=a+b

     
    我凝视这恒星,等待这那场风暴,我已经准备好了
  • 相关阅读:
    Javascript操纵Cookie--转
    java使用jsp servlet来防止csrf 攻击的实现方法
    Creating a CSRF protection with Spring 3.x--reference
    Preventing CSRF in Java web apps---reference
    Linux服务器集群系统(四)--转
    Linux服务器集群系统(三)--转
    UVA 10529 Dumb Bones 可能性dp 需求预期
    android 渐变drawable
    定义你自己ViewGroup
    Android系统关机或几种方式重启
  • 原文地址:https://www.cnblogs.com/cheng5350/p/11727576.html
Copyright © 2011-2022 走看看