• LinuxDay3——Linux基础命令


    一:用户登录

    root用户:管理员账户,也被称为超级用户,root拥有对Linux系统的所有权限,一般不用root用户登录系统

    普通用户:权限受到限制,只可以对自己有权限的文件进行操作

    每个用户都有唯一编号 UID 为0的是管理员

    查看UID

    uid

    Centos6 普通用户从500开始

    id -u

    Centos7 普通用户从1000开始

    id -u

    二:终端(terminal)

    终端:

    • 设备终端:鼠标,键盘,显示器
    • 物理终端:控制台(/dev/console)
    • 虚拟终端:/dev/tty[1-6] 在物理机旁边可以使用Alt+F[1-6]进行切换
    • 串行终端:/dev/ttyS
    • 伪终端:/dev/pts/# 通过ssh远程即可打开一个伪终端

     Ctrl+alt+F[1-6]  切换字符界面终端

     Chvt+数字            切换字符界面终端

     tty                        查看终端号tty(本地终端) pts(远程终端)

    tty

    常用命令

     halt 、poweroff     关机

     shutdown[OPTION]... TIME [MESSAGE]   关机或重启

      -r +TIME    重启

        TIME:      now立刻执行,+m相对时间,几分钟后执行,hh:mm绝对时间,具体时间关机

      -h +TIME    关机(定时)

      -c        取消关机

     reboot 重启

     runlevel                查看当前模式

    runlevel

     init

      0               关机

      3                  切换成字符模式

      5                  切换成图形界面(开启相关程序)(需要权限)

      6     重启 

     echo [-neE] [arg ...]   显示字符,echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号

      -e 启用\字符的解释功能

    echo -e FORMAT

      -n 不自动换行

     w                         系统当前所有的登录会话及所做的操作

    w

     who                     显示当前系统所有的登录会话

    who

     whoami                显示当前登录的用户

    whoami

     su      变更用户

     useradd    增加用户

     passwd    设置用户密码

    useradd passwd su

     Wall                发广播

     nano      文本编辑器

    交互式接口

    交互式接口:启动终端后,在终端设备附加一个交互式应用程序

    GUI(Graphic User Interface):及图形化窗口,常见图形桌面有GNOME、KDE和XFCE等,CentOS默认为GNOME桌面

    CLI(Command Line Interface):及命令行窗口,常用的shell有sh、csh、tcsh、ksh、bash和zsh等,默认shell为bash

    cat /etc/shells

    可以看到系统支持的shell

    shell:

    shell也被称为LINUX的命令解释器(command interpreter)。是Linux系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。同时shell也是一种高级程序设计语言,即bash脚本语言

    bash:

    GNU Bourne-Again Shell(bash)是GNU计划中重要的工具软件之一,目前也是Linux标准的shell,与sh兼容。同时也是CentOS的默认shell。

    echo $SHELL

    三:命令(COMMAND)

    命令分类

    shell中的命令有俩类,内部命令和外部命令;

      多个命令可以用;符号分开

      一个命令可以用\分成多行

      help或enable    可以列出内部命令列表。

     Ctrl+c                    关闭软件、取消命令

     Ctrl+d       结束命令

    内部命令:由shell自带,而且通过某命令形式提供

     enable

      cmd      启用内部命令

      -n cmd     禁用内部命令

      -n      查看所有已禁用的内部命令

     外部命令:在文件系统路径下有对应的可执行文件,可使用:

     which --skip-ailas cmd   查看命令可执行文件的路径

    which --skip-ailas ls

     type      判断命令是内部命令还是外部命令(如果显示路径则是外部命令)

    type

    Hash缓存

      系统初始hash表为空,当外部命令执行时,默认会从PATH路径下寻找该命令,找到后会将这条命令的路径记录到hash表中,当再次使用该命令时,shell解释器首先会查看hash表,存在将执行之,如果不存在,将会去PATH路径下寻找。利用hash缓存表可大大提高命令的调用速率。

     hash

      -l          显示hash缓存

      -p path cmd     将命令全路径path起别名为cmd

      -t cmd        打印缓存中name的路径

      -d cmd         清除cmd缓存

      -r          清除全部缓存

    命令别名(alias)

     alias        显示当前shell中已定义的命令别名

      CMD=‘VALUE’   定义别名

     unalias name   取消别名

      -a         取消所有别名

    日期和时间

    Linux分为俩种时钟,系统时钟和硬件时间,系统时间由CPU振荡器计时,硬件时间为主板BIOS时间

     date 可以用来显示或设定系统的日期与时间。

      -d<字符串>:  显示字符串所指的日期与时间。

      -s<字符串>:  根据字符串来设置日期与时间。

    date FORMAT controls the output. Interpreted sequences are:

     hwclock, clock :   显示硬件时钟

      -s, --hctosys    以硬件时钟为准,校正系统时钟

      -w, --systohc    以系统时钟为准,校正硬件时钟

     tzselect(CentOS6.x)
     timedatectl(CentOS7.x)

     list-timezone     列出所有时区

     set-timezone     “时区” 设置时区

     status       列出当前时区
        /usr/share/zoneinfo/Asia/Shanghai     时区

        /etc/localtime               时区

      cal -y       显示日历

    history命令详解

    usage:

    • history [-c] [-d offset] [n]
    • history -anrw [filename]
    • history -ps arg [arg...]

    history: 显示命令历史记录

    history FORMAT

    HISTORY相关变量

    HISTORY相关变量

    变量的赋值方法:

    export  变量名=“值”

    存放到/etc/profile 或~/.bash_profile中,不建议修改/etc/profile文件

    命令历史

    命令在执行后命令历史会保存到内存中,当退出shell时这些命令历史会自动追加到~/.bash_history文件中

    当登录shell时则会从~/.bash_history文件重新读入内存

    历史命令

    四、bash使用技巧

     引用

    双引号(""):弱引用,可识别变量,但是不识别命令

    [root@centos6 ~]#echo "ls $HISTSIZE"
    ls 1000

    单引号(''):强引用,变量和命令统统不识别,以字符串输出

    [root@centos6 ~]#echo 'ls $HISTSIZE'
    ls $HISTSIZE

    反引号(··):命令引用,执行被引用的命令,并输出结果,和“$()”功能相同

    [root@centos6 ~]#echo `echo $HISTSIZE` 
    1000

     扩展

    {}:括号内的参数分别和外部参数做笛卡尔乘积

    [root@centos6 ~]#echo file{1..5}{6,7,8}
    file16 file17 file18 file26 file27 file28 file36 file37 file38 file46 file47 file48 file56 file57 file58

    bash快捷键

    bash快捷键

    命令补全

    当输入一个命令字符开头可以表示唯一性时,按下tab键即可补全命令。

    如果命令开头字符串不足以唯一标示一个命令时,按下2次tab键可显示所有以此字符串开头的命名。

    文件路径补全和命令补全用法相同,如果不是唯一文件或文件夹名时则显示当前目录的所有以此字符串开头的文件或文件夹。

    命令补全

    调用历史参数

    调用参数

    五:获得帮助

     whatis

     CMD   -h|--help

     man

     info

    六:练习

    1.设置开机自动以root身份登入,跳过用户登入界面:

    [root@centos6 ~]#nano /etc/gdm//custom.conf 
    
    # GDM configuration storage
    
    [daemon]
    AutomaticLoginEnable=true
    AutomaticLogin=root
    [security]
    
    [xdmcp]
    
    [greeter]
    
    [chooser]
    
    [debug]

    2.设置用户提示栏:

    [root@centos6 ~]#nano /etc/profile.d/env.sh 
    
    PS1="\[\e[1;5;41;33m\]{\u@\h \w]\\$\[\e[0m]"
    
    其中 1字体高亮 5闪烁 41背景颜色 33字体颜色(31~37) 0m颜色到此结束

    3.定义别名

    [root@centos6 ~]#nano  .bashrc
    
    # .bashrc
    
    # User specific aliases and functions
    
    alias rm='rm -i'
    alias cp='cp -i'
    alias mv='mv -i'
    alias cdnet="cd /etc/sysconfig/network-scripts/"
    
    # Source global definitions
    if [ -f /etc/bashrc ]; then
            . /etc/bashrc
    fi

    4.更改语言变量

    [root@centos6 ~]#nano /etc/sysconfig/ i18n 

    LANG="zh_CN.UTF-8"
    SYSFONT="latarcyrheb-sun16"

    5.进行会话

    [root@centos6 ~]#df (查看光盘挂载)
    Filesystem     1K-blocks    Used Available Use% Mounted on
    /dev/sda2       50264772 5113400  42591372  11% /
    tmpfs             502056      80    501976   1% /dev/shm
    /dev/sda1         999320   34944    911948   4% /boot
    /dev/sda3       30106576   44992  28525584   1% /data
    /dev/sr0         3878870 3878870         0 100% /media/CentOS_6.9_Final
    [root@centos6 ~]#rpm -ivh /media/CentOS_6.9_Final/Packages/screen-4.0.3-19.el6.x86_64.rpm 
    warning: /media/CentOS_6.9_Final/Packages/screen-4.0.3-19.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
    Preparing...                ########################################### [100%]
        package screen-4.0.3-19.el6.x86_64 is already installed
    [root@centos6 ~]#screen -S help(创建会话)
    [root@centos6 ~]#screen -x help(加入会话)

    6.计算器(进制直接转换)

    [root@centos6 ~]#bc
    bc 1.06.95
    Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
    This is free software with ABSOLUTELY NO WARRANTY.
    For details type `warranty'. 
    ibase=2(输入几进制)
    1010
    10
    quit
    
    [root@centos6 ~]#bc
    bc 1.06.95
    Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
    This is free software with ABSOLUTELY NO WARRANTY.
    For details type `warranty'. 
    obase=2
    10
    1010
    quit

    7.课上练习

      1)显示当前时间,格式 2016-06-18 10:20:30

    
    
    [root@centos6 ~]#date "+%F %T"

      2)显示前天星期几

    
    
    [root@centos6 ~]#date +%A -d "-2 days"

      3)设置时间为2019-08-0706:05:10

    
    
    [root@centos6 ~]#date -s 080706052019.10

      4)在本机字符终端登录时,除显示原有信息外,再显示当前登录终端号,主机名和当前时间
      

    [root@centos6 ~]#nano /etc/issue 
    [root@centos6 ~]#man agetty

      5)今天18:30自动关机,并提示用户

    [root@centos6 ~]#shutdown -h 18:30
  • 相关阅读:
    控制台布局编程小结
    代码健壮、测试的必要性
    《Scott Mitchell 的ASP.NET 2.0数据教程》之二 BLL层 学习过程中的问题
    阅读张孝祥的《大胆尝试随需消费的软件培训模式》后感触良多
    Northwind 数据库相关练习
    学习Membership
    WEB标准化参考资料
    商学院实验班I期 5月 教学计划
    怎样设计和创建数据库?
    PathMatchingResourcePatternResolver
  • 原文地址:https://www.cnblogs.com/Gmiaomiao/p/8705630.html
Copyright © 2020-2023  润新知