【Linux】常用命令的汇总学习

1.目录切换命令

  • cd home 切换到该目录下 home 目录
  • cd .. 切换到上一层目录
  • cd / 切换到系统根目录
  • cd ~ 切换到用户主目录
  • cd - 切换到上一个操作所在目录

2.目录操作命令

  • mkdir 目录名称 增加目录。

  • ls/ll(ll 是 ls -l 的别名,ll 命令可以看到该目录下的所有目录和文件的详细信息):查看目录信息。

  • find 目录 参数 寻找目录(查)。示例:① 列出当前目录及子目录下所有文件和文件夹: find .;② 在/home目录下查找以.txt 结尾的文件名:find /home -name "*.txt" ,忽略大小写: find /home -iname "*.txt" ;③ 当前目录及子目录下查找所有以.txt 和.pdf 结尾的文件:find . \( -name "*.txt" -o -name "*.pdf" \)find . -name "*.txt" -o -name "*.pdf"

  • mv 目录名称 新目录名称 修改目录的名称(改)。注意:mv 的语法不仅可以对目录进行重命名而且也可以对各种文件,压缩包等进行 重命名的操作。mv 命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。后面会介绍到 mv 命令的另一个用法。

  • mv 目录名称 目录的新位置 移动目录的位置—剪切(改)。注意:mv 语法不仅可以对目录进行剪切操作,对文件和压缩包等都可执行剪切操作。另外 mv 与 cp 的结果不同,mv 好像文件“搬家”,文件个数并未增加。而 cp 对文件进行复制,文件个数增加了。

  • cp -r 目录名称 目录拷贝的目标位置 拷贝目录(改),-r 代表递归拷贝 。注意:cp 命令不仅可以拷贝目录还可以拷贝文件,压缩包等,拷贝文件和压缩包时不 用写-r 递归。

  • rm [-rf] 目录 : 删除目录(删)。注意:rm 不仅可以删除目录,也可以删除其他文件或压缩包,为了增强大家的记忆, 无论删除任何目录或文件,都直接使用rm -rf 目录/文件/压缩包。

3.把ls -l中包含字母file(不区分大小写)的内容输出

ls -l | grep -i file

grep参数:

  • -i:忽略大小写
  • -v:反向旋转,即显示没有“查找字符串”的内容
  • -c:计算找“查找字符串”的行数

4.统计txt中的某个字符串

假如linux中某文件hello的内容如下

hello hello world
hello hello www
问,如何统计hello文件中hello出现的次数

grep -o hello hello.txt | wc -l 

这个Linux命令可以分解为两个部分:

  1. grep -o hello hello.txt:这部分命令用于从文件 hello.txt 中匹配所有包含字符串 “hello” 的行,并将匹配到的字符串输出到标准输出。-o 选项表示只输出匹配到的部分。
  2. | wc -l:管道符 |grep 命令的输出传递给 wc -l 命令,表示对传递过来的内容进行行数统计。wc -l 命令用于计算标准输入的行数。

所以,整个命令的作用是:从文件 hello.txt 中匹配所有包含字符串 “hello” 的行,并输出匹配到的字符串,同时统计匹配到的字符串的行数。

统计hello出现的行数呢?

grep -c hello hello.txt

高亮显示匹配的hello呢?

grep --color hello hello.txt

5.grep命令的使用

Linux中grep命令用于在文件中搜索指定的字符串,其基本语法为:

grep [options] str [file ...]

其中,str为要搜索的字符串,file为要搜索的文件名。

常见的grep参数包括:

  • -i:忽略大小写。
  • -v:反转匹配,输出不包含pattern的行。
  • -r-R:递归搜索,在指定的目录及其子目录中搜索pattern。
  • -l:只输出包含匹配的行的文件名,不输出匹配的行。
  • -n:输出匹配到的行号。
  • -w:完全匹配,只输出整个单词包含pattern的行。
  • -c:计数,输出文件中匹配到pattern的行数。
  • -e:指定多个搜索模式,可以在同一行中指定多个pattern。
  • -f:从文件中读取模式,将指定文件中的模式作为搜索模式。
  • --color:标记输出,将匹配到的字符串用特殊颜色标记。

6.linux查找当前目录下所有txt文件

ls *.txt

7.linux中的find命令

Linux中的find命令用于在指定目录下查找文件或目录。它可以按照文件名、文件类型、文件大小、文件修改时间等条件进行匹配,并支持递归搜索。

find命令的基本语法如下:

find [搜索范围] [搜索条件] [操作]
  • 搜索范围可以是当前目录(.)、某个目录(如/home/user/)或整个文件系统(如/)

  • 搜索条件可以是文件名、文件类型、文件大小、文件修改时间等

  • 操作则是对符合条件的文件进行的一些操作,如复制、移动、删除等。

下面是一些常用的find命令选项:

  • -name:按照文件名进行匹配。
  • -type:按照文件类型进行匹配,如d表示目录,f表示普通文件等。
  • -size:按照文件大小进行匹配,如+10M表示大于10M的文件,-10K表示小于等于10K的文件。
  • -mtime:按照文件修改时间进行匹配,如-1表示修改时间在1天之内的文件,+1表示在一天之前被改过。
  • -exec:对符合条件的文件执行指定操作,需要接操作命令参数。例如-exec mv {} /backup/ ;表示将符合条件的文件移动到/backup/目录下。

(递归)查找当前目录下文件大小大于10M的文件?

find . -type f -size +10M

这将使用 find 命令在当前目录中查找所有文件,并输出文件名和文件大小。-type f 限制了查找的文件类型为普通文件,而 -size +10M 表示文件大小要大于 10MB。

(递归)查找当前目录下一天内被修改过的文件?

find . -type f -mtime -1

(递归)查找当前目录下文件大小大于10M的文件,并将其拷贝到当前target目录下?

find . -type f -size +10M -exec cp {
    
    } ./target \

解释:

  • find .:在当前目录及其子目录中查找文件。
  • -type f:只匹配普通文件,不包括目录。
  • -size +10M:匹配大小大于10M的文件。
  • -exec cp {} ./target \;:对于每个匹配的文件,使用cp命令将其拷贝到当前目录下的target目录中。(-exec 选项用于执行指定的命令,{} 表示当前找到的文件名,\; 表示命令结束。)

(递归)查找当前目录下文件名包含hello的文件?

find . -name "*hello*"

(递归)查找所有.txt文件,并将结果输出到文件中?

find . -name "*.txt" > result.txt

8.查看系统所有的进程信息

ps -aux

在这里插入图片描述

kill -9 pid号杀死指定线程,-9表示强制。

9.如何确定文件的类型

file 文件名/目录名

在这里插入图片描述

10.tar解压缩

打包并压缩文件

tar -zcvf 打包压缩后的文件名 要打包的文件

wangzp@wangzp-virtual-machine:~/linuxstudy$ ls
a.txt  b.txt
wangzp@wangzp-virtual-machine:~/linuxstudy$ tar -zcvf a.tar.gz a.txt
a.txt
wangzp@wangzp-virtual-machine:~/linuxstudy$ ls
a.tar.gz  a.txt  b.txt

Linux 中的打包文件一般是以 .tar 结尾的,压缩的命令一般是以 .gz 结尾的。而一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般 .tar.gz。

tar参数:

  • z:调用 gzip 压缩命令进行压缩
  • c:打包文件
  • v:显示运行过程
  • f:指定文件名

解压缩文件

tar [-xvf] 压缩文件

wangzp@wangzp-virtual-machine:~/linuxstudy$ ls
a.tar.gz  b.txt
wangzp@wangzp-virtual-machine:~/linuxstudy$ tar -xvf a.tar.gz 
a.txt
wangzp@wangzp-virtual-machine:~/linuxstudy$ ls
a.tar.gz  a.txt  b.txt
wangzp@wangzp-virtual-machine:~/linuxstudy$ 

11.Ubuntu下载vim编辑器

sudo apt install vim

12.显示 a.log 文件前 20 行

head -n 20 a.log

其中,-n选项表示指定要显示的行数。

13.要实时查看最近添加到log文件中的行

tail -f /path/to/logfile

14.zip解压缩

zip example.zip example/
unzip example.zip

15.查看网络状态

ifconfig

16.显示系统信息

uname -a

17.关机/重启

立即关机

shutdown -h now

10秒后关机

shutdown -h 10

重新启动

reboot

18.查看当前linux服务器的内存使用情况

free -h

-h是用于指定输出内存使用情况时的单位为人类可读的方式,即以M或G为单位输出内存使用情况,而不是以字节为单位输出。
在这里插入图片描述

19.查看磁盘空间是否足够

df -lh

-l表示只显示本地文件系统,-h表示以人类易读的方式显示文件系统信息。

20.查看当前目录中所有文件和文件夹的大小。

du -sh *

-s 代表统计汇总的意思,即只输出一个总和大小。

-h表示以人类易读的方式显示文件系统信息。

21.要查看某个命令的位置

which [command]

22.查看端口信息

netstat -ntlp

查看所有当前 TCP/IP 连接和监听的端口的命令。它显示本地计算机上的所有网络连接,包括本地地址、远程地址、协议、状态和本地进程 ID。

23.实时显示系统中各个进程的资源占用状况

top

在这里插入图片描述

htop

更强大、友好的top,需要安装Ubuntu: apt install htop

在这里插入图片描述

24.查询历史命令

history

!序号执行历史某条命令
在这里插入图片描述

25.修改密码

passwd

修改root用户的密码

sudo passwd root

26.权限修改

示例:修改aaa.txt 的权限为文件所有者有全部权限,文件所有者所在的组有读写权限,其他用户只有读的权限。

chmod u=rwx,g=rw,o=r aaa.txt 或者 chmod 764 aaa.txt

chmod u=rwx,g=rw,o=r aaa.txt
chmod 764 aaa.txt

r w x的含义:

权限名称 目录可执行操作 文件可执行操作
r 可以查看目录下列表 可以使用 cat 查看文件的内容
w 可以创建和删除目录下文件 可以修改文件的内容
x 可以使用 cd 进入目录 可以将其运行为二进制文件

数字的含义:

  • r:代表权限是可读,r 也可以用数字 4 表示
  • w:代表权限是可写,w 也可以用数字 2 表示
  • x:代表权限是可执行,x 也可以用数字 1 表示

u g o的含义:

所有者(u):一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者,用 ls ‐ahl 命令可以看到文件的所有者 也可以使用 chown 用户名 文件名来修改文件的所有者 。

文件所在组(g):当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组用 ls ‐ahl命令可以看到文件的所有组也可以使用 chgrp 组名 文件名来修改文件所在的组。

其它组(o):除开文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组。

参考

1.JavaGuide Linux知识总结
2.文心一言
3.ChatGPT

猜你喜欢

转载自blog.csdn.net/AwesomeP/article/details/130912523