文章目录
- 1.目录切换命令
- 2.目录操作命令
- 3.把ls -l中包含字母file(不区分大小写)的内容输出
- 4.统计txt中的某个字符串
- 5.grep命令的使用
- 6.linux查找当前目录下所有txt文件
- 7.linux中的find命令
- 8.查看系统所有的进程信息
- 9.如何确定文件的类型
- 10.tar解压缩
- 11.Ubuntu下载vim编辑器
- 12.显示 a.log 文件前 20 行
- 13.要实时查看最近添加到log文件中的行
- 14.zip解压缩
- 15.查看网络状态
- 16.显示系统信息
- 17.关机/重启
- 18.查看当前linux服务器的内存使用情况
- 19.查看磁盘空间是否足够
- 20.查看当前目录中所有文件和文件夹的大小。
- 21.要查看某个命令的位置
- 22.查看端口信息
- 23.实时显示系统中各个进程的资源占用状况
- 24.查询历史命令
- 25.修改密码
- 26.权限修改
- 参考
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命令可以分解为两个部分:
grep -o hello hello.txt
:这部分命令用于从文件hello.txt
中匹配所有包含字符串 “hello” 的行,并将匹配到的字符串输出到标准输出。-o
选项表示只输出匹配到的部分。| 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