linx的链接、一级目录、重定向、cp与mv
目录
1.硬链接和软连接
2.一级目录
3.I/O流、重定向
4.文件和目录的创建与删除
5.复制、移动
1.硬链接和软连接
符号链接又叫软链接
- 和原文件不是一个文件 例如Windows的快捷方式,如果原始文件被删除,所有
- 指向它的符号链接也就都被破坏了。
- 软链接有自己的node,是linux特殊文件的一种,作为一个文件,它的数据是它所连接的文件的路径。符号链接可以跨越文件系统,也可以为目录建立。
- 格式:ln -s 源文件 目标文件
硬链接
- 只能引用同一文件系统中的文件。它引用的是文件在文件系统中的物理索引(也称为inode)。
- 当移动或者删除原始文件时,硬链接不会被破坏,因为它所引用的是文件的物理数据而不是文件在件结构中的位置。
- 创格式: ln 原文件 目标文件
创建文件file1并为其创建软链接soft_file1、和硬链接hard_file1
[root@localhost home]# touch file1
[root@localhost home]# ln -s file soft_file1
[root@localhost home]# ln file hard_file1
[root@localhost home]# ls -li
total 5
27446429 drwxr-xr-x. 2 root root 6 Jul 14 10:46 data
27446447 -rw-r--r--. 2 root root 0 Jul 14 18:15 file1
27446447 -rw-r--r--. 2 root root 0 Jul 14 18:15 hard_file1
18732229 drwx------. 15 rhcsa rhcsa 4096 Jul 12 17:45 rhcsa
27446463 lrwxrwxrwx. 1 root root 5 Jul 14 18:19 soft_file1 -> file11875985 drwxr-xr-x. 2 root root 6 Jul 14 10:46 sub_data
删除file1再查看各文件里面得内容
[root@localhost home]# echo "123456" > file1
[root@localhost home]# echo "999999" >> hard_file1
[root@localhost home]# cat file1
123456
[root@localhost home]# cat soft_file1
123456
[root@localhost home]# cat hard_file1
123456
999999[root@localhost home]# rm file1
rm: remove regular file 'file1'? y
[root@localhost home]# cat file1
cat: file1: No such file or directory
[root@localhost home]# cat soft_file1
cat: soft_file1: No such file or directory
[root@localhost home]# cat hard_file1
999999
2.一级目录
- /bin/ 存放系统命令,普通用户和 root 都可以执行。放在 /bin 下的命令在单用户模式下也可以执行
- /boot/ 系统启动目录,保存与系统启动相关的文件,如内核文件和启动引导程序(grub)文件等
- /dev/ 设备文件保存位置
- /etc/ 配置文件保存位置。系统内所有采用默认安装方式(rpm 安装)的服务配置文件全部保存在此目录中
- /home/ 普通用户的主目录(也称为家目录)
- /lib/ 系统调用的函数库保存位置
- /lib64 存放64位的文件
- /media/ 挂载目录。系统建议用来挂载媒体设备,如软盘和光盘
- /mnt/ 挂载目录。系统建议这个目录用来挂载额外的设备,如 U 盘、移动硬盘和其他操作系统的分区
- /opt/ 第三方安装的软件保存位置。这个目录是放置和安装其他软件的位置,手工安装的源码包软件都可以安装到这个目录
- /proc/ 虚拟文件系统。该目录中的数据存在内存中。主要保存系统的内核、进程、外部设备状态和网络状态等
- /root/ root 的主目录。普通用户主目录在 /home/ 下,root 主目录直接在“/”下
- /sbin/ 保存与系统环境设置相关的命令,只有 root可以使用这些命令进行系统环境设置,也有些命令可允许普通用户查看
- /srv/ 服务数据目录。一些系统服务启动之后,可以在这个目录中保存所需要的数据
- /sys/ 虚拟文件系统。和 /proc/ 目录相似,该目录中的数据都保存在内存中,主要保存与内核相关的信息
- /tmp/ 临时目录。系统存放临时文件的目录,在该目录下,所有用户都可以访问和写入
- /tmp 这个目录是存放一些临时文件的地方。
- /usr 全称为 Unix Software Resource,此目录用于存储系统软件资源
- /var 用于存储动态数据,例如缓存、日志文件、软件运行过程中产生的文件等
3.I/O流、重定向
字段 | 描述 | 文件描述符 |
---|---|---|
stdin | 标准输入流 | 0 |
stdout | 标准输出流 | 1 |
stderr | 标准错误输出流 | 2 |
重定向操作符
- 重定向操作符可以将命令输入和输出数据流从默认设备重定向到其他位置。重定向操作符本身不是命令,而是命令中附加的可改变命令的输入和输出对象的特殊符号。
- 输出重定向操作符: >(覆盖) 、 >>(追加)
- 输入重定向操作符: < 、 <<(结束)
将标准输出和标准错误输出重定向到同一个文件中
[root@localhost ~]# date &> file
[root@localhost ~]# cat file
Thu Jul 14 19:54:09 CST 2022
[root@localhost ~]# data &> file
[root@localhost ~]# cat file
bash: data: command not found...[root@localhost ~]# date >& file
[root@localhost ~]# cat file
Thu Jul 14 19:55:16 CST 2022
[root@localhost ~]# data >& file
[root@localhost ~]# cat file
bash: data: command not found...[root@localhost ~]# date 1> file 2>file
[root@localhost ~]# cat file
Thu Jul 14 19:56:19 CST 2022
[root@localhost ~]# data 1> file 2>file
[root@localhost ~]# cat file
bash: data: command not found...
将1重定向到2
[root@localhost ~]# date 2> file 1>&2
[root@localhost ~]# cat file
Thu Jul 14 20:00:36 CST 2022
[root@localhost ~]# data 2> file 1>&2
[root@localhost ~]# cat file
bash: data: command not found...[root@localhost ~]# date 1>& file
[root@localhost ~]# cat file
Thu Jul 14 20:02:16 CST 2022
[root@localhost ~]# data 1>& file
[root@localhost ~]# cat file
bash: data: command not found...
将2重定向到1
[root@localhost ~]# data 1>file 2>&1
[root@localhost ~]# cat file
bash: data: command not found...
[root@localhost ~]# date 1>file 2>&1
[root@localhost ~]# cat file
Thu Jul 14 20:04:19 CST 2022
将文件重定向到0
[root@localhost ~]# ecoh "hello world" >data
[root@localhost ~]# sort <data
hello world[root@localhost ~]# cat <<EOF
> 123
> 456
> 789
> hello world!
> EOF[root@localhost ~]# cat > data <<EOF
> 111
> 222
> 777
> EOF
[root@localhost ~]# cat data
111
222
777
4.文件和目录的创建与删除
目录:
创建目录(make directory)
- 语法为: mkdir [-p] [/路径/] 目录名
- -p 可快速创建出目录结构中指定的每个目录,对于已存在的目录不会被覆盖
- -v 显示创建目录的详细过程
统计目录及文件的空间占用情况——du命令
- 功能:查看某个目录中的各级子目录所占用的磁盘空间数。
- 命令格式: du [选项] [目录名]
-a 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录。
-s 只统计每个文件所占用空间总的大小,而不是统计每个子目录、文件的大小。
-h 以K,M,G为单位显示磁盘使用情况,以提高信息的可读性。
[root@localhost data]# mkdir -p /home/data/cont1
[root@localhost cont1]# pwd
/home/data/cont1
[root@localhost cont1]# echo "hello world!">>cont1
[root@localhost cont1]# du -h cont1
4.0K cont1
[root@localhost cont1]# mkdir -p cont2/cont3
[root@localhost data]# ls -R
.:
cont1./cont1:
cont2./cont1/cont2:
cont3
删除目录文件
语法格式: rm -r [-f] 目录文件名
[root@localhost data]# rm -r cont1/cont2/cont3
rm: remove directory 'cont1/cont2/cont3'? y
只删除了cont3[root@localhost data]# rm -r cont1
rm: descend into directory 'cont1'? y
rm: descend into directory 'cont1/cont2'? y
rm: remove directory 'cont1/cont2/cont3'? y
rm: remove directory 'cont1/cont2'? y
rm: remove directory 'cont1'? y
删除了cont1、2、3
文件
创建普通文件: touch [OPTION]... FILE...
touch的两种用法:
- 如果文件已存在,将更新文件的三个时间, stat 可以查看文件的详细信息
- 如果文件不存在,则表示创建文件
创建多个普通文件:
- 方法1: touch 文件名1 文件名2 文件名3
- 方法2: touch {文件名1,文件名2,文件名3}
删除普通文件: rm [-f] 文件名
[root@localhost data]# touch file11 file22 file33[root@localhost data]# ls -l
total 0
-rw-r--r--. 1 root root 0 Jul 14 21:35 file11
-rw-r--r--. 1 root root 0 Jul 14 21:35 file22
-rw-r--r--. 1 root root 0 Jul 14 21:35 file33[root@localhost data]# stat file33File: file33Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd00h/64768d Inode: 27446851 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:user_home_t:s0
Access: 2022-07-14 21:25:35.549327296 +0800
Modify: 2022-07-14 21:25:35.549327296 +0800
Change: 2022-07-14 21:25:35.549327296 +0800Birth: 2022-07-14 21:25:35.549327296 +0800[root@localhost data]# touch file33
[root@localhost data]# stat file33File: file33Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd00h/64768d Inode: 27446851 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:user_home_t:s0
Access: 2022-07-14 21:32:28.028280247 +0800
Modify: 2022-07-14 21:32:28.028280247 +0800
Change: 2022-07-14 21:32:28.028280247 +0800Birth: 2022-07-14 21:25:35.549327296 +0800
[root@localhost data]# rm file11
rm: remove regular file 'file11'? y
[root@localhost data]# rm file22
rm: remove regular empty file 'file22'? y
[root@localhost data]# rm file33
rm: remove regular empty file 'file33'? y
[root@localhost data]# ls -l
total 0
5.复制、移动
1、复制文件或目录
格式: cp [选项] 源文件 目标文件
- -a 通常在拷贝目录时使用,保留其所有内容。它保留链接、文件属性,并递归地拷贝目录
- -d 拷贝时保留链接
- -f 强制复制文件或目录,无论目标目录或文件存在与否
- -i 在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝
- -p -preserve,保留其属性,除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中
- -r/g 递归复制,将指定目录下所有文件与子文件一同复制
复制文件到当前目录重命名。./表示当前目录
[root@localhost data]# cp file11 ./file11-1
[root@localhost data]# ls -l
total 16
-rw-r--r--. 1 root root 13 Jul 14 21:51 file11
-rw-r--r--. 1 root root 13 Jul 14 21:56 file11-1
复制文件到目录且不改变文件属性
[root@localhost data]# cp -p file22 /home/data/cont2/
复制到指定目录cont1
[root@localhost data]# cp file11 /home/data/cont1/[root@localhost data]# ls -la cont1
total 4
-rw-r--r--. 1 root root 13 Jul 14 22:04 file11
将目录cont3和其下的文件的复制到cont4,若只移动目录就去掉cont3后面的/*
[root@localhost data]# cp -r /home/data/cont3/* /home/data/cont4/
cp: overwrite '/home/data/cont4/cont3'? y
[root@localhost data]# ls -l cont4
total 4
-rw-r--r--. 1 root root 45 Jul 14 22:32 cont3
drwxr-xr-x. 2 root root 6 Jul 14 22:32 count3.3
drwxr-xr-x. 2 root root 6 Jul 14 22:22 count4.4
当前目录下的复制粘贴重命名
[root@localhost data]# echo "hello world!" >>file11
[root@localhost data]# cp file11 file22
[root@localhost data]# cat file44
hello world!
移动文件或目录
- 格式: mv [选项] 源文件名称 目标文件名称
- mv命令用于剪切或重命名文件
- 剪切操作不同于复制操作,因为它会把源文件删除掉,只保留剪切后的文件。如果在同一个目录中将某个文件剪切后还粘贴到当前目录下,其实本质就是对文件进行了重命名操作。
[root@localhost cont4]# mv /home/data/cont3 /home/data/cont5
[root@localhost cont4]# ls -l cont5
[root@localhost data]# ls -l cont5
total 0
drwxr-xr-x. 3 root root 35 Jul 14 22:27 cont3
linx的链接、一级目录、重定向、cp与mv相关推荐
- linux cp源码_为Linux的cp和mv命令添加进度条
cp和mv可能是大家日常中使用最多的Linux命令之一.但是有一个突出的问题是这两个命令都不会有任何提示信息,这在操作大文件时候只能干等.可能大家对此已经习以为常,但是其实上也有解决解决方法,本文我们 ...
- linux添加用户命令_为Linux的cp和mv命令添加进度条
cp和mv可能是大家日常中使用最多的Linux命令之一.但是有一个突出的问题是这两个命令都不会有任何提示信息,这在操作大文件时候只能干等.可能大家对此已经习以为常,但是其实上也有解决解决方法,本文我们 ...
- linux的yum命令无法使用在哪里下载_Linux 知识分享:为Linux的cp和mv命令添加进度条...
cp和mv可能是大家日常中使用最多的Linux命令之一.但是有一个突出的问题是这两个命令都不会有任何提示信息,这在操作大文件时候只能干等.可能大家对此已经习以为常,但是其实上也有解决解决方法,本文我们 ...
- 为Linux的cp和mv命令添加进度条
为Linux的cp和mv命令添加进度条 cp和mv可能是大家日常中使用最多的Linux命令之一.但是有一个突出的问题是这两个命令都不会有任何提示信息,这在操作大文件时候只能干等.可能大家对此已经习以为 ...
- rhcsa第三次作业#Linux软链接和硬链接,对一级目录的解释,重定向操作
rhcsa第三次作业#Linux软链接和硬链接,对一级目录的解释,重定向操作 文章目录 前言 一.软链接和硬链接 二.一级目录的解释 Linux系统目录结构 一级目录 三.重定向 总结 前言 注意,在 ...
- 7 .Linux文件目录类——pwd,ls,cd,mkdir,rmdir,touch,cp,rm,mv,cat,more,less,echo,head,tail,> 重定向 >> 追加,history
1. pwd 指令 基本语法 pwd (功能描述:显示当前工作目录的绝对路径) 注意:绝对路径可以简单的认为从根目录开始定位 相对路径从当前位置开始定位 [root@wangw ...
- linux一级常用目录,小蚂蚁学习Linux(3)——Linux一级目录说明和常用命令解释...
根目录下的一级目录解释说明: /etc 配置文件目录 /home 普通用户家目录 /bin 命令保存目录 /lib 系统库保存目录 /boo ...
- 一天一个Linux基础命令之复制文件或目录命令cp
cp复制文件或目录 1.命令格式 cp[OPTION]... SOURCE... DIRECTORY 2.命令说明 cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一.一般情况下,she ...
- linux 打开上一级目录,linux开机启动过程、PATH、过滤一级目录、cd的参数、ls -lrt、命令切割日志...
第二波命令正向我方来袭 :开机启动过程.PATH.过滤一级目录.cd的参数.ls -lrt.命令切割日志 1.1 linux开机启动过程 1.1.1 开机自检(BIOS)-- MBR引导-- GRUB ...
最新文章
- 网站推广下吉利关联公司公开“车辆故障预测方法”将在事故发生前预警
- 【Socket网络编程】6.两个既能收也能发的udp客户端进行通信的原理
- 【学术相关】U.S.News正式发布最新的2022最佳全球院校排名
- 【一】Drupal 入门之新建主题
- MongoDB在Linux下常用优化设置
- vue无法监听对象的属性的增加和删除
- java编程练习(开源):十种经典游戏
- unity3D 移动开发代码优化
- php数组教程,PHP 数组入门教程小结
- excel自动调整列宽_Knime数据分析入门- 06 自动调整Excel中列序
- 全国电费余额查询API接口
- PHP图片尺寸调整(全填充,没有黑底)
- apkrenamer_不怕应用名字乱 在手机端轻松给APK重命名
- 什么是OSI模型,OSI模型各层的是什么?OSI模型各层的作用是什么?
- 怎样linux下修复u盘,怎样Linux下修复U盘驱动器
- UESTC 1144 Big Brother
- java quartz 是干什么的_Quartz可以用来做什么
- php laravel 教程,Laravel 入门到精通教程
- 电子信息工程专业考研考什么内容?
- ‘dict’的神奇魔法
热门文章
- 图像分割实战之基于Hough变换提取图像中的直线
- 阿里巴巴蝉联“最受赞赏的中国公司”冠军
- 江苏高等学校计算机等级考试中心,江苏省高等学校计算机等级考试中心
- html+css+js实现的新年烟花
- c语言勤工助学信息管理系统,勤工助学
- SpringCloud Feign 源码底层如何调用Ribbon实现服务调用的负载均衡
- 入手评测 华硕无畏pro14的优缺点
- win10pin不可用进不去系统_为什么批发商们都要用520批发网呢?
- linux查看本机速度命令,Linux命令(20)查看当前网速
- 方正N320商祺PC主板windows下强刷BIOS失败