Linux VPS下SSH常用命令
1、系统信息
arch:显示机器的处理器架构。
uname m:显示机器的处理器架构。
uname r:显示正在使用的内核版本。
dmidecode q:显示硬件系统部件。
hdparm i /dev/hda:罗列一个磁盘的架构特性。
hdparm tT /dev/sda:在磁盘上执行测试性读取操作。
cat /proc/cpuinfo:显示CPU的信息。
cat /proc/interrupts:显示中断。
cat /proc/meminfo:校验内存使用。
cat /proc/swaps:显示哪些swap被使用。
cat /proc/version:显示内核的版本。
cat /proc/net/dev:显示网络适配器及统计。
cat /proc/mounts:显示已加载的文件系统。
lspci tv:罗列 PCI 设备。
lsusb tv:显示 USB 设备。
2、关机与重启
shutdown h now:关闭系统。
init 0:关闭系统。
telinit 0:关闭系统。
shutdown h hours:minutes &:按预定时间关闭系统。
shutdown c:取消按预定时间关闭系统。
shutdown r now:重启。
reboot:重启。
logout:注销。
3、文件和目录操作
cd /home:进入 '/ home' 目录。
cd ..:返回上一级目录。
cd ../..:返回上两级目录。
cd:进入个人的主目录。
cd ~user1:进入个人的主目录。
cd –:返回上次所在的目录。
pwd:显示工作路径。
ls:查看目录中的文件。
ls F:查看目录中的文件。
ls l:显示文件和目录的详细资料。
ls a:显示隐藏文件。
**ls *[09]***:显示包含数字的文件名和目录名。
tree:显示文件和目录由根目录开始的树形结构。
lstree:显示文件和目录由根目录开始的树形结构。
mkdir dir1:创建一个叫做 'dir1' 的目录。
mkdir dir1 dir2:同时创建两个目录。
mkdir p /tmp/dir1/dir2:创建一个目录树。
rm f file1:删除一个叫做 'file1' 的文件。
rmdir dir1:删除一个叫做 'dir1' 的目录。
rm rf dir1:删除一个叫做 'dir1' 的目录并同时删除其内容。
rm rf dir1 dir2:同时删除两个目录及它们的内容。
mv dir1 new_dir:重命名/移动 一个目录。
cp file1 file2:复制一个文件。
**cp dir/.复制一个目录下的所有文件到当前工作目录。
cp a /tmp/dir1 .:复制一个目录到当前工作目录。
cp a dir1 dir2:复制一个目录。
ln s file1 lnk1:创建一个指向文件或目录的软链接。
ln file1 lnk1:创建一个指向文件或目录的物理链接。
touch t 0712250000 file1:修改一个文件或目录的时间戳 – (YYMMDDhhmm)。
file file1:outputs the mime type of the file as text。
iconv l:列出已知的编码。
4、文件搜索
find / name file1:从 '/' 开始进入根文件系统搜索文件和目录。
find / user user1:搜索属于用户 'user1' 的文件和目录。
**find /home/user1 name *.bin**:在目录 '/ home/user1' 中搜索带有'.bin' 结尾的文件。
find /usr/bin type f atime +100:搜索在过去 100 天内未被使用过的执行文件。
find /usr/bin type f mtime 10:搜索在 10 天内被创建或者修改过的文件。
**find / name *.rpm exec chmod 755 '{}' ;**:搜索以 '.rpm' 结尾的文件并定义其权限。
**find / xdev name *.rpm**:搜索以 '.rpm' 结尾的文件,忽略光驱、捷盘等可移动设备。
**locate *.ps**:寻找以 '.ps' 结尾的文件 – 先运行 'updatedb' 命令。
whereis halt:显示一个二进制文件、源码或man的位置。
which halt:显示一个二进制文件或可执行文件的完整路径。
5、磁盘空间
df h:显示已经挂载的分区列表。
ls lSr |more:以尺寸大小排列文件和目录。
du sh dir1:估算目录 'dir1' 已经使用的磁盘空间'。
**du sk| sort rn以容量大小为依据依次显示文件和目录的大小。
rpm q a –qf '%10{SIZE}t%{NAME}n' | sort k1,1n:以大小为依据依次显示已安装的rpm包所使用的空间 (fedora, redhat类系统)。
dpkgquery W f='${InstalledSize;10}t${Package}n' | sort k1,1n:以大小为依据显示已安装的deb包所使用的空间 (ubuntu, debian类系统)。
6、用户和群组
groupadd group_name:创建一个新用户组。
groupdel group_name:删除一个用户组。
groupmod n new_group_name old_group_name:重命名一个用户组。
useradd c "Name Surname " g admin d /home/user1 s /bin/bash user1:创建一个属于 "admin" 用户组的用户。
useradd user1:创建一个新用户。
userdel r user1:删除一。
SSH命令操作
1、连接与断开
ssh user@host:使用SSH连接到远程服务器。
exit:断开SSH连接。
2、文件传输
scp localfile user@host:remotepath:将本地文件复制到远程服务器。
scp user@host:remotefile localpath:将远程服务器上的文件复制到本地。
3、端口转发
ssh L localport:host:remoteport:将本地端口转发到远程服务器的指定端口。
ssh R remoteport:host:localport:将远程服务器的端口转发到本地的指定端口。
4、隧道(Tunneling)
ssh D localport user@host:设置SOCKS代理服务器。
5、X11转发
ssh X user@host:启用X11转发,允许在本地运行远程图形界面应用。
FAQs
1、问:如何通过SSH连接到VPS?
答:可以通过命令ssh user@host
来连接到VPS,其中user
是用户名,host
是VPS的IP地址或域名。
2、问:如何在VPS上查找文件?
答:可以使用find
命令来查找文件,例如find /path name filename
会在指定的路径下查找名为filename
的文件。
掌握这些SSH命令和操作,可以有效地管理和操作Linux VPS,提高工作效效率。
命令 | 操作描述 | 示例 |
ssh [用户名]@[主机名或IP] | 登录到远程主机 | ssh username@remotehost |
ssh [用户名]@[主机名或IP] p 端口号 | 通过指定端口号登录到远程主机 | ssh username@remotehost p 2222 |
ssh L 本地端口:本地主机:远程端口 [用户名]@[主机名或IP] | 创建SSH隧道,将远程主机的端口映射到本地主机 | ssh L 8000:localhost:80 username@remotehost |
ssh [用户名]@[主机名或IP] X | 启用X11转发,允许图形界面应用程序在本地运行 | ssh X username@remotehost |
ssh [用户名]@[主机名或IP] N | 仅建立SSH连接,不执行远程命令 | ssh N username@remotehost |
ssh [用户名]@[主机名或IP] T | 禁用X11转发 | ssh T username@remotehost |
ssh [用户名]@[主机名或IP] o StrictHostKeyChecking=no | 禁用主机密钥检查,用于快速连接到已知主机 | ssh o StrictHostKeyChecking=no username@remotehost |
sshkeygen | 生成SSH密钥对 | sshkeygen |
sshcopyid [用户名]@[主机名或IP] | 将本地SSH公钥复制到远程主机 | sshcopyid username@remotehost |
sshagent | 运行SSH代理,用于管理密钥 | sshagent |
sshadd | 向SSH代理添加密钥 | sshadd ~/.ssh/id_rsa |
sshagent D | 停止SSH代理 | sshagent D |
sshconfig | 显示SSH客户端配置文件的内容 | sshconfig |
ssh [用户名]@[主机名或IP] ls | 列出远程主机的文件和目录 | ssh username@remotehost ls |
scp [源文件路径] [用户名]@[主机名或IP]:[目标文件路径] | 使用SSH协议复制文件 | scp /local/file username@remotehost:/remote/file |
rsync [源路径] [用户名]@[主机名或IP]:[目标路径] | 使用SSH协议同步文件 | rsync /local/dir username@remotehost:/remote/dir |
这些命令和操作可能因Linux发行版和SSH客户端版本的不同而有所差异,在使用这些命令时,请确保您有相应的权限和配置。