作用: 显示出当前有效的用户名称,Linux是多用户多任务
语法:whoami(选项)
选项:
--help:在线帮助
--version:显示版本信息和退出
场景使用:
1. 当用户想要查看当前登录系统的用户名时,可以使用whoami指令来显示当前用户的用户名。
2. 在脚本或程序中,可以使用whoami指令来获取当前用户的用户名,以便进行相应的操作或授权验证。
3. 在系统管理和维护工作中,可以使用whoami指令来确认当前正在执行命令的用户身份,以确保操作的合法性和安全性。
示例:
[root@localhost ~]# whoami
root
作用: 用于显示和设置系统的主机名称
语法:hostname(选项)(参数)
选项:
-a:显示主机别名
-d:显示DNS域名
-i:显示主机的ip地址
场景使用:
1. 在系统管理和网络管理中,可以使用hostname指令来查看当前主机的名称。
2. 当需要配置网络服务或进行网络故障排查时,可以使用hostname指令来查看或设置主机的名称。
3. 在脚本或程序中,可以使用hostname指令来获取当前主机的名称,以便进行相应的操作或配置。
4. 在系统管理和维护工作中,可以使用hostname指令来修改主机的名称,以满足特定的需求或规范。
示例:
localdomain-->别名
[root@localhost ~]# hostname -i
::1 127.0.0.1
[root@localhost ~]# hostname
localhost.localdomain
作用: 用于显示当前系统相关信息,包括内核名称、节点名称、操作系统名称、操作系统发行版本、操作系统版本以及硬件类型
语法:uname(选项)
选项:
-a:详细显示全部的信息
场景使用:
1. 硬件信息查询:通过uname指令可以查看当前系统的硬件类型,包括处理器架构和计算机类型。
2. 内核信息查询:可以使用uname指令来获取当前系统的内核名称和版本号,以便进行系统管理和维护工作。
3. 确认操作系统类型和版本:uname指令可以显示当前操作系统的名称和版本号,帮助用户确认所使用的操作系统类型和版本。
4. 脚本编程:在编写脚本或程序时,可以使用uname指令来获取系统信息,以便进行相应的操作或配置。
5. 系统识别和诊断:在系统维护和故障排查过程中,可以使用uname指令来识别系统类型和版本,帮助进行诊断和解决问题。
3.10.0-1160.el7.x86_64 版本号
示例:
[root@localhost ~]# uname -a
Linux localhost.localdomain 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost ~]#
作用:显示或设置系统时间与日期
语法:date(选项)(参数)
场景使用:
1. 显示当前日期和时间:可以使用date指令来查看当前系统的日期和时间。
2. 设置系统时间:系统管理员可以使用date指令来手动设置系统的日期和时间,以确保系统时间的准确性。
3. 在脚本或程序中获取时间:在编写脚本或程序时,可以使用date指令来获取当前的日期和时间,以便进行相应的操作或记录时间戳。
4. 日志记录:在系统管理和维护工作中,可以使用date指令来记录操作日志或事件日志的时间戳。
5. 定时任务:在定时任务或计划任务中,可以使用date指令来获取当前时间,并根据时间执行相应的任务或操作。
6. 文件时间戳修改:系统管理员可以使用date指令来修改文件的创建时间或修改时间,以满足特定的需求或要求。
示例:
[root@localhost ~]# date
2024年 01月 24日 星期三 13:04:02 CST
作用:设置指令的别名
语法:alias(选项)(参数)
unalias (选项) 取消指令的别名
选项:
-p --显示已经设置的命令别名
场景使用:
1. 缩短命令:可以使用alias指令将一些常用的长命令或复杂命令定义为简短的别名,以便在命令行中更快地输入和执行。
2. 添加选项:可以使用alias指令为命令添加一些默认选项,以便在执行命令时自动包含这些选项。
3. 防止误操作:通过alias指令可以为一些危险的命令添加提示或确认选项,以防止误操作。
4. 个性化配置:可以根据个人习惯和需求使用alias指令对命令行进行个性化配置,使命令行操作更加高效和便捷。
5. 简化操作:通过alias指令可以将一系列复杂操作组合成一个简单的别名命令,以简化操作流程。
总之,alias指令能够帮助用户简化命令行操作,提高工作效率,并且可以根据个人需求对命令行进行个性化定制。
示例:
[root@localhost ~]# alias -p
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto' #这些是已经有的别名
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[root@localhost ~]#
# 设置别名,重启将失效,永久生效需要在配置文件中配置
[root@localhost ~]# alias vi='vim'
进入配置文件bashrc
注:自己特有的,如果想有就考配置文件,写脚本不要用别名,用绝对路径,否则别人电脑上用不了
注:
用i进入编辑模式,写的时候等号两边不能用空格
wq退出,然后刷新(注:重启reboot 后果。。。。)
作用:指令用于显示用户在当前会话中执行过的命令历史记录(做了那些事情运行了那些命令)
语法:history(选项)(参数)
history+数学 显示几条命令
注:反复输入的指令,想快速输入
Ctrl+r 显示' ',然后输入一个单词,就能快速显示全部
选项: -c --清空当前历史命令
场景使用:
1. 查看命令历史:可以使用history指令来查看在当前会话中执行过的所有命令,以便追溯和查找之前执行的命令。
2. 重复执行命令:使用history指令可以轻松地找到之前执行过的命令,并且可以通过历史记录中的命令编号来快速重复执行某个命令。
3. 分析命令使用情况:通过查看命令历史记录,可以分析用户在当前会话中执行过的命令使用情况,以便进行统计和分析。
4. 恢复误删除的命令:如果用户不小心删除了之前执行的命令,可以通过history指令找回已删除的命令。
5. 重现操作流程:在进行复杂的操作流程时,可以使用history指令来查看之前的操作步骤,以便重新执行或调整操作流程。
总之,history指令可以帮助用户追溯和查找之前执行的命令,提高命令行操作的效率,并且可以帮助用户分析和统计命令使用情况。
示例:
[root@localhost ~]# history 20
64 pwd
65 su lisen
66 clear
67 whoami
68 hostname -i
69 hostname -d
70 hostname -a
71 uname -a
72 date
73 user
74 users
75 uptime
76 alias
77 alias -p
78 alias vi = vim
79 alias vi = 'vim'
80 clear
81 alias vi='vim'
82 chkconfig --list
83 history 20
作用:sudo命令是Linux或者Unix系统中,允许普通用户可以使用超级管理员权限的工具,比如执行单个命令和应用程序,而无需切换到管理员账户(超级用户的权限执行特定的命令)
语法:-u username 以指定的用户身份执行命令,默认是root用户,-g组
场景使用:
1. 管理系统:在管理和维护Linux系统时,需要执行一些需要超级用户权限的操作,如安装软件、修改系统配置文件、管理服务等,这时可以使用sudo指令来暂时获取root权限执行相应的命令。
2. 安装和更新软件:在安装新软件或更新系统时,需要使用sudo权限执行包管理器(如apt、yum等)来安装或更新软件包。
3. 管理用户和文件权限:对于一些需要更改用户账户、修改文件权限或者访问受限资源的操作,需要使用sudo权限来执行。
4. 管理网络配置:在修改网络配置、启停网络服务、查看网络状态时,可能需要使用sudo权限执行相关的网络管理命令。
5. 管理系统日志:查看系统日志、清理日志文件等操作通常需要使用sudo权限来执行。
6. 运行特定命令:在某些情况下,为了安全起见,系统管理员可能希望限制普通用户对某些特定命令的执行权限,这时可以使用sudo来授权特定的命令给特定的用户。
总之,sudo指令可以帮助系统管理员在保证系统安全的前提下,以超级用户权限执行特定的命令,从而完成需要特权的系统管理任务。
示例:
sudo -u root ls #以root用户的身份运行ls命令
sudo -g office free #以office用户执行free命令
作用:使用systemctl
命令可以管理系统服务,如启动、停止、重启服务等
场景使用:
1. 启动和停止服务:使用systemctl可以启动和停止系统中的各种服务,例如网络服务、数据库服务、Web服务器等。
2. 管理系统单元:systemd使用单元(unit)来描述系统中的各种资源,包括服务、挂载点、设备等。可以使用systemctl来管理这些单元,包括启动、停止、重启、启用、禁用等操作。
3. 查看服务状态:通过systemctl可以查看当前系统中各个服务的状态,包括运行状态、启动失败信息、最近一次的运行时间等。
4. 管理系统启动:systemd负责系统的启动和初始化过程,可以使用systemctl来管理启动相关的单元,包括设置默认启动目标、重启系统等。
5. 查看系统日志:systemd可以记录系统的日志信息,使用systemctl可以查看和管理这些日志信息。
6. 管理用户会话:systemd可以管理用户会话(user session),通过systemctl可以管理用户登录后的会话单元,包括启动、停止用户会话等操作。
总之,systemctl指令是用于管理systemd系统和服务的强大工具,可以用于管理系统启动、服务管理、日志查看等各种操作,是Linux系统管理中不可或缺的命令行工具。
示例:
systemctl start sshd
注:后面加d的意思: 守护进程是在后台运行的进程,通常在系统启动时启动,并且一直运行,直到系统关闭或显式地被停止
并非所有的命令都支持以守护进程方式运行,这取决于命令本身的实现。通常来说,服务器程序或者系统服务才会以守护进程的方式运行,而一般的命令行工具并不需要以守护进程方式运行。
作用:命令用于显示当前进程的状态,类似于 windows 的任务管理器(找PID就是一个编号)
语法:ps [options] [--help]
-A 列出所有的进程
-w 显示加宽可以显示较多的资讯
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的进程
场景使用:
1. 查看系统中的进程:使用ps指令可以列出当前系统中正在运行的进程,包括进程的PID(进程ID)、运行状态、占用的资源等信息。
2. 查找特定进程:可以使用ps指令结合其他参数来查找特定的进程,例如根据进程名、用户、进程状态等来过滤和查找进程。
3. 监控系统资源占用:通过ps指令可以查看系统中进程占用的资源情况,包括CPU占用、内存占用等,有助于监控系统资源的使用情况。
4. 结合其他命令:ps指令可以结合其他命令(例如grep、awk等)来进行更复杂的进程查找和分析,例如查找特定用户的进程、按CPU占用排序等。
5. 分析进程间关系:ps指令可以显示进程的父子关系,有助于分析进程之间的关系和进程树结构。
总之,ps指令是用于查看和分析系统中进程信息的重要工具,可以帮助用户了解系统中的进程情况,监控系统资源使用情况,以及进行进程相关的分析和管理。
示例:
ps -ef
注:相同命令名称的进程,但它们的PID可能不同是什么原因
相同命令名称的进程,但它们的PID(进程ID)可能不同的原因通常有以下几种:
1. 多个用户执行相同命令:如果有多个用户在系统上执行相同的命令,那么每个用户的命令实例都会有一个独立的进程ID。
2. 多个实例:有时候同一个用户可能会同时执行多个相同的命令,比如同时运行多个终端会话或者多个编辑器实例。每个命令的实例都会有自己的进程ID。
3. 线程:在Linux系统中,线程也会被视为进程,因此一个进程可能会有多个线程,每个线程都有自己的进程ID。
4. 守护进程:某些守护进程可能会以多个实例的方式运行,每个实例都有自己的进程ID。
总之,相同命令名称的进程拥有不同的进程ID是很正常的,因为进程ID是用来唯一标识每个进程的,不同的实例或者不同的上下文会导致它们拥有不同的进程ID。
有一个就相当于礼仪小姐,专门引人进门的
竖线符号 "|" 代表管道(pipe),它用于将一个命令的标准输出(stdout)连接到另一个命令的标准输入(stdin)。
简单来说:将第一个命令的结果交给第二个命令继续操作 ,后面可以一路加可以一路传
grep:文本查找
竖线符号 "|" 在Linux中表示管道,用于连接多个命令,使它们能够协同工作,实现更复杂的数据处理和操作。