linux系统命令
linux命令在线帮助
man 命令
--man df 就是df命令详解
su [user] --切换到其他用户,但不切换环境变量 su - [user] --完整的切换到一个用户环境 su - [user] -c --切换到user账户,并执行命令后再变回原来使用者
一、基本定义
1、文件系统
指文件存在的物理空间,每个分区都是一个文件系统。分区是物理上的概念,是真正存放数据的地方,只有一份数据;目录是逻辑上的概念,是分区数据的逻辑映射,像windows的快捷方式。一个分区必须挂载在一个目录下才能使用,分区可以挂载到任意多个目录,指向同样的分区数据。
二、文件操作命令
1、df
是disk free的缩写,检查linux系统的磁盘空间占用情况
df -a 列出所有的文件系统,包括复制的、不可访问的(all) df -h 以人们易阅读的GB、MB、KB格式显示(human) df -H 以1000的幂次显示,而不是1024() df -k 以KB格式显示 df -m 以MB格式显示 df -i 不用磁盘容量,而是以inode的数量来显示 df -l 只显示本地文件系统信息 df -T 显示文件系统类型 df -t 只显示指定类型的文件系统 df -x 显示执行类型外的文件系统
2、ls
是list的缩写,列出当前(默认)目录清单
ls -a 列出所有文件,包括以 . 开头的文件。a即all ls -A 列出所有文件,除了 . 和 .. 文件。A即almost-all ls -d 列出目录属性。d即directory ls -i 查看文件iNode号。i即inode ls -h 以人们易阅读的形式显示大小。h即human-readable ls -l 列出详尽信息,显示信息依次是 文件权限(10位) 文件引用次数(数字) 文件所属用户 文件所属组 文件大小 文件最后更改日期 文件名
--文件权限首位表示文件类型,- 表示普通文件; d 表示目录文件; b 表示字符设备; c 表示区块设备; l 表示软链接; p 表示管道; s 套接口文件
--文件权限剩余9位为一个整体,代表所属用户权限、所属组权限、其他用户权限。 - 表示无权限; r 表示读权限; w表示写权限; x 表示执行权限。
l即list
ls -r 倒序。r即reverse
ls -t 根据修改时间优先排序,t即time
3、cd
是change directory的缩写,切换工作目录
cd dirName 切换当前目录至dirName(当前目录的子目录) cd / 进入系统根目录 cd .. 进入当前目录的父目录 cd /dirName 进入指定目录,从根目录开始,目录名称前加 / cd - 返回到进入此目录前所在的目录
4、du
是disk usage,查看磁盘使用的空间
du -a 显示所有文件的信息,不只是目录 du -b 以byte格式显示 du -k 以kb格式显示 du -m 以mb规格是显示 du -h 以人们易阅读的GB、MB、KB格式显示
du -s 只显示最后加总的和
du -c 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和
du dirName 显示指定文件所占空间
du dirName1 dirName2 显示目录1、目录2文件所占的空间
5、pwd
是print working directory的缩写,用于显示当前的工作目录
pwd -L 显示逻辑上的工作目录(链接路径)
pwd -P 显示物理上的工作目录(链接路径的原始路径,实际路径)
6、mkdir
是make directory的缩写,用来创建目录
mkdir -p 递归创建多级目录 mkdir -m 建立目录的同时设置目录的权限 mkdir -v 显示目录的创建过程 mkdir dirName 在该目录下创建dirName
--mkdir -p test/dirTest 先创建test目录,再创建dirTest目录
--mkdir -m 700 /test/dirTest 先创建test目录下的dirTest目录,再赋予权限
7、rm
是remove的缩写,用来删除linux中的文件或目录(通常默认不会删除目录,必须执行 -r 或 -R 来删除目录。删除文件只是将指向的数据块的索引点释放,数据还在磁盘上,想彻底删除需要shred)
rm [OPTION]...FILE... rm -f 强制删除,忽略不存在的文件,不给出提示 rm -i 交互模式删除文件,删除之前给出提示,y(yes) 或 n(no) rm -I 删除三个文件以上或者递归删除文件时给出提示 rm -r 递归删除目录文件及其子目录文件 rm -R 同rm -r rm -d 删除空目录 rm -v 显示运行时的详细信息 rm --version 输出版本信息并退出 rm --help 显示在线帮助
8、cp
是copy的缩写,将源文档复制成目标文档,或者将源文档复制到目标目录下
cp -a 同cp -p 、cp -R 及 cp -d 合起来使用一样
cp -d 若来源文档为link file,则复制link file而非文件本身
cp -f 若目标文件已存在且无法开启,则移除后再尝试一次
cp -i 如目标文档已存在,覆盖时会先询问动作的进行
cp -l 赋值为硬链接文件
cp -p 连同文件的属性一起复制过去,而非使用默认属性
cp -r 递归复制,用于目录的复制
cp -s 赋值为符号链接文件(快捷方式文件)
cp -u 若源文件比目标文件新,则覆盖,否则跳过(update)
cp -r sourceDIR destDIR 复制文件夹,备份
cp -v 显示运行时的详细信息
cp /home/filename . //复制home下的filename文件到当前工作目录,而不用调到home文件夹下进行复制
9、mv
是move的缩写,移动或重名文件
mv -b 若需覆盖文件,则覆盖前需要备份文件 mv -f 若目标文件存在,直接覆盖不会询问 mv -i 若目标文件存在,覆盖之前会询问 mv -u 若源文件比目标文件新,则覆盖,否则跳过 mv -t 先指定目标目录,源文件在后,适用于移动多个源文件到一个目录的情况
10、ln
是link的缩写,为某一文件在另一位置建立不同的链接
ln -b 将在链接时会被覆写或删除的文档进行备份 ln -d 允许系统管理者硬链接自己的目录 ln -f 强制删除现有的目标文件 ln -i 删除现有的目标文件时先提示 ln -s 进行软链接而不是硬链接 ln -n 进行软链接时,将其看做一般的文件 ln -SSUFFIX 在备份档案时加上后缀名
链接有两种,一是硬链接,二是软链接(符号链接)
硬链接:只能用于常规文件,不能使用ln来创建指向目录或特殊文件的硬链接;当两个文件(newfile.txt newfile-link2.txt)都位于同一个文件系统上时才能使用硬链接
软连接:不是常规文件,而是指向现有文件或目录的特殊类型的文件;不局限于常规文件,可以指向目录或特殊文件;可以连接位于不同文件系统上的两个文件。
硬链接是将名称指向存储设备上的数据;软连接是将名称指向另一个名称,后者指向存储设备上的数据。
//如home目录下有个文件newfile.txt,为其在tmp目录下创建硬链接newfile-link2.txt ln newfile.txt /tmp/newfile-link2.txt
11、stat
显示文件或文件系统的状态
stat [option] file stat -f 显示文件系统信息而非文件信息 stat -c 使用指定的格式而不是默认格式;每次使用后输出一个换行符 stat -t 已简洁的形式输出信息 stat -L 显示符号链接所指向文件的信息
可选的文件信息输出格式
%a 八进制的访问权限 %A 人们易阅读的访问权限 %F 文件类型 %g 文件所有者的组ID %G 文件所有者的组名 %h 硬链接的数量 %i inode号 %n 文件名 %N 取消软连接的文件名引用,变成普通字符串 %o 系统格式化block的大小 %s 文件大小(单位byte) %t 主要设备类型(十六进制) %T 次要设备类型(十六进制)
%u 所有者的用户ID
%U 所有者的用户名
%x 最后访问时间
%y 最后修改时间(内容改变)
%z 最后改变时间
可选的文件系统信息输出格式
%a 普通用户可用的block数量 %b 文件系统的总数据块数量 %c 文件系统的inode总数 %d 空闲inode数量 %f 可用的block数量 %i 文件系统ID(十六进制) %l 文件名最大长度 %n 文件名 %s 块大小 %S 基本块大小(都是系统block的大小) %t 文件系统类型(格式化的类型,十六进制) %T 文件系统类型(格式化的类型,可读形式)
12、touch
将每个文件的访问和修改次数更新为当前时间,通常用于创建空文件,因为"触碰"不存在的文件名会导致创建该文件
三、文本操作命令
1、cat
查看全部文本内容,cat不会将文件的内容显示为多个页面,如果内容过长超过终端提供的大小,有一部分不会显示出来。
cat filename
2、less
分屏展示,向上箭头和向下箭头滚动显示,按q键退出该命令。
less filename
3、head、tail
分别显示文本的开头和结尾部分,有一个 -n参数,指定显示的行数
head filename //默认显示前10行 tail filename //默认显示后10行 head -5 filename //指定显示前5行 tail -5 filename //指定显示后5行
4、wc
计算文本中行、字和字符的数量。
wc filename //显示行、字和字符的数量 wc -l filename //显示行数量 wc -w filename //显示字数量 wc -c filename //显示字符数量 //hello是一个字,是5个字符
5、vim编辑器
vim filename
(1)、删除前三行数据
vim filename; ①按shift+v选中行,按向下箭头,选中3行 ②按x删除,之后数据还是在终端,但是光标到达最新一行 ③保存退出后前3行数据删除成功
(2)、删除某几列
vim filename; ①按v选中第一行的几列 ②按ctrl+v,后按向下箭头选中行 ③按x删除 ③保存退出
四、系统操作命令
1、ps
列出系统中的进城状态,是Process Status的缩写。
ps aux //使用BSD语法查看系统中的每个进程 ps a //是现行终端机下的所有程序 ps u //表示以用户为主的格式来显示系统概况 ps x //表示显示所有程序,不以终端机来区分 ps Z //表示添加一列安全数据 ps -C //按命令名称选择,指定了可执行名称的进程 ps axo //使用用户定义的格式查看每个进程
2、parted
分区操作程序,若不提供子命令就会发出命令的交互式会话
//子命令 print //显示分区表 quit //退出 unit //更改默认配置,参数有S表示扇区;B表示字节; mklable //标签类型,有msods、gpt等 mkpart //创建新分区 rm //删除分区
3、lsblk
列出块设备
//选项 -f,--fs //输出文件系统信息,等价于 -o NAME,FSTYPE,LABEL,UUID,MOUNTPOINT -o //指定要输出的列
4、curl(client for URLs)
//curl命令是用于发送HTTP请求的工具 -t //指定要上传的文件或数据 -o //指定要保存下载文件的路径和文件名 -f //在执行curl命令错误时,不显示错误信息并返回非零退出码
5、rpm(redhat package manager)
rpm -ivh //i代表安装,v表示显示安装过程,h表示显示进度 rpm -uvh //u表示升级,v表示显示安装过程,h表示显示进度 rpm -e //移走一个包 rpm -q < rpm package name> //查询包是否被安装 rpm -qi < rpm package name> //获取被安装包的信息 rpm -ql < rpm package name> //列出该包有哪些文件 rpm -qa //列出所有被安装的包
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下