linux---文件操作

news/2024/10/30 9:32:29/

1.文件路径定位

# /bin, /sbin, /lib, /lib64都以软链接的形式链接到/usr/目录下
/bin –> /usr/bin
/sbin –> /usr/sbin
lib -> usr/lib
lib64 -> usr/lib64# 路径非常重要,名字一样,单不一定是一个文件# 相对路径: 相对于当前文件,目录的路径
# 绝对路径:从根路径下开始找win:c dlinxu  /# .  和  ... 表示当前路径.. 表示上一层# 以后看到 . .. 都是用相对,看到 / 都是绝对./  相对../ 相对

2.cd操作

cd      #切换目录,例: cd /etc
cd -    #切换回上一次所在的目录
cd ~    #切换回当前用户的家目录,注意:root和普通用户是否有所不同吗?
cd .    #代表当前目录,一般在拷贝、移动等情况下使用 cp /etc/hostname ./
cd ..   #切换回当前目录的上级目录

2.系统文件管理:创建/复制/移动/删除

2.1 文件创建

touch file     #无则创建,有则修改时间rm -rf fil*  把fil开头的全删除

2.2 创建目录

# 目录创建命令mkdir# 选项:-v 显示详细信息  -p 递归创建目录
mkdir dir1
mkdir /home/od/dir1 /home/od/dir2
mkdir -v /home/od/{dir3,dir4} 
mkdir -pv /home/od/dir5/dir6
mkdir -pv /home/{od/{diu,but},boy}

2.3 以树状显示目录结构命令tree

yum install -y tree     #需要下载第三方tree 路径目录
oo
└── aa└── bb

2.4 cp 复制

#选项: -v:详细显示命令执行的操作 -r: 递归处理目录与子目录 -p: 保留源文件或目录的属性cp file /tmp/file_copy
cp name /tmp/name         #不修改名称
cp file /tmp/             #不修改名称
cp -p file /tmp/file_p    #-p保持原文件或目录的属性
cp -r  /etc/ /tmp/        #复制目录需要使用-r参数, 递归复制
cp -rv /etc/hosts /etc/hostname /tmp  #拷贝多个文件至一个目录
cp -rv /etc/{hosts,hosts.bak}
cp -rv /etc/hosts{,-org}

2.5 mv移动

mv file file1             #原地移动算改名
mv file1 /tmp/            #移动文件至tmp目录
mv /tmp/file1 ./          #移动tmp目录的文件至当前目录
mv dir/ /tmp/             #移动目录至/tmp目录下touch file{1..3}
mv file1 file2 file3 /opt/    #移动多个文件或至同一个目录mkdir dir{1..3}
mv dir1/ dir2/ dir3/ /opt     #移动多个目录至同一个目录

2.6 rm删除

#选项:-r: 递归 -f: 强制删除 -v: 详细过程
rm  file.txt      #删除文件, 默认rm存在alias别名,rm -i所以会提醒是否删除文件
rm -f file.txt    #删除文件, 不提醒rm -r dir/        #递归删除目录,会提示
rm -rf dir/       #强制删除目录,不提醒(慎用)#1.rm删除示例
mkdir /home/dir10
touch /home/dir10/{file2,file3,.file4}
rm -f /home/dir10/  //不包括隐藏文件 
ls /home/dir10/ -a
. .. .file4#2.rm删除示例2
touch file{1..10}
touch {1..10}.pdf
rm -rf file 
rm -rf .pdf

3.系统文件管理:查看文件内容

(cat less more head tail grep )

3.1 cat,tac

#------cat
cp /etc/passwd ./pass
cat pass      #正常查看文件方式
cat -n pass   #-n显示文件有多少行
cat -A pass   #查看文件的特殊符号,比如文件中存在tab键
tac pass cat >> 文件名 <<EOF
内容
EOF

3.2 less more

#------less、more ,查看一部分文件内容,less可以上下翻,more只能向下翻
less /etc/services    #使用光标上下翻动,空格进行翻页,q退出
more /etc/services    #使用回车上下翻动,空格进行翻页,q退出(有百分比)

3.3 head

#------head
head pass     #查看头部内容,默认前十行
head -n5 pass #查看头部5行,使用-n指定
ps aux | head -5 # 只看头部5个进程
ls -al | head -3 # 查看ls结果的头三个

3.4 tail

#------tail
tail pass  # 查看文件尾部,默认10行
tail -20 /var/log/secure  # 查看文件尾部20行
tail -f /var/log/messages #-f动态查看文件尾部的变化
tailf /var/log/messages   #查看文件尾部的变化
ps aux | tail -2

3.5 grep   --------过滤文

# /etc/passwd   存放用户的文件#------grep过滤文件内容
grep "^root" pass     #匹配以root开头的行
grep "bash$" pass     #匹配以bash结尾的行
grep -i "ftp" pass    #忽略大小写匹配
grep  -Ei "sync$|ftp" pass    #匹配文件中包含sync结尾或ftp字符串

4.文件管理之:文件或命令查找(locate、which、whereis、find)

# 命令查找
whereis  命令名
which  命令名# 找文件
find / -name lqz.txt # 从根路径下开始找 名字叫lqz.txt的文件

5 文件管理之:字符处理命令(wc)

# wc统计行号
#选项:-l显示文件行数 -c显示文件字节 -w显示文件单词# wc -l /etc/fstab      #统计/etc/fstab文件有多少行
# wc -l /etc/services   #统计/etc/services 文件行号
# ls |wc -l 
#cat /etc/fstab | wc -l  #统计/etc/fstab文件有多少行

6 系统文件属性

#-rw-r--r--. 1 root root 35 7月  27 10:33 lqz.txt# -rw-r--r--. # 第一个- 表示文件类型(一会讲),后面的rwx,表示权限,后面会说
# 1           # 硬链接次数
# root        #文件属于哪个用户
# root        # 文件属于哪个组
# 87811      #文件大小
# 7月  27 10:33 :最新修改的时间与日期
# a.jpeg      ⑨:文件或目录名称ll -d /etc/hosts /tmp /bin/ls  /dev/sda /dev/tty1 /etc/grub2.cfg /dev/log /run/dmeventd-client
# 文件类型:
-   #普通文件(文本, 二进制, 压缩, 图片, 日志等) 
d   #目录文件
b   #设备文件(块设备)存储设备硬盘 /dev/sda1, /dev/sda2
c   #设备文件(字符设备),终端 /dev/tty1, /dev/zero
s   #套接字文件, 进程间通信(socket)
p   #管道文件
l   #链接文件


http://www.ppmy.cn/news/991458.html

相关文章

Unity UGUI的Outline(描边)组件的介绍及使用

Unity UGUI的Outline(描边)组件的介绍及使用 1. 什么是Outline(描边)组件&#xff1f; Outline(描边)组件是Unity UGUI中的一种特效组件&#xff0c;用于给UI元素添加描边效果。通过设置描边的颜色、宽度和模糊程度&#xff0c;可以使UI元素在视觉上更加突出。 2. Outline(描…

【leetcode】977. 有序数组的平方(easy)

给你一个按 非递减顺序 排序的整数数组 nums&#xff0c;返回 每个数字的平方 组成的新数组&#xff0c;要求也按 非递减顺序 排序。 示例 1&#xff1a; 输入&#xff1a;nums [-4,-1,0,3,10] 输出&#xff1a;[0,1,9,16,100] 解释&#xff1a;平方后&#xff0c;数组变为 […

linux nginx 布置方案

一、安装前的准备 1 安装编译工具&#xff08;nginx安装之前需要编译&#xff09; yum install -y gcc gcc-c2安装PCRE #2.1下载wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz#2.2 解压tar -zxvf pcre-8.35.tar.gz#2.3进入目录cd pre-8.3…

ROS中使用RealSense-D435

文章目录 D435简介RealSense的SDK2.0安装方法1&#xff1a;直接利用安装源安装注册服务器公匙将服务器添加到存储库列表安装库 方法2&#xff1a;利用源码安装GitHub下载librealsense安装编译依赖运行脚本cmake编译 软件显示 ROS接口安装启动节点查看话题rviz显示点云 Python接…

一、SpringBoot基础[日志]

一、日志 解释&#xff1a;SpringBoot使用logback作为默认的日志框架&#xff0c;其中还可以导入log4j2等优秀的日志框架 1.修改日志内容 修改整个日志格式&#xff1a;logging.pattern.console%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] %logger{15} 你好 %msg%n %d{yyy…

华为openGauss数据库入门 - gsql用法

目录 1.1 gsql的语法 1.2 gsql常用选项 1.2.1 最常用的必要选项 1.2.2 -r选项 1.2.3 -E选项 1.2.4 -t选项 1.2.5 -A选项 1.2.6 -v选项 1.2.7 -c选项 1.2.8 -f选项 1.2.9 -q选项 1.3 gsql的元命令 1.3.1 \l命令 1.3.2 \du命令和\dg命令 1.3.3 \db命令 1.3.4 \d…

[SQL挖掘机] - 窗口函数 - rank

介绍: rank() 是一种常用的窗口函数&#xff0c;它为结果集中的每一行分配一个排名&#xff08;rank&#xff09;。这个排名基于指定的排序顺序&#xff0c;并且在遇到相同的值时&#xff0c;会跳过相同的排名。 用法: rank() 函数的语法如下&#xff1a; rank() over ([pa…

数字转义汉字数字显示的简单研究

最近有个需求&#xff0c;需要显示汉字数字&#xff0c;比如一二三四五…这样子&#xff0c;问题看起来挺简单&#xff0c;但我没有找到有自带这样的转换的方法&#xff0c;数字转汉字数字&#xff0c;挺有意思的&#xff0c;就简单研究了一下&#xff1b; 百度了一下&#xff…