Linux 入门基础知识(一)
一、Linux的基本使用和配置
1.1、终端
tty # 查看当前所在的终端
who # 当前主机上有哪些人在哪些终端上登录
who am i # 类似tty
-
控制台终端:
/dev/console
-
串行终端:
/dev/ttyS#
-
虚拟终端:tty:teletypewriters,
/dev/tty#
,tty可有n个,Ctrl+AIt+F# -
图形终端:startx,xwindows
- CentOS 6:Ctrl Alt F7
- CentOS7:在哪个终端启动,即位于哪个虚拟终端
-
伪终端:pty:pseudo-tty,
/dev/pts/#
如:SSH远程连接 -
tty有两类:
dev/ttyN
/dev/pts/N
pts
是伪文件系统,所以称为伪终端- 在其他命令执行结果中,有显示TTY这列信息,就是指终端名称信息,其对应的记录是进一步的详细说明。
1、只有一台主机使用时:
2、使用有远程登录时:
-
远程工具查看,可以看到产生一个新的终端
pts/2
,是通过远程工具xshell连接下产生的:
-
每个终端支持不同的用户进行登录(可以看到登录的用户名有kali和root)。
1.2、消耗内存
free #查看当前系统消耗的内存数
1.3、运行级别
init +N
运行级别 | 作用 |
---|---|
0 | 关机 |
1、S、emergency | 都是单用户模式,只允许root登录,作为维护使用(相当于Windows的安全模式) |
2 | 多用户,不支持网络功能(没NFS) |
3 | 多用户,带网络(有NFS),默认进入文本模式(shell) |
4 | 系统保留,但是默认和级别3相同 |
5 | 多用户带网络,默认进入图形界面 |
6 | 重启 |
-
查看运行级别:
runlevel
-
进入其它运行级别:
init N
-
init 0
为关机,init 6
为重启系统
1.6、登录前欢迎语
/etc/issue
文件用来显示Linux系统的基本信息,例如发行版本、内核版本、安装日期等。当用户登录到Linux系统时,该文件将被用来显示欢迎信息。- 这个需要使用字符系统登录看,用远程工具看不到。
cat /etc/issue
- 以下是
/etc/issue
文件的一些常见选项说明:
\n:换行符,用于在欢迎信息中添加新行。
\l:显示本地终端设备名称。
\m:显示计算机的硬件架构。
\s:显示操作系统的名称。
\r:显示内核的版本号。
\t:显示当前时间。
\u:显示当前用户名。
\v:显示操作系统的发行版本号。
\\:显示反斜杠字符。
其他自定义文本:可以在文件中添加其他自定义文本或标记。
- 使用这些选项,你可以根据需要定制并个性化系统登录时的欢迎信息。例如,可以使用
\s
和\v
选项来显示操作系统的名称和发行版本号,\l
选项来显示本地终端设备名称,以及\t
选项来显示当前时间等。
1.5、登录后欢迎语
/etc/motd
文件用来显示Linux系统的欢迎信息。当用户第一次登录到Linux系统时,该文件将被用来显示欢迎信息。
vim /etc/motd
-
修改欢迎信息。
-
添加并保存。
-
出现
1.6、shell
-
shell是Linux系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行
-
shell也被称为LINUX的命令解释器(command interpreter)
-
shell是一种高级程序设计语言
-
各种shell:
- sh:Steve Bourne
- bash:Bourne-Again Shell,GPL,CentOS和Ubuntu默认使用
- csh:c shell,C语言风格
- tcsh
- ksh:Korn Shell,AIX默认shell
- zsh:MacOS默认shell
-
怎么确认当前使用的shell
echo $SHELL
- 查看系统支持的shell
cat /etc/shells
1.7、ps aux
ps aux
:给出当前系统中正在运行的进程的详细信息,用于查看当前系统中运行的进程,以及它们所占用的资源和状态信息。可以通过对输出进行筛选和排序,进一步了解进程的性能和行为,以及对系统资源的使用情况进行监控和分析。
- 下面对 ps aux 的输出进行详细讲解:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
# USER: 显示每个进程所属的用户。
# PID: 进程的唯一标识符(Process ID)。
# %CPU: 进程当前使用的 CPU 百分比。
# %MEM: 进程当前使用的内存百分比。
# VSZ: 进程的虚拟内存大小(以 KB 或 MB 为单位)。
# RSS: 进程使用的物理内存大小(以 KB 或 MB 为单位)。
# TTY: 进程关联的终端设备。
# STAT: 进程的状态,包括运行状态(R,表示运行)、睡眠状态(S,表示睡眠)、僵尸状态(Z,表示僵尸进程)等。
# START: 进程启动的时间。
# TIME: 进程占用的 CPU 时间。
# COMMAND: 进程所对应的命令。
ps aux
输出的是所有用户的进程信息,其中a
表示显示所有用户的进程,u
表示显示进程的详细信息,x
表示显示没有控制终端的进程。- 请注意,
ps aux
命令的输出结果可能会因为操作系统的不同而有所差异。在某些系统上,可能需要使用ps -ef
或其他类似的命令来达到相同的效果。建议在使用时参考相关系统的文档和命令手册,以确保正确使用和解读输出结果。
1.8、设置主机名
hostname NAME # 临时性的更改,不是永久性的更改
- 注意:主机名不要使用下划线
- 要想永久保存需要写进文件里:
/etc/hostname
vim /etc/hostname
- 还可以使用命令:
hostnamectl hostname NAME
1.9、whoami和who am i
-
whoami
显示的是当前“操作用户”的用户名,而who am i
显示的是“登录用户”的用户名。
-
who
后面可以跟很多参数:-q
列出当前用户个数–H
在每列前面加上列名称-b
列出系统上一次启动的时间–r
列出系统当前运行级别–l
列出系统登录进程
- 如果
who am i
没有内容输出,说明是当前用户没有登录或者登录信息已经过期。
1.10、命令提示符
-
普通用户:
$
符号
-
管理员用户:
#
符号
sudo -i # 切换成管理员
-
提示符也可以更改:
PS1
- 在Linux中,PS1(Prompt String 1)是一个环境变量,用来定义shell命令提示符的显示内容和格式。当在终端中输入命令时,PS1定义的就是那个通常显示在光标左侧的提示符。 PS1可以包含纯文本和特殊的转义序列。转义序列以反斜杠开始,用来插入例如日期、时间、用户名、当前目录等动态信息。
- 查看 PS1 当前配置:
echo $PS1
-
在
/etc/.bashrc
中找PS1
变量的定义,如果没有,可以手动加上。
export PS1="\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$"
-
临时修改(重新打开恢复):
-
PS1 纯文本和特殊的转义序列:
#下面简单说说上文环境下默认的特殊符号所代表的意义:
\d :代表日期,格式为weekday month date,例如:“Mon Aug1”
\H:完整的主机名称。例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux
\h :仅取主机的第一个名字,如上例,则为fc4,.linux则被省略
\t :显示时间为24小时格式,如:HH:MM:SS
\