Linux基础知识(二)

写在前面:

    博客书写牢记5W1H法则:What,Why,When,Where,Who,How。

本节罗列了几个centOS上的众多基础命令。熟悉和掌握这些命令,将是以后运维的基础中的基础。这些命令将伴随整个运维生涯。

◆ pwd

◆ cd

◆ ls

◆ cat

◆ tac

◆ file

◆ echo

◆ shutdown

◆ which

◆ whereis

◆ who

◆ whoami

◆ w

◆ date

◆ hwclock|clock

◆ cal

◆ bash特征:

命令别名

命令历史

快捷键


pwdPrinting Working Directory

    显示工作目录

    补充:与pwd相关的有两个变量,“PWD”“OLDPWD””PWD”存放当前工作目录,“OLDPWD”存放切换到当前目录之前所在的目录。

    补充:假设,我们cd到一个链接到某目录的软链接,使用pwd命令显示为此链接路径,而如果我们需要显示真正链接的路径,可以使用pwd -P

 

cdchage directory

    修改工作目录

    cd[PATH]

    cd      #切换到当前用户家目录;

    cd ~    #切换到当前用户家目录;

    cd ~USER  #切换到USER的的家目录;

    cd -    #切换到切换当前目录之前所在的目录,即OLDPWD变量存储的路径;

    cd ..    #切换到当前目录的父目录;

 

lslist

    列出指定目录下的内容

    ls[OPTION]... [FILE]...

    -a|--all:显示所有文件,包括.开头的隐藏文件;

    -A|--almost-all:显示所有文件,不包括“.”“..”

    -luse a longlisting format,长格式显示,如图:

wKioL1bYNV2RilH_AAALUX7NERY828.png

其具体含义如下:

    -:文件类型,”-”表示文件类型为普通文件

    其他文件类型查看下面补充。

    rw-r--r--:文件基本权限(permission

    前3位标示属主的读写执行权限;

    中3位标示属组的读写执行权限;

    后3位标示其他用户的读写执行权限;

          .selinux安全标签,开启selinux,系统会自动为文件添加安全上下文;

           1:硬链接次数;

           root:当前文件属主(owner);

           root:当前文件属组(group);

           189:文件大小(size),默认单位为字节(Byte);

           Mar3 03:05:时间,文件最后一次被修改的时间;

           .bashrc:文件名称;

      -h|--human-readable:对文件大小进行易读的单位换算,将损失精度;

      -d:查看目录本身的属性,而不是目录中内容;

      -R:递归(recursive),显示子目录所有内容,如果子目录中又包含子目录,则继续显示。

      -r:降序(reverse);

      --color={never|auto|always}:着色设置;

   补充:文件类型:

     -:普通文件类型,出文本、二进制、数据文件都会被标记为-

     d:目录类型;

     b:块设备(block);

     c:字符设备(character);

     s:套接字文件或者数据接口文件(sockets);

     l:符号链接文件(symboliclinks files

     p:管道文件(pipe),在不同进程之间数据传递

 

catconcatenate

连接并倾倒至输出设备

cat [OPTION]... [FILE]...

-n|--number:显示编号;

-E|--show-ends:显示行结束符”$”

        

tac

    cat相同,只不过从最后一行显示。

        

file

    查看文件类型

    file/PATH/TO/FILE

        

echo

    回显

    echo[SHORT-OPTION]... [STRING]...

    -n:不自动附件换行符;

    -e:启用转义符;

        \n:换行;

        \b:退格;

        \t:水平制表符;

        \v:垂直制表符;

补充:

字符串与数字:

数据有其类型,不同数据类型在存储时占用不同的存储空间,也决定了其是否能参与运算。如:

    “127”:字符串类型,其每个字符占用一个字节,3个字符占用3Byte24bits

    127:数值类型,转换为二进制为0111 1111:占用8bits

    bash是弱类型变成语言,不严格区分大小写,这意味着它会将所有数据当做字符串处理。

        引用符号:

           “”:弱引用,其内部变量会被替换;

              ‘’:强引用,其内部变量不会被替换;

            ・・:(数字1左边按键)命令引用,其内部数据会被当做命令执行,并返回输出;

              ${NAME}:变量引用;


shutdown

    shutdown[OPTIONS...] [TIME] [WALL...]

    OPTIONS

        -h:关机

        -r:重启

        -c:取消尚未执行的关机或重启操作

    TIME

        HH:MM 格式,定义到某时间执行操作

        +m  格式,定义m分钟后执行操作



其他关机重启相关命令:

    关机:hatlpoweroffinit 0systemctl poweroffsystemctl halt

    重启:rebootinit 6systemctl reboot


which

    showthe full path ofshellcommands

    which[options] [--] programname [...]

    -a:显示多有匹配的程序,而非第一个;

    --skip-alias:略过别名;

 

whereis

    locatethe binary, source, and manual page files for a command

    whereis[options] [-BMS directory... -f] name...

    -b:只查找程序;

    -m:只查找man手册;

    -s只查找源码;

 

who

    show who is logged on

    who[OPTION]... [ FILE | ARG1 ARG2 ]

    -a

    -b:系统最后启动时间;

    -r:显示系统运行级别

    -u:显示登陆的用户


whoami

    print effective userid

w

    Showwho is logged on and what they are doing.

    w[options] user [...]


日期相关命令:

    硬件时钟:由电池供电,依照主板石英晶体振荡器频率工作。

    系统时钟:系统启动时,从硬件时钟读取并设定时间,而后又内核根据CPU频率来计时。

    NTPNetwork TimeProtocol。网络时间服务器。


date

    系统时间

    date[OPTION]... [+FORMAT]          #显示日期时间

    date[MMDDhhmm[[CC]YY][.ss]]         #设定系统时间

    FORMAT

        %F     full date; same as %Y-%m-%d

        %T     time; same as %H:%M:%S

        %Y     year

        %m     month (01..12)

        %d     day of month (e.g., 01)

        %H     hour (00..23)

        %M     minute (00..59)

        %S     second (00..60)

        %u     day of week (1..7); 1 is Monday

        %s     seconds since 1970-01-01 00:00:00 UTC



hwclock|clock

        硬件时钟

        -s|--hctosys    #同步硬件时钟到系统,即修改系统时间

        -w|--systohc    #同步系统时钟到硬件,即修改硬件时间



cal

    calendar,日历

    cal[MONTH] [YEAR]


bash特征:

    1、  命令别名

        alias      #定义命令别名

        如:alias cdnet=”cd /etc/sysconfig/network-scripts/”

        unalias    #取消命令别名

    2、  命令历史

        shell进程会保存用户曾经执行过的命令,命令通过历史文件(用户家目录下的.bash_history文件)来持久存放执行过的命令。系统缓存的条目数量通过变量HISTSIZE控制,默认1000条;历史文件的可保存数目使用变量HISTFILESIZE控制,默认1000条;历史文件使用变量HISTFILE定义。

    history -c         #清空命令历史

    history -d OFFSET       #删除第OFFSET条目录

    history #            #显示最后#条历史记录

    -a              #将当前缓冲的历史行追加到历史文件,此时历史文件中的条目可能会多于HISTSIZE,登出或重启后自动删除多余项

    -n                 #从历史文件中读取所有未被读取的行

    -r                 #读取历史文件并将内容作为当前缓冲历史内容

    调用历史列表命令:

        !#         #再执行一次第#号命令

        !!            #再执行一次上一条命令

        !STRING       #再执行一次以STRING开头的最近一条命令

        ESC.       #调用上一条命令的最后一个参数

        !$            #调用上一条命令的最后一个参数

    控制命令历史的记录方式:

        通过HISTCONTROL变量进行控制:

            ignoredups:忽略连续的重复命令,默认值;

            ignorespace:忽略以space开头的命令;

            ignoreboth:忽略以上两者;

    3、  快捷键

        Ctrl+a:跳至命令行首;

        Ctrl+e:跳至命令行尾;

        Ctrl+k:删除光标所在处至尾部的内容;

         Ctrl+u:删除行首至光标所在处的内容;

         Ctrl+r:关键字搜索历史命令;

        Ctrl+s:锁定,输入任何字符都不显示,但确实已经输入,甚至执行;

        Ctrl+q:解除锁定状态。

 


你可能感兴趣的:(常用命令,bash,特征)