每天努力一点点,坚持下去 ------ 博客首页

linux常用进阶命令

一、Linux的目录结构

  • Linux的目录结构是一个树型结构
  • Windows系统可以拥有多个盘符,如 C盘、D盘、E盘
  • Linux没有盘符这个概念,只有一个根目录 / ,所有文件都在它下面

二、Linux路径的描述方式

  • 在Linux系统中,路径之间的层级关系,使用: / 来表示
  • 在Windows系统中,路径之间的层级关系,使用: \ 来表示

 Windows:

D:\data\work\hello.txt

  • D: 表示D盘
  • \ :表示层级关系

Liunx

/usr/local/hello.txt

  • 开头的 / :表示根目录
  • 后边的 / :表示层级关系

三、常用命令

1、相对路径、绝对路径和特殊路径符

(1)绝对路径:cd /home/itheima/Desktop

(2)相对路径写法:cd Desktop

 绝对路径:以根目录为起点,描述路径的一种写法,路径描述以/开头

相对路径:以当前目录为起点,描述路径的一种写法,路径描述无需以/开头

(3)特殊路径符

:表示当前目录,比如 cd./Desktop 表示切换到当前目录下的Desktop目录内,和cd Desktop效果一致

.  . :表示上一级目录,比如:cd..即可切换到上一级目录,cd../..切换到上二级的目录

~ :表示HOME目录,比如:cd~ 即可切换到HOME目录或cd~/Desktop,切换到HOME内的Desktop目录

 2、创建文件夹:mkdir

通过mkdir命令可以创建新的目录(文件夹)

mkdir:来自英文:Make Directory

语法:mkdir[-p] Linux路径

  • 参数必填,表示Linux路径,即要创建的文件夹的路径,相对路径或绝对路径均可

  • -p选项可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录

 清屏快捷键:Ctrl+l

3、文件操作命令

 (1)touch 创建文件

1
touch Linux 路径 

touch命令无选项,参数必填,表示要创建的文件路径,相对、绝对、特殊路径符均可以使用

 文件夹是蓝色的,文件是白色的有后缀(文件格式,如:.txt、.zip)

使用ls -l,也可以区分文件夹和文件

  • 其中D开头的都是文件夹,英文中的Directory
  • - (横杠):代表是文件

 (2)cat命令 查看文件内容

  • 有了文件后,我们可以通过cat命令查看文件的内容。
  • 不过,现在我们还未学习vi编辑器,无法向文件内编辑内容,所以,暂时,我们先通过图形化
  • 在图形化中,手动向文件内添加内容,以测试cat命令
1
cat 文件名

 (3)more命令查看文件内容

more命令同样可以查看文件内容,同cat不同的是:

  • cat是直接将内容全部显示出来
  • more支持翻页,如果文件内容过多,可以一页页的展示
1
more Linux路径 #使用空格可进行翻页查看#退出:Q

同样没有选项,只有必填参数,参数表示:被查看的文件路径,相对、绝对、特殊路径符都可以使用

(4)cp复制文件、文件夹

cp命令可以用于复制文件\文件夹,cp命令来自英文单词:copy

1
cp[-r]参数1 参数2
  • -r 选项:可选,用于复制文件夹使用,表示递归
  • 参数1:Linux路径,表示被复制的文件或文件夹
  • 参数2:Linux路径,表示要复制去的地方

(5)mv移动文件、文件夹

 mv命令可以用于移动文件\文件夹,mv命令来自英文单词:move

1
mv 参数1 参数2
  • 参数1,Linux路径,表示被移动的文件或文件夹
  • 参数2,Linux路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在
  • 文件夹也可使用mv 移动

当所移动的位置不存在就会把移动的文件更改名字:

目录下的所有文件和子目录移动到当前目录下:
1
mv dist/* ./

(6)rm删除文件、文件夹

rm:可用于删除文件、文件夹,来自英文单词:remove

1
rm [-r -f] 参数1 参数2 ......参数N 
  • 同cp命令一样,-r 选项用于删除文件夹
  • -f :表示force,强制删除(不会弹出提示确认信息)
    • 普通用户删除内容不会弹出提示,只有root管理员用户删除内容会有提示
    • 所以一般普通用户用不到-f 选项
  • 参数1、参数2、…、参数N 表示要删除的文件或文件夹路径,按照空格隔开
  • 删除空目录:使用rmdir(remove directory)命令,该命令只能删除空目录,若目录中有文件或子目录,会提示错误。基本语法为rmdir 目录名 。例如,要删除名为test的空目录,执行rmdir test
  • 删除非空目录:使用rm命令,添加-r(recursive,递归)选项可删除目录及其所有内容。语法为rm -r 目录名 。例如,删除名为test的非空目录,执行rm -r test 。
  • 强制删除目录:结合-f(force,强制)选项与-r选项,可强制删除目录,即使其中包含只读文件。语法为rm -rf 目录名 。比如,强制删除名为test的目录,执行rm -rf test 。但使用rm -rf时需格外谨慎,因为 Linux 没有回收站,一旦执行,数据难以恢复。
  • 使用find命令删除find命令可查找特定条件下的文件和目录并执行删除操作。结合-exec选项,可删除找到的目录。语法为find /路径 -type d -name "目录名" -exec rm -r {} + 。例如,要删除名为test的目录,执行find / -type d -name "test" -exec rm -r {} +(这里/是查找起始路径,可根据实际情况修改)。

(7)rm删除文件、文件夹-通配符

rm命令支持通配符*,用来做模糊匹配

  • 符号*表示通配符,即匹配任意内容(包含空),示例:
  1. test*,表示匹配任何以test开头的内容
  2. *test,表示匹配任何以test结尾的内容
  3. *test*,表示匹配任何包含test的内容

演示:

  • 删除所有以test开头的文件或文件夹

(8)which查找命令所在

  • 我们在前面学习的Linux命令,其实它们的本体就是一个个的二进制可执行程序。
  • 和Windows系统中的.exe文件,是一个意思。

我们可以通过which命令,查看所使用的一系列命令的程序文件存放在哪里

1
which 要查找的命令

 在 Linux 中,命令分为外部命令和内置命令。外部命令通常是存储在文件系统中的可执行程序,which 命令的作用就是查找外部命令对应的可执行文件所在的路径。而 cd 属于 shell 内置命令,它是集成在 shell 程序内部的功能,并不是一个独立的可执行文件存放在文件系统中。

可以使用type cd来验证

(9)find命令-按文件名查找文件

在Windows系统中,我们可以方便的通过系统提供的搜索功能,搜索指定的文件:

 同样,在Linux系统中,我们可以通过find命令去搜索指定的文件。

1
find 起始路径 -name "被查找文件名"

示例:

1
find / -name 'test'  #搜索根目录下文件名是test所有

 find命令 - 通配符

1
find 起始路径 -name" 被查找文件名"被查找文件名   #支持使用通配符*来做模糊查询
  • 符号*表示通配符,即匹配任意内容(包含空),示例:
  1. test*,表示匹配任何以test开头的内容
  2. *test,表示匹配任何以test结尾的内容
  3. *test*,表示匹配任何包含test的内容

基于通配符的含义,可以结合find命令做文件的模糊查询

find命令-按文件大小查找文件

1
find 起始路径 -size +|-n[kMG]
  • +、- :表示大于和小于
  • n:表示大小数字
  • kMG:表示大小单位,k(小写字母)表示kb,M表示MB,G表示GB

示例:

  • 查找小于10KB的文件:find/-size-10k
  • 查找大于100MB的文件:find/-size+100M
  • 查找大于1GB的文件:find/-size+1G

(10)grep命令:关键字过滤

  • 从文件中通过关键字过滤文件行
1
grep[-n]关键字 文件路径
  • 参数[关键字]:必填,表示过滤的关键字,带有空格或其它特殊符号,建议使用" "将关键字包围起来
  • 参数[文件路径]:必填,表示要过滤内容的文件路径,可作为内容输入端口

-n,可选,表示在结果中显示匹配的行的行号。

 (11)wc命令做数量统计

可以通过wc命令统计文件的行数、单词数量等

1
wc [-c -m -l -w] 文件路径
  1. 选项,-c,统计bytes数量
  2. 选项,-m,统计字符数量
  3. 选项,-l,统计行数
  4. 选项,-W,统计单词数量
  5. 参数,文件路径,被统计的文件,可作为内容输入端口

 (12) 管道符

管道符的含义是:将管道符左边命令的结果,作为右边命令的输入

cat test.log |grep test
  • cat:打开

  • test.log:文件名称
  • | grep 过滤
  • test:指定的过滤关键字

查找相关的命令都是使用 | grep

可以多个过滤条件同时使用: cat test.log |grep test | grep data  (过滤完了第一个条件,使用第一个过滤的结果在进行过滤第二个条件)

 (13)ps(Process Status)命令主要用于查看当前系统中的进程状态

1)基本参数

  • -A-e:显示系统中所有进程,涵盖其他用户的进程,不局限于当前用户的进程。例如,执行 ps -Aps -e 能展示系统里所有正在运行的进程信息。
  • -u:以用户为中心显示进程信息,输出内容更详细,包含用户、CPU 占用率、内存占用率、启动时间等。如 ps -u username 可查看指定用户(username)的进程情况。
  • -x:显示没有控制终端的进程,通常用于查看后台进程。例如,ps -x 能列出所有这类进程。
  • -f:展示完整格式的进程信息,输出内容包含父进程 ID、启动时间、CPU 时间等详细信息,如 ps -f 会输出更丰富的进程详情。

2)组合参数示例

  • aux:这是一个常用的组合,a 表示显示所有用户的进程,u 表示以用户为中心展示信息,x 表示显示无控制终端的进程。执行 ps aux 可全面查看系统中所有进程的详细信息,常用于监控系统进程状态。
  • efe 显示所有进程,f 显示完整格式信息。ps ef 会以完整格式展示系统中所有进程的详细情况。

3)特定信息查看参数

  • -o:自定义输出格式,可选择要显示的列。例如,ps -o pid,user,comm 仅显示进程 ID(pid)、用户(user)和命令名(comm)。
  • -p:指定要查看的进程 ID,可同时指定多个进程 ID。如 ps -p 1234,5678 会显示进程 ID 为 1234 和 5678 的进程信息。

4)排序参数

  • --sort:对进程进行排序。例如,ps -aux --sort=-%cpu 按 CPU 使用率降序排列进程,方便查看哪些进程占用 CPU 资源较多。

5)树状结构参数

  • -forest:以树状结构显示进程的父子关系,便于查看进程之间的层次结构。例如,ps -ef --forest 会以树状形式展示所有进程的父子关系。

 

处于插入vi模式下操作退出vi模型

ESC键,退出插入模式,进入命令模式。然后有以下选择:
  • 不保存退出:输入:q,回车,若文件有未保存更改,会提示文件已修改,无法退出。此时可输入:q!,回车,强制不保存更改并退出。
  • 保存后退出:输入:wq,回车;或直接在命令模式下按ZZ(大写),也可保存更改并退出。

处于命令模式

  • 不保存退出:直接输入:q,回车,文件无未保存更改时可成功退出;若有未保存更改,需输入:q!,回车,强制不保存退出。
  • 保存后退出:输入:wq,回车。
此外,还有一种特殊退出方式:在命令模式下按Ctrl + Z,系统会暂停 vi 执行,返回终端命令行界面。此时输入fg,回车,可回到 vi 界面;输入exit,回车,则彻底退出 vi。
posted @   他还在坚持嘛  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
历史上的今天:
2022-02-07 面试中遇到的面试题
点击右上角即可分享
微信分享提示