su命令
1:root
切换普通用户
,无需输入密码
普通用户
切换为其他用户
需要输入密码
2:su - test001
与 su test001
但是前者会自动切换到test001
的家目录下;后者会在/root
目录下。
3:
su - test001
--登录式shell环境 :环境变量是用户的环境变量
su test001
–非登录式shell环境 :环境变量是root的环境变量
clear命令
清空屏幕上的命令
clean命令
who命令
打印当前系统登录的用户信息(用户名 终端设备 登录时间 客户端IP)
who im a
who -m
who -q
whoami
who -r
who -b
who -a
w命令
w -h
uname命令
uname -n
查看用户名
uname -r
查看内核发行版
uname -m
主机架构
uname -p
CPU架构
uname -i
硬件平台架构
uname -o
操作系统名称
hostnamectl set-hostname qianjue
更改主机名为qianjue
uptime命令
uptime
第一列:系统时间
第二列:系统状态
第三列:系统运行时长
第四列:目前系统运行的用户个数
第五列:CPU平均负载:一分钟,五分钟,十五分钟
CPU负载与CPU使用率
CPU负载:在特定时间间隔内运行队列中的平均进程数。
使用率:CPU实际真正处理任务的时间和总时间的比值。
问题:CPU负载很高,但是CPU使用率很低,是为什么?
答:等待磁盘I/O完成的进程过多,导致进程队列长度过大,但是CPU运行的进程却很少。
last命令
打印当前与过去登入系统的用户相关信息
last -n 4 打印4条登入系统的用户相关信息
last -f /var/log/lastlog
last -a
lastlog 系统用户的登录历史
/var/log/latlog
该日志文件记录最近成功登录的事件和最后一次不成功的登录事件,由login生成。
在每次用户登录时被查询,该文件是二进制文件,需要使用lastlog命令查看,根据UID排序显示登录名、端口号和上次登录时间。
如果某用户从来没有登录过,就显示为" **Never logged in **"
。该命令只能以root权限执行。
/var/log/wtmp
该日志文件永久记录每个用户登录、注销即系统的启动、停机的事件。
因此随着系统正常运行时间的增加,该文件的大小也会越来越大,增加的速度取决于系统用户登录的次数。
该日志文件可以用来查看用户的登录记录,last命令就通过访问这个文件获得这些信息,并以反序从后向前显示用户的登录记录,last也能根据用户、终端tty或时间显示相应的记录。
last -f wtmp
last test001
last -t 20200622121234
/var/run/utmp
该日志文件记录有关当前登录的每个用户的信息。
因此这个文件会随着用户登录和注销系统而不断改变,它只会保留当时联机的用户记录,不会为用户保留永久的记录。
系统中需要查询当前用户状态的程序,如who、w、users、finger等就需要访问这个文件。
该日志文件并不能包括所有精确地信息,因为没某些错误会终止用户登录会话,而系统没有及时更新utmp记录,因此该日志文件的记录不是百分百值得信赖的。
users
id
日志文件补充
以上提及的3个文件(/var/log/latlog、/var/log/wtmp、/var/run/utmp)是日志子系统的关键文件,都记录了用户登录的情况。
这些文件的所有记录都包含了时间戳。这些文件是按二进制保存的,所以不能用less、cat之类的命令直接查看这些文件,而是需要使用相关命令通过这些文件而查看。
login程序打开文件wtmp附加用户的utmp记录。当用户登录退出时,具有更新时间戳的同一utmp记录附加到文件中。
dmesg
more /var/log/dmesg
查看内核日志
journalctl -x
查询系统相关日志
free
free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。
free -s 5 表示每隔5秒打印一次内存信息,直到用Ctrl +c结束。
cat /proc/meminfo
了解Linux系统内存使用状况的主要接口
MemTotal: 995896 kB 对应当前系统中可以使用的物理内存
MemFree: 714856 kB 表示当空闲的内存数目
MemAvailable: 695960 kB 不需要额外磁盘操作(开销较大)就可以使用的空闲内存的数量
Buffers: 2124 kB 用来给文件做缓冲大小
Cached: 90828 kB 被高速缓冲存储器用的内存大小
SwapCached: 0 kB 被高速缓冲器用的交换空间的大小
Active: 92292 kB 在活跃使用中的缓冲或高速缓冲存储器页面文件的大小,除非非常必要否则不会被移作他用。
Inactive: 66984 kB 在不经常使用中的缓冲或高速缓存存储器页面文件的大小,可能被用于其他途径
Active(anon): 67784 kB
Inactive(anon): 6448 kB
Active(file): 24508 kB
Inactive(file): 60536 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 4190204 kB 交换空间的总大小
SwapFree: 4190204 kB 未被使用交换空间的大小
Dirty: 0 kB 等待被写回到磁盘的内存大小。
Writeback: 0 kB 正在被写回到磁盘的内存大小
AnonPages: 66360 kB 未映射页的内存大小
Mapped: 25388 kB 设备和文件等映射的大小
Shmem: 7908 kB
Slab: 55152 kB 内核数据结果缓存的大小,可以减少申请和释放内存带来的消耗
SReclaimable: 19940 kB 可收回slab的大小
SUnreclaim: 35212 kB 不可收回slab的大小
KernelStack: 4000 kB
PageTables: 4088 kB 管理内存分页页面的索引表的大小
NFS_Unstable: 0 kB 不稳定页表的大小
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 4688152 kB
Committed_AS: 293996 kB
VmallocTotal: 34359738367 kB 可以vmalloc虚拟内存大小
VmallocUsed: 181140 kB 已经被使用的虚拟内存大小
VmallocChunk: 34359310332 kB
HardwareCorrupted: 0 kB
AnonHugePages: 8192 kB
CmaTotal: 0 kB
CmaFree: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 81792 kB
DirectMap2M: 966656 kB
DirectMap1G: 0 kB
free -h
如何添加环境变量的寻找地址
即:如何在PATH中的地址中添加一个目录。
创建一个目录:
mkdir /data
然后用vim
打开/etc/profile
。
vim /etc/profile
在文件中任意空白行(或者自己添加一个空白行)输入代码:PATH=$PATH:/data
保存退出后用source /etc/profile
重新加载文件。
再用echo $PATH
就可以看到路径中多了/data
这时候再/data
目录下创建的可执行文件
(可以自己创建)就可以在任意目录下直接输入其可执行文件的文件名来执行。
pstree
首先使用代码 yum provides pstree
创建一个pstree文件。
然后用yum命令下载pstree所依赖的包
yum install psmisc-22.20-15.el7.x86_64
然后就可以使用pstree
命令查看进程情况
shell支持热键
Ctrl +l
:作用等同于 clear
Ctrl +c
:中止当前进程
Ctrl +a
:将光标跳到命令行(未执行)的开头
Ctrl +e
:将光标从中间或者开头跳到最后
Ctrl +u
:删除光标之前的内容
Ctrl +k
:删除光标之后的内容
持久挂载镜像文件
临时挂载: mount /dev/sr0 /data/
持久挂载 :
方法1:写入 /etc/fstab
首先用vim
打开 /etc/fstab
然后输入 /dev/sr0 /data iso9660 defaults 0 0
保存退出后在命令行输入 mount -a
,该命令的作用是让文件立即生效,并检查语法错误。
方法2: 用vim
打开/etc/rc.d/rc.local
写入
if [ -d /data ]
then
mount /dev/sr0 /data
fi
保存退出后再命令行执行
chmod +x /etc/rc.d/rc.local
就完成了。
系统启动级别
0 :关机
1:单用户
2:不带网络文件系统的多用户
3:多用户
4:预留
5:图像化 x-Windows
6:重启
查看用户启动级别
runlevel
实例:单用户修改root密码
(1)进入grub引导的文本界面:按键盘的“e”。
(2) 进入单用户 ,在出现的界面中寻找到第一个开头为linux16
的所在行。将光标移动到行末,输入空格后再输入代码rd.break
然后按Ctrl +x
执行
(3)重新以读写的形式挂载 /sysroot
文件系统
mount -o remount,rw /sysroot
(4)进入文件系统 输入 chroot /sysroot
(5)修改密码
echo "mima" | passwd --stdin root
(6)刷新密码文件上下文
touch .autorelabel
(7)退出单用户 :exit
,再输入一次exit