【神助攻】linux常用指令大全汇总

it2025-02-27  22

Linux 学习笔记

1 Linux 常用命令

1.1 文件处理命令

1.1.1 命令格式与目录处理命令(ls)

# 命令格式: 命令 [-选项] [参数] 例: ls -la /etc # 说明: (1)个别命令使用不遵循这种格式。 (2)当有多个选项时,可以写在一起。 (3)简化选项与完整选项。 如: -a 等同于 -all # 基本描述 (1)名称: ls (2)原意: list (即 列表) (3)所在路径: /bin/ls # 执行权限:所有用户 # 功能描述:显示目录文件 # 语法:ls 选项[-a 、-l 、-d] [文件或目录] -a (即 all): 显示所有文件,包括隐藏文件 -l (即 long): 显示文件的详细信息 -d (即 description): 查看目录属性

​ 示例:

​ (1)ls : 显示当前目录下的文件及目录 ​ (2)ls -l : 显示文件的详细信息 ​ (3) ls -lh :人性化显示(比如文件大小的单位 人性化)

​ 备注: 第一列的含义 :如此处的: drwxrwxr-x ​ (4)获取指定目录文件的详细信息

​ (5) 获取指定当前文件目录下所有文件/目录的节点 (下图的第一列)

1.1.2 目录处理命令

1.1.2.1 目录创建 :mkdir
# 命令描述 (1) 名称: mkdir (2) 英文原意: make directories (3) 所在路径: /bin/mkdir # 执行权限:所有用户 # 语法: mkdir -p [目录名] # 功能描述 : 创建新目录 -p 递归创建 ,即连续创建目录包括深层的子目录 # 示例 (1)mkdir test : 在当前目录下创建一个名称为 “test” 的目录 (2)mkdir -p /tmp/dir1/dir2 : 在tmp目录下,先创建dir1目录,再在dir1目录下创建dir2, 即 【递归创建】 (3)mkdir /tmp/dir3 /tmp/dir4 : 在tmp目录下创建一次两个目录dir3 、dir4, 即 【多目录创建】
1.1.2.2 目录跳转/改变:cd
# 命令描述 (1) 名称: cd (2) 英文原意: change directory (3) 所在路径: shell内置命令 # 执行权限:所有用户 # 语法: cd [目录名] # 功能描述 : 切换目录 # 示例 (1)cd /tmp/dir1 : 切换到 /tmp/dir1 目录下 (2)cd .. : 返回上一级目录
1.1.2.3 显示当前目录: pwd
# 命令描述 (1) 名称: pwd (2) 英文原意: print working directory (3) 所在路径: /bin/pwd # 执行权限:所有用户 # 语法: pwd # 功能描述 :显示当前目录的绝对路径 # 示例 (1)pwd
1.1.2.4 删除文件目录:rmdir
# 命令描述 (1) 名称: rmdir (2) 英文原意: remove empty directories (3) 所在路径: /bin/rmdir # 执行权限:所有用户 # 语法: rmdir [目录名称] # 功能描述 :删除空的目录 # 示例 (1)rmdir /tmp/dir1 : 删除空目录 dir1

1.1.3 文件处理命令

1.1.3.1 文件/目录复制:cp
# 命令描述 (1) 名称: cp (2) 英文原意: copy (3) 所在路径: /bin/cp # 执行权限:所有用户 # 语法: cp -rp [源文件或目录名称] [目标/目的目录] -r 复制目录 -p 保留文件属性(如文件最后修改的时间) # 功能描述 :复制文件或目录 # 示例 (1)cp -r /tmp/dir1/test.txt /tmp/dir2 : 将dir1下的test.txt复制到dir2目录下 (2)cp -rp /tmp/dir1/test.txt /tmp/dir2 : 将dir1下的test.txt复制到dir2目录下,并且保留原有文件属性 (3)cp -r /tmp/dir1/test.txt /tmp/dir2/test2.txt :将dir1下的test.txt文件复制到dir2目录下,并修改文件名称为test2.txt
1.1.3.2 剪切/移动文件、改名:mv
# 命令描述 (1) 名称: mv (2) 英文原意: move (3) 所在路径: /bin/mv # 执行权限:所有用户 # 语法: mv [源文件或目录] [目标目录] # 功能描述 :剪切、移动文件,改名 # 示例 (1)mv /tmp/dir1/data.txt /tmp/dir2/ : 将文件data.txt 移动到dir2目录下 (2)mv data.txt data2.txt :在同一一个目录下对一个文件进行改名操作 (3)mv /tmp/dir1/data.txt /tmp/dir2/data2.txt : 将文件data.txt 移动到dir2目录下,并修改名称为data2.txt
1.1.3.3 删除文件/目录 : rm
# 命令描述 (1) 名称: rm (2) 英文原意: remove (3) 所在路径: /bin/rm # 执行权限:所有用户 # 语法: rm -rf [文件名或目录名] -r 删除目录 -f 强制执行删除(不询问) # 功能描述 :删除文件、删除目录 # 示例 (1)rm -rf dir1 :强制删除(即不需要确认操作)dir1目录及其下的所有文件 (2)rm /tmp/data.txt : 删除data.txt文件 (3)rm -r /tmp/dir : 删除dir目录
1.1.3.4 新建文件: touch
# 命令描述 (1) 名称:touch (2) 所在路径: /bin/touch # 执行权限:所有用户 # 语法: touch [文件名] # 功能描述 :创建新(空)文件 # 示例 (1)touch data.txt : 在当前目录创建data.txt文件 (2)touch /tmp/data.txt : 在tmp目录下创建data.txt文件 (3)touch "profram files" : 创建文件名带空格的文件 (要用双引号 ” “ 括起来)
1.1.3.5 显示文件内容: cat 正向、tac反向
# 命令描述 (1) 名称:tac 、cat (2) 所在路径: /bin/tac /bin/cat # 执行权限:所有用户 # 语法: cat [文件名] tac [文件名] # 功能描述 :显示文件内容 -n 显示行号 # 示例 (1)cat /tmp/data1.txt : 正向显示data1.txt的文件内容 (2)tac /tmp/data1.txt : 反向显示data1.txt的文件内容 # 缺点: 仅适用短文件,因为用该命令浏览长文件的话会一下加载完,最后只能看到最后一屏的文件内容,且不支持滚动 ,拓展:可以使用more分页显示内容命令

​ 示例图片:

1.1.3.6 向下单向分页显示文件内容: more
# 命令描述 (1) 名称:more (2) 所在路径: /bin/more # 执行权限:所有用户 # 语法: more [文件名] 进入more命令之后,可以根据以下进行操作 (1) 空格键 或者 f键 : 翻页 (2) Enter 键 : 换行 (3) q 或者 Q : 退出more命令 # 功能描述 :分页显示文件内容 # 示例 (1)more /tmp/data.txt # 缺点: more 命令只能往下翻页浏览,不能往上翻页浏览
1.1.3.7双向分页显示文件内容: less
# 命令描述 (1) 名称:less (2) 所在路径: /bin/less # 执行权限:所有用户 # 语法: less [文件名] 进入less命令之后,可以根据以下进行操作 ,more命令能做的less同样可以做,以下只列出less命令下的其他额外操作 (1) PageUp 键 : 往上翻页 (2) 向上 键 : 向上换行 (3) /key : 斜杠 + 关键字可以在文件中搜索关键信息, 按 n 可以查看下一个出现关键词的位置 # 功能描述 :双向分页显示文件内容 # 示例 (1)more /tmp/data.txt # 缺点: more 命令只能往下翻页浏览,不能往上翻页浏览
1.1.3.8 查看指定文件头尾几行的内容: head 、 tail
# head 查看开始的n行 示例:head -n 7 /tmp/data.txt : 查看文件data.txt的前7行内容 # tail 查看倒数的n行 :可以动态变化,即当正在查看的文件,在其他位置插入内容时,tail打开的文件也会动态加载显示 示例:tail -n 7 /tmp/data.txt : 查看文件data.txt的倒数7行内容

1.1.4 链接命令(ln)

# 命令描述 (1) 名称:ln (2) 所在路径: /bin/ln (3) 英语原意: link # 执行权限:所有用户 # 语法: (1)创建硬链接: ln [源文件] [目标文件] (2)创建软链接: ln -s [源文件] [目标文件] # 功能描述 : 创建链接文件 : (1)软连接 :相当于Windows的快捷方式 (2) 硬连接 :相当于 拷贝+同步更新 # 示例 (1)ln -s /tmp/data.txt tdata : 给文件/tmp/data.txt 创建名称为tdata的软链接,类似于创建一个data.txt的快捷方式 (2)ln -s /tmp/data.txt data.copy : 给文件/tmp/data.txt 创建名称为data.copy的链接,类似于创建一个data.txt的备份(能同步更新) # 硬连接特征: (1)拷贝 + 同步更新 (2)怎么辨别是硬连接?通过ls -i 命令查看节点可以判断,硬连接的文件与其源文件的节点都是一样的,而软连接则不是 (3)不能跨分区创建硬连接,但可以跨分区创建软链接 (4)不能针对目录来创建硬连接

1.2 权限管理命令(chmod)

1.2.1 权限管理命令: chmod

# 命令描述 (1) 名称:chmod (2) 所在路径: /bin/chmod (3) 英语原意: change the permissions mode of a file # 执行权限:文件所有者、root用户 # 语法: chmod [{u、g、o、a} {+、-、=} {r、w、x}] [文件或目录] [mode = 421] [文件或目录] -R 递归修改 1. 理解:{u、g、o 、a} : (1)u: user,即文件的所有者 (2)g :group, 即文件的所属组 (3)o :other,即其他用户 (4)a : all ,即所有用户 2. 理解:{+、-、=} : (1) + :即在原先基础上再添加权限 (2) - :去除某种权限 (3) = :修改权限,即不管之前是什么,现在就直接修改为当前的权限。 3. 理解: {r、w、x}: (1)r : read,文件读权限 (2)w : write,文件写权限 (3)x : exe , 文件执行权限 # 功能描述 :改变文件或目录的权限 # 权限的数字表示: r -----4 w -----2 x------1 # 示例 (1)chmod u-rw data.txt :去掉文件所有者的r、w权限,即去除其读写的权限 (2)chmod 764 data.txt : 设定权限,类似于 rwxrw-r--权限 (3)chmod -R 777 /tmp/a/b : 递归修改权限,这里是将文件夹a、b的权限都修改为777 (4)chmod 777 /tmp/a : 只修改a目录的权限为 777

1.2.2 文件目录权限总结表 *

代表字符权限对文件的定义对目录的定义r读权限可以查看文件的内容(cat、tail、head、more、less)可以列出目录的内容:(ls)w写权限可以修改文件的内容 (vim)可以在目录中创建文件、删除文件(touch、mkdir、rmdir、rm)x执行权限可以执行文件 (script、command)可以进入目录

1.2.3 其他权限管理命令

1.2.3.1 更改文件所有者 : chown
# 命令描述 (1) 名称:chown (2) 所在路径: /bin/chown (3) 英语原意: change file ownership # 执行权限:所有用户 # 语法: chown [用户名] [文件或目录] # 功能描述 : 改变文件或者目录的所有者 # 示例 (1)chown lcm data.txt : 将文件data.txt的所有者更改为用户 lcm # 谁可以改变文件的所有者? 只有管理员root可以改变!!!
1.2.3.2 更改文件的所属组:chgrp
# 命令描述 (1) 名称:chgrp (2) 所在路径: /bin/chown (3) 英语原意: change file group # 执行权限:所有用户 # 语法: chown [用户组] [文件或目录] # 功能描述 : 改变文件或者目录的所属组 # 示例 (1)chown lcmfamily data.txt : 将文件data.txt的所属组更改为 lcmfamily
1.2.3.3 显示文件的缺省权限:umask
# 命令描述 (1) 名称:umask (2) 所在路径: Shell内置命令 (3) 英语原意: the user file-creation mask # 执行权限:所有用户 # 语法: umask [-S] : 以rwx的形式显示新建文件的缺省权限(或者说默认权限有哪些) # 功能描述 : 显示、设置文件的缺省权限 # 示例 (1)umask -S (2)umask : 获取新创建文件的缺省权限的代码 (与777进行逻辑与) 如 022 表示 --- -w- -w- (3)umask 077 : 修改新建文件的缺省权限为 rwx --- --- (目录) 、rw- --- ---(文件)

​ 示例:

# 由上图可知: (1)新创建的目录的缺省权限为 : rwxrwxr_x (2)新创建的文件的缺省权限为 : rw_rw_r__ # 可见:新创建的文件是没有x权限,即无执行权限的

1.3 文件搜索命令

1.3.1 文件搜索命令 find

# 命令描述 (1) 名称:find (2) 所在路径: /bin/find # 执行权限:所有用户 # 语法: find [搜索范围] [匹配条件] # 功能描述 :文件、目录查找搜索
1.3.1.1 根据文件名称查找文件 find -name 、find -iname
(1)根据文件名称搜索 :find /tmp -name init : 在目录/tmp 中搜索文件init 此处为精准搜索 find /tmp -iname init : 不区分大小写的搜索 (2)根据文件名称模糊搜索 : * 号 匹配n个字符 ?号 匹配单个字符 示例: find /tmp -name *init* : 在目录/tmp 中搜索文件名中含有 init字符的文件 此处为模糊查询 (3)根据文件首字母+确定的n的字符匹配查询: ?表示单个字符 find /tmp -name data? : 在/tmp 目录下查询以data开头的并且末尾还有一个字符的文件 find -name data?.txt : 在当前目录下查询 data?.txt文件 ,其中?匹配单个字符
1.3.1.2 根据文件大小查找文件 find -size
# 文件大小单位换算: linux文件最小单位为数据块 以数据块来为最小换算单位, 1数据块=512字节 = 0.5K, 例如 204800数据块 = 102400Kb = 100Mb # 语法 :find [文件目录] -size [文件大小] +n 大于 :如 +204800 表示大于100Mb的 -n 小于 :如 -204800 表示小于100Mb的 n 等于 :如 204800 表示等于100Mb的 # 示例: find / -size +204800 :在根目录下查找【大于204800数据块 (即100Mb)】的文件
1.3.1.3 根据文件所有者、所属组查找文件 find -user 、find -group
# 根据文件所有者查找文件: (1)find /home -user lcm :在目录/home下查找所有者为lcm的文件 # 根据所属组来查找文件: (1)find /home -group lcmfamily : 在目录/home下查找所属组为lcmfamily的文件
1.3.1.4 根据文件时间属性查找文件 find -cmin | -amin | -mmin
# 时间单位: 时间最小单位min,即分钟 # 语法 : find [文件目录] [时间属性] [时间] -amin (access) 访问时间 -cmin (change) 文件属性 -mmin (modify) 文件内容 # 示例 find /tmp -cmin -5 : 在目录/tmp下查找【5分钟内】被修改过【属性】的文件和目录 find /tmp -mmin +5 : 在目录/tmp下查找被修改过【文件内容】并且【超过5分钟】的文件和目录
1.3.1.5多条件文件查询 (and 、or )
# -a 两个条件同时满足 (and 即逻辑与) 示例: find /tmp -size +8 -a -name dir* : 在目录/tmp下查找大于8Kb 且 文件名以dir开头的文件/目录 # -o 多个条件满足任意一个即可(or 即逻辑或) 示例: find /tmp -size +8 -o -name dir* : 在目录/tmp下查找大于8Kb 或 文件名以dir开头的文件/目录
1.3.1.6 根据文件类型查找文件 find -type
# 可选的类型 (1)f 文件 (2)d 目录 (3)l 链接文件 # 示例 find /tmp -type f : 在目录/tmp下查找所有的文件
1.3.1.7 对查找结果进行其他的命令操作 … -exec 命令 {} ;
# 语法: find [文件目录] [查询类型] [查询条件] -exec/-ok 命令 {} \; -exec 不需要确认 -ok 会有确认的选项,例如对查询结果进行删除时,用-ok可以询问是否执行删除操作 # 示例: 示例: find other -name dir4 -exec ls -l {} \; : 在当前目录的other目录下查找名称为dir4的文件,并列出其详细信息
1.3.1.8 根据文件的节点查询文件 find -inum
# 语法: find [文件目录] -inum [节点值] # 示例: 示例: find . -inum 31531 -exec rm {} \; : 在当前目录下查找节点值为31521的文件,并删除。

1.3.2 其他搜索命令

1.3.2.1 在文件资料库中查找文件 :locate
# 命令描述 (1)命令名称:locate (2)命令所在路径: /usr/bin/locate # 执行权限: 所有用户 # 功能描述: 在 [文件资料库] 中查找文件,类似于在一个文件索引数据库来查找,而不是从整个分区上面找,因此查询速度会非常快,类似于window的everything # 范例: (1)locate data.txt : 快速查找data.txt文件 (得到的是文件的路径) (2)locate -i data.txt : 不区分大小写查找
1.3.2.2 查找命令的绝对路径,还能查到他的别名 : which
# 命令描述 (1)命令名称:which (2)命令所在路径: /usr/bin/which # 执行权限: 所有用户 # 功能描述: 查找一个命令的绝对路径,也可以获取他的别名(如果有的话) # 范例: (1)which mkdir : 查找命令mkdir的绝对路径 --> /usr/bin/which (2)which rm : 查找命令rm的绝对路径
1.3.2.3 查找命令的绝对路径,以及帮助文档 : whereis
# 命令描述 (1)命令名称:whereis (2)命令所在路径: /usr/bin/whereis # 执行权限:所有用户 # 功能描述: 查找一个命令的绝对路径,同时查询他的帮助文档 # 范例: (1)whereis mkdir : 查找命令mkdir的绝对路径和帮助文档的位置
1.3.2.4 在文件内容中查找到指定字符串所在对应行 : grep
# 命令描述 (1)命令名称:grep (2)命令所在路径: /bin/grep # 执行权限: 所有用户 # 功能描述: 在文件中搜寻字符串匹配的行并输出 -i 不区分大小写 -v 排除指定字符串 # 范例: (1)grep mysql /root/install.log : 在文件install.log文件中查找关键字 mysql 所在的行并输出。 (2)grep -i msyql /root/install.log : 不区分大小写查找 (3)grep -v $ mysql /root/install.log : 屏蔽特定字符串 如$ ,且含关键词mysql的所在行,并输出

1.4 帮助命令

1.4.1 获取命令的帮助信息: man

# 命令描述 (1)命令名称:man (2)命令所在路径: /usr/bin/man (3)原意:manual # 执行权限: 所有用户 # 语法: man [命令或者配置文件] # 功能描述: 获得帮助信息 # 范例: (1)man ls :查看ls命令的帮助信息 (2)man services :查看配置文件services 的帮助信息 ,注意,查看配置文件的话,不需要输入他的绝对路径,只需要输入他的文件名称即可

1.5 用户管理命令

1.6 压缩解压命令

1.7 关机重启命令

本文整理自 (史上最牛的Linux视频教程—兄弟连)

最新回复(0)