zoukankan      html  css  js  c++  java
  • Linux入门

    一、不同领域的主流操作系统:

    1.桌面操作系统
      a.Windows 系列:用户群体大
      b.macOS:适合于开发人员
      c.Linux:应用软件少
    2.服务器操作系统
      a.Linux:安全、稳定、免费、占有率高
      b.Windows Server:付费、占有率低
    3.嵌入式操作系统
      a.Linux
    4.移动设备操作系统
      a.IOS
      b.Android(基于Linux)
    二、常见的Linux发行版本:
      1.Ubuntu
      2.Redhat
      3.Fedora
      4.openSUSE
      5.Linux Mint
    三、Linux和Windows区别:
      1:费用
        Windows收费且很贵
        Linux免费或少许费用
      2:安全性
        Windows补丁更新频繁,还是会中病毒木马
        Linux相对来说Windows平台更加安全
      3:可定制性
        Windows封闭的,系统的可定制性很差
        Linux开源,可定制性很强
      4:应用场景
        Windows桌面操作系统主要使用Windows
        Linux支撑百度、谷歌、淘宝等应用软件和服务,是后台成千上万的Linux服务器主机,世界上大部分软件和服务都运行Linux上的
    四、Linux系统中一切皆文件
    五、Linux目录结构
      1:/bin 是Binary的缩写,这个目录存放着最经常使用的命令
      2:/home 存放普通用户的主目录,在Linux中每个用户都有自己的一个目录,一般该目录是以用户的账户命名
      3:/root 该目录为系统管理员,也称作超级权限者的用户主目录
      4:/etc 所有的系统管理所需要的配置文件和子目录
      5:/boot 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件
      6:/var 这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括日志文件
      7:/opt 这是给主机额外安装软件所摆放的目录。比如你安装一个MySQL数据则就可以放到这个目录下。默认是空的。
      8:/media Linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux会把识别的设备挂载到这个目录下面
    六、VI/VIM编辑器:
      VI是Unix操作系统和类Unix操作系统中最通用的文本编辑器。
      VIM编辑器是从VI发展出来的一个性能更强大的文本编辑器。可以主动的以字体颜色辨别语法的正确性,方便程序设计。VIM与VI编辑器完全兼容。
    七、编辑器的三种模式、及指令
      1.一般模式
     a. yy 复制光标当前一行
     b. y数字y  复制一段(从第几行到第几行)
     c. p 箭头移动到目的行粘贴
     d. u 撤销上一步
     e. dd 删除光标当前行
     f. d数字d 删除光标(含)后多少行
     g. x 删除一个字母,相当于del,向后删
     h. X 删除一个字母,相当于Backspace,向前删
     i. yw 复制一个词
     j. dw 删除一个词
     k. shift+^ 移动到行头
     l. shift+$ 移动到行尾
     m. gg或者1+G 移动到页头
     n. G 移动到页尾
     z. 数字+G(先输入数字,在按G) 移动到目标行
      2.编辑模式
     a. i 当前光标前
     b. a 当前光标后
     c. o 当前光标行的下一行
     d. I 光标所在行最前
     e. A 光标所在行最后
     f. O 当前光标行的上一行
     g. esc  退出编辑模式
      3.指令模式
     a. :w 保存
     b. :q 退出
     c. :! 强制执行
     d. / 要查找的词 n 查找下一个,N 往上查找
     e. ? 要查找的词 n是查找上一个,N是往下查找
     f. :set nu 显示行号
     g. :set nonu 关闭行号
     h. ZZ(shift+zz) 没有修改文件直接退出,如果修改了文件保存后退出
     i. :wq    强制保存退出
    八、网络配置基本命令语法
      1.[root@hadoop100 桌面]# ifconfig (查询当前网络ip)
      2.[root@hadoop100 桌面]# ping (测试服务器的网络连通性)
      3.[root@hadoop100 桌面]# vim /etc/sysconfig/network-scripts/ifcfg-eth0(修改ip地址)
      4.[root@hadoop100 桌面]# hostname 查看当前服务器主机名称
      5.[root@hadoop100 桌面]#service network status 查看网络服务的状态
      6.[root@hadoop100 桌面]#service network stop 停止网络服务
      7.[root@hadoop100 桌面]#service network start 启动网络服务
      8.[root@hadoop100 桌面]#service network restart 重启网络服务
      9.[root@hadoop100 桌面]#service --status-all 查看系统中所有的后台服务
      10.[root@hadoop100 桌面]#chkconfig iptables off 关闭iptables服务的自动启动
      11.[root@hadoop100 桌面]#chkconfig iptables on 开启iptables服务的自动启动
      12.-h -h=halt关机  -r -r=reboot重启
    九、man 获得帮助信息
     基本语法
     man [命令或配置文件]  (功能描述:获得帮助信息)
     显示说明
      NAME 命令的名称和单行描述
      SYNOPSIS 怎样使用命令
      DESCRIPTION 命令功能的深入讨论
      EXAMPLES   怎样使用命令的例子
      SEE ALSO 相关主题(通常是手册页)
    十、help 获得shell内置命令的帮助信息
      基本语法
     help 命令 (功能描述:获得shell内置命令的帮助信息)
    十一、常用快捷键
       ctrl + c  停止进程
       ctrl+l  清屏;彻底清屏是:reset
       ctrl + q  退出
       善于用tab键  提示(更重要的是可以防止敲错)
       上下键  查找执行过的命令
       ctrl +alt  linux和Windows之间切换
    十二、文件目录类命令
      1.-a 全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来(常用)
        -l 长数据串列出,包含文件的属性与权限等等数据;(常用)
      2.[root@hadoop101 ~]# pwd 显示当前工作目录的绝对路径
      3.[root@hadoop101 ~]# ls:list 列出目录内容
      4. cd 切换目录
        cd 绝对路径 切换路径
        cd相对路径 切换路径
        cd ~或者cd 回到自己的家目录
        cd - 回到上一次所在目录
        cd .. 回到当前目录的上一级目录
        cd -P 跳转到实际物理路径,而非快捷方式路径
      5. mkdir 创建一个新的目录
        语法 [root@hadoop101 ~]# mkdir 目录名
        -p  创建多层目录
        [root@hadoop101 ~]# mkdir -p 目录名/目录名/目录名
      6. rmdir 删除一个空的目录
        [root@hadoop101 ~]# rmdir 空目录名
      7. touch 创建空文件
         [root@hadoop101 ~]# touch 目录/文件名
      8. cp 复制文件或目录
         基本语法  cp [选项] source dest  (功能描述:复制source文件到dest)
         选项说明  -r 递归复制整个文件夹
         参数说明  source 源文件    dest 目标文件
      9. rm 移除文件或目录
        基本语法  rm [选项] deleteFile (功能描述:递归删除目录中所有内容)
        选项说明 -r 递归删除目录中所有内容
           -f 强制执行删除操作,而不提示用于进行确认。
        -v 显示指令的详细执行过程
      10.mv 移动文件与目录或重命名
         基本语法  mv oldNameFile newNameFile (功能描述:重命名)
               mv /temp/movefile /targetFolder (功能描述:移动文件)
      实操   [root@hadoop101 ~]# mv xiyou/dssz/suwukong.txt xiyou/dssz/houge.txt 重命名()
           [root@hadoop101 ~]# mv xiyou/dssz/houge.txt ./   (移动文件)
      11.cat 查看文件内容
         基本语法  cat  [选项] 要查看的文件
         选项说明  -n   显示所有行的行号,包括空行。
      12. more 文件内容分屏查看器
        基本语法  more 要查看的文件
        空白键  (space) 代表向下翻一页;
      Enter  代表向下翻『一行』;
      q  代表立刻离开 more ,不再显示该文件内容。
      Ctrl+F  向下滚动一屏
      Ctrl+B  返回上一屏
      =  输出当前行的行号
      :f  输出文件名和当前行的行号
      13. less 分屏显示文件内容
         基本语法   less 要查看的文件
         空白键  向下翻动一页;
      [pagedown]  向下翻动一页
      [pageup] 向上翻动一页;
      /字串  向下搜寻『字串』的功能;n:向下查找;N:向上查找;
      ?字串  向上搜寻『字串』的功能;n:向上查找;N:向下查找;
      q   离开 less 这个程序;
      14.echo 输出内容到控制台
         基本语法   echo [选项] [输出内容]
         选项       -e:  支持反斜线控制的字符转换 
      \   输出本身 
         换行符
         制表符,也就是Tab键
      15.head 显示文件头部内容
        基本语法
      head 文件       (功能描述:查看文件头10行内容)
      head -n 5 文件      (功能描述:查看文件头5行内容,5可以是任意行数)
      选项说明   -n <行数>   指定显示头部内容的行数 
      16.tail 输出文件尾部内容
         基本语法
      tail  文件    (功能描述:查看文件后10行内容)
      tail  -n 5 文件   (功能描述:查看文件后5行内容,5可以是任意行数)
      tail  -f  文件  (功能描述:实时追踪该文档的所有更新)
      选项说明
         -n<行数>  输出文件尾部n行内容
      -f 显示文件最新追加的内容,监视文件变化
      17.> 覆盖 和 >> 追加
         基本语法
          ll >文件  (功能描述:列表的内容写入文件a.txt中(覆盖写))
      ll >>文件  (功能描述:列表的内容追加到文件aa.txt的末尾)
      cat 文件1 > 文件2 (功能描述:将文件1的内容覆盖到文件2)
      echo “内容” >> 文件
         案例实操
      (1)将ls查看信息写入到文件中
      [root@hadoop101 ~]# ls -l>houge.txt
      (2)将ls查看信息追加到文件中
      [root@hadoop101 ~]# ls -l>>houge.txt
      (3)采用echo将hello单词追加到文件中
      [root@hadoop101 ~]# echo hello>>houge.txt
      18.ln 软链接
        基本语法
         ln -s [原文件或目录] [软链接名]  (功能描述:给原文件创建一个软链接)
        删除软链接: rm -rf 软链接名,而不是rm -rf 软链接名/
      查询:通过ll就可以查看,列表属性第1位是l,尾部会有位置指向。
      19.时间
         基本语法
     (1)date       (功能描述:显示当前时间)
     (2)date +%Y      (功能描述:显示当前年份)
     (3)date +%m      (功能描述:显示当前月份)
     (4)date +%d      (功能描述:显示当前是哪一天)
     (5)date "+%Y-%m-%d %H:%M:%S"  (功能描述:显示年月日时分秒)
      20.useradd 添加新用户
        基本语法
       useradd 用户名   (功能描述:添加新用户)
       useradd -g 组名 用户名 (功能描述:添加新用户到某个组)
      21.passwd 设置用户密码
         基本语法
       passwd 用户名 (功能描述:设置用户密码)
      22.id 查看用户是否存在
        基本语法
        id 用户名
      23.cat  /etc/passwd 查看创建了哪些用户
         基本语法   [root@hadoop101 ~]# cat  /etc/passwd
      24.su 切换用户
         基本语法
      su 用户名称   (功能描述:切换用户,只能获得用户的执行权限,不能获得环境变量)
      su - 用户名称  (功能描述:切换到用户并获得该用户的环境变量及执行权限)
      25.userdel 删除用户
         基本语法
        userdel  用户名  (功能描述:删除用户但保存用户主目录)
        userdel -r 用户名  (功能描述:用户和用户主目录,都删除)
      选项说明
        -r 删除用户的同时,删除与用户相关的所有文件。
      26.who 查看登录用户信息
        基本语法
       whoami  (功能描述:显示自身用户名称)
       who am i  (功能描述:显示登录用户的用户名)
      27.groupadd 新增组
         基本语法  groupadd 组名
      28. groupdel 删除组
      基本语法  groupdel 组名
      29. groupmod 修改组
      基本语法  groupmod -n 新组名 老组名
         选项说明   -n<新组名> 指定工作组的新组名
      30.文件属性
          (1)0首位表示类型
      在Linux中第一个字符代表这个文件是目录、文件或链接文件等等
      - 代表文件
            d 代表目录
       l 链接文档(link file);
       (2)第1-3位确定属主(该文件的所有者)拥有该文件的权限。---User
       (3)第4-6位确定属组(所有者的同组用户)拥有该文件的权限,---Group
       (4)第7-9位确定其他用户拥有该文件的权限 ---Other
       rxw作用文件和目录的不同解释
      (1)作用到文件:
       [ r ]代表可读(read): 可以读取,查看
       [ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.
       [ x ]代表可执行(execute):可以被系统执行
      (2)作用到目录:
       [ r ]代表可读(read): 可以读取,ls查看目录内容
       [ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录
       [ x ]代表可执行(execute):可以进入该目录
      31.find 查找文件或者目录
        基本语法   find [搜索范围] [选项]
        选项说明 
         -name<查询方式> 按照指定的文件名查找模式查找文件
       -user<用户名>  查找属于指定用户名所有文件
       -size<文件大小> 按照指定的文件大小查找文件
      32.grep 过滤查找及“|”管道符
         基本语法   grep 选项 查找内容 源文件
         选项说明   -n 显示匹配行及行号
      33.gzip/gunzip 压缩
         基本语法
      gzip 文件  (功能描述:压缩文件,只能将文件压缩为*.gz文件)
      gunzip 文件.gz (功能描述:解压缩文件命令)
      34.zip/unzip 压缩
         基本语法
      zip  [选项] XXX.zip  将要压缩的内容  (功能描述:压缩文件和目录的命令)
      unzip [选项] XXX.zip     (功能描述:解压缩文件)
      选项说明
      zip选项     -r   压缩目录
      unzip选项 -d<目录>  指定解压后文件的存放目录
      35.tar 打包
         基本语法 tar  [选项]  XXX.tar.gz  将要打包进去的内容  (功能描述:打包目录,压缩后的文件格式.tar.gz)
         选项说明
          -z 打包同时压缩
      -c 产生.tar打包文件
      -v 显示详细信息
      -f 指定压缩后的文件名
      -x 解包.tar文件
    十三、磁盘分区类
      1.df 查看磁盘空间使用情况 
       基本语法   df  选项  (功能描述:列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况)
       选项说明   -h  以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示
      2.du 查看指定目录的磁盘占用情况 
       基本语法 
        du -h /目录
        -s  指定目录占用大小汇总
        -h  带计量单位
        -a  含文件
        --max-depth=1 子目录深度
        -c 列出明细的同时,增加汇总值
      3.磁盘情况-工作实用指令
        1)统计/root文件夹下的文件的个数
          [root@jinghang01 ~]# ls -l /root | grep "^-" | wc -l
        2)统计/root文件夹下的目录的个数
          [root@jinghang01 ~]# ls -l /root | grep "^d" | wc -l
        3)统计/root文件夹下文件的个数,包括子文件夹里的
          [root@jinghang01 ~]# ls -lR /root | grep "^-" | wc -l
        4)统计文件夹下目录的个数,包括子文件夹里的
          [root@jinghang01 ~]# ls -lR /root | grep "^d" | wc -l
        5)以树状显示目录结构
          [root@jinghang01 ~]# yum install tree
          [root@jinghang01 ~]# tree
      4.fdisk 查看分区
        分区的方式:
          1)mbr分区
          1.最多支持四个主分区
          2.系统只能安装再主分区
          3.扩展分区要占一个主分区
          4.MBR最大只支持2TB,但是拥有较好的兼容性
        2)gpt 分区
          1.支持无限多个主分区(但是系统可能限制,比如windowns下最多128个分区)
          2.最大支持18EB的大容量(EB=1024PB,PB=1024TB)
          3.Windowns7 64位以后才支持gpt分区
        基本语法  fdisk -l      (功能描述:查看磁盘分区详情)
        选项说明  -l  显示所有硬盘的分区列表
         Linux分区
          Device:分区序列
          Boot:引导
          Start:从X磁柱开始
          End:到Y磁柱结束
          Blocks:容量
          Id:分区类型ID
          System:分区类型
      5.mount/umount 挂载/卸载
        基本语法  
          mount [-t vfstype] [-o options] device dir  (功能描述:挂载设备)
          umount 设备文件名或挂载点      (功能描述:卸载设备) 
        参数说明
          -t vfstype  指定文件系统的类型,通常不必指定。mount  会自动选择正确的类型。常用类型有:
                  光盘或光盘镜像:iso9660
                  DOS fat16文件系统:msdos
                  Windows 9x fat32文件系统:vfat
                  Windows NT ntfs文件系统:ntfs
                  Mount Windows文件网络共享:smbfs
                  UNIX(LINUX) 文件网络共享:nfs
          -o options  主要用来描述设备或档案的挂接方式。
                  常用的参数有:
                  loop:用来把一个文件当成硬盘分区挂接上系统
                  ro:采用只读方式挂接设备
                  rw:采用读写方式挂接设备
                  iocharset:指定访问文件系统所用字符集
          device  要挂接(mount)的设备
          dir 设备在系统上的挂接点(mount point)
        设置开机自动挂载
          [root@hadoop101 ~]# vi /etc/fstab
    十四、进程线程类
        进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。
      1.ps 查看当前系统进程状态
        基本语法
          ps aux | grep xxx   (功能描述:查看系统中所有进程)
          ps -ef | grep xxx   (功能描述:可以查看子父进程之间的关系)
        选项说明
          -a  选择所有进程
          -u  显示所有用户的所有进程
          -x  显示没有终端的进程
        ps aux显示信息说明
          USER:该进程是由哪个用户产生的
          PID:进程的ID号
          %CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源;
          %MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源;
          VSZ:该进程占用虚拟内存的大小,单位KB;
          RSS:该进程占用实际物理内存的大小,单位KB;
          TTY:该进程是在哪个终端中运行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-255代表虚拟终端。
          STAT:进程状态。常见的状态有:R:运行、S:睡眠、T:停止状态、s:包含子进程、+:位于后台
          START:该进程的启动时间
          TIME:该进程占用CPU的运算时间,注意不是系统时间
          COMMAND:产生此进程的命令名
        ps -ef显示信息说明
          UID:用户ID 
          PID:进程ID 
          PPID:父进程ID 
          C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高 
          STIME:进程启动的时间 
          TTY:完整的终端名称 
          TIME:CPU时间 
          CMD:启动进程所用的命令和参数
        经验技巧
          如果想查看进程的CPU占用率和内存占用率,可以使用aux;
          如果想查看进程的父进程ID可以使用ef;
      2.kill 终止进程
        基本语法
          kill  [选项] 进程号    (功能描述:通过进程号杀死进程)
          killall 进程名称      (功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)
        选项说明
          -9  表示强迫进程立即停止
      3.pstree 查看进程树
        基本语法    pstree [选项]
        选项说明
          -p  显示进程的PID 
          -u  显示进程的所属用户
      4. top 查看系统健康状态
        基本命令  top [选项]
        选项说明  
         -d 秒数 指定top命令每隔几秒更新。默认是3秒在top命令的交互模式当中可以执行的命令:
         -i  使top不显示任何闲置或者僵死进程。
         -p  通过指定监控进程ID来仅仅监控某个进程的状态。
        操作说明
          P 以CPU使用率排序,默认就是此项 
          M 以内存的使用率排序
          N 以PID排序
          q 退出top
      5.netstat 显示网络统计信息和端口占用情况
        基本语法
          netstat -anp  |  grep 进程号 (功能描述:查看该进程网络信息)
          netstat -nlp  |  grep 端口号 (功能描述:查看网络端口号占用情况)
        选项说明
          -n  拒绝显示别名,能显示数字的全部转化成数字
          -l  仅列出有在listen(监听)的服务状态
          -p  表示显示哪个进程在调用
    十五、系统定时任务
      1.重新启动crond服务
        [root@hadoop101 ~]# service crond restart
      2.crontab 定时任务设置
        基本语法    crontab [选项]
        选项说明
          -e  编辑crontab定时任务
          -l  查询crontab任务
          -r  删除当前用户所有的crontab任务
        参数说明    [root@hadoop101 ~]# 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分都会执行命令。注意:星期几和几号最好不要同时出现,因为他们定义的都是天。非常容易让管理员混乱。
    十六、软件包管理
      1.RPM查询命令(rpm -qa)
        基本语法
          rpm -qa       (功能描述:查询所安装的所有rpm软件包)
        查询firefox软件安装情况
          [root@hadoop101 Packages]# rpm -qa |grep 包名
      2.RPM卸载命令(rpm -e)
        基本语法
          rpm -e RPM软件包   
          rpm -e --nodeps 软件包  
        选项说明
          -e  卸载软件包
          --nodeps  卸载软件时,不检查依赖。这样的话,那些使用该软件包的软件在此之后可能就不能正常工作了。
      2.RPM安装命令(rpm -ivh)
        基本语法  rpm -ivh RPM包全名
        选项说明
          -i  -i=install,安装
          -v  -v=verbose,显示详细信息
          -h  -h=hash,进度条
          --nodeps  --nodeps,不检测依赖进度
    十七、YUM仓库配置
      1.YUM的常用命令
        基本语法    yum [选项] [参数]
        选项说明    -y  对所有提问都回答“yes”
        参数说明
          install 安装rpm软件包
          update  更新rpm软件包
          check-update  检查是否有可用的更新rpm软件包
          remove  删除指定的rpm软件包
          list  显示软件包信息
          clean 清理yum过期的缓存
          deplist 显示yum软件包的所有依赖关系
  • 相关阅读:
    关于相对定位与绝对定位
    一些常用但不平凡的CSS属性
    Java-认识变量、注释并能及时发现错误
    了解Java并学会创建Java项目(一个菜鸟的成长历程)
    竞态条件
    web服务器原理
    信号
    静态网页与动态网页区别
    mmap
    HTTP协议
  • 原文地址:https://www.cnblogs.com/Qin125/p/13222764.html
Copyright © 2011-2022 走看看