linux学习9 运维基本功-Linux常用基础命令实战应用

时间:2023-03-10 04:58:04
linux学习9 运维基本功-Linux常用基础命令实战应用

一、文件系统知识回顾

  1、Linux文件系统:

    a、文件名称严格区分字符大小写

    b、文件可以使用除/以外任意字符

    c、文件名长度不能超过255个字符

    d、以.开头的文件为隐藏文件:

      . :当前目录

      .. :当前目录的上一级目录

  2、linux目录

    a、工作目录:working directory

    b、家目录

二、常用命令

  1、pwd:printing working directory

    显示工作目录

  2、cd :change directory

    cd [/PATH/TO/SOMEDIR]

      cd:切换回家目录:

        注意:bash中,~表示家目录

      cd  ~:切换回自己的家目录

      cd  ~USERNAME:切换至指定用户的家目录

[root@localhost ~]# cd ~gentoo
[root@localhost gentoo]# pwd
/home/gentoo

      cd -:在上一次所在目录与当前目录之间来回切换

        相关的环境变量

        $PWD:当前工作目录

        $OLDPWD:上一次的工作目录

[root@localhost /]# cd /application/test1/
[root@localhost test1]# echo $PWD
/application/test1
[root@localhost test1]# cd /application/
[root@localhost application]# echo $PWD
/application
[root@localhost application]# echo $OLDPWD
/application/test1

  3、ls:list,列出指定目录下的内容

    a、ls -a:显示所有文件,包括隐藏文件。

[root@localhost application]# ls -a
. .. test1

    b、ls -A:显示除.和..的所有文件

    c、ls -l: --long,长格式列表,即显示文件的详细属性信息。

[root@localhost test1]# ls -l /application/test1/.txt
-rw-r--r-- root root Dec : /application/test1/.txt

      -:文件类型,有-,d,b,c,l,s,p

      rw-r--r--:

        rw-:文件属主的权限

        r--:文件属组的权限

        r--:其它用户(非属主,属组)的权限

      1:数字表示文件被硬链接的次数

      root:文件的属主

      root:文件的属组

      4:表示文件的大小,单位是字节

      Dec 12 05:45:文件最后一次被修改的时间

    d、ls -h :--human-readable:对文件大小做单位换算,换算后的结果可能为非精确值

    e、ls -d:只看目录自身属性而非其内部的文件列表

[root@localhost test1]# ls -ld /application/test1/
drwxr-xr-x root root Dec : /application/test1/

    f、ls  -lr:reverse,逆序

    g、ls   -R:recursive,递归显示

  4、cat:concatenate,文件文本查看工具

[root@localhost test1]# cat /etc/fstab
[root@localhost test1]# cat /etc/issue
\S
Kernel \r on an \m
[root@localhost test1]# cat /etc/fstab /etc/issue

#
# /etc/fstab
# Created by anaconda on Wed Oct ::
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(), findfs(), mount() and/or blkid() for more info
#
/dev/mapper/centos-root / xfs defaults
UUID=7b808363-4f9d-4f63-a543-28928b32c184 /boot xfs defaults
/dev/mapper/centos-swap swap swap defaults
\S
Kernel \r on an \m

    a、cat  -n :给显示的文本行统一编号

[root@localhost test1]# cat -n /etc/issue
\S
Kernel \r on an \m

    b、cat -E:显示行结束符$

  5、tac:文本文件查看工具,文件内容是逆序的

[root@localhost test1]# tac /etc/issue

Kernel \r on an \m
\S
[root@localhost test1]# tac /etc/fstab
/dev/mapper/centos-swap swap swap defaults
UUID=7b808363-4f9d-4f63-a543-28928b32c184 /boot xfs defaults
/dev/mapper/centos-root / xfs defaults
#
# See man pages fstab(), findfs(), mount() and/or blkid() for more info
# Accessible filesystems, by reference, are maintained under '/dev/disk'
#
# Created by anaconda on Wed Oct ::
# /etc/fstab
#

  6、file 查看文件内容类型

[root@localhost test1]# file /etc/issue
/etc/issue: ASCII text
[root@localhost test1]# file /bin/ls
/bin/ls: ELF -bit LSB executable, x86-, version (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6., BuildID[sha1]=c5ad78cfc1de12b9bb6829207cececb990b3e987, stripped

  7、echo :echo [SHORT-OPTION]... [STRING] 回显

    a、echo  -n :不进行换行

[root@localhost /]# echo -n "hello word"
hello word[root@localhost /]#

    b、echo  -e:让转义符生效

[root@localhost /]# echo "hello \n word"
hello \n word
[root@localhost /]# echo -e "hello \n word"
hello
word

      \n:换行

      \t:制表符

    c、其中单引号和双引号都可以使用

      单引号:强引用,变量引用不执行替换

      双引号:弱引用,变量引用会被替换

      注意:变量引用的正规符号为 ${name}

[root@localhost /]# echo '$SHELL'
$SHELL
[root@localhost /]# echo "$SHELL"
/bin/bash

  8、关机或重启命令

    a、shutdown  -h :即halt,马上关机

    b、shutdown  -r: 即reboot,重启

    c、shutdown -c :即cancel,取消关机操作

    d、shutdown -k:不关机和重启等,只是显示相应的信息,表示逗你玩

    e、shutdown  now:马上关机

    f、shutdown  hh:mm:几点几分后关机

[root@localhost /]# shutdown :
Shutdown scheduled for Thu -- :: CST, use 'shutdown -c' to cancel.
[root@localhost /]#
Broadcast message from root@localhost.localdomain (Thu -- :: CST): The system is going down for power-off at Thu -- :: CST! [root@localhost /]#
[root@localhost /]#
Broadcast message from root@localhost.localdomain (Thu -- :: CST): The system is going down for power-off at Thu -- :: CST!

    g、shutdown +m 几分钟后关机,如果是shutdown +0 表示马上关机,和shutdown -h很像

[root@localhost /]# shutdown +
Shutdown scheduled for Thu -- :: CST, use 'shutdown -c' to cancel.
[root@localhost /]#
Broadcast message from root@localhost.localdomain (Thu -- :: CST): The system is going down for power-off at Thu -- :: CST!

    h、shutdown -r +10 "hello everyone":shutdown命令执行后他会自动发起wall信给所有终端用户,我们可以定义wall内容

[root@localhost /]# shutdown -r + "hello every we will reboot after 10 minites"
Shutdown scheduled for Thu -- :: CST, use 'shutdown -c' to cancel.
[root@localhost /]#
Broadcast message from root@localhost.localdomain (Thu -- :: CST): hello every we will reboot after minites
The system is going down for reboot at Thu -- :: CST!

  9、wall:向每一个终端都发送信息

  10、date

    a、显示日期时间:date [OPTION]... [+FORMAT],一般显示时间用如下命令。

[root@localhost /]# date "+%F %T"
-- ::
[root@localhost /]# date "+%Y-%m-%d %H:%M:%S"
-- ::

      %s:表示时间戳,即1970年1月1日0点0分0秒(即unix元年,即unix诞生的时期)到你此刻执行命令时经过的秒数

[root@localhost /]# date +%s

    b、设定日期时间:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

      格式为 date 月日小时分钟年.秒,比如将系统时间改成2019年12月10日8点8分8秒

[root@localhost /]# date 121008082019.08
Tue Dec :: CST

  11、clock,Linux系统启动时从硬件读取时间信息和日期,读取完成以后就不再与硬件相关联。我们date命令看到的是系统时钟,clock命令是查看硬件时钟。

  12、hwclock,也表示硬件时钟,和clock一样,可以看到他就是clock的软连接

[root@localhost /]# file /usr/sbin/clock
/usr/sbin/clock: symbolic link to `hwclock'

    a、hwclock  -s: --hctosys,即将硬件时钟写入系统时钟,即以硬件为准,把系统调整为与硬件时间相同

    b、hwclock  -w: --systohc,即将系统时钟写入硬件时钟,即以系统为准,把硬件时间调整为与系统时钟相同

  13、cal,日历。显示指定月份或年的日历。

    a、cal 2019:显示年的日历

    b、cal 12 2019:显示2019年12月的日历