linux常用命令
常用系统工作命令
echo命令
echo:常用于在终端输出字符串或变量提取后的值
显示普通字符
echo "这是一个字符串"
显示变量
#首先定义一个变量
export name ="Tom"
#将变量显示在终端
echo $name
将显示结果写入指定文档中
echo "test text" > test.txt
#使用>>在指定文件末尾追加而不覆盖原内容
echo $name >> test.txt
显示命令执行结果
echo 'pwd'
echo ${pwd}
echo pwd #输出pwd字符而不是结果
date命令
date:显示和设置系统时间和日期
参数说明
字符 | 说明 |
---|---|
%a | 当地时间的星期名缩写(例如: 日,代表星期日) |
%A | 当地时间的星期名全称 (例如:星期日) |
%b | 当地时间的月名缩写 (例如:一,代表一月) |
%B | 当地时间的月名全称 (例如:一月) |
%c | 当地时间的日期和时间 (例如:2005年3月3日 星期四 23:05:25) |
%C | 世纪;比如 %Y,通常为省略当前年份的后两位数字(例如:20) |
%d | 按月计的日期(例如:01) |
%D | 按月计的日期;等于%m/%d/%y |
%F | 完整日期格式,等价于 %Y-%m-%d |
%j | 按年计的日期(001-366) |
%p | 按年计的日期(001-366) |
%r | 当地时间下的 12 小时时钟时间 (例如:11:11:04 下午) |
%R | 24 小时时间的时和分,等价于 %H:%M |
%s | 自UTC 时间 1970-01-01 00:00:00 以来所经过的秒数 |
%T | 时间,等于%H:%M:%S |
%U | 一年中的第几周,以周日为每星期第一天(00-53) |
%x | 当地时间下的日期描述 (例如:12/31/99) |
%X | 当地时间下的时间描述 (例如:23:13:48) |
%w | 一星期中的第几日(0-6),0 代表周一 |
%W | 一年中的第几周,以周一为每星期第一天(00-53) |
date #按照默认格式输出当前系统时间
date "+%Y-%m-%d %H:%M:%S" #按照指定格式输出当前系统时间
date -s "20200220 20:20:20" #设置系统时间为20200220 20:20:20
校正系统时间与网络时间同步
yum -y install ntp #安装ntp校时工具
ntpdate time.nist.gov #用ntpdate从时间服务器更新时间
wget命令
wget:在终端下载文件
命令格式:wget 【参数】 下载地址
参数:
参数 | 说明 |
---|---|
-b | 后台下载 |
-P | 下载到指定目录 |
-t | 最大重试次数 |
-c | 断点续传 |
-p | 下载页面内所有资源,包括图片视频等 |
-r | 递归下载 |
ps命令
描述:常用于查看系统中得进程状态
参数 | 作用 |
---|---|
-a | 显示现行终端机下的所有程序,包括其他用户的程序 |
-u | 以用户为主的格式来显示程序状况 |
-x | 显示没有控制终端的进程,同时显示各个命令的具体路径 |
-e | 列出程序时,显示每个程序所使用的环境变量 |
-f | 显示当前所有的进程 |
-t | 指定终端机编号,并列出属于该终端机的程序的状况 |
常用组合
ps -ef|grep
ps -aux
top命令
描述:top命令动态地监视进程活动与系统负载等信息。
按‘q’键退出top命令
- 统计信息区
- 第一行信息依次为:系统时间、运行时间、登录终端数、系统负载(三个数值分别为1分钟、5分钟、15分钟内的平均值,数值越小意味着负载越低)。
- 第二行信息依次为:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。
- 第三行信息依次为:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等。
- 第四行信息依次为:物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量。
- 第五行信息依次为:虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、预加载内存量。
- 进程信息区
列名 | 含义 |
---|---|
PID | 进程ID |
USER | 进程所有者的用户名 |
PR | 进程优先级 |
NI | nice值。负值表示高优先级,正值表示低优先级 |
VIRT | 进程使用的虚拟内存总量,单位kb |
RES | 进程使用的、未被换出的物理内存大小,单位kb |
SHR | 共享内存大小,单位kb |
S | 进程状态D:不可中断的睡眠状态R:正在运行S:睡眠T:停止Z:僵尸进程 |
%CPU | 上次更新到现在的CPU时间占用百分比 |
%MEM | 进程使用的物理内存百分比 |
TIME+ | 进程使用的CPU时间总计,单位1/100秒 |
COMMAND | 命令名 |
pidof
描述:pidof命令用于查询指定服务进程的PID值
pidof crond #查询出crond服务下的所有进程ID
kill命令
描述:ill命令用于终止指定PID的服务进程
kill -9 pid #杀死对应pid的进程
kill -15 pid #尝试强制删除对应pid的程序
killall命令
描述:killall命令用于终止指定名称的服务对应的全部进程
killall 进程名称 #删除进程服务下的所有进程
系统状态检测命令
ifconfig命令
描述:ifconfig命令用于获取网卡配置与网络状态等信息
这个命令分别显示了网卡的状态信息、网卡的网络信息。
其中ech0表示第一块网卡,UP表示网卡开启状态,running表示网卡的网恋连接上了网络,MULTICAST表示支持组播;
inet表示IP地址,broadcast表示广播地址,netmask表示掩码地址
RX表示接收数据包的情况,TX表示发送数据包的情况
lo表示主机的回环网卡,是一种特殊的网络接口,不与任何实际设备连接,而是完全由软件实现。与回环地址(127.0.0.0/8 或 ::1/128)不同,回环网卡对系统显示为一块硬件。任何发送到该网卡上的数据都将立刻被同一网卡接收到。
uname命令
描述:uname命令用于查看系统内核与系统版本等信息
常用命令:
uname -a #显示系统信息
uname -i #显示系统的硬件架构
uname -r #查看系统的发行编号
uname -s #显示系统名称
uname -n #显示主机名称
uptime命令
描述:uptime 用于查看系统的负载信息
负载信息 | 命令输出值 |
---|---|
当前服务器时间 | 09:54:34 |
当前服务器运行时长 | 22:33, |
当前用户数 | 1 users |
当前负载情况 | load average: 0.03, 0.04, 0.02(分别取1min,5min,15min的均值) |
### free命令
描述:ree用于显示当前系统中内存的使用量信息
参数 | 说明 |
---|---|
-b | 以Byte为单位显示内存使用情况 |
-k | 以KB为单位显示内存使用情况 |
-m | 以MB为单位显示内存使用情况 |
-h | 以合适的单位显示内存使用情况,最大为三位数,自动计算对应的单位值。 |
free -h
参数 | 说明 |
---|---|
total | 物理内存总数 |
used | 已经使用的内存数 |
free | 空间的内存数 |
share | 多个进程共享的内存总额 |
buff/cache | 应用使用内存数 |
available | 可用的内存数 |
Swap | 虚拟内存 |
who命令
描述:who 命令显示关于当前在本地系统上的所有用户的信息。
who #显示当前登录系统的用户
who -l -H #显示用户登录来源
who -m -H #只显示当前用户
who -q #精简模式显示
last命令
描述: last 命令用于显示用户最近登录信息
history命令
描述:history命令用于显示历史执行过的命令
history -10 #显示最近10条命令
history -c #清除历史命令
磁盘管理命令
df命令
描述:该命令检查文件系统的磁盘空间占用情况。
df [参数] [目录或文件名]
df #显示磁盘使用情况
df -i #以inode模式来显示磁盘使用情况
df -aT #显示系统内的所有特殊文件格式、名称及磁盘使用情况
df -h #以GBytes、MBytes、KBytes等格式显示各文件系统容量
参数 | 说明 |
---|---|
-a | 列出所有的文件系统,包括系统特有的/proc等文件系统。 |
-k | 以KBytes为单位,返回各文件系统容量。 |
-m | 以MBytes为单位,返回各文件系统容量。 |
-h | 以GBytes、MBytes、KBytes为单位,返回各文件系统容量。 |
-H | 以M=1000K取代M=1024K的进位方式显示各文件系统容量。 |
-T | 显示文件系统类型。 |
-i | 显示inode信息。 |
du命令
描述:查看磁盘使用空间。du与df命令不同点在于,du命令用于查看文件和目录磁盘的使用空间
du [参数] [文件或目录名称]
du #列出当前目录下的所有文件夹的容量
du -a #列出当前目录下的所有文件夹和文件的容量
du -am /* #列出根目录底下每个目录所占用的容量,并以MBytes单位显示容量。
参数 | 说明 |
---|---|
-a | 列出所有的文件与目录容量。 |
-h | 以G、M、K为单位,返回容量。 |
-s | 列出总量。 |
-S | 列出不包括子目录下的总量。 |
-k | 以KBytes为单位,返回容量。 |
-m | 以MBytes为单位,返回容量。 |
fdisk命令
描述:该命令用于磁盘分区
fdisk [-l] 装置名称
fdisk -l #列出系统所有装置的分区信息
df / #列出系统中的根目录所在磁盘,并查阅该硬盘内的相关信息
fdisk /dev/vda #对磁盘/dev/vda进行分区操作
#上一步操作之后输入m获取帮助
#输入p查看磁盘状态
#输入q不保存任何操作离开
文件与权限命令
ls命令
描述: ls命令用于显示指定工作目录下的内容。
ls [参数] [目录名] #默认显示当前目录
参数 | 说明 |
---|---|
-a | 显示所有文件及目录(包括隐藏文件) |
-l | 将文件的权限、拥有者、文件大小等详细信息列出(ll等同于ls -l) |
-r | 将文件反序列出(默认按英文字母正序) |
-t | 将文件按创建时间正序列出 |
-R | 递归遍历目录下文件 |
pwd命令
描述:显示当前路径
cd命令
描述:切换工作目录
touch命令
描述:ouch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件
参数 | 说明 |
---|---|
-c | 如果指定文件不存在,不会建立新文件 |
-r | 使用参考文件的时间记录 |
-t | 设置文件的时间记录 |
mkdir命令
描述:mkdir命令用于新建子目录。-p参数确保目录名称存在,不存在的就新建一个。
rm命令
描述:rm命令用于删除一个文件或者目录
参数 | 说明 |
---|---|
-i | 删除前逐一询问确认 |
-f | 无需确认,直接删除 |
-r | 删除目录下所有文件 |
cp命令
描述: cp命令主要用于复制文件或目录
参数 | 说明 |
---|---|
-d | 复制时保留链接 |
-f | 覆盖已经存在的目标文件而不给出提示 |
-i | 覆盖前询问 |
-p | 除复制文件的内容外,还把修改时间和访问权限也复制到新文件中 |
-r | 复制目录及目录内的所有项目 |
mv命令
描述:mv命令用来为文件或目录改名、或将文件或目录移入其它位置
参数 | 说明 |
---|---|
-i | 若指定目录已有同名文件,则先询问是否覆盖旧文件 |
-f | 如果目标文件已经存在,不会询问而直接覆盖 |
mv [参数] [源文件] [目标文件]
chmod命令
描述:chmod命令用于修改文件权限mode,-R参数以递归方式对子目录和文件进行修改。
w写权限2,r读权限4,x执行权限1
#将hello.sh文件增加属主的执行权限。
chmod u+x hello.sh
#将hello.sh文件撤销属组的执行权限
chmod g-x hello.sh
u+x表示增加属主的执行权限,u表示属主,g表示属组,o表示其他,a表示所有用户。
例如efi目录的root用户权限为drwxr-xr-x.。
- 该目录对root用户具有读写和执行所有权限。
- 该目录对root组其他用户有读和执行权限。
- 该目录对其他用户有读和执行权限。
chown命令
描述:chown命令修改文件的属主和属组;-R参数以递归方式对子目录和文件进行修改;ls -l命令显示的第三列和第四列就是文件的属主和属组信息。
chown test test.txt #将test.txt的属主变更为test用户
chown admin:admin test.txt #将test.txt的属主和组变更为admin
chgrp命令
描述:chgrp命令用于修改文件的属组
#将test.txt文件的属组改为root
chgrp root root.txt