zoukankan      html  css  js  c++  java
  • 初始shell之系统命令基础

    一.  shell介绍

    1、什么是Linux系统命令
    shell解释器对系统接口的封装结果

    系统命令/shell命令-》shell解释器-》系统接口-》内核-》硬件

    应用程序-》系统命令/shell命令-》shell解释器-》系统接口-》内核-》硬件

    应用程序----》系统接口-》内核-》硬件

    2、为何要用系统命令
    为了使用计算机

    3、什么是shell
    第一层意思:
    shell代表的是解释器,是对Linux系统接口的封装,即在系统接口外又加了一层壳

    shell只是一种称呼,而bash解释器才是具体的一种shell

    第二层意思:
    shell这门编程语言(一堆命令及用法)

    用shell语言写出的程序通常称之为脚本程序


    4、posix

    posix全称可移植的操作系统接口,是操作系统为应用程序提供的接口标准,posix是一种规范,linux系统支持posix.
    POSIX标准由IEEE(电气和电子工程师协会)发布,定义了操作系统应该为应用程序提供的接口标准,是IEEE为要在各种UNIX系统上运行软件而定义的一系列API标准总称.


    二. shell交互环境

    # ->超级管理员提示符
    $ ->普通用户提示符
    ~ ->当前用户的家目录

    创建普通用户
    useradd 用户名
    交互式设置密码
    passwd 用户名
    非交互式设置密码
    echo "密码" | passwd --stdin 用户名

    三. shell命令语法

    三部分组成
    1.命令:就是一个单词,对应着一个功能/程序,运行一条命令就启动了一个进程(必选)
    2.选项:对命令的描述,控制命令的具体运行(可选)
    3.具体操作的对象(可选)

    例如:

    ls
    ls -l
    ls -l /boot


    四. bash解释器特性

    1.命令和文件自动补全 注意:Tab只能补全命令和文件
    [root@localhost ~]# ls /etc/sysconfig/network-scripts/ifcfg-ens33

    2. 快捷键
    Ctrl + c 终止前台运行的程序
    Ctrl + d 退出等于exit
    Ctrl + l 清屏
    Ctrl + a 光标移动到命令行的最前端
    Ctrl + e 光标移动到命令行的最后端
    Ctrl + r 搜索历史命令, 利用关键词
    ESC + .  引用上一个命令的最后一个参数,等价于!$

    3. 历史命令
    history 查看历史命令
    history -c 清空历史命令
    历史命令保存文件: cat ~/.bash_history 
    历史命令默认保存1000条, 可以修改/etc/profile中的HISTSIZE=2000
    查找历史命令并运行:
    (1)光标上下键
    (2)Ctrl+r 搜索历史命令
    (3)!200 执行历史命令中第200条命令
    (4)!字符串 搜索历史命令中最近以某个字符开头的命令.例如:!ser
    (5)!$ 引用上一个命令的最后一个参数

    [root@xxx home]# ls /root /home
    [root@xxx home]# cd !$
    cd /home

    [root@xxx home]# ls /root /home
    [root@xxx home]# touch !$/file1
    touch /home/file1


    4. 别名
    alias 查看系统当前的别名


    五. 命令查找优先级:

    bash shell 查找命令顺序:
    以路径(绝对路径,相对路径)开始的命令==>alias==>Compound Commands(复合命令)==>function(函数)==>build_in(可以用命令type -a 查看)==>hash==>$PATH(环境变量,查看环境变量echo $PATH)

    PS: 查看命令的位置 which 命令


    六. 查看帮助信息

    1. man 手册
    例如: man ls 

    2. --help
    例如: ls --help 
    ls 常见选项
    -a   all, 查看目录下的所有文件,包括隐藏文件
    -l    长列表显示
    -h   human 以人性化方式显示出来
    -d   只列出目录名, 不列出其他内容
    -t    按修改时间排序
    -r    逆序排列
    -i    显示文件的inode(索引号)

    3. 官方手册
    4. 百度或者谷歌查询


    七. 常用命令

    查看主机名
    hostname 
    cat /etc/hostname

    设置主机名
    hostnamectl set-hostname 主机名  然后重启系统reboot
    vim /etc/hostname 修改完成后保存退出,重启reboot

    设置主机开机级别
    sytemctl set-default multi-user.target  设置开机运行级别3(有网络的多用户)
    reboot重启

    查看操作系统版本
    cat /etc/redhat-release
    CentOS Linux release 7.4.1708 (Core)

    查看系统内核版本
    uname -a 
    Linux allenzhu 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 U
    uname -r 
    3.10.0-693.el7.x86_64

    显示当前有哪些用户登录到系统
    who

    root   tty1     2020-10-21 10:04
    root   pts/0   2020-10-21 09:05 (10.0.0.1)


    显示当前登录的用户名
    whoami 

    [root@allenzhu ~]# whoami
    root

    查看SELinux当前状态:

    getenforce

    一般会返回三种状态:

    1,Enforcing (记录警告且阻止可疑行为)

    2,Permissive (代表仅记录安全警告但不阻止可疑行为)

    3,Disabled (禁用状态)

     临时关闭,重启机器后恢复原状态:

    setenforce 0                  #设置SELinux 成为permissive模式

    setenforce 1                   #设置SELinux 成为enforcing模式


    永久改变 SELinux 状态:

    vi  /etc/sysconfig/selinux 

    将  SELINUX=enforcing改为SELINUX=disabled

     :wq 保存退出

    查看时间
    date

    设置时间
    date -s "2020-10-20 09:50:23"


    将系统时间写入硬件时钟
    hwclock -w 

    将硬件时间写入系统
    hwclock -s 

    要使系统时间准确,最好是使用ntp方式,使用ntpdate命令从网络同步时间,在同步到硬件时钟
    例如:
    ntpdate ntp1.aliyun.com
    date
    hwclock -w 

    重启
    shutdown -r 10    10分钟后重启
    shutdown -r 0       立即重启
    shutdown -r now  立即重启
    init 6                     立即重启
    reboot                  立即重启

    关机
    shutdown -h 10    10分钟后关机
    shutdown -h 0      立刻关机
    shutdown -h now 立刻关机
    halt                       立刻关机
    poweroff               立刻关机

    取消正在进行的关机或者重启
    shutdown -c 

    注销登录的账号
    exit
    logout
    ctrl + d

  • 相关阅读:
    2008秋季计算机软件基础点名册应用化学制药工程
    2008秋季计算机软件基础实验进程表应用化学制药工程
    格式化JavaScript代码
    MIME类型,MIME 参考
    2008秋季计算机软件基础0827课堂用例
    2008秋季解读大纲:计算机软件基础
    2008秋季计算机软件基础C语言精简课件
    2008秋季计算机软件基础应用化学制药工程授课日历
    几款JavaScript开发框架、开发库
    2008秋季计算机软件基础作业和实验报告注意事项
  • 原文地址:https://www.cnblogs.com/allenzhu128/p/13843093.html
Copyright © 2011-2022 走看看