王新阳

wangxinyang

Linux下面如何查看CPU,磁盘,内存,网络等资源使用情况

参考:https://blog.csdn.net/qq_21891743/article/details/131390588

top 命令是Linux系统下一个常用的命令行工具,用于实时监视系统中运行的进程和资源的使用情况。可以通过top命令查看CPU、内存、进程等系统资源的占用情况。

free -h 命令用于显示系统的物理内存和交换空间使用情况,可以方便地查看系统中的内存和交换分区的使用情况。

df -h 命令用于显示分区和文件系统的信息。

nginx伪静态配置

if ($uri !~ "^/manage\.php"){
  set $rule_0 1$rule_0;
}
if (!-f $request_filename){
  set $rule_0 2$rule_0;
}
if (!-d $request_filename){
  set $rule_0 3$rule_0;
}
if ($rule_0 = "321"){
  rewrite ^/(.*)$ /index.php/$1 last;
}


Linux目录详解

转自:https://w3h5.com/post/336.html

我们应该知道 Windows 有一个默认的安装目录专门用来安装软件。Linux 的软件安装目录也应该是有讲究的,遵循这一点,对后期的管理和维护也是有帮助的。

/usr 系统级的目录,可以理解为 C:/Windows/

/usr/lib 可理解为 C:/Windows/System32

/usr/local 用户级的程序目录,可以理解为 C:/Progrem Files/ 。用户自己编译的软件默认会安装到这个目录下。

/opt 用户级的程序目录,可以理解为 D:/Software , opt 有可选的意思,这里可以用于放置第三方大型软件(或游戏),当你不需要时,直接 rm -rf 掉即可。

在硬盘容量不够时,也可将 /opt 单独挂载到其他磁盘上使用。

源码放哪里?

/usr/src 系统级的源码目录。

/usr/local/src 用户级的源码目录。

拓展:

/opt

Here's where optional stuff is put. Trying out the latest Firefox beta? Install it to /opt where you can delete it without affecting other settings. Programs in here usually live inside a single folder whick contains all of their data, libraries, etc.

这里主要存放那些可选的程序。你想尝试最新的firefox测试版吗?那就装到/opt目录下吧,这样,当你尝试完,想删掉firefox的时候,你就可 以直接删除它,而不影响系统其他任何设置。安装到/opt目录下的程序,它所有的数据、库文件等等都是放在同个目录下面。

举个例子:刚才装的测试版firefox,就可以装到/opt/firefox_beta目录下,/opt/firefox_beta目录下面就包含了运 行firefox所需要的所有文件、库、数据等等。要删除firefox的时候,你只需删除/opt/firefox_beta目录即可,非常简单。

/usr/local

This is where most manually installed(ie. outside of your package manager) software goes. It has the same structure as /usr. It is a good idea to leave /usr to your package manager and put any custom scripts and things into /usr/local, since nothing important normally lives in /usr/local.

这里主要存放那些手动安装的软件,即不是通过"新立得"或apt-get安装的软件。它和/usr目录具有相类似的目录结构。让软件包管理器来管理/usr目录,而把自定义的脚本(scripts)放到/usr/local目录下面,我想这应该是个不错的主意。

常用目录及用途

/bin 存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里。

/etc 存放系统管理和配置文件

/home 存放所有用户文件的根目录,是用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示

/usr 用于存放系统应用程序,比较重要的目录/usr/local 本地系统管理员软件安装目录(安装系统级的应用)。这是最庞大的目录,要用到的应用程序和文件几乎都在这个目录。

/usr/x11r6 存放x window的目录

/usr/bin 众多的应用程序  

/usr/sbin 超级用户的一些管理程序  

/usr/doc linux文档  

/usr/include linux下开发和编译应用程序所需要的头文件  

/usr/lib 常用的动态链接库和软件包的配置文件  

/usr/man 帮助文档  

/usr/src 源代码,linux内核的源代码就放在/usr/src/linux里  

/usr/local/bin 本地增加的命令  

/usr/local/lib 本地增加的库

/opt 额外安装的可选应用程序包所放置的位置。一般情况下,我们可以把tomcat等都安装到这里。

/proc 虚拟文件系统目录,是系统内存的映射。可直接访问这个目录来获取系统信息。

/root 超级用户(系统管理员)的主目录(特权阶级^o^)

/sbin 存放二进制可执行文件,只有root才能访问。这里存放的是系统管理员使用的系统级别的管理命令和程序。如ifconfig等。

/dev 用于存放设备文件。

/mnt 系统管理员安装临时文件系统的安装点,系统提供这个目录是让用户临时挂载其他的文件系统。

/boot 存放用于系统引导时使用的各种文件

/lib 存放跟文件系统中的程序运行所需要的共享库及内核模块。共享库又叫动态链接共享库,作用类似windows里的.dll文件,存放了根文件系统程序运行所需的共享文件。

/tmp 用于存放各种临时文件,是公用的临时文件存储点。

/var 用于存放运行时需要改变数据的文件,也是某些大文件的溢出区,比方说各种服务的日志文件(系统启动日志等。)等。

/lost+found 每个分区默认都有一个 lost+found 目录,用来存放 fsck 过程中部分修复的文件的。

linux常用命令

来源:https://mp.weixin.qq.com/s/R9WWP63BYTQZBYGqZ07W0A

文件管理

目录操作

切换目录 cd

查看目录 ls

  • -l   列出文件详细信息 或者直接ll
  • -a   列出当前目录下所有文件及目录,包括隐藏的a(all)

创建目录 mkdir

  • -p      创建目录,若无父目录,则创建p(parent)

输出信息 echo

打印文件到命令行(查看文件) cat

改变文件所属用户 chown

改变文件所属组 chgrp

下载文件 wget

在文本文件中查找某个字符串 grep

统计文本中行数、字数、字符数 wc

部分显示 more/less

查找文件 find / -name 'auto.cnf'

创建空文件 touch

复制文件 cp

移动或重命名 mv

删除文件 rm

  • -r    递归删除,可删除子目录及文件

  • -f    强制删除

删除空目录 rmdir

树形结构显示目录,需要安装tree包  tree

显示当前目录 pwd

创建链接文件 ln

分页显示文本文件内容 more、less

显示文件头、尾内容  head、tail

vim操作

进入编辑器 vi/vim,vim三种模式:命令模式、插入模式、编辑模式。使用ESC或i或:来切换模式。

  • 进入编辑模式插入 i
  • 退出编辑模式 esc
  • 保存:后面输入w
  • 退出:后面输入q
  • 不保存退出:后面输入q!
  • 显示行号 set number
  • 查找关键字 /xxxx 按n跳到下一个,shift+n上一个
  • 复制光标所在行,并粘贴 yyp
  • h(左移一个字符←)、j(下一行↓)、k(上一行↑)、l(右移一个字符→)

打包压缩相关命令

打包压缩 tar\gzip\bzip2

  • -c归档文件
  • -x  压缩文件
  • -z gzip压缩文件
  • -j bzip2压缩文件
  • -v 显示压缩或解压缩过程 v(view)
  • -f 使用档名

例:

只打包,不压缩:tar -cvf /home/abc.tar /home/abc

打包,并用gzip压缩:tar -zcvf /home/abc.tar.gz /home/abc

打包,并用bzip2压缩:tar -jcvf /home/abc.tar.bz2 /home/abc

如果想解压缩,就直接替换上面的命令 tar -cvf / tar -zcvf / tar -jcvf 中的"c" 换成"x" 就可以了。

Linux管道

将一个命令的标准输出作为另一个命令的标准输入。也就是把几个命令组合起来使用,后一个命令除以前一个命令的结果。

例:grep -r "close" /home/* | more    在home目录下所有文件中查找,包括close的文件,并分页输出。

文件权限管理

三种基本权限

R:读,数值表示为 4

W:写,数值表示为 2

X:可执行,数值表示为1

[root@VM-16-2-centos ~]# ll
total 597952
-rw------- 1 root root  12387614 Aug 29  2021 apache-zookeeper-3.7.0-bin.tar.gz
-rw-r--r-- 1 root root 113304268 May  3 12:22 jdk-8u281-linux-x64.rpm

如上所示,jdk-8u281-linux-x64.rpm文件的权限为-rw-r--r--,一共十个字符,分成四段。

  • 第一个字符"-"表示普通文件;这个位置还可能会出现l链接;d表示目录

  • 第二三四个字符rw-表示当前所属用户的权限,所以用数值表示为 4+2=6

  • 第五六七个字符r--表示当前所属组的权限,所以用数值表示为 4

  • 第八九十个字符r--表示其他用户权限,所以用数值表示为 4

所以操作此文件的权限用数值表示为 644

更改权限

更改权限:sudo chmod [u所属用户  g所属组  o其他用户  a所有用户]  [+增加权限  -减少权限]  [r  w  x]  目录名

例如:有一个文件 filename,权限为-rw-r----x ,将权限值改为-rwxrw-r-x,用数值表示为765

sudo chmod u+x g+w o+r filename 也可以用数值表示 sudo chmod 765 filename

运行程序

命令行运行

运行./filename

退出ctrl+c

后台运行

运行 nohup command >out.file 2>&1 &

退出 ps -ef |grep 关键字 |awk '{print $2}'|xarg kill -9

服务方式运行

设置开机启动 systemctl enable

启动systemctl start

关闭systemctl stop

系统相关

系统管理命令

显示指定文件的详细信息,比ls更详细 stat

显示在线登陆用户 who

显示当前操作用户whoami

显示主机名hostname

显示系统信息uname

动态显示当前耗费资源最多进程信息top

显示瞬间进程状态  ps \ ps -aux

查看目录大小 du -h /home (带有单位显示目录信息)

查看磁盘大小 df -h (带有单位显示磁盘信息)

查看网络情况 ifconfig

测试网络连通 ping

显示网络状态信息 netstat

命令不会用了,看文档 如:man grep

[root@VM-16-2-centos ~]# man grep
GREP(1)                    General Commands Manual                       GREP(1)
NAME
       grep, egrep, fgrep - print lines matching a pattern

SYNOPSIS
       grep [OPTIONS] PATTERN [FILE...]
       grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]
……

清屏 clear

对命令重命名 alias ,如:alias showmeit="ps -aux" ,解除使用unaliax showmeit

杀死进程 kill,可以先用ps 或 top命令查看进程的id,然后再用kill命令杀死进程。kill -9 强制删除

防火墙

查看防火墙状态 firewall-cmd --state

停止防火墙 systemctl stop firewalld.service

禁止firewall开机启动 systemctl disable firewalld.service

关机和重启

关机 shutdown -h now

  • -r 关机重启

  • -h 关机不重启

  • now 立刻关机

重启 reboot

关机  halt

网络配置

查看网卡信息 ifconfig

网络配置 /etc/sysconfig/network-script/ifcfg-eth0

配置网卡 /etc/udev/rules.d/70-persistent-net.rules

用户管理

创建用户 useradd

设置密码 passwd

  • 存储组账号 /etc/group

  • 系统用户配置文件 /etc/passwd

存储用户账号的密码 /etc/shadow

存储用户组账号的密码/etc/gshadow

用户名useradd

用户名userdel

用户名adduser

组名groupadd

组名groupdel

给root设置密码passwd root

su root

su - root

系统环境变量/etc/profile

用户环境变量bash_profile

用户环境变量.bashrc

su user 切换用户,加载配置文件.bashrc

su - user 切换用户,加载配置文件/etc/profile ,加载bash_profile

更改文件的用户及用户组

sudo chown [-R] owner[:group] {File|Directory}

-rw-r--r-- 1 root root 113304268 May  3 12:22 jdk-8u281-linux-x64.rpm

例如:还以 jdk-8u281-linux-x64.rpm 为例。属于用户root,组root

要想切换此文件所属的用户及组。可以使用命令。

sudo chown daley:java jdk-8u281-linux-x64.rpm

安装软件

下载rpm安装包方式

安装 rpm -i jdk-XXX_linux-x64_bin.rpm

查找 rpm -qa | grep jdk

列表 rpm -qa | more

ubuntu dpkg 方式

查找dpkg -I | grep jdk

列表dpkg -I | more

安装dpkg -i jdk-XXX_linux-x64_bin.deb

yum方式

搜索 yum search jdk

安装 yum install java-11-openjdk.x86_64

删除 yum erase java-11 -openjdk.x86 64

配置文件 /etc/yum.repos.d/CentOS-Base.repo

ubuntu apt-get 方式

搜索 apt・cache search jdk

安装apt-get install openjdk-9-jdk

删除apt-get purge openjdk-9-jdk

配置文件/etc/apt/sources. Iist

下载压缩文件方式

编辑 .bashrc

环境变量配置

  • 打开环境变量文件 vi /etc/profile

  • 配置环境变量 export JAVA_HOME=/root/j d k-XXX_lin ux-x64

  • export PATH=$JAVA HOME/bin:$PATH

  • 刷新配置 source /etc/profile

linux基础知识

删除文件 rm
rm abc.php
rm /a/b/abc.php

递归删除目录和文件 rm -rf dirname
-r 递归删除
-f 强制删除不提示

删除空目录 rmdir

上传文件到当前目录 rz

下载文件 sz
sz abc.php
sz/a/b/abc.php

修改文件名 mv olename newname
mv a.jpg b.jpg

切换用户 su - username

解压zip文件 unzip
解压abc.zip到目录目录 unzip abc.zip

对单个文件重命名 mv
mv [path/]oldfilename [path/]newfilename

查找文件
$ find <检索路径> <选项> <搜索内容>

按文件名搜索,可以指定完整文件名,也可以使用通配符

find /usr/local -name "abc.jpg"
find /usr/local -name "abc*"

查看文件内容
1 cat - 显示文件内容
2 less - 向前或者向后查看文件内容
3 tail - 查看文件尾部的内容
4 head - 查看文件开头的内容
5 more - 分页显示文件内容

1 cat - 显示文件内容
使用cat命令时,如果文件内容过多,则只会显示最后一屏幕的内容。

cat指令的基本用法:
cat filename 查看名为filename的文件内容;
cat -n filename 查看文件名为filename的文件内容,并从1开始对所有输出的行数(包括空行)进行编号;
cat -b filename 查看名为filename的文件内容,并从1开始对所有的非空行进行编号;

2 less - 向前或者向后查看文件内容
less :查看文件内容时可以向前或向后随意查看内容。

less指令的基本用法;
less filename 查看文件filename的内容;
less -m filename 查看文件filename的内容,并在屏幕底部显示已显示内容的百分比;
上 | 下 : 逐行移动光标位置
空格键: 显示下一屏幕的内容;
回车键: 显示下一行的内容;
U键: 向前滚动半页;
Y键: 向前滚动一行
[pagedown]: 向下翻动一页;
[pageup]: 向上翻动一页;
q: 退出less命令

3 tail - 查看文件尾部的内容
tail:显示文件尾部的内容,默认情况下显示行10行。

tail指令的基本用法:
tail filename: 显示文件filename尾部10行的内容;
tail -n <行数> filename: 显示文件尾部的n行内容;
tail -n 5 filename: 显示文件filename末尾5行内容;
tail -c <字节数> filename: 显示文件尾部的n个字节内容;
tail -c 10 filename: 显示文件filename的末尾10个字节。

4 head - 查看文件开头的内容
head指令用于显示文件开头的内容,默认只显示文件的头10行内容。

head指令的基本用法:
head -n <行数> filename : 显示文件内容的前n行;
head -n 5 file1 : 显示文件file1的前5行内容
head -c <字节> filename : 显示文件内容的前n个字节;
head -c 10 file2 : 显示文件file2的前10个字节内容

5 more - 分页显示文件内容
more:以一页一页的形式显示文件内容,按空白键(space)显示下一页内容,按Enter键会显示下一行内容,按 b 键就会往回(back)一页显示。

基本用法如下:
more file1 : 查看文件file1的文件内容;
more -num file2 : 查看文件file2的内容,一次显示num行;
more +num file3 : 查看文件file3的内容,从第num行开始显示;
————————————————
原文链接:https://blog.csdn.net/m0_67402235/article/details/126434453



----------------------------------------------

以下转自:https://blog.csdn.net/m0_67392931/article/details/123771700

1、把/home目录下面的data目录压缩为data.zip
zip -r data.zip data #压缩data目录
2、把/home目录下面的data.zip解压到databak目录里面
unzip data.zip -d databak
3、把/home目录下面的a文件夹和3.txt压缩成为a123.zip
zip -r a123.zip a 3.txt
4、把/home目录下面的t.zip直接解压到/home目录里面
unzip t.zip
5、把/home目录下面的a1.zip、a2.zip、a3.zip同时解压到/home目录里面
unzip a*.zip
6、把/home目录下面w.zip里面的所有文件解压到第一级目录
unzip -j wt.zip

----------------------------------------------


以下转自:https://blog.csdn.net/weixin_39719989/article/details/116546788

rm是一个用于删除文件和目录的命令行实用程序,这是每个Linux用户都应该熟悉的基本命令之一。在本文中,我们将通过示例和最常见rm选项的说明来解释如何使用rm命令:删除多个文件、删除目录(文件夹)、删除前提示。
使用rm命令的方法


rm(remove)命令的一般语法如下:
rm [OPTIONS]... FILE...
默认情况下,在没有任何选项的情况下执行时,rm不会删除目录,也不会提示用户是否继续删除给定文件。


要删除单个文件,请使用rm命令,后跟文件名作为参数:
$ rm filename


如果你对父目录没有写入权限,则会出现"Operation not permitted"错误。
如果文件没有写保护,它将被删除,恕不另行通知,成功时,该命令不会产生任何输出并返回零。
删除写保护文件时,该命令将提示您进行确认,如下所示:
rm: remove write-protected regular empty file 'filename'?
键入y并按Enter键以删除该文件。
-f选项使rm永远不会提示用户并忽略不存在的文件和参数:
$ rm -f filename
如果要获取有关正在删除的内容的信息,请使用-v(详细)选项:
$ rm -v filename
返回信息:
removed 'filename'
删除多个文件
与unlink命令不同,rm允许你一次删除多个文件,为此,将文件名作为以空格分隔的参数传递:
$ rm filename1 filename2 filename3
你可以使用正则表达式来匹配多个文件,例如,要删除当前目录中的所有.png文件,请输入:
$ rm *.png
在使用正则表达式时,在运行rm命令之前,使用ls命令列出文件,这样你就可以看到哪些文件将被删除。
删除目录(文件夹)
要删除一个或多个空目录,请使用-d选项:
$ rm -d dirname
rm -d在功能上与rmdir命令相同。
要以递归方式删除非空目录及其中的所有文件,请使用-r(递归)选项:
$ rm -r dirname
删除前提示
-i选项使rm在删除之前提示用户输入每个文件:
$ rm -i filename1 filename2
要确认类型y并按Enter键:
rm: remove regular empty file 'filename1'?
rm: remove regular empty file 'filename2'?
删除三个以上的文件或递归删除目录时,要获得整个操作的单个提示,请使用-I选项:
$ rm -i filename1 filename2 filename3 filename4
系统将要求你确认删除所有给定的文件和目录:
rm: remove 4 arguments?
附:rm -rf
如果给定目录或目录中的文件是写保护的,则rm命令将提示你确认操作,要在不提示的情况下删除目录,请使用-f选项:
$ rm -rf dirname
rm -rf命令非常危险,应谨慎使用。

----------------------------------------------
2024-11-21 星期四 农历十月二十一