Linux常用命令

原文链接

Linux下一切皆文件

1.Linux终端命令格式

1.1终端命令格式

command [-options] [parameter]

  • command:命令名,相应功能的英文单词或单词的缩写
  • [-options]:选项,可用来对命令进行控制,也可以省略
  • parameter:传给命令的参数,可以是 零个、一个 或者 多个

1.2查阅命令帮助信息

command -help 显示command命令的帮助信息
command -man 查阅command命令的使用手册
使用man时的操作键

  • 空格键 显示手册页的下一屏
  • Enter键 一次滚动手册页的一行
  • b 回滚一屏
  • f 前滚一屏
  • q 退出
  • /word 搜索word字符串

2.放大缩小终端窗口的字体

ctrl shift +放大
ctrl - 缩小
ctrl shift 0 恢复默认大小

3.查找文件

find [路径] -name “文件名” 查找指定路径下的文件,包括子目录

  • 如果省略路径,表示在当前文件夹下查找

4.软、硬链接

4.1软连接——指向目标文件的快捷方式

ln 源文件 硬链接名

4.2硬链接——同一个文件的多个名字

ln -s 源文件 软链接名
image

5.打包压缩

5.1打包解包

# 打包文件
tar -cvf 打包文件.tar 被打包的文件/路径...
# 解包文件
tar -xvf 打包文件.tar
  • -c 生成档案文件,创建打包文件
  • -x 解开档案文件
  • -v 列出归档解档的详细过程,显示进度
  • -f 指定档案文件名称,f 后面一定是 .tar 文件,所以必须放选项最后
  • -z 调用 gzip
  • -j 调用 bzip2

5.2压缩/解压缩

5.2.1 gzip

# 压缩文件
tar -zcvf 打包文件.tar.gz 被压缩的文件/路径...
# 解压缩文件
tar -zxvf 打包文件.tar.gz
# 解压缩到指定路径
tar -zxvf 打包文件.tar.gz -C 目标路径
  • 解压缩到指定目录,注意:要解压缩的目录必须存在

5.2.2 bzip2

# 压缩文件
tar -jcvf 打包文件.tar.bz2 被压缩的文件/路径...
# 解压缩文件
tar -jxvf 打包文件.tar.bz2

image

6.软件安装

# 1. 安装软件
$ sudo apt install 软件包
# 2. 卸载软件
$ sudo apt remove 软件名
# 3. 更新已安装的包
$ sudo apt upgrade

7.文件和目录常用命令

7.1查看目录内容

7.1.1 ls常用选项

  • -a 显示指定目录下所有子目录与文件,包括隐藏文件
  • -l 以列表方式显示文件的详细信息
  • -h 配合-l以人性化的方式显示文件大小

7.1.2 ls通配符的使用

  • * 代表任意个数个字符
  • ? 代表任意一个字符,至少 1 个
  • [] 表示可以匹配字符组中的任一一个
  • [abc] 匹配a、b、c中的任意一个
  • [a-f] 匹配从a到f范围内的的任意一个字符

7.2切换目录

7.2.1 cd

  • cd 切换到当前用户的主目录(/home/用户目录)
  • cd ~ 切换到当前用户的主目录(/home/用户目录)
  • cd . 保持在当前目录不变
  • cd ... 切换到上级目录
  • cd - 可以在最近两次工作目录之间来回切换

7.2.2 相对路径和绝对路径

相对路径 在输入路径时,最前面不是/或者~,表示相对当前目录所在的目录位置
绝对路径 在输入路径时,最前面是/或者~,表示从根目录/家目录开始的具体目录位置

7.3创建和删除操作

7.3.1 touch

  • 创建文件或修改文件时间
  • 如果文件 不存在,可以创建一个空白文件
  • 如果文件 已经存在,可以修改文件的末次修改日期

7.3.2 mkdir

  • 创建一个新的目录
  • -p 可以递归创建目录

7.3.3 rm

  • 删除文件或目录,删除后不能恢复
  • -f 强制删除,忽略不存在的文件,无需提示
  • -r 递归地删除目录下的内容,删除文件夹时必须加此参数

7.4拷贝和移动文件

7.4.1 tree

  • 以树状图列出文件目录结构
  • tree [目录名]
  • -d 只显示目录

7.4.2 cp

  • 将给出的文件或目录复制到另一个文件或目录中
  • cp 源文件目标文件
  • -i 在覆盖已有文件之前,会先询问用户是否确认覆盖
  • -r 若给出的源文件是目录文件,则 cp 将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名

7.4.3 mv

  • 移动文件或目录,也可以给文件或目录重命名
  • mv [选项] 源文件/目录 目标文件/目录
  • -i 在覆盖已有文件之前,会先询问用户是否确认覆盖

7.5查看文件内容

7.5.1 cat

  • 查看文件内容、创建文件、文件合并、追加文件内容等功能,一次显示所有的内容
  • cat 文件名
  • -b 对非空输出行编号
  • -n 对输出的所有行编号

7.5.2 more

  • 用于分屏显示文件内容,每次只显示一页内容
  • more 文件名

使用more的操作键

  • 空格键 显示手册页的下一屏
  • Enter键 一次滚动手册页的一行
  • b 回滚一屏
  • f 前滚一屏
  • bq 退出
  • /word 搜索word字符串

7.5.3 grep

  • 搜索文本文件内容
  • grep 搜索文本 文件名
  • -n 显示匹配行及行号
  • -v 显示不包含匹配文本的所有行(相当于求反)
  • -i 忽略大小写

常用的两种模式查找

  • ^a 行首,搜寻以 a 开头的行
  • ke$ 行尾,搜寻以 ke 结束的行

8.echo

  • echo 文字内容 在终端中显示参数指定的文字

9.重定向>和>>

  • 改变命令输出的默认方向
  • > 表示输出,会覆盖文件原有的内容
  • >> 表示追加,会将内容追加到已有文件的末尾

10.管道 |

  • 将一个命令的输出可以通过管道做为另一个命令的输入
  • 命令1 [选项] [参数] | 命令2 [选项] [参数]
  • more 分屏显示内容
  • grep 在命令执行结果的基础上查询指定的文本
  • 原始命令 | grep [搜索选项] "搜索关键词" | more 当你需要在大量内容中搜索特定文本,或者分页查看时,通常使用这个结构

11.系统信息相关命令

11.1时间和日期

  • date 查看系统时间
  • cal 查看日历, -y选项可以查看一年的日历

11.2磁盘信息

  • df -h 显示磁盘剩余空间
  • du -h [目录名] 显示目录下的文件大小

11.3进程信息

  • ps aux 查看进程的详细状况
  • top 动态显示运行中的进程并且排序
  • kill [-9] 进程代号 终止指定代号的进程,-9表示强行终止,[]表示这部分是可选的

12. ps

  • ps aux 查看系统中所有正在运行进程的详细状态
  • a 显示终端上的所有进程,包括其他用户的进程
  • u 显示进程的详细状态
  • x 显示没有控制终端的进程

13.用户权限相关命令

13.1组管理

创建组/删除组的终端命令都需要通过sudo执行

  • groupadd 组名 添加组
  • groupdel 组名 删除组
  • cat /etc/group 确认组信息,组信息保存在/etc/group文件中,/etc目录是专门用来保存系统配置信息的目录
  • chgrp -R 组名 文件/目录名 递归修改文件/目录的所属组

13.2用户管理

创建用户/删除用户/修改其他用户密码的终端命令都需要通过sudo执行

  • 命令 作用 说明
  • useradd -m -g 组新建用户 添加新用户 -m自动建立用户家目录 -g指定用户所在的组,否则会建立一个和同名的组
  • passwd 用户名 设置用户密码 如果是普通用户,直接用 passwd可以修改自己的账户密码
  • userdel -r 用户名 删除用户 -r选项会自动删除用户家目录
  • cat /etc/passwd | grep 用户名 确认用户信息 新建用户后,用户信息会保存在/etc/passwd文件中
  • 创建用户时,如果忘记添加 -m 选项指定新用户的家目录 —— 最简单的方法就是删除用户,重新创建
  • 创建用户时,默认会创建一个和用户名同名的组名
  • 用户信息保存在 /etc/passwd 文件中

查看用户信息

  • id [用户名] 查看用户 UID 和 GID 信息
  • who 查看当前所有登录的用户列表
  • whoami 查看当前登录用户的账户名

14.which

  • 查看执行命令所在位置
which ls
# 输出
# /bin/ls
which useradd
# 输出
# /usr/sbin/useradd

15.切换用户

  • su - 用户名 切换用户,并且切换目录 -可以切换到用户家目录,否则保持位置不变
  • exit 退出当前登录账户

16.修改文件权限

  • chown 修改拥有者
  • chgrp 修改组
  • chmod 修改权限
# 修改文件|目录的拥有者
chown 用户名 文件名|目录名
# 递归修改文件|目录的组
chgrp -R 组名 文件名|目录名
# 递归修改文件权限
chmod -R 755 文件名|目录名

17.远程管理常用命令

  • shutdown 关机/重新启动
# 重新启动操作系统,其中 now 表示现在
$ shutdown -r now
# 立刻关机,其中 now 表示现在
$ shutdown now
# 系统在今天的 20:25 会关机
$ shutdown 20:25
# 系统再过十分钟后自动关机
$ shutdown +10
# 取消之前指定的关机计划
$ shutdown -c

不指定选项和参数,默认表示 1 分钟之后 关闭电脑

18.查看配置网卡信息

  • ifconfig 查看/配置计算机当前的网卡配置信息
  • ping ip地址 检测到目标ip地址的连接是否正常
# 查看网卡配置信息
$ ifconfig
# 查看网卡对应的IP地址
$ ifconfig | grep inet
# 检测到目标主机是否连接正常
$ ping IP地址
# 检测本地网卡工作正常
$ ping 127.0.0.1

19.远程登录和赋值文件

  • ssh 用户名@ip 关机/重新启动
  • scp 用户名@ip:文件名或路径 用户名@ip:文件名或路径 远程复制文件
  • ssh [-p port] user@remote
  • user是在远程机器上的用户名,如果不指定的话默认为当前用户
  • remote是远程机器的地址,可以是IP/域名,或者是后面会提到的别名
  • port是SSH Server监听的端口,如果不指定,就为默认值22

20.scp

  • 远程拷贝文件
# 把本地当前目录下的 01.py 文件 复制到 远程 家目录下的 Desktop/01.py
# 注意:`:` 后面的路径如果不是绝对路径,则以用户的家目录作为参照路径
scp -P port 01.py user@remote:Desktop/01.py
# 把远程 家目录下的 Desktop/01.py 文件 复制到 本地当前目录下的 01.py
scp -P port user@remote:Desktop/01.py 01.py
# 加上 -r 选项可以传送文件夹
# 把当前目录下的 demo 文件夹 复制到 远程 家目录下的 Desktop
scp -r demo user@remote:Desktop
# 把远程 家目录下的 Desktop 复制到 当前目录下的 demo 文件夹
scp -r user@remote:Desktop demo
  • -r 若给出的源文件是目录文件,则 scp 将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
  • -P 若远程 SSH 服务器的端口不是 22,需要使用大写字母 -P 选项指定端口
posted @ 2026-01-19 14:11  r5ett  阅读(3)  评论(0)    收藏  举报