博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux - 系统 - 文件目录
阅读量:6266 次
发布时间:2019-06-22

本文共 4125 字,大约阅读时间需要 13 分钟。

吴宏东 - 记于2018年06月29日 - 博客

Linux 文件目录

文件类型

[-] 普通文件;

[d] 目录;
[l] 符号链接;
[c] 字符设备;
[b] 块设备;
[s] 套接字;
[p] 命名管道;

常见后缀

*.txt 文本文件;

*.conf 配置文件;
.html/.xml/.yml/.sql HTML/XML/YAML/SQL文件;
.c/.cpp C/C++语言源程序文件;
.so/.ko/*.lib 模块文件、库文件;
.sh/.php/.py/.pl/*.rb Shell/PHP/Python/Perl/Ruby脚本文件;
*.rpm RPM文件;
*.tar tar 存档文件;
.gz/.bz2/*.xz 由gzip/bzip2/xz生成的压缩文件;
*.lock 用来表示某个程序或某种服务正在运行的锁文件;
*~备份文件;

Shell 命令

cmd [-options] <arguments>;

单字符参数前使用一个减号(-),单词参数前使用两个减号(--);
多个单字符参数前可使用一个减号;

通配符

以.开头的文件或目录是隐藏的;

[*]匹配任何字符和任何数字的字符;
[?]匹配任何单字符;
[...]匹配任何包含在括号内的单字符;
[!...]匹配任何不包含在括号内的单字符;

# 列出当前目录下所有c语言源文件ls *.c;# 列出/home目录下所有子目录下所有c语言源文件ls /home/*/*.c;# 列出当前目录下所有以test开头,随后一个字符任意的.txt文件ls test?.txt;# 列出当前目录下首字符是a或b或c的所有文件ls [abc]*;# 列出当前目录下首字符不是a或b或c的所有文件ls [!abc]*;# 列出当前目录下首字符是字母的所有文件ls [a-zA-Z]*;

链接

硬链接:两个文件指向硬盘上一个存储空间,对两个文件中任何一个进行修改都会影响另一个文件,删除其中一个硬盘空间不会释放,链接数会减1;

软链接:创建一个文件指向另一个文件,无法对软链接文件进行内容修改,删除软链接文件的话,对源文件不影响,删除源文件的话,软链接文件会找不到源文件成为死链接;

# 创建硬链接文件hardln source hard;# 创建软连接文件softln -s source soft;

设备文件

设备文件指计算机外围硬件装置,即除了CPU和内存以外的设备;

所有设备文件都存放在/dev目录下;
/dev/sd* 硬盘设备,sda1表示第一块硬盘的第一个分区,sdb2表示第二块硬盘的第二个分区;
/dev/sr0 光驱设备、移动设备;
/dev/console 系统控制台;
/dev/tty* 本地终端设备;
/dev/pts/* 伪终端设备;
/dev/ppp* ppp设备,(Point to Point)协议设备,传统的拨号上网;
/dev/lp* 并口设备,lp0表示第一个并口设备,lp1表示第二个并口设备;
/dev/null 空设备,也称为“黑洞”,所有写入它的内容都将丢失,用于屏蔽终端输出;
/dev/zero 零设备,可以产生不断的二进制零流,用于创建指定长度的空文件;

Linux 目录

/bin 存放二进制可执行程序;

/sbin 存放二进制可执行程序,但是只有root用户才能访问;
/dev 存放设备文件;
/boot 存放系统引导文件;
/etc 存放系统配置文件;
/home 存放用户文件根目录;
/lib+lib64 存放共享库和内核模块;
/lost+found 存放系统检查结果,发现不合法的文件都会存放在这里,通常是空的,除非系统遭受异常损坏;
/mnt 临时文件系统的挂载点目录;
/media 即插即用的存储设备的挂载点自动在这个目录下创建;
/opt 第三方软件的存放目录;
/proc 是一个虚拟的文件系统,存放当前内存的映射,用于在不重启机器的情况下管理内核;
/root 超级用户目录;
/srv 系统对外提供服务的目录;
/tmp 存放各种临时文件;
/usr 存放系统应用程序;
/var 存放随时需要修改的文件,如系统日志、脱机工作目录等;

文件目录操作

# 显示当前目录下的所有文件和目录(包含隐藏的)ls -a;# 以长格式列表显示ls -l;# 以递归的方式显示当前目录及子目录下的所有内容ls -R;# 仅显示/home目录本身,不显示目录下的内容ls -dl /home;# 显示当前目录的全路径pwd;# 创建目录连同子目录一起创建mkdir -p /home/wuhd/test;# 创建文件test.txttouch test.txt;# 进入/home目录cd /home;# 进入当前目录cd .;# 返回上一级目录cd ..;# 返回上二级目录cd ../..;# 显示当前目录以及子目录的树形结构tree;# 显示/home目录下的2级的树形结构tree -L 2 /home;# 复制/home下某个文件到/opt目录下cp /home/test /opt/test;# 复制/home下所有文件到/opt目录下cp /home/* /opt;# 移动/home下某个文件到/opt目录下mv /home/test /opt/test;# 强制删除文件rm -f /home/test;# 删除当前目录下的所有隐藏文件rm .*;# 强制删除wuhd目录下的所有内容rm -rf /tmp/wuhd;# 在当前目录及其子目录下查找以yum开头的文件find . -name 'yum*';# 在当前目录及其子目录下查找属主wuhd的文件find . -user "wuhd";# 仅在当前目录下查找以yum开头的文件ls yum*;

文本操作

正则表达式:

^ 匹配首字符,如^x,以字符x开始的字符串;$ 匹配尾字符,如x$,以字符x结尾的字符串;. 匹配任意一个字符,如l..e,可匹配love,life;? 匹配任意一个可选字符,如xy?,可匹配x,xy;* 以前面一个字符匹配零次或多次重复,如xy*,可匹配x,xy,xyy;+ 以前面一个字符匹配一次或多次重复,如xy+,可匹配xy,xyy,xyyy;[...] 匹配任意一个字符,如[xyz],可匹配x,y,z;| 以或逻辑匹配多个匹配,如abc|xyz,可匹配abc或xyz;\ 转义字符,如\*,可匹配字符*;
# 正序查看文件cat /etc/passwd;# 显示行号cat -n /etc/passwd;# 倒序查看文件tac /etc/passwd;# 分屏显示,空格键、回车键翻阅,q退出more /var/log/messages;# 分屏显示,空格键、回车键、PgUp、PgDn翻阅,q退出less /var/log/messages;# 显示前4行内容head -10 /var/log/messages;# 显示后4行内容tail -10 /var/log/messages;# 行数 字数 字符数 文件名wc /var/log/messages;# 对文本内容排序(以ASCII码顺序)sort txt;# 相同行只输出一行sort -u txt;# 对文本内容排序(以ASCII码逆序)sort -r txt;# 对文本字符串数值排序sort -n txt;# 比较文件差异diff httpd.conf httpd.conf.bak;# windows替换为linuxsed -i 's/windows/linux/g' txt;# 删除每行结尾的空格sed -i 's/*$//' txt;# 在每行行首加上"> 'sed -i 's/^/> /' txt;# 在每行行首去掉"> "sed -i 's/^> //' txt;# 删除所有空白行sed -i '/^$/d' txt;

打包压缩

# 将111文件夹打包成111.tartar -cvf 111.tar 111;# 解包tar -xvf 111.tar;# 将111文件夹用gzip打包压缩成111.tar.gztar -zcvf 111.tar.gz 111;# 解压缩tar -zxvf 111.tar.gz;# 将111文件夹用bzip打包压缩成111.tar.bztar -jcvf 111.tar.bz 111;# 解压缩tar -jxvf 111.tar.bz;# 将111文件夹用xz打包压缩成111.tar.xztar -Jcvf 111.tar.xz 111;# 解压缩tar -Jxvf 111.tar.xz;

常用命令

# 显示进程树pstree;# 显示系统运行时间、用户数、平均负载uptime;# 显示文件信息stat txt;# 显示在线的登录用户who;# 显示用户自己的身份whoami;# 查找程序ls的位置whereis ls;# 显示文件或目录的大小,不显示目录中每个文件大小du -sh /;# 显示1949年日历cal 1949;# 显示1949年10月日历cal 10 1949;

VI 编辑器

普通模式:

O 上开新行;o 下开新行;I 行首;A 行尾;/str 向右搜索str;?str 向左搜索str;n 下一个;N 反向下一个;u 撤销操作;Z+Z 保存退出;Z+Q 不保存退出;
退出插入模式; yy 复制当行内容;p 粘贴复制的内容;

命令模式:

:set number 显示行号;:set nonumber 不显示行号;:n 跳到第n行;:d 删除当前行;:n1,n2 d 删除从n1行到n2行内容;:n1,n2 w file 保存从n1行到n2行内容到文件file;:!cmd 执行shell命令cmd;:r!cmd 执行cmd命令并将输出的内容写入到光标位置;:q 退出vi;:wq 保存退出vi;:q! 强制不保存退出vi;

转载地址:http://fuvpa.baihongyu.com/

你可能感兴趣的文章
Spark核心技术原理透视一(Spark运行原理)
查看>>
《Gradle权威指南》--Gradle任务
查看>>
IntelliJ IDEA创建文件时自动填入作者时间 定制格式
查看>>
Android app启动activity并调用onCreate()方法时都默默地干了什么?
查看>>
远程监视jboss应用java内存的配置
查看>>
前端如何接收 websocket 发送过来的实时数据
查看>>
JavaWeb下载文件response
查看>>
Laravel的三种安装方法总结
查看>>
SpringMVC加载配置Properties文件的几种方式
查看>>
C#设计模式总结 C#设计模式(22)——访问者模式(Vistor Pattern) C#设计模式总结 .NET Core launch.json 简介 利用Bootstrap Paginat...
查看>>
java 项目相关 学习笔记
查看>>
numpy opencv matlab eigen SVD结果对比
查看>>
WPF获取某控件的位置,也就是偏移量
查看>>
Boost C++ 库 中文教程(全)
查看>>
solr查询优化(实践了一下效果比较明显)
查看>>
jdk目录详解及其使用方法
查看>>
说说自己对RESTful API的理解s
查看>>
通过layout实现可拖拽自动排序的UICollectionView
查看>>
服务器错误码
查看>>
javascript中的面向对象
查看>>