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软件包的所有依赖关系
原文地址:https://www.cnblogs.com/Qin125/p/13222764.html