一、Linux基础入门

1.Linux基础

1.1用户类型

  • root 用户

    1. 一个特殊的管理用户,也被称为超级用户<br /> root已接近完整的系统控制 , 对系统损害几乎有无限的能力 , <br /> 除非必要,不要登录为 root
  • 普通用户

    权限有限,造成损害的能力比较有限
    

    1.2设置主机名

  • 临时生效

    hostname NAME
    复制代码
    
  • 持久生效

    hostname set-hostname NAME
    复制代码
    

    注意:

  • 主机名不支持使用下划线,但支持横线,可以使用字母,横线或数字组合

  • 有些软件对主机名有特殊要求

    1.3命令提示符

    ```

    Centos默认提示符

    [root@han ~]#

ubuntu默认提示符

root@ubunt1804:~# 复制代码


- #   管理员
- $    普通用户

**显示提示符**

[root@han ~]# echo $PS1 [\u@\h \W]\$ 复制代码

**修改提示符**

PS1=”[\e[36m][\u@\h \W]\$[\e[0m]“

实现持久保持 /etc/profile.d/env.sh 复制代码

**<br />**提示符格式说明**

- \e   控制符
- \u   当前用户
- \h   主机名简称
- \H   主机名
- \w   当前工作目录
- \W  当前工作目录基名
- \t    24小时时间格式
- \T   12小时时间格式
- \ !    命令历史数
- \ #    开机后命令历史数
<a name="RGv5J"></a>
## 1.4执行命令
**执行命令过程**

- **内部命令**
- **外部命令**

<a name="st7kK"></a>
## 1.5命令别名--alias
<a name="43PfA"></a>
## 二、常见命令
<a name="237V2"></a>
## 1.1查看硬件信息
<a name="gTgns"></a>
### 1.11查看cpu
lscpu命令
<a name="Cqm3f"></a>
### 1.12查看内存大小
free命令
<a name="sy3aX"></a>
### 1.13查看硬盘和分区情况
lsblk命令
<a name="d0n4r"></a>
### 1.14查看内核版本
<a name="u7Gpq"></a>
## 1.2日期和时间
Linux的两种时钟<br />     系统时钟:由Linux内核通过CPU的工作频率进行的 <br />      硬件时钟:主板<br />相关命令

- date 显示和设置系统时间

date +%s 显示 date -d @1509536033 设置 复制代码


- 时区

/etc/localtime 复制代码


- 显示日历

cal -y 复制代码

<a name="VDKNe"></a>
## 1.3关机和重启
**关机:**

- halt
- poweroff

**重启:**

- reboot

       -f   强制,不调用shutdown<br />       -p  切断电源<br />**关机或重启**<br />shutdown

- -r    reboot
- -h   halt
- -c    cancel

TIME 无指定,默认相当+1(Centos7)<br />    ➢ now: 立刻,相当于+0<br /> ➢ +m: 相对时间表示法,几分钟之后;例如+3<br /> ➢ hh:mm: 绝对时间表示,指明具体时间<br /> ➢ `shutdown -r 18:30`<br /> ➢ `shutdown -r +30`
<a name="dBpe3"></a>
## 1.4用户登录信息查看命令
**who**

- 用户登录信息查看命令<br />♦ whoami: 显示当前登录有效用户<br />♦ who: 系统当前所有的登录会话<br />♦ w: 系统当前所有的登录会话及所做的操作
<a name="qM03s"></a>
## 1.5输出信息echo
echo命令可以将后面跟的字符进行输出常用参数

- -E  (默认) 不支持\解释功能
- -n  不自动换行
- -e   启用\字符的解释功能

1.显示变量

echo “$VAR_NAME” #用变量值替换,弱引用 echo ‘$VAR_NAME’ #变量不会替换,强引用 ```

三、命令行扩展、被括起来的集合

命令行扩展:$( ) 或 ``
把一个命令的输出打印给另一个命令的参数
root@han ~]# echo “This system’s name is $(hostname) “ This system’s name is han [root@han ~]# echo i am whoami i am whoami
括号扩展:{ }
打印重复字符串的简化形式
echo file{1,3,5} 结果为:file1 file3 file5 rm -f file{1,3,5} echo {1…10} echo {a…z} echo {000…20…2}

四、命令行历史

命令history
常见选项

  • -c: 清空命令历史
  • -d offset: 删除历史中指定的第offset个命令
  • n: 显示最近的n条历史
  • -a: 追加本次会话新执行的命令历史列表至历史文件
  • -r: 读历史文件附加到历史列表
  • -w: 保存历史列表到指定的历史文件
  • -n: 读历史文件中未读过的行到历史列表
  • -p: 展开历史参数成多行,但不存在历史列表中
  • -s: 展开历史参数成一行,附加在历史列表后