Linux 基础入门

1.Linux 基础

1.1 用户类型

  • 用户主要分为2类,超级用户(root)和普通用户,超级用户(root)拥有计算机 的所有权限,而普通用户的权限有限,在工作环境中我们一般只是是有普通用户,极少使用超级用户(root),减少风险。

1.2 终端 terminal (tty)

  • 终端分为控制台终端,串行终端,虚拟终端,图形终端,伪终端。
  • 查看终端常用tty
 [root@centos8 ~]# tty
/dev/pts/1

1.3 shell

  • Shell 是Linux系统的用户界面,提供用户和内核交互的接口,也是Linux的命令解释器,shell是一种高级程序设计语言,shell有各种类,如:bash 、csh、tch、ksh等。我们常用的主要是bash shell。
  • 查看当前使用的shell
[root@centos8 ~]# echo $SHELL
/bin/bash
  • 查看当前系统使用的所有shell
[root@centos8 ~]# cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash

1.4 设置主机名 hostname

  • 查看当前系统的主机名
  • 主机名不能使用下划线,不能出现8.2之类的主机名
[root@centos8 ~]# hostname 
centos8
  • 修改主机名
  • 临时修改,重启后恢复
[root@centos8 ~]# hostname centos
[root@centos8 ~]# hostname
centos
  • 永久修改,更改配置文件/etc/hostname,或者
[root@centos8 ~]# hostnamectl set-hostname centos
[root@centos8 ~]# hostname
centos

1.5 命令 type

  • 命令主要分为内部命令和外部命令,使用type区别命令类型,其中有些命令既是内部命令也是外部命令,如
[root@centos8 ~]# type -a echo 
echo is a shell builtin
echo is /usr/bin/echo

1.5.1 内部命令

内部命令: 由shell自带的,

  • enable -n 禁用内部命令
  • enable启用内部命令

1.5.2 外部命令

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

  • whereis 查看外部命令的路径和命令相关的文件
  • which 查看命令的路径
[root@centos8 ~]#whereis free
free: /usr/bin/free /usr/share/man/man1/free.1.gz
[root@centos8 ~]#which free
/usr/bin/free

1.6 别名 alias

  • alias设置别名
[root@centos8 ~]# alias free='free -h'
[root@centos8 ~]# free
              total        used        free      shared  buff/cache   available
Mem:          1.8Gi       549Mi       839Mi       9.0Mi       416Mi       1.1Gi
Swap:         4.0Gi          0B       4.0Gi
  • 通过alias可以查看所有别名,如果想要使用定义别名前的原始命令只需在命令前加转义\
  • 命令优先级:别名>内部>外部hash>外部$PATH
  • unalias 可以取消别名
  • alias设置的别名,只能临时在当前shell使用,离开当前shell或重启将失效,可以将别名保存至配置文件永久使用
  • ~/.bashrc 仅对当前用户有效
  • /etc/bashrc 对所有用户有效

1.7 缓存 hash

  • hash初始为空,当使用外部命令时,会从PATH中查找外部命令的路径,然后保存至hash中,后面再次使用时就不用再通过PATH查找,可以直接在hash中调用,节约时间
  • hash显示缓存
  • -r 清理全部缓存
  • -d 清除某个缓存

1.8 常用命令

1.8.1 时间日期

  • Linux的两种时钟 系统时钟:由Linux内核通过CPU的工作频率进行的 硬件时钟:主板
1.8.1.1 硬件时钟 clock
  • clock显示硬件时钟
  • -s 以硬件时间为准,矫正系统时间
  • -w 以系统时间为准,矫正硬件时间
1.8.1.2 系统时间 date
  • date显示系统时间
  • %H : 小时(00…23)
  • %M : 分钟(00…59)
  • %MF: 相当于%Y-%m-%d
  • %s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数
  • %S : 秒(00…61)
  • %T : 直接显示时间 (24 小时制)
  • %X : 相当于 %H:%M:%S
  • %a : 星期几 (Sun…Sat)
  • %b : 月份 (Jan…Dec)
  • %c : 直接显示日期与时间
  • %d : 日 (01…31)
  • %j : 一年中的第几天 (001…366)
  • %m : 月份 (01…12)
  • %w : 一周中的第几天 (0…6)
  • %Y: 直接显示年
  • date +%Y%m%d //显示现在的年月日
  • date +%F -d “+1 day” //显示后一天的日期
  • date +%F -d “-1 month” //显示上一月的日期
  • date +%F -d “-1 year” //显示前一年的日期

1.8.2 登录用户信息 who

  • who 当前所有的用户
  • w 当前登录的所有用户及其操作
  • who am i 只显示当前用户的信息
  • whoami 只显示当前用户的名字

1.8.3 历史history

  • history可以显示历史使用的命令
  • -c 清空历史
  • -d 删除历史
  • n 显示最近的几条命令
  • 使用前一个命令的方法
    1.使用上方向键,回车
    2.!!回车
    3.!-1回车
    4.ctrl+p回车
  • !:0执行前一条命令(去除参数)
  • !n执行history对应序号的命令
  • !-n执行倒数第n个命令

1.8.4 输出 echo

  • echo将输入的信息标准输出
  • -n 不自动换行
  • -e 启用\字符的解释功能:
  • \a 发出警告声
  • \b 退格
  • \c 最后不加换行
  • \n 换行,光标至行首
  • \r 回车,光标至行首,不换行
  • \t tab

1.8.5 命令行扩展``和$()

把一个命令的输出打印作为另一个命令的参数,放在``中的一定是有输出信息的命令
比较单引号(‘’),双引号(“”),反向单引号(``)
单引号:六亲不认,变量和命令都不识别,都当成字符串
双引号:不能识别命令,但可以识别变量
反向单引号:可以识别命令和变量,并且会把命令执行后,在交给调用反向单引号的命令继续

[root@centos8 ~]#echo 'echo $HOSTNAME'
echo $HOSTNAME
[root@centos8 ~]#echo "echo $HOSTNAME"
echo centos8.magedu.com
[root@centos8 ~]#echo `echo $HOSTNAME`
centos8.magedu.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值