好啦网:面试必问的 Linux 命令帮你整理好啦... 2024-04-16 22:43:18 0 0 04.Linux 的目录结构 要更好的学好 Linux 操作性通,我们要先了解一下 Linux 的目录结构。 Linux 的文件系统是采用层级式的树状目录结构,在此结构中的最上层是根主目录,下层是各种各样的子目录和文件。 理解根目录底下的相关 Linux 文件目录是非常重要的。 05.Linux 常用的命令 了解了 Linux 操作系统和目录结构之后,接下来就是要重点学习里面的一些常用命令了! 系统命令 uname:可显示电脑以及操作系统的相关信息 uname -a :显示主机名、内核等系统信息 hostname:显示系统主机名 hostname -i :显示系统 IP 地址 cal:显示本月的日历 date:显示当前时间 uptime:显示运行时间 whereis xxx :显示 xxx 程序可能的位置 which xxx:显示 xxx 命令对应执行的程序 硬件使用相关命令 cat /proc/cpuinfo : 显示 CPU 信息 cat /proc/meminfo: 显示内存信息 free :显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存等 =kB free -m:-m 参数表示以 MB 为单位显示内存使用情况 man xxx :显示 xxx 命令的帮助手册信息 比如:man ps,就会显示 ps 命令的帮助文档: 磁盘使用情况 (disk free) df :显示磁盘空间信息 df -h:以容易阅读的方式显示磁盘使用情况 df -i:显示文件系统上的空闲索引节点(inode) 其中,索引节点我们来解释一下,Inode 译成中文就是索引节点,每个存储设备(例如硬盘)或存储设备的分区被格式化为文件系统后,应该有两部份,一部份是 inode,另一部份是 Block,Block 是用来存储数据用的。 而 inode 呢,就是用来存储这些数据的信息,这些信息包括文件大小、属主、归属的用户组、读写权限等。inode 为每个文件进行信息索引,所以就有了 inode 的数值。操作系统根据指令,能通过 inode 值最快的找到相对应的文件。 而服务器的 Block 计算还有剩余,但 inode 已经用满时,在创建新目录或文件时,系统仍然提示磁盘空间不足。 此时,我们就可以删除文件占用多的目录来解决这个问题。 磁盘使用情况 (disk usage) du:显示目录和文件的大小,逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块(1024 字节)的情况。若没有给出指定目录,则对当前目录进行统计。 du -sh:-s 参数是求得总大小的意思,-h 参数以容易阅读的方式显示文件的大小 fdisk -l:显示磁盘和分区信息 findmnt:显示当前挂载的文件系统列表,以树状的格式显示 mount device-path mount-point:挂载设备到目录 (光盘 iso,移动硬盘,U 盘,NFS 文件共享) 以上两个命令都是磁盘使用情况的命令,那么 du 和 df 有什么区别呢?我们来简单的解释一下。 一个文件创建,就新生成了一个 inode 节点,且 inode 节点的引用计数为 1。当文件被一个进程打开,则在内存中缓冲建立此 inode 节点缓存,且其引用计数加 1。一个文件可以被多次打开,创建多个文件描述符,但对应的 inode 节点只有一个,对应的磁盘存储只有一个,只是引用计数每打开一次加 1。 当文件被 rm,目录项被删除,如果其对应的 inode 节点的引用计数为 0,则删除对应的 inode 节点,其对应磁盘可被再申请;但如果此文件被其他进程打开,则其对应的 inode 节点的引用计数不为 0,则不会删除对应的 inode 节点,其对应磁盘不能被再申请;只有当前文件被所有使用进程 close 后,系统才会删除对应的 inode 节点,其对应磁盘可被再申请。 一个被某进程打开的文件 被 rm 后,其目录项被删除了,在 du 命令下是不能被统计到,而其 inode 没有被删除,在 df 命令下是可以被统计到的,这就是在 du 和 df 存在差别的原因。 文件目录相关命令 ls 命令 ls :显示当前工作目录所含文件及子目录 --list ls -al:-l (简写成 ll)–详细信息;-a 显示普通文件和隐藏文件的详细信息 pwd 命令 显示当前工作目录的绝对路径 ,全称是 print working directory cd 命令 cd xxx :转到 xxx 目录 ,全称是 change directory cd … : 转到上一级目录 cd :转到当前用户的家目录 ,效果等同于 cd ~ mkdir 命令 mkdir dir1:创建 dir1 目录,全称是 make directory rm 命令 rm file1:删除 file1 文件 rm -r dir1:删除 dir1 目录及内含文件 rm -f file1: 强制删除 file1 文件 rm -rf dir1: 强制删除 dir1 目录及内含文件 cp 命令 cp file1 file2:复制 file1 并命名为 file2,若 file2 存在则内容覆盖(需要确认) cp -r dir1 dir2: 递归拷贝 dir1 并命令为 dir2,若 dir2 存在则复制 dir1 目录中文件到 dir2 mv 命令 mv file1 file2: 将 file1 重命名为 file2,若 file2 存在则内容覆盖 软连接 ln 命令 ln -s file1 link:创建 file1 文件的软链接 —目标目录/文件 软连接地址 touch 命令 touch file1:file1 不存在时候创建 file1;若存在,则修改文件的时间属性为当前时间 查看文件命令 cat file1 > file2 : 将 file1 的文件内容输入到 file2 中 more file1:按页查看 file1 文件内容,从前向后翻看文件 (空格-一行行, 空白键-一页页) less file1:按页查看 file1 文件内容,可往前往后翻看文件 (上下键)-q 退出 head -n 5 file1:显示 file1 文件的前 5 行 == 默认前 10 行 tail -n 5 file1:显示 file1 文件的后 5 行 === 默认后 10 行 tail -f file1:实时显示 file1 文件的最新增加内容 === 查看动态更新的日志 , ctrl + C 退出 wc /path/file: 输出 file 文件的行数,单词书和字节数 好文推荐 转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧! 面试经:一线城市搬砖!又面软件测试岗,5000就知足了… 面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号… 什么样的人适合从事软件测试工作? 那个准点下班的人,比我先升职了… 测试岗反复跳槽,跳着跳着就跳没了… 收藏(0)