终端命令
SSH 最基本的用法
SSH
- 主要用于远程登录。假定你要以用户名user,登录远程主机host,只要一条简单命令就可以了。
ssh user@host
- 如果本地用户名与远程用户名一致,登录时可以省略用户名。
ssh host
- SSH的默认端口是22,也就是说,你的登录请求会送进远程主机的22端口。使用p参数,可以修改这个端口。
ssh -p 2222 user@host
上面这条命令表示,ssh直接连接远程主机的2222端口。
Linux 命令⼿册
shutdown -h now 即刻关机
shutdown -h 10 10分钟后关机
shutdown -h 11:00 11:00关机
shutdown -h +10 预定时间关机(10分钟后)
shutdown -c 取消指定时间关机
shutdown -r now 重启
shutdown -r 10 10分钟之后重启
shutdown -r 11:00 定时重启
reboot 重启
init 6 重启
init 0 ⽴刻关机
telinit 0 关机
poweroff ⽴刻关机
halt 关机
sync buff数据同步到磁盘
logout 退出登录Shell 关机/重启/注销常⽤命令 作⽤
uname -a 查看内核/OS/CPU信息
uname -r 查看内核版本
uname -m 查看处理器架构
arch 查看处理器架构
hostname 查看计算机名
who 显示当前登录系统的⽤户
who am i 显示登录时的⽤户名
whoami 显示当前⽤户名
cat /proc/version 查看linux版本信息
cat /proc/cpuinfo 查看CPU信息
cat /proc/interrupts 查看中断
cat /proc/loadavg 查看系统负载
uptime 查看系统运⾏时间、⽤户数、负载
env 查看系统的环境变量
lsusb -tv 查看系统USB设备信息
lspci -tv 查看系统PCI设备信息
lsmod 查看已加载的系统模块
系统信息和性能查看grep MemTotal /proc/meminfo 查看内存总量 grep MemFree /proc/meminfo 查看空闲内存量
free -m 查看内存⽤量和交换区⽤量
date 显示系统⽇期时间
cal 2021 显示2021⽇历表
top 动态显示cpu/内存/进程等情况
vmstat 1 20 每1秒采⼀次系统状态,采20次
iostat 查看io读写/cpu使⽤情况
sar -u 1 10 查询cpu使⽤情况(1秒⼀次,共10次)
sar -d 1 10 查询磁盘性能常⽤命令
作⽤ fdisk -l 查看所有磁盘分区
swapon -s 查看所有交换分区
df -h 查看磁盘使⽤情况及挂载点 df -hl 同上
du -sh /dir 查看指定某个⽬录的⼤⼩
du -sk * | sort -rn 从⾼到低依次显示⽂件和⽬录⼤⼩
mount /dev/hda2 /mnt/hda2 挂载hda2盘
mount -t ntfs /dev/sdc1 /mnt/usbhd1 指定⽂件系统类型挂载(如ntfs)
mount -o loop xxx.iso /mnt/cdrom 挂载iso⽂件
mount /dev/sda1 /mnt/usbdisk 挂载usb盘/闪存设备
umount -v /dev/sda1 通过设备名卸载
umount -v /mnt/mymnt 通过挂载点卸载
fuser -km /mnt/hda1 强制卸载(慎⽤) 磁盘和分区常⽤命令
作⽤ useradd codesheep 创建⽤户
userdel -r codesheep 删除⽤户
usermod -g group_name user_name 修改⽤户的组
usermod -aG group_name user_name 将⽤户添加到组
usermod -s /bin/ksh -d /home/codepig –g dev codesheep 修改⽤户codesheep的登录Shell、 主⽬录以及⽤户组
groups test 查看test⽤户所在的组
groupadd group_name 创建⽤户组
groupdel group_name 删除⽤户组
groupmod -n new_name old_name 重命名⽤户组
su - user_name 完整切换到⼀个⽤户环境
passwd 修改⼝令
passwd codesheep 修改某⽤户的⼝令
w 查看活动⽤户
id codesheep 查看指定⽤户codesheep信息
last 查看⽤户登录⽇志
crontab -l 查看当前⽤户的计划任务
cut -d: -f1 /etc/passwd 查看系统所有⽤户
cut -d: -f1 /etc/group 查看系统所有组 ⽤户和⽤户组常⽤命令
作⽤ ifconfig 查看⽹络接⼝属性
ifconfig eth0 查看某⽹卡的配置
route -n 查看路由表
netstat -lntp 查看所有监听端⼝
netstat -antp 查看已经建⽴的TCP连接
netstat -lutp 查看TCP/UDP的状态信息
ifup eth0 启⽤eth0⽹络设备
ifdown eth0 禁⽤eth0⽹络设备
iptables -L 查看iptables规则 ifconfig eth0 192.168.1.1 netmask 255.255.255.0
配置ip地址 dhclient eth0
以dhcp模式启⽤eth0 route add -net 0/0 gw Gateway_IP
配置默认⽹关 route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1
配置静态路由到达⽹络'192.168.0.0/16' route del 0/0 gw Gateway_IP 删除静态路由
hostname 查看主机名 ⽹络和进程管理host www.codesheep.cn 解析主机名 nslookup www.codesheep.cn 查询DNS记录,查看域名解 析是否正常 ps -ef 查看所有进程 ps -ef | grep codesheep 过滤出你需要的进程 kill -s name kill指定名称的进程 kill -s pid kill指定pid的进程 top 实时显示进程状态 vmstat 1 20 每1秒采⼀次系统状态,采 20次 iostat 查看io读写/cpu使⽤情况 sar -u 1 10 查询cpu使⽤情况(1秒⼀ 次,共10次) sar -d 1 10 查询磁盘性能常⽤命令 作⽤ chkconfig --list 列出系统服务 service <服务名> status 查看某个服务 service <服务名> start 启动某个服务 service <服务名> stop 终⽌某个服务 service <服务名> restart 重启某个服务 systemctl status <服务名> 查看某个服务 systemctl start <服务名> 启动某个服务 systemctl stop <服务名> 终⽌某个服务 systemctl restart <服务名> 重启某个服务 systemctl enable <服务名> 开启⾃启动 systemctl disable <服务名> 关闭⾃启动 常⻅系统服务命令常⽤命令 作⽤ cd <⽬录名> 进⼊某个⽬录 cd .. 回上级⽬录 cd ../.. 回上两级⽬录 cd 进个⼈主⽬录 cd - 回上⼀步所在⽬录 pwd 显示当前路径 ls 查看⽂件⽬录列表 ls -F 查看⽬录中内容(显示是⽂件还是⽬录) ls -l 查看⽂件和⽬录的详情列表 ls -a 查看隐藏⽂件 ls -lh 查看⽂件和⽬录的详情列表(增强⽂件⼤⼩易读性) ls -lSr 查看⽂件和⽬录列表(以⽂件⼤⼩升序查看) tree 查看⽂件和⽬录的树形结构 mkdir <⽬录名> 创建⽬录 mkdir dir1 dir2 同时创建两个⽬录 mkdir -p /tmp/dir1/dir2 创建⽬录树 rm -f file1 删除'file1'⽂件 rmdir dir1 删除'dir1'⽬录 ⽂件和⽬录操作rm -rf dir1 删除'dir1'⽬录和其内容 rm -rf dir1 dir2 同时删除两个⽬录及其内容 mv old_dir new_dir 重命名/移动⽬录 cp file1 file2 复制⽂件 cp dir/* . 复制某⽬录下的所有⽂件⾄当前⽬录 cp -a dir1 dir2 复制⽬录 cp -a /tmp/dir1 . 复制⼀个⽬录⾄当前⽬录 ln -s file1 link1 创建指向⽂件/⽬录的软链接 ln file1 lnk1 创建指向⽂件/⽬录的物理链接 find / -name file1 从跟⽬录开始搜索⽂件/⽬录 find / -user user1 搜索⽤户user1的⽂件/⽬录 find /dir -name *.bin 在⽬录/dir中搜带有.bin后缀的⽂件 locate <关键词> 快速定位⽂件 locate *.mp4 寻找.mp4结尾的⽂件 whereis <关键词> 显示某⼆进制⽂件/可执⾏⽂件的路径 which <关键词> 查找系统⽬录下某的⼆进制⽂件 chmod ugo+rwx dir1 设置⽬录所有者(u)、群组(g)及其他⼈(o)的读(r)写 (w)执⾏(x)权限 chmod go-rwx dir1 移除群组(g)与其他⼈(o)对⽬录的读写执⾏权限 chown user1 file1 改变⽂件的所有者属性 chown -R user1 dir1 改变⽬录的所有者属性 chgrp group1 file1 改变⽂件群组chown user1:group1 file1 改变⽂件的所有⼈和群组 常⽤命令 作⽤ cat file1 查看⽂件内容 cat -n file1 查看内容并标示⾏数 cat xxx.txt awk 'NR%2==1' tac file1 从最后⼀⾏开始反看⽂件内容 more file1 查看⼀个⻓⽂件的内容 less file1 类似more命令,但允许反向操作 head -2 file1 查看⽂件前两⾏ tail -2 file1 查看⽂件后两⾏ tail -f /log/msg 实时查看添加到⽂件中的内容 grep codesheep hello.txt 在⽂件hello.txt中查找关键词codesheep grep ^sheep hello.txt 在⽂件hello.txt中查找以sheep开头的内容 ⽂件查看和处理grep [0-9] hello.txt 选择hello.txt⽂件中所有包含数字的⾏ sed 's/s1/s2/g' hello.txt 将hello.txt⽂件中的s1替换成s2 sed '/^$/d' hello.txt 从hello.txt⽂件中删除所有空⽩⾏ sed '/ *#/d; /^$/d' hello.txt 从hello.txt⽂件中删除所有注释和空⽩⾏ sed -e '1d' hello.txt 从⽂件hello.txt 中排除第⼀⾏ sed -n '/s1/p' hello.txt 查看只包含关键词"s1"的⾏ sed -e 's/ *$//' hello.txt 删除每⼀⾏最后的空⽩字符 sed -e 's/s1//g' hello.txt 从⽂档中只删除词汇s1并保留剩余全部 sed -n '1,5p;5q' hello.txt 查看从第⼀⾏到第5⾏内容 sed -n '5p;5q' hello.txt 查看第5⾏ paste file1 file2 合并两个⽂件或两栏的内容 paste -d '+' file1 file2 合并两个⽂件或两栏的内容,中间⽤"+"区分 sort file1 file2 排序两个⽂件的内容 sort file1 file2 uniq sort file1 file2 uniq -u sort file1 file2 uniq -d comm -1 file1 file2 ⽐较两个⽂件的内容(去除'file1'所含内容) comm -2 file1 file2 ⽐较两个⽂件的内容(去除'file2'所含内容) comm -3 file1 file2 ⽐较两个⽂件的内容(去除两⽂件共有部分)常⽤命令 作⽤ zip xxx.zip file 压缩⾄zip包 zip -r xxx.zip file1 file2 dir1 将多个⽂件+⽬录压成zip包 unzip xxx.zip 解压zip包 tar -cvf xxx.tar file 创建⾮压缩tar包 tar -cvf xxx.tar file1 file2 dir1 将多个⽂件+⽬录打tar包 tar -tf xxx.tar 查看tar包的内容 tar -xvf xxx.tar 解压tar包 tar -xvf xxx.tar -C /dir 将tar包解压⾄指定⽬录 tar -cvfj xxx.tar.bz2 dir 创建bz2压缩包 tar -jxvf xxx.tar.bz2 解压bz2压缩包 tar -cvfz xxx.tar.gz dir 创建gzip压缩包 tar -zxvf xxx.tar.gz 解压gzip压缩包 bunzip2 xxx.bz2 解压bz2压缩包 bzip2 filename 压缩⽂件 gunzip xxx.gz 解压gzip压缩包 gzip filename 压缩⽂件 gzip -9 filename 最⼤程度压缩 打包和解压常⽤命令 作⽤ rpm -qa 查看已安装的rpm包 rpm -q pkg_name 查询某个rpm包 rpm -q --whatprovides xxx 显示xxx功能是由哪个包提供的 rpm -q --whatrequires xxx 显示xxx功能被哪个程序包依赖的 rpm -q --changelog xxx 显示xxx包的更改记录 rpm -qi pkg_name 查看⼀个包的详细信息 rpm -qd pkg_name 查询⼀个包所提供的⽂档 rpm -qc pkg_name 查看已安装rpm包提供的配置⽂件 rpm -ql pkg_name 查看⼀个包安装了哪些⽂件 rpm -qf filename 查看某个⽂件属于哪个包 rpm -qR pkg_name 查询包的依赖关系 rpm -ivh xxx.rpm 安装rpm包 rpm -ivh --test xxx.rpm 测试安装rpm包 rpm -ivh --nodeps xxx.rpm 安装rpm包时忽略依赖关系 rpm -e xxx 卸载程序包 rpm -Fvh pkg_name 升级确定已安装的rpm包 rpm -Uvh pkg_name 升级rpm包(若未安装则会安装) rpm -V pkg_name RPM包详细信息校验 RPM包管理命令常⽤命令 作⽤ yum repolist enabled 显示可⽤的源仓库 yum search pkg_name 搜索软件包 yum install pkg_name 下载并安装软件包 yum install --downloadonly pkg_name 只下载不安装 yum list 显示所有程序包 yum list installed 查看当前系统已安装包 yum list updates 查看可以更新的包列表 yum check-update 查看可升级的软件包 yum update 更新所有软件包 yum update pkg_name 升级指定软件包 yum deplist pkg_name 列出软件包依赖关系 yum remove pkg_name 删除软件包 yum clean all 清除缓存 yum clean packages 清除缓存的软件包 yum clean headers 清除缓存的header YUM包管理命令常⽤命令 作⽤ dpkg -c xxx.deb 列出deb包的内容 dpkg -i xxx.deb 安装/更新deb包 dpkg -r pkg_name 移除deb包 dpkg -P pkg_name 移除deb包(不保留配置) dpkg -l 查看系统中已安装deb包 dpkg -l pkg_name 显示包的⼤致信息 dpkg -L pkg_name 查看deb包安装的⽂件 dpkg -s pkg_name 查看包的详细信息 dpkg –unpack xxx.deb 解开deb包的内容 DPKG包管理命令常⽤命令 作⽤ apt-cache search pkg_name 搜索程序包 apt-cache show pkg_name 获取包的概览信息 apt-get install pkg_name 安装/升级软件包 apt-get purge pkg_name 卸载软件(包括配置) apt-get remove pkg_name 卸载软件(不包括配置) apt-get update 更新包索引信息 apt-get upgrade 更新已安装软件包 apt-get clean 清理缓存
配置
概述
配置是建立IT基础设施的过程。它还可以参考管理数据和资源访问所需的步骤,并将其提供给用户和系统。
配置与配置不同,但它们都是部署过程中的步骤。配置完内容后,下一步就是配置。
当使用“配置”一词时,它可以指许多不同类型的配置,例如服务器配置、网络配置、用户配置、服务配置等。
服务器配置
服务器配置是根据所需资源设置服务器在网络中使用的过程。
配置可以包括创建新机器并将其带到工作状态所需的所有操作,并包括定义系统所需的状态。
服务器配置包括在数据中心设置物理硬件,安装和配置软件,包括操作系统和应用程序,并将其连接到中间件、网络和存储。
用户配置
用户配置是一种监控访问权限和授权权限的身份管理。配置是通过用户对象定义的,例如员工、供应商、承包商等和用户属性。提供的服务可能包括电子邮件、访问数据库或访问网络。
配置基于角色的访问控制(RBAC)是用户配置的一个例子。RBAC通常由权限、角色、组和用户组成。
用户被分配到一个或多个组,组被分配给角色(例如只读、编辑器或管理员),角色由权限组成。
用户配置通常在IT和人力资源之间进行管理。
网络配置
网络配置可以包括设置供用户、服务器、容器和物联网设备访问的网络等。在当今互联的世界中,有许多不同类型的项目是网络消费者。
电信行业经常使用网络配置来指向用户提供电信服务,包括所需的设备和布线。它还可能包括为用户激活无线环境的服务。
服务配置
服务配置包括设置服务和管理与之相关的数据。服务配置在电信行业、为客户设置服务以及云基础设施方面都有应用。
例如,云服务配置是云计算的自助服务组件。用户无需IT人员的帮助,即可通过自助门户获得云服务。
如何自动配置
过去,IT基础设施配置通常是手动处理的,包括设置物理服务器和将硬件配置到所需的设置。如果您需要额外的容量,则必须订购更多硬件,等待它到达,然后进行设置并配置。
今天,基础设施现在通常用软件定义,虚拟化和容器加快了配置过程,同时消除了频繁硬件配置和管理的需求。配置也可以通过自动化来处理。
虚拟基础设施也增加了许多企业环境的规模和容量,这伴随着自身的挑战。开发人员仍然需要为每个新部署配置虚拟基础设施,手动配置很耗时,容易出现人为错误。
当开发人员手动管理每次部署的配置时,很难跟踪更改和控制版本,并避免错误和不一致。
基础设施即代码(IaC)提供了一个解决方案,并使您的基础设施自动化成为可能。
IaC是通过代码而不是手动流程管理和配置基础设施。
使用IaC自动配置基础设施意味着开发人员无需每次开发或部署应用程序时手动配置和管理服务器、操作系统、存储和其他基础设施组件。
使用IaC,创建包含基础架构规范的配置文件。这剥夺了开发人员的大部分配置工作,他们只需要执行脚本即可准备好基础架构。
IaC确保您每次都提供相同的环境。
将基础架构作为代码部署还意味着您可以将基础架构划分为模块化组件,然后可以通过自动化以不同方式组合。
编纂您的基础设施为您提供了一个模板进行配置,尽管这仍然可以手动完成,但自动化工具,如Red HatR Ansible AutomationR平台,可以为您完成。
使用Ansible Automation Platform,使用剧本来描述基础架构的所需状态,然后该工具可以配置。您还可以使用Ansible自动化平台进行配置管理,以将系统保持在所需的状态。
自动化配置任何基础设施是自动化应用程序运行生命周期的第一步。
转换镜像格式
Cloud Virtual Machine
实例镜像=已挂载的系统盘镜像+数据盘镜像
导入
- 格式:qcow2、vmdk、vhd、raw;
- 大小:导入镜像的实际文件大小不得超过50GB(按转换为 qcow2 格式的镜像文件为准)、导入镜像的系统盘大小不得超过500GB;
- 分区:不支持 GPT 分区 / Linux 支持 xfs、ext2、ext3、ext4 / Windows 支持 NTFS/支持 MBR分区;
- 网络:默认为实例提供 eth0 网络接口、修改网卡名字为 eth0、修改 selinux配置为disabled、关闭 DNS查找、ttyS0服务要打开;
- 驱动:必须安装虚拟化平台 KVM 的 Virtio 驱动/镜像需安装 cloud-init,以保证能成功配置 hostname、NTP源和yum源;
方法
- 通过 qemu-img 工具将其他格式的镜像文件转换为 VHD 或 RAW 格式;
- KMS 客户端设置密钥
- 实例元数据
- 详情参考 Linux 导入镜像安装
- 详情参考 Linux 导入镜像检查 Virtio 驱动
- 如因其它原因,镜像无法安装 cloudinit,请根据强制导入镜像自行配置实例 ;
- 制作 Linux 镜像;
- 制作 Windows 镜像、Windows 操作系统安装 ;
- 1腾讯云导出镜像
转换镜像格式-命令行
Windows 操作系统
验证环境变量配置
-
按 Win + R,打开运行窗口。
-
在“运行”窗口中,输入 cmd 打开命令行。
-
执行以下命令,根据返回结果判断环境变量是否配置成功
qemu-img --help
cd <源镜像文件所在的目录>
qemu-img convert -f <源镜像文件格式> -O <目标镜像格式> <源镜像文件名> <目标镜像文件名>
转换镜像格式
在命令行中,执行以下命令,切换至镜像文件所在目录
cd <源镜像文件所在的目录>
执行以下命令,转换镜像格式
qemu-img convert -f <源镜像文件格式> -O <目标镜像格式> <源镜像文件名> <目标镜像文件名>
参数说明如下:
-f
:参数值为源镜像文件的格式。-O
(必须为大写):参数值为目标镜像格式、源镜像文件名和目标文件名。
例如,执行以下命令,将test.qcow2
镜像文件转换为test.raw
。
qemu-img convert -f qcow2 -O raw test.qcow2 test.raw
转换完成后,目标文件会出现在源镜像文件所在的目录下。