linux命令2

linux

简介

Linux 内核最初是由芬兰人李纳斯·托瓦兹(Linus Torvalds)编写的。

Linux 是一套免费使用和开源的类 Unix 操作系统,是一个基于 POSIX(可移植操作系统接口(Portable Operating System Interface of UNIX,缩写为 POSIX )) 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。

发行版有:

 

操作系统架构

操作系统(Operating System,简称OS)是管理计算机硬件硬件与软件软件资源的计算机程序。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。

 

 

 

启动/关机/重启

启动流程

 

运行级别

Linux系统有7个运行级别(runlevel):

  • 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动

  • 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆

  • 运行级别2:多用户状态(没有NFS)

  • 运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式

  • 运行级别4:系统未使用,保留

  • 运行级别5:X11控制台,登陆后进入图形GUI模式

  • 运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

界面切换

  • 图形界面进入命令行界面

    1. 快捷键:ctrl+alt+F6

    2. 命令:init 3

  • 命令行界面进入图形界面

    1. 快捷键:ctrl+alt+F2

    2. 命令:init 5

      1. startx

关机/重启

不管是重启系统还是关闭系统,首先要运行 sync 命令,把内存中的数据写到磁盘中。

sync 将数据由内存同步到硬盘中。
​
shutdown 关机指令,你可以man shutdown 来看一下帮助文档。例如你可以运行如下命令关机:
​
shutdown –h 10 ‘This server will shutdown after 10 mins’ 这个命令告诉大家,计算机将在10分钟后关机,并且会显示在登陆用户的当前屏幕中。
​
shutdown –h now 立马关机
​
shutdown –h 20:25 系统会在今天20:25关机
​
shutdown –h +10 十分钟后关机
​
shutdown –r now 系统立马重启
​
shutdown –r +10 系统十分钟后重启
​
reboot 就是重启,等同于 shutdown –r now
​
halt 关闭系统,等同于shutdown –h now 和 poweroff
​
init 0 关闭系统
​
init 6 重启系统

目录结构

详情参考:https://www.runoob.com/linux/linux-system-contents.html

网络配置

网络模式

  • 桥接模式

    虚拟机网段与宿主机(windows)网段是一个

    注:只要windows能上网,虚拟机就能上网;centos系统与windows互通,

    并能连接外网。

  • host-only(仅主机)模式

    使用虚拟网卡vmnet1。

    注:只能与windows互通,不能连接外网。

  • NAT模式

    使用虚拟网卡vmnet8

    注: centos系统与windows互通,并能连接外网。

    注: windows各个网卡信息可以通过cmd中输入ipconfig命令查看

     

静态ip配置

  • 图形化界面设置

     

  • 命令行界面设置

    输入命令:vim /etc/sysconfig/network-scripts/ifcfg-ens33

     

    按下a或i或o键,进行编辑;按下esc键,进入命令模式;然后按下:wq,保存退出。

    执行命令:systemctl restart network(centos7)或service network restart(centos7兼容之前的版本)

配置主机名

  • 查看当前主机名

    执行命令:hostname

  • 配置临时主机名(重启系统后失效)

    hostname linux-senior01.test.com

  • 配置永久主机名

    执行命令:vim /etc/hostname或 vim /etc/sysconfig/network

     

     

配置本地DNS映射

执行命令:vim /etc/hosts

 

用户管理

详情参考:https://www.runoob.com/linux/linux-user-manage.html

文件/目录管理

常用操作

详情参考:https://www.runoob.com/linux/linux-file-content-manage.html

权限控制

详情参考:https://www.runoob.com/linux/linux-file-attr-permission.html

vi/vim

详情参考:https://www.runoob.com/linux/linux-vim.html

磁盘管理/内存管理

详情参考:https://www.runoob.com/linux/linux-filesystem.html

du/df/free参考:https://blog.csdn.net/qq_19167629/article/details/80915834

软件安装

yum

  • 安装文件传输工具:yum install lrzsz

  • 安装zip工具包:yum install zip unzip

zip(压缩/解压缩)

  • 解压:unzip mysql-libs.zip –d /opt/soft

  • 压缩:zip -rq mysql-libs1.zip mysql-libs

tar.gz(压缩/解压缩)

  • 解压:tar zxf mysql-connector-java-5.1.27.tar.gz -C .

  • 压缩:tar cvf mysql-connector-java-5.1.27.tar.gz mysql-connector-java-5.1.27

rpm

使用rpm安装jdk和mysql。

安装JDK

  • 查询是否已经安装jdk:rpm -qa|grep java或rpm -qa|grep jdk

  • 安装:rpm -ivh jdk-8u60-linux-x64.rpm

  • 卸载:rpm -e --nodeps jdk-8u60-linux-x64.rpm

  • 配置环境变量

    • 全局系统变量

      • 执行命令:vim /etc/profile

      export JAVA_HOME=/usr/java/jdk1.8.0_60

      export PATH=$PATH:$JAVA_HOME/bin

      • 执行命令:source /etc/profile

    • 当前用户系统变量

      • vim ~/.bashrc

        export JAVA_HOME=/usr/java/jdk1.8.0_60

        export PATH=$PATH:$JAVA_HOME/bin

      • source ~/.bashrc

安装MySQL

  • 服务端

    • 查看是否安装mariadb: rpm –qa|grep mariadb

    • 删除mariadb:rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

    • 安装perl库:yum-y install autoconf

    • 安装:rpm -ivh MySQL-server-5.6.24-1.el6.x86_64.rpm

    • 查看默认密码:cat /root/.mysql_secret

    • 查看端口:netstat -ano|grep 3306

    • 查看进程: ps -nux|grep mysql

    • 查看mysql状态:service mysql status

    • 启动mysql:service mysql start

    • 停止:service mysql stop

    • 重启:service mysql restart

  • 客户端

    • 安装:rpm -ivh MySQL-client-5.6.24-1.el6.x86_64.rpm

    • 连接:mysql -hlocalhost -uroot -pxxx

    • 重置密码:set password=password('123456');

Shell简介

Shell是什么

  • shell本身是解释器

  • shell脚本是开发语言

  • 开发人员编写shell脚本,交给shell解释器运行,shell解释器调用的系统内核

Shell解释器

Bourne Shell(/usr/bin/sh或/bin/sh)

Bourne Again Shell(/bin/bash)

C Shell(/usr/bin/csh)

K Shell(/usr/bin/ksh)

Shell for Root(/sbin/sh)

注:常用的是/bin/sh或/bin/bash

  • 查看linux提供的Shell解释器:cat /etc/shells

  • 查看bash和sh的关系:ll | grep bash

  • 查看默认解释器:echo $SHELL

    • 常用系统变量:$HOME、$PWD、$SHELL、$USER

    • 显示当前Shell中所有变量:set

详情参考:https://www.runoob.com/linux/linux-shell.html

Shell变量

详情参考:https://www.runoob.com/linux/linux-shell-variable.html

Shell传递参数

详情参考:https://www.runoob.com/linux/linux-shell-passing-arguments.html

Shell数组

详情参考:https://www.runoob.com/linux/linux-shell-array.html

Shell运算符与流程控制

运算符详情参考:https://www.runoob.com/linux/linux-shell-basic-operators.html

流程控制详情参考:https://www.runoob.com/linux/linux-shell-process-control.html

read读取控制台输入

基本语法

read(选项)(参数)

  • 选项:

    • -p:指定读取值时的提示符;

    • -t:指定读取值时等待的时间(秒)。

  • 参数

    • 变量:指定读取值的变量名

实例

  • 执行vim read.sh

    #!/bin/bash

    read -t 7 -p "Enter your name in 7 seconds " NAME

    echo $NAME

  • 执行./read.sh

Shell函数及参数

系统函数

  • basename

    • 基本语法

      • basename [string / pathname] [suffix]

        • basename命令会删掉所有的前缀包括最后一个(‘/’)字符,然后将字符串显示出来。

        • suffix为后缀,如果suffix被指定了,basename会将pathname或string中的suffix去掉。

    • 实例

      • 执行basename /opt/module/shell/wc.txt

      • 执行basename /opt/module/shell/wc.txt .txt

  • dirname

    • 基本语法

      • dirname 文件绝对路径

        从给定的包含绝对路径的文件名中去除文件名(非目录的部分),然后返回剩下的路径(目录的部分)。

    • 实例

      • 执行dirname /opt/module/shell/wc.txt

自定义函数

详情参考:https://www.runoob.com/linux/linux-shell-func.html

Shell输入输出重定向

详情参考:https://www.runoob.com/linux/linux-shell-io-redirections.html

Shell工具

cut

  • 基本用法

    • cut [选项参数] filename

    • 说明:默认分隔符是制表符

  • 选项说明

     

  • 实例

    • 准备数据cut.txt

      dong shen
      guan zhen
      wo  wo
      lai  lai
      le  le
    • 切割第一列

      cut -d " " -f 1 cut.txt 
    • 切割第二三列

      cut -d " " -f 2,3 cut.txt
    • 切割出guan

      cat cut.txt | grep "guan" | cut -d " " -f 1
    • 选取系统PATH变量值,第2个“:”开始后的所有路径

      echo $PATH | cut -d: -f 2-
    • 切割ifconfig 命令打印的IP地址

      ifconfig eth0 | grep "inet addr" | cut -d: -f 2 | cut -d" " -f1

       

sort

  • 基本语法

    sort(选项)(参数)

     

  • 实例

    • 准备数据

      bb:40:5.4
      bd:20:4.2
      xz:50:2.3
      cls:10:3.5
      ss:30:1.6
    • 按照“:”分割后的第三列倒序排序

      sort -t : -nrk 3  sort.txt

       

sed

详情参考:https://blog.csdn.net/shanyongxu/article/details/46489717

awk

详情参考:https://www.cnblogs.com/kaituorensheng/p/3919212.html

 

作业

  1. 使用Linux命令查询某一文件中空行所在的行号

    awk '/^$/{print NR}' sed.txt
  2. 有文件score.txt,内容如下:

    张三 90

    李四 85

    王五 100

    使用Linux命令计算第二列的和并输出

    cat score.txt | awk -F " " '{sum+=$2} END{print sum}'
  3. 编写Shell脚本检查一个文件是否存在

    #!/bin/bash
    ​
    if [ -f file.txt ]; then
       echo "文件存在!"
    else
       echo "文件不存在!"
    fi
  4. 编写shell脚本,对文本中无序的一列数字升序排序并求和

    cat test.txt
    9
    8
    7
    6
    5
    4
    3
    2
    10
    1
    sort -n test.txt|awk '{a+=$0;print $0}END{print "SUM="a}'
  5. 编写shell脚本写出查找当前文件夹(/opt/module/shell/data)下所有的文本文件内容中包含有字符”shen”的文件名称

    grep -r "shen" /opt/module/shell/data | cut -d ":" -f 1

     

  6. 常用查看系统指标的命令有哪些?

    top命令:https://jingyan.baidu.com/article/ca00d56cbbdf27a99eebcf94.html
    free命令:https://blog.csdn.net/wang_yiduo/article/details/89861632
    du命令:https://www.runoob.com/linux/linux-comm-du.html
    df命令:https://www.runoob.com/linux/linux-comm-df.html
    ​
  7. 进程管理

    ps :查看进程

    netstat:查看某个进程是否存在或某个端口是否存在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值