常用 Shell 命令
Linux
用户及权限管理
useradd(通用):仅创建账号,默认无密码且账户锁定,无法直接登录,必须用 passwd 用户名 设置密码。
用户名和密码的存储位置存储帐号的文件:/etc/passwd存储密码的文件:/etc/shadow2、可以使用cat、more、head、tail以及vim等命令查看或者修改,如下图所示:比如要查找系统中admin普通用户的密码,则执行:cat/etc/shadow|grep"admin"3、注意:/etc/shadow文件中的密码不是明文密码.如上图所示,第1个“:”号后面的即为“口令”字段,存放的是加密后的用户口令字,长度为13个字符.如果为空,则对应用户没有口令,登录时不需要口令;如果含有不属于集合{./0-9A-Za-z}中的字符,则对应的用户不能登录.
设置用户密码:passwd 用户名
[root@localhost /]# passwd omm
Changing password for user omm.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
进程及端口占用
Get-Process
通过进程名称获取: Get-Process -Name "chrome" (获取名为 chrome 的进程)。
通过进程 ID (PID) 获取: Get-Process -Id 1234 (获取 PID 为 1234 的进程)。
使用通配符: Get-Process -Name "ex*" (获取所有以 "ex" 开头的进程)
只显示有窗口标题的进程
Get-Process | Where-Object {$.MainWindowTitle -ne ""}
筛选出 CPU 累计占用超过 10 秒的进程
Get-Process | Where-Object {$.CPU -gt 10}
以表格形式显示 ID、名称、CPU、工作集
Get-Process | Format-Table Id, ProcessName, CPU, WorkingSet
查找 8080 端口被哪个 PID 占用
netstat -ano | findstr "8080"
防火墙
#检查关闭防火墙
systemctl status firewalld
#关闭防火墙
systemctl disable firewalld.service
systemctl stop firewalld.service
Windows Powershell
设置变量
powershell中变量以美元符”$”开始,其余字符可以是字母、下划线、数字任意字符,不区分大小。
如果包含路径,则值要使用双引号:
$JAVA8_HOME="D:\Develop\Java\JDK\oraclejdk1.8.0_361"
Powershell把变量的相关信息存放在variable:的驱动中。查看所有定义的变量的命令“ls variable:”,查询以a开头的变量如下:
$a1,$a2,$a3=10,20,30
ls variable:a*
变量的作用域
$global:全局变量,在所有的作用域有效。
$script:脚本变量,在脚本内部有效。
$private:私有变量,在当前作用域有效。
$local:默认变量,在当前作用域有效,其它作用域对它只有可读权限。
> $global:a=10
> $Private:b=20
> $Script:c=30
> $Local:d=40
使用变量来拼接文件路径,该如何做?
"$JAVA8_HOME/bin/java.bat" 会得到bat文件路径,但是不能直接执行命令
设置环境变量
$env:VariableName = "值",它对当前会话和子进程生效,与CMD的set命令不同。更通用的设置变量则是使用 Set-Variable -Name "MyVar" -Value
$env:MyPath = "C:\MyFolder\Data" # 设置名为 MyPath 的变量
$env:Path += ";C:\New\Path" # 向系统 Path 变量追加内容
通过$env:提示powershell忽略基本的variable:驱动器,先去环境变量env:驱动器中寻找变量。
通过ls env:可以查询所有的环境变量,通过$env:name就可以访问指定name的环境变量了。
命令别名
# Set-Alias -Name <别名> -Value <原始命令>
Set-Alias -Name ll -Value Get-ChildItem # 创建 ll 别名,等同于 Get-ChildItem`
永久别名 (推荐方式):
打开 PowerShell,输入echo $profile查看配置文件的路径(一般是C:\Users\xxx\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1),这个文件是和/etc/profile,~/.bashrc差不多的东西,打开命令行时会执行。
- 创建或编辑该文件,在其中添加 Set-Alias 或函数.
# 示例别名定义
Set-Alias -Name ls -Value Get-ChildItem
Set-Alias -Name cd -Value Set-Location
- 保存文件,重启 Windows Terminal 即可生效.
- (可选)以管理员身份打开 PowerShell,执行
Set-ExecutionPolicy RemoteSigned,允许本地脚本运行。
管理别名
查看所有别名: Get-Alias
查看特定命令的别名: Get-Alias -Definition Get-ChildItem
删除别名: Remove-Alias <别名>
导出别名: Export-Alias -Path C:\path\to\aliases.txt
导入别名: Import-Alias -Path C:\path\to\aliases.txt

浙公网安备 33010602011771号