当前位置: 首页 > news >正文

2. Linux系统——文件目录管理操作

Linux系统——文件目录管理操作

  • 一、命令提示符的格式
  • 二、切换目录、查看文件
    • 1、切换目录、查看目录
    • 2、查看目录下的文件
      • 2.1 常用选项
    • 3、查看文件、目录占用的硬盘空间
  • 三、创建、删除文件目录
    • 3.1 创建空白文件
    • 3.2 创建目录
    • 3.3 大括号展开、命令引用
      • 3.3.1 大括号展开
      • 3.3.2 命令引用 $(命令)
    • 3.4 删除文件目录
  • 四、查看文件内容
    • 4.1 cat
    • 4.2 more/less 分页显示文件内容
    • 4.3 head/tail
    • 4.4 wc 统计文件的字符数
  • 五、管道符 |

一、命令提示符的格式

ctrl + shift + “+” , 调大字体
ctrl + “-” 缩小字体

  • 命令提示符的格式
[root@localhost ~]# [用户名@主机名 当前目录] 身份标识符 身份标识符: 
#		管理员
$		普通用户当前目录: 
~	当前用户的家目录 
  • 切换用户的命令
[root@localhost ~]# su - martin
上一次登录:五 927 09:16:37 CST 2024pts/0 上
[martin@localhost ~]$ 
[martin@localhost ~]$ 
[martin@localhost ~]$ exit
登出
  • 查看当前登录系统的用户
[root@localhost ~]# whoami 
root
[root@localhost ~]# su - martin
上一次登录:五 927 09:21:16 CST 2024pts/0 上
[martin@localhost ~]$ 
[martin@localhost ~]$ whoami 
martin
[martin@localhost ~]$ 
[martin@localhost ~]$ exit
登出
  • 查看、修改主机名
[root@localhost ~]# hostname
localhost.localdomain[root@localhost ~]# hostnamectl set-hostname node01[root@localhost ~]# hostname
node01
  • 查看当前目录
[root@node01 ~]# pwd
/root
[root@node01 ~]# 
[root@node01 ~]# su - martin
上一次登录:五 927 09:22:03 CST 2024pts/1 上
[martin@node01 ~]$ 
[martin@node01 ~]$ pwd
/home/martin

二、切换目录、查看文件

1、切换目录、查看目录

# cd [目录名称] 
[root@node01 ~]# pwd
/root
[root@node01 ~]# 
[root@node01 ~]# cd /etc/
[root@node01 etc]# pwd
/etc
[root@node01 etc]# cd /home/
[root@node01 home]# pwd
/home
[root@node01 home]# cd /etc/sysconfig/
[root@node01 sysconfig]# pwd
/etc/sysconfig
[root@node01 sysconfig]# cd ..
[root@node01 etc]# pwd
/etc
[root@node01 etc]# cd ..
[root@node01 /]# pwd
/
  • 支持按tab键补全
[root@node01 /]# cd /etc/sysconfig/
[root@node01 sysconfig]# 
[root@node01 sysconfig]# cd 
[root@node01 ~]# 
[root@node01 ~]# pwd
/root
[root@node01 ~]# 
[root@node01 ~]# cd /dev/
[root@node01 dev]# pwd
/dev
[root@node01 dev]# cd 
[root@node01 ~]# pwd
/root
  • 绝对路径, /etc, /etc/sysconfig
  • 相对路径, 相对于当前目录
[root@node01 /]# cd etc/
[root@node01 etc]# cd sysconfig/
[root@node01 sysconfig]# pwd
/etc/sysconfig

2、查看目录下的文件

# ls [选项] [目录名称]
  • 查看当前目录的文件
[root@node01 ~]# pwd
/root
[root@node01 ~]# ls
anaconda-ks.cfg  initial-setup-ks.cfg  公共  模板  视频  图片  文档  下载  音乐  桌面
[root@node01 ~]# 
[root@node01 ~]# 
[root@node01 ~]# cd /boot/
[root@node01 boot]# pwd
/boot
[root@node01 boot]# ls
config-3.10.0-1160.el7.x86_64
efi
grub
grub2
initramfs-0-rescue-84faae06b9db47f58cdea28d49806099.img
initramfs-3.10.0-1160.el7.x86_64.img
initramfs-3.10.0-1160.el7.x86_64kdump.img
symvers-3.10.0-1160.el7.x86_64.gz
System.map-3.10.0-1160.el7.x86_64
vmlinuz-0-rescue-84faae06b9db47f58cdea28d49806099
vmlinuz-3.10.0-1160.el7.x86_64
  • 查看指定目录下的文件
[root@node01 ~]# ls /etc/yum.repos.d/
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo  CentOS-x86_64-kernel.repo[root@node01 ~]# ls /var/log/

2.1 常用选项

  • -a
    查看所有文件
// Linux系统以.点开头的文件,为隐藏文件 
[root@node01 ~]# ls -a
.                .bash_history  .bashrc  .cshrc     .ICEauthority         .tcshrc      模板  文档  桌面
..               .bash_logout   .cache   .dbus      initial-setup-ks.cfg  .Xauthority  视频  下载
anaconda-ks.cfg  .bash_profile  .config  .esd_auth  .local                公共         图片  音乐
  • -l -h
    查看文件的详细信息
    -h 显示容量单位
[root@node01 ~]# ls -l -h
总用量 8.0K
-rw-------. 1 root root 2.2K 927 10:45 anaconda-ks.cfg
anaconda-ks.cfg: 文件名
927 10:45: 文件最近一次修改时间
2.2K: 大小 
rw-------. 1 root root:权限第1个字符:文件类型 
-: 普通文件 
d:  目录
c: 	字符设备文件、键盘、鼠标、显示器、打印机【顺序读写】
b:	块设备文件、硬盘、分区、U盘、光盘【随机读写】
l:	软链接/符号链接,类似于快捷方式

查看文件/etc/fstab的权限

[root@node01 ~]# ls -lh /etc/fstab 
[root@node01 ~]# ls -l /etc/shadow [root@node01 ~]# ls -lh /home/
[root@node01 ~]# ls -lh /tmp/
  • -d 显示目录的详细信息
[root@node01 ~]# ls -ldh /etc/ 
drwxr-xr-x. 147 root root 8.0K 927 09:27 /etc/
  • S 按文件大小排序显示
[root@node01 ~]# ls -lhS /boot/
总用量 137M
-rw-------. 1 root root  77M 926 14:50 initramfs-0-rescue-84faae06b9db47f58cdea28d49806099.img
-rw-------. 1 root root  31M 926 14:53 initramfs-3.10.0-1160.el7.x86_64.img
-rw-------. 1 root root  14M 926 15:20 initramfs-3.10.0-1160.el7.x86_64kdump.img
  • t 按文件修改时间排序显示
[root@node01 ~]# ls -lht /boot/
总用量 137M
-rw-------. 1 root root  14M 926 15:20 initramfs-3.10.0-1160.el7.x86_64kdump.img
drwx------. 5 root root   97 926 14:53 grub2
-rw-------. 1 root root  31M 926 14:53 initramfs-3.10.0-1160.el7.x86_64.img

3、查看文件、目录占用的硬盘空间

// 统计文件大小
[root@node01 ~]# du -h /etc/fstab  
4.0K	/etc/fstab
[root@node01 ~]# du -h /boot/vmlinuz-3.10.0-1160.el7.x86_64
6.5M	/boot/vmlinuz-3.10.0-1160.el7.x86_64// 统计目录大小 
[root@node01 ~]# du -sh /etc/ 
46M	/etc/
[root@node01 ~]# 
[root@node01 ~]# du -sh /boot/ 
153M	/boot/// 统计/boot目录下所有文件大小 
[root@node01 ~]# du -ah /boot/ 
4.0K	/boot/efi/EFI/centos/BOOT.CSV
4.0K	/boot/efi/EFI/centos/BOOTX64.CSV
1.2M	/boot/efi/EFI/centos/MokManager.efi
1.2M	/boot/efi/EFI/centos/mmx64.efi
1.2M	/boot/efi/EFI/centos/shim.efi
1.2M	/boot/efi/EFI/centos/shimx64-centos.efi

三、创建、删除文件目录

3.1 创建空白文件

# touch 文件名称 
[root@node01 ~]# touch /opt/file01
[root@node01 ~]# ls /opt/
file01  rh
[root@node01 ~]# ls -l /opt/file01 
-rw-r--r--. 1 root root 0 927 14:05 /opt/file01

3.2 创建目录

# mkdir 目录名称 
[root@node01 ~]# mkdir /opt/work
[root@node01 ~]# ls -ldh /opt/work/
drwxr-xr-x. 2 root root 6 927 14:07 /opt/work/常用选项: -p 递归创建目录  
[root@node01 ~]# mkdir -p /opt/db/redis [root@node01 ~]# mkdir -pv /opt/web/nginx
mkdir: 已创建目录 "/opt/web"
mkdir: 已创建目录 "/opt/web/nginx"

3.3 大括号展开、命令引用

3.3.1 大括号展开

[root@node01 ~]# touch /opt/db/{1..10}.sql 
[root@node01 ~]# touch /opt/db/{a..z}.sql 
[root@node01 ~]# touch /opt/db/{bj,sh,wh}.sql

3.3.2 命令引用 $(命令)

调用命令的结果,命令引用

查看系统时间

[root@node01 ~]# date
2024年 09月 27日 星期五 14:21:17 CST
[root@node01 ~]# 
[root@node01 ~]# date +%Y
2024
[root@node01 ~]# date +%m
09
[root@node01 ~]# date +%d
27
[root@node01 ~]# date +%H
14
[root@node01 ~]# date +%M
22
[root@node01 ~]# date +%S
37
[root@node01 ~]# date +%H_%M_%S
14_23_21
[root@node01 ~]# date +%F
2024-09-27
[root@node01 ~]# date +%T
14:23:55
[root@node01 ~]# date +%F_%T
2024-09-27_14:24:11
  • $(命令)
[root@node01 ~]# touch /opt/web_$(date +%F_%T)[root@node01 ~]# ls /opt/
a  a.jpg  db  file01  rh  web  web_2024-09-27_14:26:51  work
  • 反引号 命令
[root@node01 ~]# touch /opt/`date +%F`
[root@node01 ~]# ls /opt/
2024-09-27 

3.4 删除文件目录

[root@node01 ~]# rm /opt/file01 
rm:是否删除普通空文件 "/opt/file01"?y删除目录: -r 
[root@node01 ~]# rm -r /opt/work/
rm:是否删除目录 "/opt/work/"?y[root@node01 ~]# rm -rf /opt/web 

四、查看文件内容

4.1 cat

# cat 文件名称 
[root@node01 ~]# cat /etc/hosts 
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
// 查看主机名配置文件 
[root@node01 ~]# cat /etc/hostname 
node01// 查看系统版本
[root@node01 ~]# cat /etc/os-release 
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
  • 查看内核版本
[root@node01 ~]# uname -r 
3.10.0-1160.el7.x86_64[root@node01 ~]# uname -a
Linux node01 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

4.2 more/less 分页显示文件内容

[root@node01 ~]# more /usr/share/dict/words [root@node01 ~]# less /usr/share/dict/words 

4.3 head/tail

  • head
    默认显示文件的前10行内容
[root@node01 ~]# head /etc/passwd [root@node01 ~]# head -n 3 /etc/passwd 
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
  • tail
    默认显示文件的后10行内容
[root@node01 ~]# tail /etc/passwd [root@node01 ~]# tail -n 2 /etc/passwd 

注意:只能查看文本文件内容

[root@node01 ~]# file /etc/fstab 
/etc/fstab: ASCII text[root@node01 ~]# file /usr/bin/cat
/usr/bin/cat: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=b97cc8358edb123e8a9e21390f30924fe66a5e55, stripped

4.4 wc 统计文件的字符数

// 行数、单词数、字符数
[root@node01 ~]# wc /etc/hosts 2  10 158 /etc/hosts
[root@node01 ~]# // 行数 
[root@node01 ~]# wc -l /etc/hosts 
2 /etc/hosts
[root@node01 ~]#

五、管道符 |

将前一个命令的执行结果,交给后一条命令处理

[root@node01 ~]# head -n 4 /etc/passwd | tail -n 1 
adm:x:3:4:adm:/var/adm:/sbin/nologin[root@node01 ~]# tail -n 2 /etc/passwd | head -n 1 
tcpdump:x:72:72::/:/sbin/nologin[root@node01 ~]# ls -l /etc/ | less [root@node01 ~]# ls -lhS /boot/ | head -n 2 | tail -n 1 

截取网卡的IP地址

[root@node01 ~]# ifconfig ens33 | head -n 2 | tail -n 1 | awk '{print $2}'
192.168.140.135
[root@node01 ~]# 
[root@node01 ~]# ifconfig ens33 | head -n 2 | tail -n 1 | awk '{print $2,$4}'
192.168.140.135 255.255.255.0

http://www.mrgr.cn/news/38146.html

相关文章:

  • 3.整数二分
  • C语言开发基础新手快速入门及精通系列学习教程(系统性完整C语言学习笔记整理)
  • 逆变器控制技术
  • 继承实现单例模式的探索(二)
  • 前端大模型入门:使用Transformers.js手搓纯网页版RAG(二)- qwen1.5-0.5B - 纯前端不调接口
  • 变量的定义和声明
  • C++入门基础知识90(实例)——实例15【求两数的最大公约数】
  • 初试React前端框架
  • 昇思MindSpore进阶教程--数据处理管道支持Python对象
  • 软件设计模式概述
  • 【JAVA开源】基于Vue和SpringBoot的师生健康管理系统
  • # linux从入门到精通(三)
  • 【幂简集成】手机归属地查询API,精准获取号码所在地,提升数据准确率
  • flatten()
  • Python知识点:如何使用Spark与PySpark进行分布式数据处理
  • 基于SSH的酒店管理系统的设计与实现 (含源码+sql+视频导入教程+文档+PPT)
  • opencv-如何获取图像区域特定像素区域大小
  • 万字长文详解FreeRTOS软件定时器
  • Python in Excel作图分析实战!
  • 一个好用的服务治理组件Sentinel