Linux系统学习之文件管理
Linux目录分布通常是树形,所以它的结构又称为目录树。
一、文件和目录管理
[root@Cfhost-170820-UCNK /]# cd /
[root@Cfhost-170820-UCNK /]# ls
aquota.group aquota.user bin boot dev etc home lib lib64 media mnt opt proc root sbin selinux srv sys tmp usr var /bin 常见的用户指令
/boot 内核和启动文件
/dev 设备文件
/etc 系统和服务配置文件
/home 系统默认的普通用户的家目录
/lib 系统函数库的目录
/lost+found ext3文件系统需要的目录,用于磁盘检查
/mnt 系统加载文件系统时常用的挂载点
/opt 第三方软件安装目录
/proc 虚拟文件系统
/root root用户的家目录
/sbin 存放系统管理命令
/tmp 临时文件的存放目录
/usr 存放与用户直接相关的文件和目录 绝对路径和相对路径
在linux目录下每个目录或文件都可以从根目录处开始寻找,比如/usr/local/src目录.这种从根目录开始的全路径被称为"绝对路径",绝对路径一般以 "/" 开头。 通常如果想要确认当前所在目录,可以使用pwd命令查看 特殊目录(.)和(..)属于相对路径
二、文件的相关操作
Linux遵循着一切皆文件的规则,对Linux配置时,很大程度上就是对文件的操作过程。 1.创建文件
touch 文件名 2.删除文件
rm 文件名
执行该命令时,系统会询问是否删除,按y删除,按n将不会删除该文件。
3.移动或重命名文件 mv 目标文件路径 将要移到的路径
例如:我要将/root/mysql移到/usr/local下
mv /root/mysql /usr/local/ mv 旧文件名 新文件名
例如:我要将test.txt修改为test2.txt
mv test.txt test2.txt
修改文件名 4.查看文件内容
cat 文件名 5.查看文件头
head -n 20 文件名
查看该文件前20行内容 6.查看文件尾
例如: var/log/message文件是默认的系统日志文件,系统在运行中将会有大量的日志写入这个文件中,可以使用如下命令,一旦有新的日志内容写入,该命令会立即将新内容显示出来。 7.文件格式转换:dos2unix
说的是linux和windows可以通过文件共享的方式共享文件。
至于如何使用,我没有用过。 tail -f /var/log/message
三、目录的相关操作
1.进入目录:cd
2.创建目录:mkdir 目录名
3.删除目录:rmdir 目录名 和rm 目录名(注意区分这两个删除目录的命令,rmdir使用注意,当它要删除的文件里面,存在一个目录时,会导致删除失败,也就会报下面这个错误:
rmdir: failed to remove `testoop': Directory not empty 要想解决需将你要删除的目录下的空目录删除,然后在删除该目录,就可以了。 当然要删除可以直接删除根本不需要这样做,只需rm -r 即可删除或者rm -rf。
rm -r 目录名 这样删除的不好点是每次删除都要询问一次是否确定删除,所以通常我们使用rm -rf 目录名,
不过注意,使用这个命令要非常小心,因为一旦删除就几乎不可能恢复,另外root用户在Linux系统中的权限非常高,甚至可以使用rm -rf 命令来删除全部的系统文件,这样做的后果是非常严重的,所以我们使用这个命令一定要非常小心。 4.文件和目录的复制:cp 原文件 复制文件
例如:
我们想将/usr/local/tomcat 复制到/root下
就可以使用如下命令: cp /usr/local/tomcat /root/即可。 5.文件时间戳
记住在Linux下目录也是一种文件,所以如果touch一个目录,这个目录的创建时间也会被更新。
不论是哪种系统,几乎所有的程序都会读写系统文件,默认情况下,一旦发生写文件操作,该文件的时间戳将会立刻得到更新。因此可以利用这种特性来有选择地备份一些文件(又称差异化备份) 6.文件和目录权限
通过ll 或ls -l也可以看到所有文件权限,ls -al可以列出隐藏文件,但ll和ls -l不可以。
文件的权限无非是读写执行(rwx)
通过chmod a+x 文件A 即可赋予文件A的执行权限
(读写权限通常是系统默认的)
改变文件拥有者:chown 用户名 文件名
例如:我要将test.sh文件拥有者改变,可通过执行该命令 chown 用户名 文件名 即可改变
chown java test.sh
该命令还可以同时更改文件的用户组.
chown : java test.sh
以上两个改变文件拥有者命令,可以合并为chown java:java test.sh 7.改变文件拥有组
chgrp 组名 文件名 8.文件特殊属性:SUID/SGID/Sticky(看的不是特别明白,待续) 9.查看文件类型 file 文件 即可查看文件的类型
10.一般查看:find
find / -name 查找的文件名或目录 数据库查找:locate 与find不同,locate依赖于一个数据库文件,linux会默认每天检索一下系统中的所有文件,然后将检索到的文件记录到数据库中。 执行locate 文件或目录名时,要先执行updatedb,否则会报错。 报错信息如下:
locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory 注意:使用locate查找文件有一个弊端,那就是当你查找后删除了,第二次仍然可以找到,所以在此之前必须手动执行updatedb命令。
四、文件压缩和打包
1.gzip/gunzip
gzip 文件名
可以将文件打成gz的压缩包
解压命令为:gunzip 文件名
2.tar
tar -zcvf 文件名.tgz 压缩
tar -zxvf 文件名.tgz 解压
3.bzip 例如:
bizp2 install.log
ls -l install.log.bz2
bzip2 -d install.log.bz2 4.cpio 备份:find /etc -name *.conf | cpio -cov > /tmp/conf.cpio 还原:cpio --absolte-filename -icvu < /tmp/conf.cpio
Linux系统学习之文件管理的更多相关文章
- Linux系统学习笔记:文件I/O
Linux支持C语言中的标准I/O函数,同时它还提供了一套SUS标准的I/O库函数.和标准I/O不同,UNIX的I/O函数是不带缓冲的,即每个读写都调用内核中的一个系统调用.本篇总结UNIX的I/O并 ...
- Linux系统学习优缺点
Linux是一套操作系统,按照鸟哥的说法Linux提供了一个完整的操作系统当中最底层的硬件控制与资源管理的完整架构,这个架构是沿袭Unix良好的传统而来的,功能强大而且稳定性卓越.其实Torvalds ...
- linux系统学习(常用命令)
今天调休,闲来无事,研究一下linux系统. Linux常用命令: 一:文件管理 ctrl+alt:在虚拟机与windows之间切换ctrl+g:进入linux输入模式 pwd:查看当前目录 ls:列 ...
- 网工的Linux系统学习历程
偶遇篇作为一名通过思科CCNP认证的网络工程师,专注于网络技术.但在日常的工作中,难免不接触到服务器,对于大多数服务器来说,鉴于稳定性等因素的考虑,基本使用的都是Linux系统,包括RHEL.Cent ...
- 谈谈我对Linux系统学习的历程回顾
众所周知,Windows 和Linux 是目前最流行的2个操作系统.Windows系统适合普通用户,它的优势是图形化界面,简单易用,使用起来门槛很低,很容易上手,所以,windows占有了大多数普 ...
- 老司机浅谈linux系统学习技巧
Linux起源于20世纪70年代,是一种优秀的操作系统系统.初次接触到linux这个系统是在大学期间,这样才发现除了windows外的另外一个有趣系统.开始抱着好奇的心态去了解,随着深入学习,笔者被它 ...
- 说一说本人对linux系统学习的方法和经验
摘要: 相信大伙都听说过linux系统,然而对于这个系统,总使让新手感觉茫然,诺达的系统.下面是一段百度中的介绍: 相信大伙都听说过linux系统,然而对于这个系统,总使让新手感觉茫然,诺达的系统.下 ...
- Linux 系统学习梳理_【All】
第一部分---基础学习 00.Linux操作系统各版本ISO镜像下载 00.Linux系统下安装Vmware(虚拟机) 00.Linux 系统安装[Redhat] 00.Linux 系统安装[Cent ...
- Linux系统学习笔记(1)
学习地址:http://www.runoob.com/linux/linux-tutorial.html 1.学习Windows和Linux哪个比较难? 前期是Windows容易学习,后期是Linux ...
随机推荐
- c#:HttpClient加标头
using (var client = new HttpClient()) { string requestUrl = string.Format("{0}{1}", ConstD ...
- 通向全栈之路(6)—无密码ssh连接
(1)在用户目录下新增一个 .ssh文件 mkdir .ssh (2)生成公钥.私钥 ssh-keygen -t rsa -b 4096 -C "mail@xxx.com" (3) ...
- Sublime Text3 远程 Linux
ctrl+shift+p快捷键 ,打开命令面板 搜索命令 Install Packages,选中,Enter 稍等几秒,重新出现了面板,搜索sftp插件,选中 Enter 显示安装成功,提示你如何使用 ...
- SSM+solr 通过商品搜索学习solr的简单使用
学习了一下https://github.com/TyCoding/ssm-redis-solr这个github上的solr搜索功能,现在来记录一下. 我的理解就是solr有点类似于数据库,但它是有索引 ...
- Rarely executed and almost empty if statement drastically reduces performance in C++
Question: Editor's clarification: When this was originally posted, there were two issues: Test perfo ...
- WEB服务器、HTTP服务器、应用服务器、IIS
转载:https://www.cnblogs.com/brant/p/7209042.html Web服务器: 基本功能就是提供Web信息浏览服务.它只需支持HTTP协议.HTML文档格式及URL.与 ...
- (网页)javascript该如何学习?怎么样才能学好?
文章摘抄自强哥文章 很多刚刚涉足软件开发的差不多都是只懂得HTMLCSS不懂得javascript,所以就想学习js,于是就从网上搜各种视频,或者买各种书籍回来看,很多时候都是浪费时间,因为根本看 ...
- Python:随机生成测试数据的模块--faker的基本使用
本文内容: faker的介绍 faker的使用 小例子:生成随机的数据表信息 首发日期:2018-06-15 faker介绍: faker是python的一个第三方模块,是一个github上的开源项目 ...
- [20180806]tune2fs调整保留块百分比.txt
[20180806]tune2fs调整保留块百分比.txt --//生产系统一台dg磁盘空间满了.我前一阵子已经将*convert参数修改,增加磁盘,但是这个分区里面的数据文件还可以增长,这样依旧存- ...
- 【HANA系列】SAP HANA XS使用JavaScript(JS)调用存储过程(Procedures)
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA XS使用Jav ...