3.3、startx命令 – 初始化X-windows系统
startx命令来自于英文词组”start X-windows“的缩写,其功能是用于启动X-Windows系统。X-Windows System也被称为X或X11,中文译为X窗口系统,主要工作就是以图形方式显示软件窗口的系统,现在的GNOME和KDE桌面环境都是以X窗口系统为基础构建成的。
语法格式:startx [参数]
常用参数:
参考实例
以默认方式初始化启动X窗口系统:
[root@linuxcool ~]# startx X.Org X Server 1.20.3 X Protocol Version 11, Revision 0 Build Operating System: 4.14.0-49.el7a.noaead.x86_64 Current Operating System: Linux linuxcool.com 4.18.0-80.el8.x86_64 #1 SMP Wed Mar 13 12:02:46 UTC 2019 x86_64 ………………省略部分输出信息………………
指定以16位颜色深度启动X窗口系统:
[root@linuxcool ~]# startx -- -depth 16 X.Org X Server 1.20.3 X Protocol Version 11, Revision 0 Build Operating System: 4.14.0-49.el7a.noaead.x86_64 Current Operating System: Linux linuxcool.com 4.18.0-80.el8.x86_64 #1 SMP Wed Mar 13 12:02:46 UTC 2019 x86_64 ………………省略部分输出信息………………
强制启动X窗口系统:
[root@linuxcool ~]# startx -w X.Org X Server 1.20.3 X Protocol Version 11, Revision 0 Build Operating System: 4.14.0-49.el7a.noaead.x86_64 Current Operating System: Linux linuxcool.com 4.18.0-80.el8.x86_64 #1 SMP Wed Mar 13 12:02:46 UTC 2019 x86_64 ………………省略部分输出信息………………
3.4、ps命令 – 显示进程状态
ps命令来自于英文词组”process status“的缩写,其功能是用于显示当前系统的进程状态。使用ps命令可以查看到进程的所有信息,例如进程的号码、发起者、系统资源使用占比(处理器与内存)、运行状态等等。帮助我们及时的发现哪些进程出现”僵死“或”不可中断“等异常情况。
经常会与kill命令搭配使用来中断和删除不必要的服务进程,避免服务器的资源浪费。
语法格式:ps [参数]
常用参数:
参考实例
显示系统中全部的进程信息,含详细信息:
[root@linuxcool ~]# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 2 0.0 0.0 0 0 ? S 20:05 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? I< 20:05 0:00 [rcu_gp] root 4 0.0 0.0 0 0 ? I< 20:05 0:00 [rcu_par_gp] ………………省略部分输出信息………………
结合输出重定向,将当前进程信息保留备份至指定文件:
[root@linuxcool ~]# ps aux > backup.txt
结合管道操作符,将当前系统运行状态中指定进程信息过滤出来:
[root@linuxcool ~]# ps -ef | grep ssh ………………省略输出信息………………
结合管道操作符,将当前系统运行状态中指定用户的进程信息过滤出来:
[root@linuxcool ~]# ps -u root PID TTY TIME CMD 1 ? 00:00:01 systemd 2 ? 00:00:00 kthreadd 3 ? 00:00:00 rcu_gp 4 ? 00:00:00 rcu_par_gp ………………省略部分输出信息………………
结合管道操作符与sort命令,依据处理器使用量(第三列)情况降序排序:
[root@linuxcool ~]# ps aux | sort -rnk 3 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 2341 0.4 8.1 4504040 164896 tty2 Sl+ 20:05 0:24 /usr/bin/gnome-shell root 4534 0.3 0.4 220064 8520 ? Ssl 21:37 0:00 /usr/libexec/nm-dispatcher gdm 1541 0.1 7.3 4211428 147400 tty1 Sl+ 20:05 0:06 /usr/bin/gnome-shell ………………省略部分输出信息………………
结合管道操作符与sort命令,依据内存使用量(第四列)情况降序排序:
[root@linuxcool ~]# ps aux | sort -rnk 4 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 2341 0.4 8.1 4503976 164828 tty2 Sl+ 20:05 0:27 /usr/bin/gnome-shell gdm 1541 0.1 7.3 4211428 147556 tty1 Sl+ 20:05 0:08 /usr/bin/gnome-shell root 2661 0.0 3.1 1271636 63004 tty2 Sl+ 20:05 0:01 /usr/bin/gnome-software --gapplication-service ………………省略部分输出信息………………
3.5、uname命令 – 显示系统内核信息
uname命令来自于英文词组”Unix name“的缩写,其功能是用于查看系统主机名、内核及硬件架构等信息。如果不加任何参数,默认仅显示系统内核名称,相当于-s参数。
语法格式:uname [参数]
常用参数:
参考实例
显示系统内核名称:
[root@linuxcool ~]# uname Linux
显示系统所有相关信息(含内核名称、主机名、版本号及硬件架构):
[root@linuxcool ~]# uname -a Linux linuxcool.com 4.18.0-80.el8.x86_64 #1 SMP Wed Mar 13 12:02:46 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
显示系统内核版本号:
[root@linuxcool ~]# uname -r 4.18.0-80.el8.x86_64
现在系统硬件架构:
[root@linuxcool ~]# uname -i x86_64
4.磁盘管理
4.1、df命令 – 显示磁盘空间使用情况
df命令来自于英文词组”Disk Free“的缩写,其功能是用于显示系统上磁盘空间的使用量情况。df命令显示的磁盘使用量情况含可用、已有及使用率等信息,默认单位为Kb,建议使用-h参数进行单位换算,毕竟135M比138240Kb更利于阅读对吧~
语法格式: df [参数] [对象磁盘/分区]
常用参数:
参考实例
带有容量单位的显示系统全部磁盘使用量情况:
[root@linuxcool ~]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 969M 0 969M 0% /dev tmpfs 984M 0 984M 0% /dev/shm tmpfs 984M 9.6M 974M 1% /run tmpfs 984M 0 984M 0% /sys/fs/cgroup /dev/mapper/rhel-root 17G 3.9G 14G 23% / /dev/sr0 6.7G 6.7G 0 100% /media/cdrom /dev/sda1 1014M 152M 863M 15% /boot tmpfs 197M 16K 197M 1% /run/user/42 tmpfs 197M 3.5M 194M 2% /run/user/0
带有容量单位的显示指定磁盘分区使用量情况:
[root@linuxcool ~]# df -h /boot Filesystem Size Used Avail Use% Mounted on /dev/sda1 1014M 152M 863M 15% /boot
显示系统中所有文件系统格式为xfs的磁盘分区使用量情况:
[root@linuxcool ~]# df -t xfs Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/rhel-root 17811456 4041320 13770136 23% / /dev/sda1 1038336 155556 882780 15% /boot
4.2、fdisk命令 – 管理磁盘分区
fdisk命令来自于英文词组“Partition table manipulator for Linux”的缩写,其功能是用于管理磁盘的分区信息。如果一套几百平米的房子内部没有墙壁,虽然看起来会很敞亮,但是各种声音、气味、物品会随意充斥在整个房子内,让人极不舒适,因此需要用墙壁按照功能进行划分,例如卧室、厕所、厨房、阳台等等。
fdisk命令可以用于对磁盘进行分区操作,用户可以根据实际情况进行合理划分,这样后期挂载和使用时会方便很多。
语法格式:fdisk [参数] [设备]
常用参数:
参考实例
查看当前系统的分区情况:
[root@linuxcool ~]# fdisk -l Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x5f1d8ee5 Device Boot Start End Sectors Size Id Type /dev/sda1 * 2048 2099199 2097152 1G 83 Linux /dev/sda2 2099200 41943039 39843840 19G 8e Linux LVM ………………省略部分输出信息………………
管理指定硬盘的分区(过程省略,以《Linux就该这么学》第6章节为准):
[root@linuxcool ~]# fdisk /dev/sda Welcome to fdisk (util-linux 2.32.1). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): n All space for primary partitions is in use. Command (m for help): m Help: DOS (MBR) a toggle a bootable flag b edit nested BSD disklabel c toggle the dos compatibility flag Generic d delete a partition F list free unpartitioned space l list known partition types n add a new partition p print the partition table t change a partition type v verify the partition table i print information about a partition Misc m print this menu u change display/entry units x extra functionality (experts only) Script I load disk layout from sfdisk script file O dump disk layout to sfdisk script file Save & Exit w write table to disk and exit q quit without saving changes Create a new label g create a new empty GPT partition table G create a new empty SGI (IRIX) partition table o create a new empty DOS partition table s create a new empty Sun partition table ………………省略部分输出信息………………
4.3、lsblk命令 – 查看系统的磁盘使用情况
lsblk命令来自于英文词组”list block“的缩写,其功能是用于查看系统的磁盘使用情况。
语法格式:lsblk [参数]
常用参数:
参考实例
显示系统中所有磁盘设备的使用情况信息:
[root@linuxcool ~]# lsblk -a NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 19G 0 part ├─rhel-root 253:0 0 17G 0 lvm / └─rhel-swap 253:1 0 2G 0 lvm [SWAP] sr0 11:0 1 6.6G 0 rom /media/cdrom
显示系统中磁盘设备的归属及权限信息:
[root@linuxcool ~]# lsblk -m NAME SIZE OWNER GROUP MODE sda 20G root disk brw-rw---- ├─sda1 1G root disk brw-rw---- └─sda2 19G root disk brw-rw---- ├─rhel-root 17G root disk brw-rw---- └─rhel-swap 2G root disk brw-rw---- sr0 6.6G root cdrom brw-rw----
显示系统中所有SCSI类型的磁盘设备信息:
[root@linuxcool ~]# lsblk -S NAME HCTL TYPE VENDOR MODEL REV TRAN sda 2:0:0:0 disk ATA VMware Virtual S 0001 sata sr0 3:0:0:0 rom NECVMWar VMware SATA CD01 1.00 sata
以列表格式显示磁盘设备信息,并且不显示标题:
[root@linuxcool ~]# lsblk -nl sda 8:0 0 20G 0 disk sda1 8:1 0 1G 0 part /boot sda2 8:2 0 19G 0 part sr0 11:0 1 6.6G 0 rom /media/cdrom rhel-root 253:0 0 17G 0 lvm / rhel-swap 253:1 0 2G 0 lvm [SWAP]
4.4、hdparm命令 – 显示与设定硬盘参数
hdparm命令来自于英文词组“hard disk parameters”的缩写,其功能是用于显示与设定硬盘参数。对于初次接手一块硬盘设备,了解相关性能属性有很好的帮助。
语法格式:hdparm [参数] 设备名
常用参数:
参考实例
显示指定硬盘的相关信息:
[root@linuxcool ~]# hdparm /dev/sdb /dev/sdb: multcount = 255 (on) IO_support = 1 (32-bit) readonly = 0 (off) readahead = 8192 (on) geometry = 2610/255/63, sectors = 41943040, start = 0
仅显示指定硬盘的柱面、磁头和扇区数信息:
[root@linuxcool ~]# hdparm -g /dev/sdb /dev/sdb: geometry = 2610/255/63, sectors = 41943040, start = 0
评估指定硬盘的读取效率:
[root@linuxcool ~]# hdparm -t /dev/sdb /dev/sdb: Timing buffered disk reads: 5386 MB in 3.00 seconds = 1795.12 MB/sec
读取指定硬盘所提供的硬件规格信息:
[root@linuxcool ~]# hdparm -X /dev/sdb /dev/sdb: setting xfermode to 0 (default PIO mode) SG_IO: bad/missing sense data, sb[]: 70 00 05 00 00 00 00 12 00 00 00 00 24 00 00 c0 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00
4.5、vgextend命令 – 扩展卷组设备
vgextend命令来自于英文词组“volume group extend”的缩写,其功能是用于扩展卷组设备。LVM逻辑卷管理器技术具有灵活调整卷组与逻辑卷的特点,卷组可以在创建时规定物理卷的数量,亦可以在后期使用vgextend命令进行扩展。
语法格式:vgextend [参数] 卷组
常用参数:
参考实例
将指定的物理卷加入到卷组设备中:
[root@linuxcool ~]# vgextend storage /dev/sdb Volume group "storage" successfully extended
5.文件传输
5.1、tftp命令 – 上传及下载文件
tftp命令来自于英文词组”Trivial File Transfer Protocol“的缩写,中文译为简单文件传输协议,其功能是基于TFTP协议进行的文件传输工作。用户可以通过文字模式将文件上传至远程服务器,亦可以从服务器下载文件到本地主机。
TFTP基于69/udp协议,不同于FTP文件传输协议,属于轻量级的传输服务,不具备显示文件列表、断点续传等功能。
语法格式:tftp [参数] 主机
常用参数:
参考实例
远程连接至指定服务器:
[root@linuxcool ~]# tftp 192.168.10.10
下载远程指定服务器中的文件至本地工作目录:
tftp> get File1.txt
上传本地工作目录中某个文件至远程指定服务器:
tftp> put File2.txt
退出登录某台远程服务器:
tftp> quit
5.2、curl命令 – 文件传输工具
curl命令来自于英文词组”CommandLine URL“的缩写,其功能是用于在Shell终端界面中基于URL规则进行的文件传输工作。curl是一款综合的传输工具,可以上传也可以下载,支持HTTP、HTTPS、FTP等三十余种常见协议
语法格式:curl [参数] 网址
常用参数:
参考实例
获取指定网站的网页源码:
[root@linuxcool ~]# curl https://www.linuxcool.com % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta http-equiv="X-UA-Compatible" content="IE=Edge"/> <meta charset="UTF-8" /> ………………省略部分输出信息………………
下载指定网站中的文件:
[root@linuxcool ~]# curl -O https://www.linuxprobe.com/docs/LinuxProbe.pdf % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 16.8M 100 16.8M 0 0 22.5M 0 --:--:-- --:--:-- --:--:-- 22.5M
打印指定网站的HTTP响应头信息:
[root@linuxcool ~]# curl -I https://www.linuxcool.com % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 HTTP/2 200 server: Tengine content-type: text/html; charset=UTF-8 vary: Accept-Encoding date: Wed, 04 May 2022 06:44:26 GMT vary: Accept-Encoding x-powered-by: PHP/7.4.11 vary: Accept-Encoding, Cookie cache-control: max-age=3, must-revalidate ali-swift-global-savetime: 1651646666 via: cache3.l2cn1802[235,234,200-0,M], cache17.l2cn1802[236,0], kunlun10.cn257[403,414,200-0,M], kunlun 2.cn257[417,0] x-cache: MISS TCP_REFRESH_MISS dirn:0:416601537 x-swift-savetime: Wed, 04 May 2022 06:44:26 GMT x-swift-cachetime: 3 timing-allow-origin: * eagleid: ab08f29616516466664417014e
下载指定文件服务器中的文件(用户名:linuxcool,密码:redhat):
[root@linuxprobe ~]# curl -u linuxprobe:redhat ftp://www.linuxcool.com/LinuxProbe.pdf
5.3、fsck命令 – 检查与修复文件系统
fsck命令来自于英文词组“filesystem check”的缩写,其功能是用于检查与修复文件系统。若系统有过突然断电或磁盘异常的情况,建议使用fsck命令对文件系统进行检查与修复,以防数据丢失。
语法格式:fsck [参数] 文件系统
常用参数:
参考实例
检查是否的文件系统是否有损坏:
[root@linuxcool ~]# fsck /dev/sdb fsck from util-linux 2.32.1 e2fsck 1.44.3 (10-July-2018) /dev/sdb: clean, 11/1310720 files, 126322/5242880 blocks
强制检查文件系统的损坏情况:
[root@linuxcool ~]# fsck -f /dev/sdb fsck from util-linux 2.32.1 e2fsck 1.44.3 (10-July-2018) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/sdb: 11/1310720 files (0.0% non-contiguous), 126322/5242880 blocks
5.4、lprm命令 – 删除打印队列中的打印任务
lprm命令的英文全称是“Remove jobs from the print queue”,意为用于删除打印队列中的打印任务。尚未完成的打印机工作会被放在打印机贮列之中,这个命令可用来将未送到打印机的工作取消。
语法格式:lprm [参数] [任务编号]
常用参数:
参考实例
将打印机hpprint中的第102号任务移除:
[root@linuxcool ~]# lprm -Phpprint 102
将第101号任务由预设打印机中移除:
[root@linuxcool ~]# lprm 101
5.5、ftpwho命令 – 显示ftp会话信息
ftpwho命令用于显示当前所有以FTP登入的用户会话信息。
执行该命令可得知当前用FTP登入系统的用户有哪些人,以及他们正在进行的操作。
语法格式:ftpwho [参数]
常用参数:
参考实例
查询当前正在登录FTP 服务器的用户:
[root@linuxcool ~]# ftpwho
在详细模式下,查询当前正在登录FTP 服务器的用户:
[root@linuxcool ~]# ftpwho -v
显示帮助信息:
[root@linuxcool ~]# ftpwho -h
6、网络通讯
6.1、ssh命令 – 安全的远程连接服务器
ssh命令的功能是用于安全的远程连接服务器主机系统,作为openssh套件中的客户端连接工具,ssh命令可以让我们轻松的基于ssh加密协议进行远程主机访问,从而实现对远程服务器的管理工作。
语法格式: ssh [参数] 远程主机
常用参数:
参考实例
基于ssh协议,远程访问服务器主机系统:
[root@linuxcool ~]# ssh 192.168.10.10 The authenticity of host '192.168.10.10 (192.168.10.10)' can't be established. ECDSA key fingerprint is SHA256:ZEjdfRjQV8pVVfu0TSYvDP5UvOHuuogMQSDUgLPG3Kc. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.10.10' (ECDSA) to the list of known hosts. root@192.168.10.10's password: 此处输入远程服务器管理员密码 Activate the web console with: systemctl enable --now cockpit.socket Last login: Tue Dec 14 08:49:08 2022 [root@linuxprobe ~]#
使用指定的用户身份登录远程服务器主机系统:
[root@linuxcool ~]# ssh -l linuxprobe 192.168.10.10 linuxprobe@192.168.10.10's password: 此处输入指定用户的密码 Activate the web console with: systemctl enable --now cockpit.socket [linuxprobe@linuxprobe ~]$
登录远程服务器主机系统后执行一条命令:
[root@linuxcool ~]# ssh 192.168.10.10 "free -m" root@192.168.10.10's password: 此处输入远程服务器管理员密码 total used free shared buff/cache available Mem: 1966 1359 76 21 530 407 Swap: 2047 9 2038
强制使用v1版本的ssh加密协议连接远程服务器主机:
[root@linuxcool ~]# ssh -1 192.168.10.10