【LINUX相关】

一、Linux怎么进行查看日志?

复制代码
首先得问问开发项目日志存放在哪里,可以使用多种命令来查看日志。

常用的命令包括tail、cat、less和grep等。

例如:

1、使用tail命令可以实时查看日志文件的最新内容:tail -f log_file,
2、使用cat命令可以查看整个日志文件的内容,
3、使用less命令可以分页查看日志文件的内容,
4、使用grep命令可以根据关键字搜索日志文件中的内容。


与 less 命令相比,more 命令有一些限制,例如不能向上滚动屏幕(只能向下滚动),也不能编辑文件内容

二、Linux查看文件用什么命令

复制代码
在 Linux 系统中,有多种命令可以用来查看文件。以下是一些常用的命令:

1. **cat**:用于显示整个文件的内容。

   cat filename


2. **less**:用于分页显示文件内容,可以向上或向下滚动。

   less filename


3. **more**:也用于分页显示文件内容,但只能向下滚动。

   more filename


4. **head**:默认情况下,显示文件的前 10 行。

   head filename


5. **tail**:默认情况下,显示文件的最后 10 行。

   tail filename


6. **grep**:用于在文件中搜索指定的模式或字符串。

   grep "pattern" filename
 

7. **vi** 或 **vim**:文本编辑器,可以用来查看和编辑文件。

   vi filename


8. **nano**:另一个文本编辑器,也可以用来查看和编辑文件。--不常用

   nano filename

三、说一下你常用的Linux 命令

复制代码
1. 文件和目录操作命令:如ls、cd、cp、mv、rm等,用于管理文件和目录。

2. 系统监控命令:如top、free、df、du等,用于监控系统资源使用情况。

3. 网络管理命令:如ifup、ifdown、netstat、ss等,用于管理网络设备和查看网络状态。

4. 系统管理命令:如man、help、basename、dirname等,用于获取系统信息和查看文件属性。

5. 压缩和解压缩命令:如tar、gzip、unzip等,用于压缩和解压缩文件。

6. 进程管理命令:如ps、kill、pkill等,用于查看和管理进程。

7. 备份和恢复命令:如cpio、dd、tar等,用于备份和恢复数据。

8. 系统安全命令:如chown、chmod、chattr等,用于设置文件权限和所有权。

9. 软件包管理命令:如apt、yum、dnf等,用于安装、更新和卸载软件包。

10. 日志查看命令:如grep、tail、cat等,用于查看和分析系统日志。

1、ls - 列出当前目录下的文件和目录。
2、cd - 更改当前工作目录。
3、pwd - 显示当前工作目录的路径。
4、mkdir - 创建新目录。
5、rm - 删除文件或目录。
6、cp - 复制文件或目录。
7、mv - 移动或重命名文件或目录。
8、cat - 将文件内容显示在标准输出上。
9、less - 分页显示文件内容。
10、grep - 在文件中搜索特定的模式或文本。
11、find - 在文件系统中搜索文件和目录。
12、tar - 用于创建和解压缩归档文件。
13、ssh - 远程登录到其他计算机。
14、ping - 测试网络连接。
15、sudo - 以超级用户身份执行命令。
16、apt-get (或 yum, dnf 等) - 用于安装和管理软件包。
17、top (或 htop) - 显示系统的实时资源使用情况。
18、df - 显示磁盘空间使用情况。
19、free - 显示系统的内存使用情况。
20、man - 查看命令的帮助文档。

四、在Linux中切换用户身份用什么命令

在Linux中(不管是RedHat还是CentOS),从root 用户切到

userl 用户,一般用什么命令?

复制代码
Red Hat 和 CentOS 都是流行的 Linux 发行

Red Hat 是一个商业产品,提供了额外的支持和服务;

而 CentOS 是一个社区驱动的项目,免费提供给所有用户。

su 命令

su (superuser) 命令允许你以另一个用户的身份运行命令,包括 root 用户。使用 su 命令,你需要知道目标用户的密码。

基本用法:su [username]
示例:su userl 将以 userl 用户的身份登录。回车后,需要输入密码
用途:主要用于临时切换到其他用户环境

sudo 命令
sudo (superuser do) 命令允许你以 root 用户或其他用户的身份执行命令,而无需密码直接登录为该用户。使用 sudo 命令,你需要输入自己的用户密码(而不是目标用户的密码),并且你的系统管理员必须事先授权你使用 sudo。


基本用法:sudo [command]
示例:sudo apt-get update 将以 root 用户的身份更新软件包列表。
用途:主要用于执行需要 root 权限的操作,同时提供了更细粒度的权限控制和日志记录功能。

主要区别

1、身份验证:su 需要目标用户的密码,而 sudo 需要当前用户的密码。
2、授权:su 不需要预先授权,任何用户都可以尝试使用;sudo 需要系统管理员配置和授权。
3、安全性:sudo 提供了更高的安全性,因为它允许管理员精确控制哪些用户可以执行哪些命令。
4、日志记录:sudo 会记录所有使用 sudo 执行的命令,方便审计和追踪;su 则不提供此功能。
5、用途:su 是一个更传统的命令,适合在需要临时切换到其他用户环境时使用;
   而 sudo 是一个更现代的工具,适合在需要执行特权操作时使用,尤其是在多用户环境中。

五、Linux 中,一般隐藏文件是什么样的?

复制代码
隐藏文件通常以点(.)开头。例如,.bashrc、.gitignore等都是隐藏文件。
这些文件通常用于存储配置信息或临时文件等


这些文件在默认情况下不会在文件浏览器或命令行中显示,除非你使用特定的命令或设置来查看它们。

例如,一个名为 .bashrc 的隐藏文件在标准的 ls 命令输出中不会显示。

要查看包括隐藏文件在内的所有文件,你需要使用 ls -a 或 ls -al 命令。

隐藏文件通常用于存储用户配置、系统设置或其他不希望在日常操作中频繁看到的文件。

例如,.bashrc 文件包含了 Bash shell 的配置信息,.ssh 目录存放了 SSH 密钥和其他相关文件。

请注意,Linux 中没有专门的"隐藏"属性,任何文件只要文件名以点号(.)开头,就会被视为隐藏文件。

六、Linux 中,怎么显示隐藏文件?

可以使用ls命令加上"-a"选项来显示所有文件,包括隐藏文件。 例如,ls -a命令将显示当前目录下的所有文件和目录,包括以点(.)开头的隐藏文件。

复制代码
1、使用 ls -a 命令:
这个命令会列出当前目录下的所有文件,包括隐藏文件。其中 -a 选项表示显示所有文件。

2、使用 ls -al 命令:
这个命令不仅显示所有文件,还会以长格式显示文件的详细信息,包括权限、所有者、大小、修改日期等。

3、在文件浏览器中显示隐藏文件:
大多数 Linux 文件浏览器都提供了一个选项,可以在视图中显示隐藏文件。例如,在 Nautilus 文件浏览器中,你可以通过点击顶部菜单栏的 View -> Show Hidden Files 来显示隐藏文件。

七、Linux 系统中,一个文件的访问权限是755,其含义是什么?

复制代码
在 Linux 系统中,文件的访问权限通常用一个三位数字表示,称为文件模式或权限码。
这个数字每一位都表示不同的用户组对该文件的访问权限。
从左到右,这三位数字分别代表:

1、文件所有者(User)的权限
2、文件所属组(Group)的权限
3、其他用户(Others)的权限

每一位数字又由三个数字组成,分别对应读取(Read)、写入(Write)和执行(Execute)权限。
这些数字的值是:

4 表示读取权限
2 表示写入权限
1 表示执行权限

如果某一类用户(所有者、所属组或其他用户)拥有某种权限,则相应的二进制位被设置为1,否则为0。

所以,权限码755的含义是:

文件所有者(User)有读取(4)、写入(2)和执行(1)权限,总共是7。
文件所属组(Group)和其他用户(Others)都只有读取(4)和执行(1)权限,总共是5。
因此,权限码755意味着文件所有者可以读取、写入和执行该文件,而所属组和其他用户只能读取和执行该文件。

八、如何查看CPU 信息?

复制代码
在 Linux 系统中,可以通过以下几种方式来查看 CPU 信息:

1、使用 lscpu 命令:
这个命令提供了关于系统 CPU 的详细信息,包括每个 CPU 的型号、核心数、线程数、主频等。

lscpu

2、使用 cat /proc/cpuinfo 命令:
这个命令会显示一个包含 CPU 信息的文本文件,其中包括了每个 CPU 的详细信息。


3、使用 grep 命令从 /proc/cpuinfo 文件中提取特定信息,例如,查看 CPU 型号:

grep "model name" /proc/cpuinfo

4、使用 dmidecode 命令:

这个命令可以显示系统的硬件信息,包括 CPU。需要注意的是,这个命令可能需要 root 权限才能运行。

sudo dmidecode -t processor

以上这些命令都可以在 Linux 终端中执行

九、如何查看占用CPU 使用率最高的进程?

1、linux

复制代码
linux可以使用top或ps命令来查看占用CPU使用率最高的进程。

top命令可以实时显示系统中各个进程的资源占用状况,

ps命令可以查询系统中各个进程的资源占用状况。

使用这些命令可以查看进程的CPU使用率、内存占用等信息

2、windows

快捷键:ctrl+shift+Esc

打开任务管理器

或者

cmd :tasklist

十、查看占用CPU 使用率最高的前五个进程?

1、linux

复制代码
top -n 1 -o %CPU | head -n 6

这个命令的含义如下:

top -n 1:表示只查看一次top的输出结果。

-o %CPU:表示按照CPU使用率进行排序。

head -n 6:表示只输出前六个结果,即占用CPU使用率最高的前五个进程以及总计。

执行该命令后,终端会显示当前系统中占用CPU使用率最高的前五个进程的详细信息,包括进程ID、用 户、CPU使用率等。

复制代码
ps -eo pid,ppid,cmd,%cpu,%mem --sort=-%cpu | head -n 5
  • ps -eo pid,ppid,cmd,%cpu,%mem: 显示进程的 PID、父进程 PID、命令名称、CPU 使用率和内存使用率。
  • --sort=-%cpu: 按照 CPU 使用率降序排序(注意这里的 - 符号表示降序)。
  • head -n 5: 只显示前五行结果。

3)

复制代码
top -b -n 1 | grep "^[0-9]" | sort -k9 -nr | head -n 5

十一、怎么查看对应的启动进程号/当前应用的进程号?

1、ps -ef |grep 进程名

可以使用ps命令结合grep命令来查找对应进程的进程号(PID)。 例如:

要查找名为"nginx"的进程的PID,可以使用以下命令:ps -ef | grep nginx,该命令将显示与

"nginx"相关的进程信息,包括PID。

要查找当前应用的进程号,可以使用ps命令加上"-p"选项和进程名或PID。例如,ps -p 12345将显示PID为12345的进程信息。

带双引号也ok

2、只显示进程号

1)ps -C 进程名

查找名为 chrome 的进程:ps -C chrome

2)pgrep 进程名
3)pidof 进程名

带双引号也ok

十二、怎么查看文件的前n行,后n行?

复制代码
可以使用head和tail命令来查看文件的前n行和后n行。

head命令用于查看文件的前n行,例如:head -n 10 filename将显示filename文件的前10行内容。

tail命令用于查看文件的后n行,例如:tail -n 10 filename将显示filename文件的最后10行内
容。

十三、如何过滤文件内容中包含"ERROR"的行?

复制代码
可以使用grep命令来过滤文件中包含特定关键词的行。

比如,要过滤文件中包含"ERROR"的行,可以使用以下命令:grep "ERROR" filename,该命令将输
出filename文件中包含"ERROR"关键词的所有行。

如果想要同时过滤多个关键词

可以使用grep的"-e"选项来指定多个模式。例如,grep -e "ERROR" -e "警告" 

filename将同时过滤包含"ERROR"和"警告"关键词的行

1、基本用法:

grep "ERROR" filename.txt
这将在终端中显示 filename.txt 中所有包含 "ERROR" 字符串的行。


2、忽略大小写:

grep -i "error" filename.txt
-i 选项使得 grep 命令忽略大小写差异,查找所有包含 "error"、"Error"、"ERROR" 等大小写变体的行。


3、只显示匹配的部分:

grep -o "ERROR" filename.txt
-o 选项告诉 grep 只显示匹配的部分,而不是整个行。

4、反向匹配:

grep -v "ERROR" filename.txt
-v 选项使得 grep 命令只显示不包含 "ERROR" 字符串的行。

5、只显示文件名:

grep -l "pattern" file1.txt file2.txt
-l 选项使得 grep 命令只显示包含匹配内容的文件名。

6、显示行号:

grep -n "pattern" file.txt
-n 选项使得 grep 命令在输出中包含行号。

十四、grep 和find 的区别?find 都有哪些用法?

复制代码
grep和find是两个不同的命令,它们的功能和使用场景有所不同。
主要的区别:

grep是一个文本搜索工具,用于在文件中搜索匹配特定模式的行并输出结果。

find是一个文件搜索工具,用于在目录树中搜索匹配特定条件的文件或目录,并执行相应的操作。

grep可以通过正则表达式指定搜索模式,支持复杂的文本匹配和替换操作。

find 可以根据文件名、类型、大小、修改时间等多种条件进行搜索。

find的用法

复制代码
1、搜索特定文件名:

find /path/to/directory/ -name "filename"
在 /path/to/directory/ 目录中搜索名为 "filename" 的文件。

2、搜索特定类型的文件:

find /path/to/directory/ -type f -name "*.txt"
在 /path/to/directory/ 中搜索所有以 ".txt" 结尾的文件。

3、搜索更改时间在某个时间点之后的文件:

find /path/to/directory/ -type f -mtime 0
在 /path/to/directory/ 中搜索今天更改的所有文件。

4、执行命令对找到的文件进行操作:

find /path/to/directory/ -type f -name "*.txt" -exec cat {} \;
在 /path/to/directory/ 中搜索所有以 ".txt" 结尾的文件,并使用 cat 命令显示它们的内容。

十五、查看 IP 地址?

查看本机的IP地址,可以使用以下命令:

1、ifconfig

这个命令会列出所有网络接口的详细信息,包括 IP 地址、子网掩码、广播地址等。

(ifconfig 在某些最新版本的 Linux 发行版中可能默认不安装,因为已被 ip 命令取代)

2、ip addr show

这个命令会显示网络接口的状态和配置信息,包括 IP 地址。

3、hostname -I

这个命令直接显示主机的 IP 地址。

4、ip route

这个命令显示当前的路由表,其中也包含了本机的 IP 地址。

十六、创建和删除一个多级目录?

复制代码
1、创建多级目录可以使用 mkdir 命令结合 -p 参数:

mkdir -p dir1/dir2/dir3/dir4


-p 选项表示如果路径中的某些目录不存在,系统将自动创建这些目录。
例如,假设你要创建 /home/user/documents/reports 目录,但 /home/user/documents 目录可能不存在,使用 -p 可以确保所有必要的父目录都被创建。

或者一层一层逐级创建

mkdir /path/to/new
mkdir /path/to/new/directory
这种方法需要逐级创建每个目录。如果你知道所有父目录都已经存在,这种方法也有效。


2、删除多级目录(包括其中的所有文件和子目录)可以使用 rm 命令结合 -r(或 -R)参数:

rm -r dir1

-r 选项告诉 rm 命令递归地删除目录及其所有子目录和文件。
请小心使用这个命令,因为它会永久删除指定的目录和文件。

十七、在当前用户根目录中查找haha.txt 文件?

find ~/ -name haha.txt

复制代码
根目录 (/): 根目录是文件系统的顶层目录,所有其他目录都是从根目录开始的。

用户主目录 (~): 用户主目录是每个用户的个人目录,通常包含该用户的个人文件和配置。
用户主目录可以用波浪号 (~) 来表示。例如,~/Documents 将指向当前用户的 Documents 目录。

十八、如何查询出tomcat 的进程并杀掉这个进程,写出linux 命令?

复制代码
1、查询 Tomcat 进程:

ps aux | grep tomcat

这将显示所有包含 "tomcat" 关键字的进程,并提供每个进程的详细信息,包括进程 ID (PID)。

2、杀死 Tomcat 进程:

使用 kill 命令和 PID 杀死进程:

kill <PID>

将 <PID> 替换为要杀死的 Tomcat 进程的实际 PID。

如果你想强制杀死进程(例如,如果进程没有响应),可以使用 -9 选项:

kill -9 <PID>

这将立即终止进程。

简化版本

1、你也可以使用 pkill 命令来查找并杀死所有名称包含 "tomcat" 的进程:

pkill tomcat

2、如果你想强制杀死进程,可以使用 -f 和 -9 选项:
pkill -f -9 tomcat

请注意,在杀死进程之前,确保你知道自己在做什么,并且已经保存了所有未保存的工作。强制杀死进程可能会导致数据丢失或其他问题。

ps aux 更倾向于显示与当前终端相关的进程,而 ps -ef 显示系统中所有可见的进程。

ps aux 以用户格式显示进程信息,包括用户名和启动命令
而 ps -ef 以完整格式显示进程信息,包括 PID、PPID 等。

十九、查看系统硬盘空间的命令?

复制代码
可以使用 df 命令来查看系统硬盘空间的使用情况:

-h 参数使得输出的磁盘大小更容易阅读(以KB,MB,GB等单位显示)。

df -h

在 Linux 系统中,可以使用以下命令来查看系统硬盘空间:

1. **df -h**:显示每个文件系统的磁盘使用情况,包括已用空间、可用空间和总空间。`-h` 选项将输出转换为易于阅读的格式(例如,使用 GB 或 MB)。

   df -h


2. **du -a -h /**:递归地显示指定目录(在此示例中是根目录 "/") 中所有文件和子目录的磁盘使用情况。`-a` 选项将显示所有文件,而不是仅显示目录总结。`-h` 选项使输出更易于阅读。

   du -a -h /


3. **lsblk**:显示块设备的信息,包括硬盘、分区和文件系统。可以用来查看硬盘的总容量和已用空间。

   lsblk


4. **fdisk -l**:列出所有磁盘的分区表和详细信息,包括每个分区的大小和类型。

   fdisk -l


5. **parted -l**:显示所有磁盘的分区信息,包括每个分区的大小、文件系统类型和标签。

   parted -l


这些命令可以帮助你了解系统的磁盘使用情况和硬盘配置。

二十、查看当前机器 listen 的所有端口?

可以使用 netstat 或 ss 命令来查看当前机器监听的所有端口:

复制代码
以下两个命令都可:

netstat -tuln

ss -tuln

在 Linux 系统中,可以使用以下命令来查看当前机器上监听的所有端口:

1. **`netstat -tulpn`**:这是一个经典的命令,用于显示活动的网络连接、监听的端口以及相关的进程信息。
   - `-t` 选项指定只显示 TCP 连接。
   - `-u` 选项指定只显示 UDP 连接。
   - `-l` 选项显示正在监听的端口。
   - `-p` 选项显示每个连接的进程 ID 和名称。
   - `-n` 选项禁用域名解析,直接显示 IP 地址和端口号。

   ```bash
   netstat -tulpn
   ```

2. **`ss -tulpn`**:这是一个更现代的命令,类似于 `netstat`,但提供了更多的功能和选项。
   - `-t` 选项指定只显示 TCP 连接。
   - `-u` 选项指定只显示 UDP 连接。
   - `-l` 选项显示正在监听的端口。
   - `-p` 选项显示每个连接的进程 ID 和名称。
   - `-n` 选项禁用域名解析,直接显示 IP 地址和端口号。

   ```bash
   ss -tulpn
   ```

3. **`lsof -i -P -n +L1`**:这个命令可以列出所有打开的网络文件(包括打开的端口)并显示相关的进程信息。
   - `-i` 选项指定只显示网络文件。
   - `-P` 选项禁用端口号到服务名的转换。
   - `-n` 选项禁用主机名和用户名的解析。
   - `+L1` 选项显示文件描述符的完整路径。

   ```bash
   lsof -i -P -n +L1
   ```

以上命令都可以帮助你查看当前机器上正在监听的所有端口。根据你的需求和个人偏好,选择其中一个即可。

二十一、把一个文件夹打包压缩成.tar.gz 的命令,以及解压拆包.tar.gz的命令?

复制代码
**打包压缩文件夹成.tar.gz**

使用 `tar` 命令和 `gzip` 命令结合可以将文件夹打包压缩成 `.tar.gz` 文件。以下是具体步骤:

1. 打开终端并导航到包含要压缩的文件夹的目录。
2. 使用以下命令来创建一个名为 `my_folder.tar.gz` 的压缩文件,其中 `my_folder` 是你要压缩的文件夹的名称:

   tar -czf my_folder.tar.gz my_folder/


   - `tar` 是用于打包文件的命令。
   - `-c` 选项表示创建一个新的存档文件。
   - `-z` 选项表示使用 `gzip` 压缩算法压缩存档文件。
   - `-f` 选项指定输出文件的名称。
   - `my_folder/` 是要压缩的文件夹的路径。

**解压拆包.tar.gz 文件**

使用以下命令可以解压拆包一个名为 `my_folder.tar.gz` 的压缩文件:

1. 打开终端并导航到包含要解压的 `.tar.gz` 文件的目录。
2. 使用以下命令来解压文件:

   tar -xzvf my_folder.tar.gz


   - `tar` 是用于解压文件的命令。
   - `-x` 选项表示解压存档文件。
   - `-z` 选项表示使用 `gzip` 压缩算法解压存档文件。
   - `-v` 选项表示显示详细的解压过程。
   - `-f` 选项指定要解压的文件的名称。
   - `my_folder.tar.gz` 是要解压的压缩文件的路径。

执行上述命令后,`.tar.gz` 文件将被解压到当前工作目录中,创建一个名为 `my_folder` 的文件夹,其中包含原始文件夹的所有内容。


-v 会显示正在处理的每个文件的详细信息,提供了更好的可视性和反馈,需要了解压缩或解压缩过程中的详细信息,应该使用 -czvf

二十二、Xshell 工具如果想要实现从服务器上传或者下载文件?

Xshell 工具如果想要实现从服务器上传或者下载文件的话,可以使用 scp (Secure Copy) 命令。 SCP 是基于 SSH 协议的文件传输工具,可以用来在本地和远程服务器之间复制文件。

复制代码
如果你想使用命令行工具来上传或下载文件,可以使用以下命令:

1、上传文件到服务器:使用 sftp 或 scp 命令。例如,使用 scp 命令上传文件:scp local_file user@remote_server:/path/to/remote/directory

2、从服务器下载文件:同样使用 sftp 或 scp 命令。例如,使用 scp 命令下载文件:scp user@remote_server:/path/to/remote/file local_file

在这些情况下,你不需要在服务器上安装任何额外的包,因为 sftp 和 scp 通常都是 Linux 系统的默认组件。

二十三、以/etc/passwd 的内容为例,提取用户名?

复制代码
head /etc/passwd | cut -d: -f1

解释一下这个命令:

  • head /etc/passwd:这个命令将 /etc/passwd 文件的内容输出到控制台。
  • cut -d: -f1:这个命令将每行文本按照冒号 (:) 作为分隔符,并只输出第一个字段(即用户名)。

当你运行这个命令时,输出将是 /etc/passwd 文件前五行中的所有用户名。

相关推荐
AlfredZhao3 小时前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334669 小时前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪10 小时前
linux 拷贝文件或目录到指定的位置
linux
大树881 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠1 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质1 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush41 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5201 天前
Linux 11 动态监控指令top
linux
小宇宙Zz1 天前
Maven依赖冲突
java·服务器·maven
Inhand陈工1 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信