操作系统常用命令使用方法

一、远程

登录

方式一

ssh [ 远程主机用户名] @ [远程服务器主机名或IP地址] -p port

端口默认即可(-p 指定端口)
方式二

ssh -l [远程主机名用户] [远程服务器主机名或IP 地址] -p root
------------------------------------------------------------
-l :指定登录名称
-p:指定登录端口(等服务的端口非默认时,需要使用-p指定端口进行登录)

linux的SSH(远程登录)服务

上传文件、下载文件

# 下载文件 (如果操作的是文件夹则必须加上-r)
scp -r 目标用户名@目标主机IP地址:/目标文件的绝对路径  /保存到本机的绝对/相对路径   

# 上传文件
cp -r 本地要上传的文件名  用户名@ip:要上传到到远程的路径

------------------------------------------------------------- 
举例:
scp -r [email protected]:/home/mydir/ ./lili/test
 
在后续会提示输入“yes”此时,只能输“yes”而不能简单输入“Y”

二、文件增删改

mkdir – 创建目录

mkdir 文件名

mkdir -p 文件名  //递归创建,若上级目录不存在,会按目录层级自动创建目录

rmdir – 删除空目录

rmdir 目录名

rm – 删除文件

rm -rf 文件或目录
------------------
-r 删除目录
-f 强制执行

touch – 新建文件

touch 文件名

三、 拷贝

cp – 复制文件或目录

cp -rp 原文件或目录+要复制到的目录
-------------------------------------
-r 表示复制的是目录
-p 表示保留文件属性
若要改名,名字加在要复制到的目录后面即可
若此时已在当前目录下,则文件路径可不写,但要复制的文件和要复制到的位置要写

mv – 剪切文件、改名

mv 原文件或目录+目标目录  //剪切

mv 文件名+更改名

四、 解压缩

gzip / gunzip – 压缩文件 / 解压缩.gz的压缩文件

gzip 文件

gunzip 压缩文件

tar – 打包目录

tar 选项[-zcf]+压缩后的文件名称+压缩前的文件名
---------------------------------------------------
	-c	打包
	-v	显示详细信息
	-f	指定文件名
	-z	打包同时压缩
--------------------------------------------------
tar 选项[-zcf]+压缩后的文件名称+压缩前的文件名  //解压缩
	-x	解包
	-v	显示详细信息
	-f	指定解压文件
	-z	解压缩

zip / unzip – 压缩文件或目录 / 解压.zip的压缩文件

zip 选项[-r] 压缩后文件名+文件或目录

unzip 选项[-r] 压缩后文件名+文件或目录
-----------------------------------
	-r	压缩目录

bzip2 / bunzip2 – 压缩文件 / 解压缩

bzip2 选项[-k][文件]
---------------------------------
		-k 产生压缩文件后保留原文件
----------------------------------

bunzip2 选项[-k] 压缩文件
--------------------------------
		-k 解压缩后保留原文件

五、系统资源查看

1. Top 查看进程状态

2. vmstat – 虚拟内存统计

这个是虚拟内存统计(virtual memory statistics),也可以查看cpu、进程、内存、虚拟内存、还有一个硬盘IO的状态

在这里插入图片描述

字段 说明
procs进程信息 r代表等待运行进程数、越大系统越忙,b代表不可被唤醒的进程数量,越大越忙
memory信息: 交换内存、空闲内存、buff缓冲、cache缓存容量,单位都是KB
swap信息: si就是磁盘交换到内存的数据量、so是内存交换到磁盘中数据量,单位KB,数越大,性能越差,运维要在磁盘和内存间频繁交换数据
io信息: bi块设备中读取、bo写到块设备的数据量,越大IO越繁忙
system信息: in代表每秒被中断的进程次数、cs是每秒事件切换次数,数越大,代表系统和接口设备通信越繁忙
cpu字段 us非内核进程cpu占用、sy内核占用、id空闲cpu、wa等待io、st虚拟机所用cpu占用

3、free -h

查看内存占用情况
在这里插入图片描述
这里的参数和上面top中所介绍的差不多,只是加了一个-h的参数,便于人查看。

4、df -h

这里是查看磁盘使用情况
在这里插入图片描述

5、查看文件夹大小

du -sh * 查看当前路径下的文件大小
在这里插入图片描述

6、查看端口

lsof -I :端口号
ss -nplt
netstat -anp

7、查看进程 ps

ps -ef
ps aux(a代表所有进程、u显示归属用户以及内存使用、x显示没有控制端的进程、-e显示所用进程、-l长格式显示详细信息)
-------------------------------------------------------------
这里uid就是那个用户、pid就是进程的id、ppid父进程id、tty就是那个终端运行,rss实际占用物理内存大小,vsz就是虚拟内存、Time进程占用cpu时间、stat进程状态,start进程启动时间、time进程占用cpu运算时间,command运行进程的命令。

六、 网络管理

ifconfig – 查看和设置网卡信息

ifconfig 网卡名称+IP地址

traceroute – 显示数据包到主机间的路径

如果在某个节点断了,则在该节点出了问题
traceroute www.baidu.com

netstat – 显示网络相关信息

netstat 选项
-----------------------------------------------
		-t	TCP协议
		-u	UDP协议
		-l	监听
		-r	路由
		-n	显示IP地址和端口号

setup – 更改IP

扫描二维码关注公众号,回复: 16679205 查看本文章

mount – 挂载命令

mount -t 文件系统+设备文件名+挂载点

七、 服务启停等命令

自启动

一、直接修改配置文件,在配置文件中增加开机启动文件:
/etc/rc.local
/etc/rc.d/rc.local

#如:通过修改文件 /etc/rc.local(或者/etc/rc.d/rc.local)
# 1.编辑rc.local文件
vi /etc/rc.local
 
# 2.修改rc.local文件,在 exit 0 前面加入以下命令。保存并退出。
/etc/init.d/mysqld start                    # mysql开机启动
/etc/init.d/nginx start                     # nginx开机启动
supervisord -c /etc/supervisor/supervisord.conf         # supervisord开机启动
/bin/bash /server/scripts/test.sh >/dev/null 2>/dev/null
 
# 3.最后修改rc.local文件的执行权限
chmod +x /etc/rc.local
chmod 755 /etc/rc.local

二、将需要启动的文件,放在os的启动读取目录下面

# 1.将(脚本)启动文件移动到 /etc/init.d/或者/etc/rc.d/init.d/目录下。(前者是后者的软连接)
mv /www/wwwroot/test.sh /etc/rc.d/init.d

三、通过chkconfig命令设置

# 1.将(脚本)启动文件移动到 /etc/init.d/或者/etc/rc.d/init.d/目录下。(前者是后者的软连接)
mv /www/wwwroot/test.sh /etc/rc.d/init.d
 
# 2.启动文件前面务必添加如下三行代码,否侧会提示chkconfig不支持。
#!/bin/sh             告诉系统使用的shell,所以的shell脚本都是这样
#chkconfig: 35 20 80        分别代表运行级别,启动优先权,关闭优先权,此行代码必须
#description: http server     自己随便发挥!!!,此行代码必须
/bin/echo $(/bin/date +%F_%T) >> /tmp/test.log
 
# 3.增加脚本的可执行权限
chmod +x /etc/rc.d/init.d/test.sh
 
# 4.添加脚本到开机自动启动项目中。添加到chkconfig,开机自启动。
 cd /etc/rc.d/init.d
 chkconfig --add test.sh
 chkconfig test.sh on
 
# 5.关闭开机启动 
 chkconfig test.sh off
 
# 6.从chkconfig管理中删除test.sh
 chkconfig --del test.sh
 
# 7.查看chkconfig管理
 chkconfig --list test.sh

四、自定义服务文件,添加到系统服务,通过Systemctl管理
1.写服务文件

格式如下:
[Unit]:服务的说明
Description:描述服务
After:描述服务类别
 
[Service]服务运行参数的设置
Type=forking      是后台运行的形式
ExecStart        为服务的具体运行命令
ExecReload       为服务的重启命令
ExecStop        为服务的停止命令
PrivateTmp=True     表示给服务分配独立的临时空间
注意:启动、重启、停止命令全部要求使用绝对路径

2.文件保存在目录下:以754的权限。目录路径:/usr/lib/systemd/system。

如上面的supervisord.service文件放在这个目录下面。
cat /usr/lib/systemd/system/nginx.service
cat /usr/lib/systemd/system/supervisord.service

3.设置开机自启动(任意目录下执行)

如果执行启动命令报错,则执行:systemctl daemon-reload

设置开机自启动
systemctl enable nginx.service    
systemctl enable supervisord
 
停止开机自启动
systemctl disable nginx.service
systemctl disable supervisord
 
验证一下是否为开机启动
systemctl is-enabled nginx
systemctl is-enabled supervisord

4.服务文件示例:

# supervisord.service进程管理服务文件
[Unit]
Description=Process Monitoring and Control Daemon  # 内容自己定义:Description=Supervisor daemon
After=rc-local.service nss-user-lookup.target
 
[Service]
Type=forking
ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf
ExecStop= /usr/bin/supervisorctl shutdown 
ExecReload=/usr/bin/supervisorctl reload
Restart=on-failure
RestartSec=42s
KillMode=process 
 
[Install]
WantedBy=multi-user.target
 
# nginx.service服务文件
[Unit]
Description=nginx - high performance web server
After=network.target remote-fs.target nss-lookup.target
 
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
 
[Install]
WantedBy=multi-user.target
 
# redis.service服务文件
[Unit]
Description=Redis
After=network.target remote-fs.target nss-lookup.target
 
[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /etc/redis.conf
ExecStop=kill -INT `cat /tmp/redis.pid`
User=www
Group=www
 
[Install]
WantedBy=multi-user.target

开关机重启

一、关机命令

1.halt:立刻关机

2.poweroff:立刻关机

3.shutdown -h now:立刻关机(root用户使用)

4.shutdown -h 10:10分钟后自动关机

注:若使用shutdown命令设置关机,可以使用shutdown -c命令取消关机

二、重启命令

1.reboot:立刻重启

2.shutdown -r now:立刻重启

3.shutdown -r 10:10分钟自动重启(root用户使用)

4.shutdown -r 23.25 :在时间为23.23时候重启(root用户使用特定时间重启)

注:若使用shutdown命令设置关机,可以使用shutdown -c命令取消重启

三、具体说明

1.shutdown——最安全的关机命令,通过参数-h或-r的配合来完成关机和重启,需要注意的是只有拥有root用户权限后才能使用该命令。

2.halt——最简单的关机命令,halt执行时会杀死应用进程,执行sync系统调用,文件系统写操作完成后就会停止内核。

3.poweroff——最常用的关机命令

4.reboot——重启命令

5.init——init 0 为关机;init 1为重启

  1. 如何将某指令的查询结果输出到某个文件中,方法为:在该指令后加上 >
> 文件全路径名  
# 比如通过ls指令查看/users/ems目录下的所有文件及目录名称,
# 并将该ls指令查询结果输出到/users/ems/ls.txt文件中保存。该方法为:
ls /users/ems  >/users/ems/ls.txt
  1. 查看某个用户的主目录:使用该用户登陆操作系统后,输出cd ~或者cd,然后输入pwd
cd ~ 
cd
pwd
  1. ls指令:
ls(选项)(参数)
----------------------------------------------------
常用组合
[1]查看文件详情:ls -l 或 ll
[2]增强对文件大小易读性,以人类可读的形式显示文件大小: ls -lh
[3]对文件或者目录进行从大到小的排序: ls -lhs
[4]查看当前目录下的所有文件或者目录,包括隐藏文件: ls -la
[5]只查看当前目录下的目录文件: ls -d 
[6]按照时间顺序查看,从上到倒下时间越来越近: ls -ltr
[7]查看文件在对应的inode信息:ls -li

实例:
使用ems用户登陆操作系统,然后在ems主目录下使用ls指令和对应的指令参数,实现:查看当前目录下所有隐藏的目录和文件,查看结果根据文件修改时间正序/倒序排列,查看文件及目录的的权限、大小、修改时间等属性
执行的完整指令:ls -lhatr
结果截图:

猜你喜欢

转载自blog.csdn.net/QQ657205470/article/details/128930679