Linux系统小白的成长之路2

news/2024/7/8 6:41:50

文章目录

    • 统计目录及文件空间占用情况——du
    • 创建新目录——mkdir
    • 创建空文件——touch
    • 创建链接文件——ln
      • 软连接和硬链接的区别
    • 复制文件或目录——cp
      • 常用选项
    • 删除文件或目录——rm
      • 常用选项
    • 移动文件或目录——mv
    • 查找命令文件存放目录——which
    • 查找文件或目录——find
      • 常用查找条件类型
      • 使用find命令实现多个查找条件
      • find之exec用法
    • 命令执行的优先级

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

统计指定目录(或文件)所占用磁盘空间的大小
du 【选项】【文件或目录…】
常用选项
①-a —— 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录
②-h —— 以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果
③-s —— 只统计所占用空间总的大小,而不是统计每个子目录、文件的大小
④- -max-depth=n —— 统计所有小于等于第n层的目录的总大小
注:选项-a和-s不可同时使用

创建新目录——mkdir

创建新的空目录
mkdir【选项】目录位置及名称
例:
在当前目录下创建名为public_html的子目录
mkdir public_html
创建目录/aa,在/aa目录下创建子目录bb,在/aa/bb目录下创建子目录cc
mkdir -p aa/bb/cc

创建空文件——touch

更新文件的时间标记
经常用于创建多个新的空文件
touch 文件…
例:
touch {a,b}.txt = touch a.txt touch b.txt

创建链接文件——ln

为文件或目录建立链接文件,类似于Windows系统的快捷方式
软连接:ln -s 【源文件或目录】 【名字】
硬链接:ln 【源文件】 【链接名】

软连接和硬链接的区别

文件类型软连接文件硬链接文件
删除源文件后失效仍然可用(文件占用空间与源文件相同
使用范围适用于文件或目录仅适用于文件
保存位置与源文件可在不同的文件系统中必须与源文件在同一个文件系统(即同一个分区)中
与源文件的关系相当于快捷方式相当于给文件起个别名
inode号码inode号码不同inode号码相同

在这里插入图片描述
当一个文件拥有多个硬链接时,对文件内容修改,会影响到所有文件名,但是删除一个文件名,不影响别的文件名的访问。删除一个文件名,只会使得“硬链接数”减“1”
需要注意的时不能对目录做硬链接,在日常工作中,几乎不会建立文件的硬链接

复制文件或目录——cp

将需要复制的文件或目录(源)重建一份,并保存为新的文件或目录
cp 【选项】源文件或目录 目标文件或目录

常用选项

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

删除文件或目录——rm

删除指定的文件或目录
rm 【选项】 要删除的文件或目录

常用选项

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

移动文件或目录——mv

将指定文件或目录转移位置
如果目标位置与源位置相同,则相当于执行重命名操作
mv 【选项】…源文件或目录…目标文件或目录

mv命令只能对单个文件重命名,可使用rename命令批量修改文件名
rename 旧字符 新字符 目标文件

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

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

查找文件或目录——find

采用递归方式,根据目标的名称、类型、大小等不同属性进行精细查找
find 【查找范围】【查找条件表达式】

常用查找条件类型

在这里插入图片描述

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

各表达式之间使用逻辑运算符

  • “-a”表示而且(and)
  • “-o”表示或者(or)
    例1:find /boot -size +1024k -a -name “vmlize”
    例2:find /boot -size +1024k -o -name “vmlize”

find之exec用法

  • -exec参数后面跟的是Linux命令,它是以分号“:”为结束标志,由于各个系统中分号会有不同的意义,因此在分号前面加上反斜杠转义符“\”
  • {}代表前面find查找出来的文件名。
  • find命令匹配到了当前目录下的普通文件,并在-exec选项中使用ls -l命令将它们列出
  • find ./ -type f -exec ls -l {} ;

命令执行的优先级

  • 第一优先级:指定路径的命令。绝对路径 /root/pwd.sh 或者相对路径 ./pwd.sh
  • 第二优先级:别名指定的命令 alias pwd=/root/pwd.sh
  • 第三优先级:内部指令
  • 第四优先级:hash命令

Linux系统下会有一个hash表,当你刚开机时这个hash表为空,每当你执行过一条命令时,hash表会记录下来这条命令的路径,就相当于缓存一样,第一次执行命令shell解释器默认的会从PATH路径下寻找该命令的路径,当你第二次使用该命令时,shell解释器首先会查看hash表,没有该命令才会去PATH路径下寻找。hash表能提高命令的调用速率

  • 第五优先级:通过PATH定义的查找顺序查找

-如果以上顺序都找不到,就会报“未找到命令…”的错误


http://www.niftyadmin.cn/n/3652616.html

相关文章

GB2312汉字拼音对照表

GB2312 汉字拼音对照表(6727字)来源:http://zh.transwiki.org/wiki/index.php/GB2312%E6%B1%89%E5%AD%97%E6%8B%BC%E9%9F%B3%E5%AF%B9%E7%85%A7%E8%A1%A8啊 a阿 a e埃 ai挨 ai哎 ai唉 ai哀 ai皑 ai癌 ai蔼 ai矮 ai艾 ai yi碍 ai爱 ai隘 ai鞍 …

Linux系统小白成长之路(3)

文章目录目录和文件管理的方法常见的子目录查看文件内容——cat(常用于短文件)查看文件内容——more(常用于长文件)查看文件内容——less查看文件内容——head、tail统计文件内容——wc检索和过滤文件内容——grep压缩命令gzip、b…

[转]通过Chroot机制让服务器安全到底

所谓"监牢"就是指通过chroot机制来更改某个进程所能看到的根目录,即将某进程限制在指定目录中,保证该进程只能对该目录及其子目录的文件有所动作,从而保证整个服务器的安全。 创建chroot"监牢" 以前,Unix/Lin…

[转]chroot Linux中的所有服务

作者:Mark Nielsen译者:蓝风原文出处:LinuxFocus.org 摘要:当某些人入侵你的系统时,chroot将通过限制入侵者所能造成的损失来提高系统的安全性。介绍:  什么是chroot呢?它其实是对一个程序从根…

RPM安装管理与yum的安装

文章目录应用程序与系统命令的关系典型应用程序的目录结构常见的软件包封装类型RPM管理工具rpm命令的格式查询RPM软件包信息查询未安装的RPM软件包文件中信息安装、升级、卸载RPM软件包维护RPM数据库yum安装软件包方式挂载Windows中的共享目录应用程序与系统命令的关系 角色系…

[转]chroot使用方法和安全相关

CHROOT就是Change Root,也就是改變程式執行時所參考的根目錄位置。 一般的目錄架構: / /bin /sbin /usr/bin /home CHROOT的目錄架構: /hell/ /hell/bin /hell/usr/bin /hell/home * 為何要CHROOT? 1.限制被CHROOT的使用者所能執行…

[转]网络安全工具开发函数库介绍

网络安全工具开发函数库介绍作者&#xff1a;backend <backendnsfocus.com> <http://www.nsfocus.com> 日期&#xff1a;2000-07-16 ---[[ 前言 ]]--------------------------------------------…

[转]Network Programming Using Libevent

Network Programming Using Libevent - (I) 在課堂上學過 Unix Network Programming 後&#xff0c;我們知道在處理多 User 時會有幾種方法解決&#xff1a;一個新的 Connection 進來&#xff0c;用 fork() 產生一個 Process 處理。 一個新的 Connection 進來&#xff0c;用 pt…