linux操作系统

Date: 2019-05-27

Author: Sun

操作系统是电脑的关键,管理电脑软硬件资源,直接运行在裸机上的,其他软件都必须在操作系统上运行

  • 操作系统分类

    • 桌面操作系统:windows、linux(ubuntu、centos、rehat、debian)、mac os 、中标麒麟
    • 移动端:android、symbian、ios、winphone、blackberry
    • 服务器端:windows nt、os server 、rehat、centos、geetoo(贱兔)、ubuntu
    • 类unix 把由unix衍生出来的系统称之为类unix系统。
  • 内核 操作系统最基础的部分,其他应用都要通过内核对计算机硬件进行安全访问。

  • GUI : graphic User interface 图形用户接口

    • GNOME(ubuntu 默认)
    • KDE
  • 32位和64位,寻址方式不同,64位效率更高

  • linux操作系统历史

  • linux有两大发行版阵营

    rehat:  rehat、centos(免费)
    debian:  ubuntu deepin 
    

linux系统优点:

  • 免费、开源

  • 树形文件系统

  • 速度快,资源少

  • 稳定、安全,不宕机

  • 多用户、多任务

  • 支持多种平台

  • 虚拟化和虚拟机

    • 虚拟化: 也就是将一台物理机划分成n逻辑的计算机,最大限度的榨干计算机的性能
      • docker openstack kvm
    • 虚拟机 实现虚拟化的一种技术
      • windows: vmware workstation virtual box
      • mac :parallels desktop

二、系统安装

  • 国内镜像(https://mirrors.aliyun.com/)

  • ubuntu16.04.3-desktop-amd64 + vmware workstation12.5

  • 关机、重启命令

    关机:
      shutdown -h 18:00  #系统在18:00定时关机
      shutdown -h +10    #系统10分钟后关机
      shutdown -h now  立即关机
      halt             立即关机 等于shutdown -h now
      poweroff         关机
      
    重启:
       reboot
    
  • 快照 拍摄快照,保存虚拟机状态,以后虚拟机出错后,可以恢复到快照状态

  • linux版本查看

    python@ubuntu:/myproject/blog$ uname  -r
    2.6.32-642.el6.x86_64
    2: 内核主版本信息
    6:如果是偶数,代表稳定版,如果奇数,代表开发版
    32:版本修复次数
    x86:系统架构  x86,amd
    64: 64位系统
    
    #显示操作系统名称
    python@ubuntu:/myproject/blog$ uname -a
    Linux ubuntu 4.13.0-37-generic #42~16.04.1-Ubuntu SMP Wed Mar 7 16:03:28 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
    
  • 安装完毕后需要更新软件。

    • 桌面右上角,设置(齿轮)—— 系统设置—— system—software update。download from 后的下拉框中选择”中国的服务器“ — 阿里云镜像:http://mirrors.aliyun.com/ubuntu
    • 设置显示器,同样在系统设置中 hardware----display 选择所需分辨率
    • 语言设置 系统设置——language中,添加汉语,然后再上面的列表框中将其拖动到最前面,下次重启就可以看到中文界面了。重启的时候会提示你目录是否改成汉语的,请选择no
  • 显示终端

    • 在图形界面里显示终端,请按ctl + alt + t 显示终端或者桌面右键--终端
    • 不带图形界面的终端(全shell),请安ctl + alt + f1~f6,可以开启不同的终端窗口,最多6个,按ctl + alt + f7退回到图形界面
  • 开启工作区

    系统设置—外观—行为:点选开启工作区。

  • root用户和sudo

    系统默认的root用户是停用的,所有和系统相关指令均需使用sudo(super user do)命令执行,需要输入密码

三、常用工具

  1. ssh

    是secure shell的简写

    • 传输是加密,可以有效防止数据再传输过程中被截取

    • 传输的数据是压缩的,所以速度超快

    • 开启器ssh服务,ubuntu默认没有安装ssh服务,首先需要安装ssh服务器

      #1. 安装ssh-server
      sudo apt-get install openssh-server
      #2. 检查ssh服务开启状态
      python@ubuntu:~$ ps -aux | grep ssh
      root       3747  0.0  0.5  65512  5636 ?        Ss   20:54   0:00 /usr/sbin/sshd -D #是这个
      python     4119  0.0  0.1  21312  1044 pts/4    S+   21:16   0:00 grep --color=auto ssh
      
      如果ubuntu是17.0版本以上,需要开启ssh服务
      配置文件  /etc/ssh/sshd.config
      
      #3.启动ssh服务
      sudo service ssh start  
      #或者
      sudo  /etc/init.d/ssh start
      
      #4.测试
      ssh -p 端口  用户名@主机地址  #ssh默认端口是22
      
  2. 远程连接工具

    • xshell

    • putty

    • scrt

  3. 常见快捷键

    快捷键 说明
    ctrl + c 终止正在正在执行的命令
    ctrl + a 回到命令开始
    ctrl + e 回到命名结尾
    ctrl + u 清空命令行
    ctrl + l 或者clear 清屏
    tab 命令、文件名、目录名自动补齐
  4. 常见命令错误

    • 命令敲错了

    • 多个空格

    • 这个命令还没有安装 command not found

  5. 命令的提示符

    root@ubuntu16 ~# 
    root 用户名
    ubuntu16 主机名
    ~ 用户的家目录  root用户的家目录是/root;一般用户的家目录是 /home/用户名
    /  系统根目录
    # 超级管理员在工作
    $ 普通用户在工作
    
  6. 软件安装

    • apt 安装

      查看软件包信息 		  sudo apt-cache showsrc 包名
      获得源码       		     sudo apt-get source 包名
      安装软件     		     sudo apt-get install 包名
      删除软件                  sudo apt-get remove 包名
      获取新的软件包列表         sudo apt-get update
      升级有可用更新的软件包     sudo apt-get upgrage
      
    #安装常见的库
    sudo apt-get update
    sudo apt-get install man gcc gcc++ make sudo lsof ssh openssl tree vim dnsutils iputils-ping net-tools psmisc sysstat curl telnet traceroute wget libbz2-dev libpcre3 libpcre3-dev libreadline-dev libsqlite3-dev libssl-dev zlib1g-dev git mysql-server mysql-client zip  p7zip

​ man命令是Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。

  1. 查看操作系统的CPU核数

    cat /proc/cpuinfo

  2. Linux进程管理器

    sudo apt install htop

    htop

  3. 系统平均负载

​ uptime命令能够打印系统总共运行了多长时间和系统的平均负载。uptime命令可以显示的信息显示依次为:现在时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。

[root@LinServ-1 ~]# uptime -V    #显示uptime命令版本信息
procps version 3.2.7

[root@LinServ-1 ~]# uptime
 15:31:30 up 127 days,  3:00,  1 user,  load average: 0.00, 0.00, 0.00

显示内容说明:

15:31:30             //系统当前时间
up 127 days,  3:00   //主机已运行时间,时间越大,说明你的机器越稳定。
1 user               //用户连接数,是总连接数而不是用户数
load average: 0.00, 0.00, 0.00         // 系统平均负载,统计最近1,5,15分钟的系统平均负载

  1. 查看磁盘使用情况 df

    硬盘类型: HDD 机械硬盘、SDD 固态硬盘 HHD混合硬盘

    文件系统

    • windows: fat16 fat32 exFat ntfs
    • linux: ext2 ext3 ext4

​ 查看磁盘使用情况 df

第一块硬盘是 : sda
第二块硬盘是 : sdb
df  -h  以用户最佳体验查看
df  -k    以k为单位
df  -m    以兆为单位

df -h /dev/sda1  #查看第一个硬盘的使用情况

du 查看文件系统空间使用情况

磁盘分区 fdisk

fdisk -l #查看磁盘分区情况

  1. 查看进程 ps

​ ps -ef | grep mysql

​ ps -aux | grep redis

  1. 查看进程相关信息 lsof

ps -ef | grep redis
501 417 1 0 11:50下午 ?? 0:00.22 redis/bin/redis-server 127.0.0.1:6379
501 1905 33537 0 11:54下午 ttys000 0:00.00 grep redis

​ redis的进程id为417

​ 由此进程id查看进程详细信息

​ lsof -p 417

  1. 由端口查看进程信息 --- netstat

    (1)采用ps查找nginx进程id

    ps -aux | grep nginx
    zhougua+ 5428 0.0 0.2 34692 4008 ? Ss Jun09 0:00 nginx: master process /opt/openresty/bin/openresty
    zhougua+ 22538 0.0 0.0 21292 940 pts/20 S+ 14:13 0:00 grep --color=auto nginx
    zhougua+ 51202 0.0 0.1 35080 2308 ? S Jun10 0:00 nginx: worker process
    zhougua+ 51203 0.0 0.1 35080 2372 ? S Jun10 0:00 nginx: worker process

    (2)由进程id查找相关端口

    netstat -anp | grep 5428

原文地址:https://www.cnblogs.com/sunBinary/p/10934084.html