常用Linux命令

目录操作

创建目录

使用 mkdir 命令可以创建一个新的目录

bash 复制代码
# 在当前目录下创建一个名为 test 的目录
mkdir test

删除目录

使用 rm 命令可以删除一个目录。如果目录中包含文件或子目录,需要使用 -r 参数来递归删除

bash 复制代码
# 递归删除名为 test 的目录
rm -r test

显示当前目录

使用pwd命令可以显示你当前所处目录的完整路径

bash 复制代码
pwd

定位目录

使用 cd 命令可以定位到指定的目录

bash 复制代码
# 进入名为 test 的目录
cd test

查看目录文件

使用 ls 命令可以查看指定目录下的文件和子目录

bash 复制代码
# 查看当前目录下的所有文件和子目录
ls

# 使用 ll 命令可以查看更详细的信息,包括文件的权限、所有者、大小等 是ls -l命令的简写
ll

修改目录名和移动目录

使用 mv 命令可以修改目录的名称或者移动目录。

bash 复制代码
# 将名为 test 的目录改名为 new_test
mv test new_test

# 将test目录移动到用户主目录下
mv test ~/

拷贝目录

使用 cp 命令可以将一个目录拷贝到另一个目录中。需要使用 -r 参数来递归拷贝子目录和文件

bash 复制代码
# 将名为 test 的目录拷贝到名为 backup 的目录中
cp -r test backup

文件操作

创建文件

bash 复制代码
# 使用 touch 命令可以创建一个新的空文件
touch test.txt

# 可以使用 vi 命令创建并编辑文件
vi test.txt

删除文件

使用 rm 命令可以删除一个文件

bash 复制代码
# 删除名为 test.txt 的文件
rm test.txt

# 要删除一个目录及其下的所有文件和子目录,可以使用 -rf 参数来强制递归删除
rm -rf test

修改文件名

使用 mv 命令可以修改一个文件的名称

bash 复制代码
# 将名为 test.txt 的文件改名为 new_test.txt
mv test.txt new_test.txt

拷贝文件

使用 cp 命令可以将一个文件拷贝到另一个目录中

bash 复制代码
# 将名为 test.txt 的文件拷贝到名为 backup 的目录中
cp test.txt backup/

# 拷贝多个文件,可以在命令中列出所有要拷贝的文件名,然后指定目标目录
cp file1.txt file2.txt file3.txt backup/

查找文件

bash 复制代码
 # 一般查找
 find pathName -name fileName
 find / -name httpd.conf
 
 # 模糊匹配查找
 find / -name *.conf

查找执行文件

bash 复制代码
# which用于从系统的PATH变量所定义的目录中查找可执行文件的绝对路径
which passwd # 返回绝对路径 /usr/bin/passwd

# whereis用法同which,但它不仅能找出二进制文件的绝对路径 还能找出相关的man文件
whereis passwd # passwd: usr/bin/passwd /etc/passwd /usr/share/man/man5/passwd.5.gz ...

文件压缩打包

bash 复制代码
# gzip用于单个文件压缩
# 压缩
gzip install.log // 压缩成install.log.gz
# 解压
gunzip install.log.gz // 解压成install.log

# tar用于将整个目录中所有文件整合成一个包,整合包还可以通过gzip进行压缩,整合后的包后缀为.tar
# 同时整合和压缩后的包后缀为tar.gz 或简写为.tgz

# -z使用gzip压缩 -c创建压缩文件 -v显示当前被压缩的文件 -f应用当前传入的文件名也就是boot.tgz
tar -zcvf boot.tgz /boot

# -x从归档文件中提取文件 运行下述命令从boot.tgz中解压成boot目录
tar -zxvf boot.tgz 

文件和目录权限

改变文件权限

bash 复制代码
# Linux下每个文件都定义了文件拥有者(user)、拥有组(group)、其他人(others)的权限
# 我们使用u、g、o来表示 具体权限则使用(r:读)(w: 写)(x: 操作)来定义 增加权限使用+ 删除权限使用-

# 给用户增加读的权限
chmod u+r file.txt 
# 给用户删除写的权限
chmod u-w file.txt
# 给其他人增加操作的权限
chmod o+x file.txt

# 同时定义r=4,w=2,x=1, 如果权限是rwx,则数字表示为7,如果权限为r-x,则数字为5
# 假设拥有者的权限是读、写、执行 拥有组的权限是读、执行,其他人的权限是只读 则如下设置
chmod 754 file.txt

改变文件拥有者

bash 复制代码
# 更改文件的用户
chown userName file
chown john a.txt


# 更改文件的用户组
chown :userGroup file
chown :johnGroup a.txt

# 用一个命令实现用户和用户组的改动
chown userName:userGroup file
chown john:johnGroup a.txt

文件内容操作

查看文件

bash 复制代码
# 使用 cat 命令可以查看一个文件的内容
cat test.txt

# 使用 head 命令查看文件的前几行 看文件的前10行
head -n 10 test.txt

# 使用 tail 命令查看文件的后几行 看文件的最后10行
tail -n 10 test.txt

# 动态查看-f 实时更新内容
tail -f -n 10 test.log

编辑文件内容

bash 复制代码
# 使用 vim 命令可以编辑一个文件的内容
vim test.txt

# 移动光标:使用方向键或 h、j、k、l 等键来移动光标。
# 插入文本:按下 i 键进入插入模式,然后可以输入文本。按下 Esc 键退出插入模式。
# 保存文件:按下 : 键进入命令模式,然后输入 w 命令保存文件。如果要保存并退出 Vim,可以输入 wq 命令。
# 退出 Vim:按下 : 键进入命令模式,然后输入 q 命令退出 Vim。如果文件已经被修改,可以输入 q! 命令强制退出 Vim。
# 删除文本:在命令模式下,使用 x 命令删除光标所在位置的字符;使用 dd 命令删除整行文本。
# 查找文本:在命令模式下,输入 / 命令,然后输入要查找的文本,按下 Enter 键即可查找。
# 替换文本:在命令模式下,输入 :%s/old/new/g 命令,将文件中所有的 old 替换为 new。

查找文件内容

使用 grep 命令可以在一个文件中查找包含指定关键字的行

bash 复制代码
# 在名为 test.txt 的文件中查找包含关键字 hello 的行
grep 'hello' test.txt

# 支持一些参数,例如 -i 参数表示忽略大小写,-n 参数表示显示行号等
grep -n 'hello' test.txt

文本处理awk

基于列的文本处理工具。awk认为文件都是结构化的,也就是由单词和各种空白字符组成。非空白部分叫域,从左到右依次是 1 、 1、 1、2..

bash 复制代码
# 语法
awk 'pattern { action }' file

# 内置变量
# NR:当前记录数(行号)。
# NF:当前记录中的字段数。
# $0:当前行的全部内容。
# $1, $2, ...:当前行的第一个、第二个字段

# 打印特定列
awk '{print $1, $3}' file.txt # 打印第一列和第三列

# 条件匹配
awk '$3 > 50 {print $1, $3}' file.txt # 打印第三列大于50的第一列和第三列

# 使用正则表达式
awk '/error/ {print $0}' file.txt # 打印包含 "error" 的所有行

文本处理sed

以行为单位的文本处理工具。默认不会修改文件本身,而是对流经sed命令的文本进行修改,并将修改后的结果打印到标准输出中。sed处理文本是。sed可以做删除、查找替换、添加、插入、从其他文件读入数据等。

bash 复制代码
# 语法
sed [options] 'command' file

# 文本替换
sed 's/old/new/g' file.txt

# 删除行
sed '3d' file.txt

# 插入行
sed '2i\This is a new line' file.txt # 在文件 file.txt 的第二行前插入 "This is a new line"

# 多行处理
sed -n '2,4p' file.txt # 打印文件 file.txt 中的第二到第四行

# 结合正则表达式
sed -n '/pattern/p' file.txt # 打印包含 "pattern" 的行

其他操作

查看进程

bash 复制代码
ps -ef | grep chrome

杀进程

bash 复制代码
# kill 常用的信号代码 HUP(1) Kill(9) TERM(15) 分别代表重启、强行杀掉、正常结束
kill -9 2100

显示磁盘空间使用情况

bash 复制代码
df -h

显示目录或文件的磁盘使用情况

bash 复制代码
du -sh /path/to/directory

显示内存使用情况

bash 复制代码
free -h

显示或配置网络接口

bash 复制代码
ifconfig

测试网络连接

bash 复制代码
ping google.com

SSH连接

可以通过 SSH 连接到远程主机

bash 复制代码
ssh user@hostname

scp复制

通过scp命令 连接SSH后将本地文件 复制到远程机器

bash 复制代码
scp file.txt user@hostname:/path/to/destination
相关推荐
橙子家7 小时前
浏览器缓存之【基础键值存储】:Local storage 和 Session storage
前端
星星在线9 小时前
MusicFree:一个「All in One」的个人音乐服务器,让听歌回归简单
前端·后端
IT_陈寒10 小时前
Redis的SETNX并发问题让我加了三天班
前端·人工智能·后端
demo007x10 小时前
Docling 文档转换以及技术架构分析
前端·后端·程序员
京东云开发者11 小时前
京东市民服务又“上新”!这次是黑龙江“龙易办”
前端
袋鱼不重12 小时前
我的神奇同事,AI 用多了居然写了个 Open In Codex
前端·后端·ai编程
摇滚侠12 小时前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
Fireworks12 小时前
深入vue3源码解读 -- 1、响应式的基础概念
前端
程序员黑豆12 小时前
JDK 下载安装与配置详细教程
java·前端·ai编程
hunterandroid12 小时前
文件存储:内部存储与外部存储
前端