02Linux基础入门

02Linux基础入门

1 用户类型

  • root用户

    Linux下超级用户,除非必要,不要登录为root

  • 普通用户(非特权)

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

2 终端Terminal

2.1 终端类型

控制台终端:/dev/console

串行终端:/dev/ttyS#

虚拟终端:tty

伪终端:pty:/dev/pts SSH终端

图形终端:startx,xwindows

2.2 查看当前的终端设备

tty

3 交互式接口

  • GUI:Graphic User Interface X protocol,windows manager,desktop

    GNOME(C,图形库gtk)

    KDE(C++,图形库qt)

    XFCE(轻量级桌面)

  • CLI:Command Line Interface

    shell程序

shell是用户和程序交互的接口
shell是命令解释器
shell是一种编程语言

3.1 各种shell

  • sh
  • bash
  • csh
  • tcsh
  • ksh
  • zsh:MacOS默认shell

3.2 bash shell

显示当前使用的shell

echo $SHELL

显示当前系统使用的所有shell

cat /etc/shells

4 设置主机名

hostnamectl hostname 

5 命令提示符

echo "PS1='\e[31;1m[\u@\h \w]\\$ \e[0m'" > /etc/profile.d/env/sh

上述为rocky Linux,ubuntu大差不差

6 执行命令

  • 内部命令:shell自带,通过某命令形式提供,用户登录后自动加载并常驻内存中,在硬盘上没有对应的可执行文件
  • 外部命令:在文件系统路径下有对应的可执行程序文件,当执行命令时才从磁盘加载至内存中,执行完毕后从内存中删除

例如:

type echo
echo 是 shell 内建

某些命令既是内部命令,也是外部命令,主要是为了防止shell的差异导致的命令执行失效

6.1 内部命令相关

help             #查看所有内部命令及帮助
enable           #查看所有启用的内部命令
enable cmd       #启用CMD命令
enable -n cmd    #禁用内部cmd命令
enable -n        #查看所有禁用的内部命令

6.2 执行外部命令

which -a echo   #ubuntu不显示别名
whereis

6.3 命令别名

对于经常执行的较长的命令,可以将其定义成较短的别名,以方便执行

alias                         #显示当前shell进程所有可用的命令别名
alias name                    #查看指定别名
alias NAME='VALUE'            #定义别名NAME,其相当于执行命令VALUE
unalias                       #撤销别名

在命令行中定义的别名,仅对当前shell进程有效

  • 仅对当前用户:~/.bashrc
  • 对所有用户有效:/etc/bashrc,/etc/bash.bashrc(ubuntu)

6.4 命令格式

COMMOND [OPTIONS...][ARGUMENTS...]

COMMOND         #命令
OPTIONS         #选项,用于启用或关闭命令的某个或某些功能
ARGUMENTS       #参数,命令的作用对象,比如:文件名,用户名等
[]              #表示里面的内容是可选项
...             #表示可以有多个值或多个参数

7 常见命令

7.1 硬件方面

lscpu                      #查看CPU相关信息
cat /proc/cpuinfo

free                      #查看内存信息
cat /proc/meminfo

lsblk                      #查看硬盘信息
cat /proc/partitions

#以root账户登录,并且输入下列指令
init 3    #关闭图形界面

7.2 系统信息

7.2.1 架构

arch

7.2.2 内核版本

uname -r

7.2.3 发行版本

cat /etc/os-release

7.3 日期和时间

date  -R                                         #显示时区信息

hwclock

timedatectl  set-timezone                        #设置时区

cal|ncal                                         #查看日历

7.4 关机和重启

#关机
halt
poweroff
init 0
shutdown -h now

#重启
reboot
init 6
shutdown -r now
#ctrl+alt+del  三键热重启

shutdown程序会广播已登录的用户,被看作是安全的关机命令,是一个计划关机任务,可撤销

shutdown [OPTION]... [TIME]  [MESSAGE]

shutdown                   #1分钟后关机
shutdown +10               #10分钟后关机
shutdown 01:02             #1点02分关机
shutdown -r |--reboot      #1分钟后重启
shutdown -r now            #现在重启
shutdown -H |--halt        #一分钟后调用halt关机
shutdown -P |--poweroff    #一分钟后调用poweroff关机
shutdown -c                #取消关机计划

7.5 用户登录信息查看命令

  • whoami:显示当前登录有效用户
  • who:系统当前所有的会话
  • w:系统当前所有的登录会话及所做的操作

7.6 文本编辑工具

  • nano -----shell界面,适宜初学者
  • gedit -----UI界面

登录提示文本存放于:/etc/motd

7.7 会话管理

打开一个终端窗口就可以称为一次会话(session)

screen

screen -S [SESSION]      #创建新screen会话
screen -x [SESSION]      #加入screen会话
screen -r [SESSION]      #恢复某screen会话
screen -ls               #显示所有已经打开的screen会话
exit                     #退出并关闭screen会话

可以镜像会话

7.8 输出信息echo

help echo       #查看echo相关的命令

8 字符集和编码及语言环境

8.1 ASCII编码

ASCII是英语字符与二进制位之间的关系

8.2 Unicode

Uniconde编码方案:

  • UTF-8:变长,1到4个字节
  • UTF-16:变长,2到4个字节
  • UTF-32:固定长度,4个字节

8.3 语言环境

修改语言环境

localectl set-locale LANG=zh_CN.utf8

9 命令行扩展

括号扩展{}

{} 可以实现打印重复字符串的简化形式

{元素1,元素2,元素3}
{元素1..元素3..步长}

echo{1..10}                 #输出结果为1,2,3,4,5,6,7,8,9,10
echo{1..10..2}              #输出结果为1,3,5,7,9

关闭和启用扩展功能

test@test-VirtualBox:~$ echo $-
himBHs
test@test-VirtualBox:~$ set +B
test@test-VirtualBox:~$ echo $-
himHs
test@test-VirtualBox:~$ echo {1..10}
{1..10}
test@test-VirtualBox:~$ set -B
test@test-VirtualBox:~$ echo $-
himBHs
test@test-VirtualBox:~$ echo {1..10}
1 2 3 4 5 6 7 8 9 10

10 Tab键补全

Tab可以补全命令,提高效率,避免出错,同时也可以补全路径,方便命令的输入

11 命令行历史

history --help       #默认记录1000条,可修改/etc/profile文件中的HISTSIZE字段,增加或缩减记录条数

12 登录提示

12.1 登录前提示

#登录提示的内容是在一个文件当中的,可以更改
/etc/issue
#但只在本地终端生效

#远程终端生效,需要在其他的地方更改
vim /etc/ssh/sshd_config
#Banner none 将此处的banner指向对应的文件即可
Banner /etc/issue.net
#重启sshd服务
service sshd restart

12.2 登陆后提示

文件位于/etc/motd或/etc/motd.d/中,该文件仅适用于命令行界面

ubuntu在/etc/update-motd.d

13 获得帮助

看帮助 -------- 命令怎么用,有哪些选项,哪些参数
看日志 -------- 定位问题,排错
  • whatis & whereis 命令
  • command --help选项
  • man手册
  • 程序自带文档/usr/share/doc
  • 项目官网文档
  • 行业网站
  • 搜索引擎
  • AI助手

posted @ 2025-12-12 21:04  小茗同学study  阅读(2)  评论(0)    收藏  举报