Linux常用命令

一、查看及切换目录(pwd、cd、ls、du)

查看当前的工作目录 —— pwd

pwd			显示用户当前所在的工作目录位置
示例:		[root@localhost]# pwd
			/root		(当前工作目录)

在这里插入图片描述

切换工作目录 —— cd

  • 将用户的工作目录更改到其他位置
格式说明
cd 目标位置切换到目标位置
cd ~
cd
若不指定目标位置,切换到当前用户的宿主目录
cd -切换到上一次执行cd命令之前所在的目录

在这里插入图片描述

  • 绝对路径(以根目录为起点的路径)
  • 相对路径(以当前所在的目录情况为起点)

相对路径的表现形式

表现形式说明示例
直接使用目录名或文件名标识当前工作目录中的子目录、文件的位置grub.conf
以一个点号“.”开头标识以当前的工作目录作为起点./grub.conf
以两个点号“. .”开头表示以当前目录的上一级目录(父目录)作为起点. ./vmlinuz
以"~用户名”形式开头表示以指定用户的宿主目录作为起点~teacher
以“~”形式开头表示以当前用户的宿主目录作为起点~

列表显示目录内容 —— ls

1. 显示目录中内容,包括子目录和文件行管属性信息

ls [选项] [文件目录]
  • ls的常用选项
     -l:以长格式(Long)显示文件和目录的列表,包括权限、大小、最后更新时间等详细信息。ll命令与ls -l功能相同。
     -a:显示所有(All)子目录和文件的信息,包括名称以点号“.”开头的隐藏目录和隐藏文件。
     -A:与-a选项的作用基本类似,但有两个特殊隐藏目录不会显示,即表示当前目录的“.”和表示父目录的“..”。
     -d:显示目录(Directory)本身的属性,而不是显示目录中的内容
     -h:以跟人性化(Human)的方式显示目录或文件的大小,默认的大小单位为字节(B),使用-h选项后显示KB、MB等单位,此选项需要结合 -l 选项一起使用
     -R:以递归(Recursive)的方式显示指定目录及其子目录中的所有内容。
     --color:在字符模式中以颜色区分不同的文件。默认已开启
     		  深蓝色表示目录,黑色或者白色表示一般文件,绿色表示可执行的文件,黄色表示设备的文件,红色表示压缩文件。
     -i:显示文件和目录的inode号
     -t:以时间排序,最新的文件会排在上面。
     -r:表示反向排序、倒序输出
    

用ls -l命令查看某一个目录会得到一个7个字段的列表

在这里插入图片描述

  • 第1个字段:文件属性字

     第一个字符表示文件的类型: 
     -:表示该文件是一个普通文件
     d:表示该文件是一个目录
     l:表示该文件是一个软链接文件。类似于Windows下的快捷方式
    
     第1字符的后面9个字母表示该文件目录的权限位:
     r表示读(查看、下载)、w表示写(添加、更改、删除、上传)、x表示执行(运行文件、切换目录)
     其中前三个表示文件拥有者(属主)的权限,中间是哪个表示文件所属组拥有的权限,最后三个表示其他用户拥有得权限。
    
  • 第2个字段:文件硬链接数

     如果一个文件不是目录,此时这一字段表示这个文件所具有的硬链接数
     如果是一个目录,则第二字段表示该目录所含子目录的个数
     如果新建一个空目录,这个目录的第二字段就是2,表示该目录下有两个子目录
    
  • 第3个字段:文件\目录拥有者

  • 第4个字段:文件\目录拥有者所在的组

  • 第5个字段:文件所占用的空间(默认以字节为单位)

    如果是一个目录,则表示该目录的大小,而不是目录以及它下面的文件的总大小。
    Linux系统中一起切皆是文件,因此目录也是一种文件。
    
  • 第6个字段:文件\目录最近访问或修改时间

  • 第7个字段:文件名

     如果是一个符号链接(软链接文件),那么会有一个“->”箭头符号,后面跟一个它指向的文件名。
    

结合通配符

"?":代表任意一个字符,有且一个字符
"*":代表任意数个字符,可以是0个或者1个或者多个
"[]":表示可以匹配字符组中的任意一个字符
	   [abc]、[a-f]

统计目录及文件空间占用情况 —— du

  • 统计指定目录(或文件)所占用磁盘空间的大小

     du [选项] [文件或目录...]
    
  • 常用选项

选项说明
-a统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录
-h以更人性化的方式(默认以kB计数,但不显示单位)显示出统计结果
-s只统计所占用空间总的大小,而不是统计每个子目录、文件大小
-max-depth=n统计所有小于等于第n层的目录的总大小

注:选项-a和-s不可同时使用

比如:统计出/var/log目录中子目录的大小

du -h --max-depth=1 /var/log/

在这里插入图片描述

二、创建目录和文件(mkdir、touch、ln)

创建新目录 —— mkdir

mkdir [选项] 目录位置及名称(选项中:-p:一次性创建嵌套的多层目录)

示例:

在当前目录下创建名为 puplic_html 的子目录
mkdir public_html

在这里插入图片描述
示例:

创建目录/aa,在/aa目录下创建子目录bb,在/aa/bb目录下创建子目录cc
mkdir -p /aa/bb/cc

在这里插入图片描述

创建空文件 —— touch

  • 更新文件的时间标记

  • 经常用于创建多个新的空文件

    touch 文件 ...
    

    示例:

    创建两个空文件,文件名分别为 aa.txt和bb.txt
    touch aa bb
    touch{a,b}.txt
    

    在这里插入图片描述

创建链接文件 —— ln

  • 为文件或目录建立链接文件,类似于Windows系统的快捷方式

  • 链接文件类型

     软链接(又称为符号链接)
     硬链接
     ln 源文件或目录...链接文件或目标位置(创建软链接在源文件或目录前加[ls])
     注:创建软链接最好用绝对路径
    
文件类型软链接文件硬链接文件
删除源文件后失败·仍然可用(文件占用空间与源文件相同)
使用范围适用于文件或目录仅适用于文件
保存位置与源文件可在不通的文件系统中必须与源文件在同一个文件系统(即同一个分区)中
与源文件的关系相当于快捷方式相当于给文件起个别名
inode号码inode号码不同inode号码相同

三、复制、删除、移动目录和文件(cp、rm、mv)

复制文件或目录 —— cp

  • 将需要复制的文件或目录(源)重建一份,并保存为新的文件或目录

     cp [选项]...源文件或目录...目标文件或目录
    
  • 常用选项

     -f:覆盖目标同名文件或目录时不进行提醒,而直接强制复制
     -i:覆盖目标同名文件或目录时提醒用户确认
     -p:复制时保持源文件的权限、属性及时间标记等属性不变
     -r:复制目录时必须使用此选项,表示递归复制所有文件及子目录
     注:复制多个文件或目录时,目标位置必须是目录,且目标目录必须已存在
    

删除文件或目录 —— rm

  • 删除指定的文件或目录

     rm [选项] 要删除的文件或目录...
    
  • 常用选项

     -f:删除文件或目录时不进行提醒,而直接强制删除
     -i:删除文件或目录时提醒用户确认。(y表示删除,n表示不删除)
     -r:删除目录时必须使用此选项,表示递归删除整个目录树(应谨慎使用)。
     注:不要直接删除系统中已有的目录或配置文件,以避免出现意外故障。
     删除目录下文件时建议最好先切换到目录下载执行rm -rf命令
    

移动文件或目录 —— mv

  • 将指定的文件或目录转移位置

  • 如果目标位置与源位置相同,则相当于执行重命名操作

     mv [选项]...源文件或目录...目标文件或目录
    

四、查找目录和文件(which、find)

查找命令文件存放目录 —— which

  • 搜索范围由环境变量 PATH 决定(echo $PATH)
    which 命令|程序名 			//默认当找到第一个目标后不再继续查找
    或
    which -a 命令|程序名			//在所有搜索了路径中查找
    示例:
    which ls
    shich history
    使用which查找内部命令是,将找不到对应的程序
    

查找文件或目录 —— find

  • 采用递归方式,根据目标的名称、类型、大小等不同属性进行精细查找
    在这里插入图片描述
  • 常用查找条件类型
查找类型关键字说明
按名称查找-name根据目标文件的名称进行查找,允许使用 “*” 及 “? ”通配符
按文件大小查找-size根据目标文件的大小进行查找
一般使用 “+”、“-” 号设置超过或下雨指定的大小作为查找条件
常用的容量单位包括kB(注意k是小写)、MB、GB
按文件属主查找-user根据文件是否属于目标用户进行查找
按文件类型查找-type根据文件的类型进行查找
文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等
块设备文件(b): 成块读取数据的设备(硬盘、内存、光驱)
字符设备文件(c):按单个字符读取数据的设备(键盘、鼠标)

使用 find 命令实现多个查找条件

  • 各表达式之间使用逻辑运算符
    -a: 表示 而且(and)
    -o:表示 或者(or)

    示例:

    find /boot -size +1024k -a -name "vmlinuz*"			#根据大小查找/boot目录下大于1024k且名字以vmlinuz结尾的文件
    

    在这里插入图片描述

    find /boot -size +1024k -o -name "vmlinuz*"			#根据大小查找/boot目录下大于1024k或名字以vmlinuz结尾的文件
    

    在这里插入图片描述

find之exec用法

  • -exec参数后面跟的是Linux命令,它是以分好“;”为结束标志,由于各个系统中分号会有不同的意义,因此在分号前面加上反斜杠转义符“\”
    {}代表前面find查找出来的文件名。

  • find 命令匹配到了当前目录下的所有普通文件,并在 -exec 选项中使用 ls -l 命令将它们列出

     find ./-type f-exec ls -l {}\;
    

五、命令执行的优先级

 - 第一优先级:指定路径的命令。绝对路径 /usr/bin/ls  或者相对路径 cd/usr、bin  ./ls
 - 第二优先级:别名指定的命令 allas myls=‘/usr/bin/ls -alh'
 - 第三优先级:内部命令
 - 第四优先级:hash命令
 linux系统下回有一个hash表,当你正开机时这个hash表为空,每当你执行过一条命令时,hash表会记录下这条命令的路径,就相当于缓存一样。第一次执行命令shell皆是默认的会从PATH路径下寻找该命令的路径,当你第二次使用该命令时,shell皆是器首先会查看hash表,没有该命令才会去PATH路径下寻找,hash表能提高命令的调用速率。
 - 第五优先级:通过 PATH 定义的查找顺序查找
 如果以上顺序都找不到,就会宝“未找到命令...”的错误
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值