Linux文件系统和管理-2文件操作命令(上)
文件操作命令
文件
文件也包括目录
目录是一种特殊的文件
目录
一个目录名分成两部分
- 所在目录 dirname 父目录的路径
- 文件名 basename
本身就是两个命令
[root@C8-1 misc]# type dirname
dirname is /usr/bin/dirname
[root@C8-1 misc]# type basename
basename is /usr/bin/basename
相对路径和绝对路径
- 绝对路径 从根开始,完整的路径 必须以正斜杠/即根目录开始
- 相对路径 相对于当前工作目录 不以/开始
显示当前路径
pwd printing working directory 打印工作目录
换目录或路径
cd change directory 改变目录
- 切换至父目录: cd ..
- 切换至当前用户主目录: cd . 点可以不写
- 切换至以前的工作目录: cd - $OLDPWD记着呢,系统自带的变量
[root@C8-1 boot]# echo $OLDPWD
/bin
[root@C8-1 boot]# cd /
[root@C8-1 /]# echo $OLDPWD
/boot
根的根就是根
一个点 . 是自己 当前文件夹
两个点 .. 是父目录
波浪符 ~ 回到对应id的家目录
[root@C8-1 /]# ls -a
. bin dev home lib64 misc net proc run srv tmp var
.. boot etc lib media mnt opt root sbin sys usr
列出目录内容
ls
ls 命令可以列出当前目录的内容或指定目录
ll 是ls -l 的别命
[root@C8-1 boot]# type ll
ll is aliased to `ls -l --color=auto'
常见选项:
-a 包含隐藏文件
-d 显示目录本身的内容
-l 显示额外的信息
-R 目录递归 显示子目录
-ld 目录和符号链接信息 显示目录本身的内容
-1 文件分行显示
-S 按从大到小排序
-t 按mtime排序 每个文件都有三个时间
-u 配合-t选项,显示并按atime从新到旧排序
-U 按目录存放顺序显示
-X 按文件后缀排序
查看文件状态 stat
ll --time 太麻烦了,用stat直接看三个时间
文件相关信息:
- metadata
- data
每个文件有三个时间戳:
- access time 访问时间,atime,读取文件内容
- modify time 修改时间,mtime,改变文件内容(数据) 默认
- change time 改变时间,ctime,元数据发生改变
Inode 每个为你结案的唯一标识
[root@C8-1 ~]# stat .bash_profile
File: .bash_profile
Size: 207 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 34011036 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: system_u:object_r:admin_home_t:s0
Access: 2020-06-17 05:04:45.933534066 -0400
Modify: 2020-06-15 23:06:02.116855753 -0400
Change: 2020-06-15 23:06:02.117855758 -0400
Birth: -
确定文件内容
file
file 每个文件的格式类型不一样,文件的头不确定了文件的类型,file帮我们确定
Linux中文件的后缀要求并不严格。
file可以判断七种文件类型。
[root@C8-1 ~]# file .bash_profile
.bash_profile: ASCII text
[root@C8-1 ~]# type file
file is hashed (/usr/bin/file)
[root@C8-1 ~]# file /usr/bin/file
/usr/bin/file: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=1aaef7e4e7e253a9191d2e7e43d5e7dd8c8ab1e8, stripped
[root@C8-1 ~]# file /dev/zero
/dev/zero: character special (1/5)
[root@C8-1 ~]# file /dev/sda
/dev/sda: block special (8/0)
Linux和Windows文件在底层是有一些差别的
[root@C8-1 ~]# ll
total 12
-rw-------. 1 root root 1184 Mar 16 01:56 anaconda-ks.cfg
-rw-r--r--. 1 root root 6 Jun 17 06:22 linux.txt
-rw-r--r--. 1 root root 7 Jun 17 06:21 win.txt
[root@C8-1 ~]# hexdump -C linux.txt
00000000 61 0a 62 0a 63 0a |a.b.c.|
00000006
[root@C8-1 ~]# hexdump -C win.txt
00000000 61 0d 0a 62 0d 0a 63 |a..b..c|
00000007
[root@C8-1 ~]# file linux.txt
linux.txt: ASCII text
[root@C8-1 ~]# file win.txt
win.txt: ASCII text, with CRLF line terminators
显示文件编码iconv
Linux一直使用UTF-8,早期的中文版windows使用ANSIC,到win10 才使用UTF-8
用iconv可以显示所有的编码格式
#显示编码列表
[15:34:50 root@centos8 ~]#iconv -l
#将windows10上文本默认的编码转换成UTF-8
[15:34:50 root@centos8 ~]#iconv -f gb2312 win.txt -o win2.txt
[15:34:50 root@centos8 ~]#file linux.txt
linux.txt: ASCII text
[15:34:31 root@centos8 ~]#file windows.txt
windows.txt: ASCII text, with CRLF line terminators
#将windows的文本格式转换成Linux的文本格式
[15:35:26 root@centos8 ~]#dos2unix windows.txt
dos2unix: converting file windows.txt to Unix format...
[15:36:00 root@centos8 ~]#file windows.txt
windows.txt: ASCII text
#将Linux的文本格式转换成windows的文本格式
[15:36:02 root@centos8 ~]#unix2dos windows.txt
unix2dos: converting file windows.txt to DOS format...
[15:36:10 root@centos8 ~]#file windows.txt
windows.txt: ASCII text, with CRLF line terminators
[15:33:05 root@centos8 ~]#cat list.txt
/etc/
/bin
/etc/issue
[15:34:28 root@centos8 ~]#file -f list.txt
/etc/: directory
/bin: symbolic link to usr/bin
/etc/issue: ASCII text
文件通配符模式 wildcard pattern
通配符就是为了搜索和匹配文件的时候更方便。
常见的通配符如下:
* 匹配零个或多个字符 但是匹配不了.开头的隐藏文件,*不包含隐藏文件
? 匹配任何单个字符
~ 当前用户家目录
~pang 用户pang家目录
~+和. 当前工作目录
~- 前一个工作目录
[0-9] 匹配数字范围
[a-z] 字母
[A-Z] 字母
[pang] 匹配列表中的任何的一个字符
[^pang] 匹配列表中的所有字符以外的字符
别外还有在Linux系统中预定义的字符类:man 7 glob
[:digit:]:任意数字,相当于0-9
[:lower:]:任意小写字母,表示 a-z
[:upper:]: 任意大写字母,表示 A-Z
[:alpha:]: 任意大小写字母
[:alnum:]:任意数字或字母
[:blank:]:水平空白字符
[:space:]:水平或垂直空白字符
[:punct:]:标点符号
[:print:]:可打印字符
[:cntrl:]:控制(非打印)字符
[:graph:]:图形字符
[:xdigit:]:十六进制字符
范例:
1、显示/etc目录下所有以l开头,以一个小写字母结尾,且中间出现至少一位数字的文件或目录
#先创建一些符合条件的文件
[root@C8-1 ~]# touch /etc/l{0..9}bcd.test
#直接写l[0-9]表示l开头第二位是0-9的数字的文件或文件夹,所以不符合要求
[root@C8-1 ~]# ls /etc/l[0-9]
ls: cannot access '/etc/l[0-9]': No such file or directory
#需要配合*显示多个无所谓的字符
[root@C8-1 ~]# ls /etc/l[0-9]*
/etc/l0bcd.test /etc/l2bcd.test /etc/l4bcd.test /etc/l6bcd.test /etc/l8bcd.test
/etc/l1bcd.test /etc/l3bcd.test /etc/l5bcd.test /etc/l7bcd.test /etc/l9bcd.test
#在结尾一个字符出加上取值范围[a-z]即可
[root@C8-1 ~]# ls /etc/l[0-9]*[a-z]
/etc/l0bcd.test /etc/l2bcd.test /etc/l4bcd.test /etc/l6bcd.test /etc/l8bcd.test
/etc/l1bcd.test /etc/l3bcd.test /etc/l5bcd.test /etc/l7bcd.test /etc/l9bcd.test
#
2、显示/etc目录下以,任意一位数字开头,且以非数字结尾的文件或目录
#先创建一些符合要求的文件
[root@C8-1 ~]# touch /etc/{0..9}{a..c}.618bu-
[root@C8-1 ~]# ls /etc/[0-9]*[^0-9]
/etc/0a.618bu- /etc/1a.618buZ /etc/2b.618buY /etc/3c.618buy /etc/5a.618bu- /etc/6a.618buZ /etc/7b.618buY /etc/8c.618buy
…… /etc/9c.618buZ
3、显示/etc/目录下以非字母开头,后面跟了一个字母及其它任意长度任意字符的文件或目录
[root@C8-1 ~]# ls /etc/[^[:alpha:]][[:alpha:]]*
4、显示/etc/目录下所有以rc开头,并后面是0-6之间的数字,其它为任意字符的文件或目录
[root@C8-1 ~]# ls -d /etc/rc[0-6]*
5、显示/etc目录下,所有.conf结尾,且以m,n,r,p开头的文件或目录
[root@C8-1 ~]# ls /etc/[mnrp]*.conf
/etc/man_db.conf /etc/mke2fs.conf /etc/nsswitch.conf /etc/resolv.conf /etc/rsyslog.conf
6、只显示/root下的隐藏文件和目录
[root@C8-1 ~]# ls -d .*
. .. .bash_history .bash_logout .bash_profile .bashrc .cshrc .tcshrc .viminfo
7、只显示/etc下的非隐藏目录
只列文件夹不列文件
[root@C8-1 ~]# ls -d /etc/*/
/etc/alternatives/ /etc/dbus-1/ /etc/kernel/ /etc/oddjob/ /etc/rc3.d/ /etc/sssd/
/etc/ansible/ /etc/dconf/ /etc/krb5.conf.d/ /etc/oddjobd.conf.d/ /etc/rc4.d/ /etc/sudoers.d/
……
Linux文件系统和管理-2文件操作命令(上)的更多相关文章
- Linux文件系统和管理-2文件操作命令(下)
移动和重命名文件 mv 命令可以实现文件或目录的移动和改名 剪切的效果 同一分区移动数据,速度很快:数据位置没有变化 不同分区移动数据,速度相对慢:数据位置发生了变化 格式 和cp基本一样 mv [O ...
- Linux文件系统和管理-2文件操作命令(中)
创建空文件和刷新时间 touch touch命令可以用来创建空文件或刷新文件的时间 touch 存在的文件刷新时间,不存在的文件创建空文件 生成指定日期的日志文件 [root@C8-1 ~]# dat ...
- Linux文件系统和管理-1文件系统目录
文件系统目录结构 Linux常见目录及用途 bin binary 放的是二进制程序 /usr/bin 和这是同一回事 bin -> usr/bin /bin是 /usr/bin的快捷方式 boo ...
- Linux文件系统及管理
Linux文件系统及管理 一.Linux系统的文件系统与目录结构 Linux系统的文件目录结构为一个单根倒置的树结构,具体表现如下图: 从CentOS7开始,以下目录与之前的版本发生变化 ◆/bi ...
- Linux 文件系统 -- 简述几种文件类型
Linux 中一切皆为文件,文件类型也有多种,使用 ls -l 命令可以查看文件的属性,所显示结果的第一列的第一个字符用来表明该文件的文件类型,如下: 1.普通文件 使用 ls -l 命令后,第一列第 ...
- linux(6/17)--文件打包上传和下载
tar命令 命令功能 用来压缩和解压文件 命令格式 tar[必要参数][选择参数][文件] tar打包工具 -f ##指定生成包的名字,建议 -f单独写成一个参数 --delete filename ...
- Linux学习笔记之Linux用户与用户组、文件操作命令、文件权限剖析
1.用户与用户组 Linux是一个多用户操作系统,通过用户与用户组的概念,可以实现保证安全性和隐私性.任何一个文件都具有User.Group.Others三个权限. 文件拥有者(Linux下所有的东西 ...
- linux 文件系统的管理 (硬盘) 工作原理
一.系统在初始化时如何识别硬盘 1.系统初始时根据MBR的信息来识别硬盘,其中包括了一些执行文件就来载入系统,这些执行文件就是MBR里前面446bytes里的boot loader 程式,而后面的16 ...
- Linux磁盘、目录、文件操作命令
0x01. Linux磁盘分区与目录结构 ① 主分区.拓展分区.逻辑分区:早期主引导扇区MBR用64B存放主分区信息,每个分区用16B,因而上限为4个主分区,后来,因分区需求,引入拓展分区(类主分区) ...
随机推荐
- 归并排序求逆序对(poj 2299)
归并排序求逆序对 题目大意 给你多个序列,让你求出每个序列中逆序对的数量. 输入:每组数据以一个数 n 开头,以下n行,每行一个数字,代表这个序列: 输出:对于输出对应该组数据的逆序对的数量: 顺便在 ...
- 2020JavaWeb之宝塔安装tomcat+nginx关于jsp处理问题
关于nginx反向代理,是将jsp文件转交给tomcat处理,nginx主要处理静态资源,nginx处理静态资源的效率相对于tomcat高的多 在配置文件如下部分: location ~ \.jsp$ ...
- Golang的Context介绍及其源码分析
简介 在Go服务中,对于每个请求,都会起一个协程去处理.在处理协程中,也会起很多协程去访问资源,比如数据库,比如RPC,这些协程还需要访问请求维度的一些信息比如说请求方的身份,授权信息等等.当一个请求 ...
- 【大数据】MapReduce开发小实战
Before:前提:hadoop集群应部署完毕. 一.实战科目:做一个Map Reduce分布式开发,开发内容为统计文件中的单词出现次数. 二.战前准备 1.本人在本地创建了一个用于执行MR的的文件, ...
- HashMap,HashSet,HashTable,LinkedHashMap,LinkedHashSet,ArrayList,LinkedList,ConcurrentHashMap,Vector 区别
ConcurrentHashMap是弱一致性,也就是说遍历过程中其他线程可能对链表结构做了调整,因此get和containsKey返回的可能是过时的数据 ConcurrentHashMap是基于分段锁 ...
- Typora,你好!
初识Typora 1.标题 一个井号+空格+回车 =一级标题 两个井号+空格+回车 =二级标题 三个井号+空格+回车 =三级标题 四个井号+空格+回车 =四级标题 快捷键的话: 按ctrl + 1 就 ...
- thinkphp上传图片,生成缩略图
Image.php <?php /** * 实现图片上传,图片缩小, 增加水印 * 需要定义以下常量 * define('ERR_INVALID_IMAGE', 1); * define('ER ...
- Hive中的数据类型以及案例实操
@ 目录 基本数据类型 集合数据类型 案例实操 基本数据类型 对于Hive的String类型相当于数据库的varchar类型,该类型是一个可变的字符串,不过它不能声明其中最多能存储多少个字符,理论上它 ...
- IdentityServer4系列 | 初识基础知识点
前言 我们现在日常生活中,会使用各式各样的应用程序,层出不穷,其中有基于网页浏览方式的应用,有基于手机端的App,甚至有基于流行的公众号和小程序等等,这些应用,我们不仅要实现各个应用的功能之外,还要考 ...
- Unicode、UTF8、GB2312、ANSI
来源:https://blog.csdn.net/osanwenyu/article/details/48439461 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原 ...