linux学习--2.文件管理的基本命令
文件的基本操作
前言:
看完这篇图文我应该能保证读者在Linux系统下对文件的操作能跟用Windows环境下一样流畅吧,好了下面正文
正文:
基础知识:
linux里共有以下几类文件,分别为目录(directory)、(普通)文件(file)、链接文件(link file)、块设备(block)、字符设备(character)、管道文件(pipe)、套接字文件(sockt),灰色标记文件可先忽略。
然后文件属性跟windows一样有最新修改时间、文件的大小、所属用户、所属组、文件的操作权限(读入、写入、执行)等,我们可以用下面的命令查看当前目录下的文件的类型及文件属性。
ls -l
这是执行完上面的命令的结果,我从上往下从左到右分析下,分析点前面有 * 的是重点:
1. 首先最顶上的 total 20 ——总共20个文件的意思(包含了隐藏文件)
*2. 下面第二行 -rw-r--r-- 这个参数得拆成 - ,rw- ,r-- ,r-- 这四组来看:
- 第一组参数 :代表这个文件的类型 —— d 就是目录, - 就是普通文件,l 就是链接文件,b 块设备,c 字符设备,p 管道文件,s 套接字
- 第二组参数 :代表这个文件所属用户的权限,从左到右三个参数分别对应读、写、执行—— r 就是允许读入,w 就是允许写入, x 允许执行,- 就是没有对应的权限
- 第三组参数 :代表这个文件所属用户组的权限,首先这个文件是属于一个组的,而这个用户组里可能有多个用户,所以这个属性确定了这群人对这个文件的操作权限,参数代表的意义同上
- 第四组参数 :代表其他用户对这个文件的操作权限,就是既不是这个文件的所有者,也不是这个文件所有组的人对这个文件的操作权限,很明显一般只会给他 r 读的权限,参数代表的意义同上
3. 然后就是上面这堆参数跟root之间的数字代表了这个文件相同索引编号的个数,通俗的讲就是有几种可以访问到它的路径,这个现在可忽略
*4. 接下来就是这两个root ,第一个root代表这个文件的所属者是root,第二个root代表这个文件的所属组
*5. 第二个root后面跟着的的数字就是这个文件的大小,单位是字节(byte)
*6. 后面这个显而易见,是这个文件的修改时间,最后就是文件的名字
大概分析就是这些,其实文件类型从最后文件名的颜色一眼就能看出来,蓝色的就是目录,灰色的就是普通文件,浅蓝色的就是链接文件,还有压缩包是红色的,当然颜色不一定准确,因为文件颜色是可以在哪个配置文件里更改的,不过一般不会去改颜色,我也就不说了。
基础知识普及完了,开讲命令了
基本命令:
1. cd 命令(change directory,切换工作路径),可以这么理解,它可以用来打开具体某个目录(文件夹),用法如下
cd /home
一般就是这么用,cd后面加路径,路径有相对路径和绝对路径之分。
- 绝对路径就是从根目录(/)开始(以根目录为中心)一级一级往下写,上面这个命令里的路径就是绝对路径,/home就是根目录(/)下的home目录。
- 相对路径的话就是相对于当前工作路径(以当前目录为中心),如果当前路径就是在根目录下的话,那么要进到home目录就可以这么写cd home,那怎么知道当前路径呢就有了下面的命令
2. pwd 命令(print working directory,打印出工作路径)cd命令的好搭档,作用是显示出当前路径
pwd
pwd 还有一个用法 pwd -p,这个用法是专门找链接文件指向的原文件用的,其他没了。
这两个命令就这些,不过提到路径,有几个特殊的路径要注意下:
- . :当前目录
- .. :当前目录的上一级目录
- ~ :家目录,一般用户cd ~ 回到/home/用户名这个目录,root用户回到/root目录
- / :根目录
3. touch命令,创建新的空文件,用法是touch后面加要创的文件名,如下面这个命令就是创建了一个名为test.txt的文件
touch test.txt
4. mkdir(make directory,创建新目录)命令,上面的命令是创建空文件,这个是创建新目录,如下面这个命令就是创建了叫test的目录
mkdir test
5. vi / vim 命令,创建完了文件该怎么写内容呢,这就用到了这两个文本编辑软件vi和vim,用法如下,vi / vim 后面加要编辑的文件(注意路径)
vim test.txt
不对,这个提的早了,那就先简单说下吧,输完上面这个命令会进入编辑界面,但你还是没法编辑,得输入i 才能进入编辑模式左下角会有提示,如下图所示,这才能开始写东西
然后输完东西要退出来怎么办,先按esc键,再按shift+;输入wq回车才算保存退出,好了文本编辑就这些
6. mv (move,移动)命令,用来移动文件或目录,用法mv + 要移动的文件路径 + 目的路径,如下面这个命令就是把我们之前在/home目录下创建的txt文件移动到/tmp下的test目录里
mv /home/test.txt /tmp/test
注:这个命令有许多独到之处,暂时先说下这个用处,对日常帮助还挺大,如下所示
- 除了移动文件其实还能用来改文件名,如之前的text.txt文件我可以用下面这个命令把它改成a.conf文件,然后还移动回了原来的home目录下,当然文件内容是不变的
mv /tmp/test.txt /home/a.conf
7. cp (cpoy,拷贝)命令,用来拷贝文件或目录,用法同mv命令,如下面这个命令就是把刚改名后的a.conf文件粘贴到了/tmp目录下
cp /home/a.conf /tmp
8. rm(remove,删除)命令,用来删除文件或目录,这是linux里最有杀伤力的命令,用法rm后面跟文件名,删目录的话加个 - r 选项可以把目录下的文件也都删了,加个 - f选项是强制执行的意思,如下面这个命令就可以把我们之前的a.conf文件删了
rm /tmp/a.conf
注:这里得强调下,rm -rf /* 这个命令相当于rm -rf / 命令,结果都懂的,删库跑路,关键rm -rf /还会警告提醒,/*的话直接二话不说开始删东西,总之rm这个命令不常用所以灰色标记,慎用
9. cat 命令,用来查看文件内容,最常用的查看文本内容的命令,用法如下cat + 要查看的文件路径
cat /tmp/test.txt
如下图就是查看的结果,当然查看文件内容的命令还有more、less(more、less一页一页的显示,文件内容多的可以用这两个命令,配合pageup,和pagedn这两个功能键实现翻页)等很多,不一一介绍了,使用方法跟cat类似,可以自己尝试
10. ls (list,列举)命令,用来显示目录下的内容,也就是看文件夹下有哪些文件,用法是ls 后面跟要查看的目录的路径,如下面这个命令就是列出/tmp目录下的内容,-a 选项列出所有文件(包括隐藏文件),-l 选项列出文件的具体属性
ls -al /tmp
11. ln(link,链接)命令,创建链接文件,链接还分硬链接和软链接,一般我们软链接用的比较多,这个内容现在还不好讲,就先暂时可以把它当作是创建Windows下的快捷方式来用,用法ln -s + 源文件 + 链接文件名,-s 选项就是创建软链接的意思,这个命令就是以后访问链接文件就能访问源文件,所以还是挺常用的我不得不提下,现在知道怎么用就行,如下面这个命令就是创建一个叫test.lnk的链接文件指向test.txt文件,你可以cat /tmp/test.lnk查看下里面的内容,肯定是跟test.txt一样的
ln -s /tmp/test.txt /tmp/test.lnk
12. chmod(change mode)命令,用来更改文件的属性(主要是改用户user、用户组group、访客other的权限),用法有下面两种
- 用法一:根据三种不同类型的用户,分别用u=???,g=???,o=???设置不同用户的权限,?由rwx三个个参数替换,如下面这个命令
chmod u=rwx,g=rx,o=r test.txt
执行完后的结果如下图所示,可用ls -l text.txt 命令查看test.txt文件属性,检验下 结果是rwxr-xr-- 没问题
- 用法二:把rwx对应421之和,举个例子7就对应4+2+1即rwx,6对应4+2即rw,这就可以把上面u=???,g=???,o=???用三个数字就能表示,如上面这个权限设置u=rwx,g=rx,o=r现在就可以写成下面这个命令
chmod test.txt
第一位7对应user用户,7=4+2+1意味着user有读写执行的权限,后面5和4就对应group和other用户的权限,我比较倾向后面这种方法
但是这个命令有什么用呢,用处很多,有些程序或脚本是你写的,那给其他用户看你的脚本或程序没什么问题,但要是给他们写的权限,那万一他不小心改了,然后文件执行起来就出错了那就gg咯,还有可能你写脚本遇到了问题,你想找人帮助,但是文件是你创建的,默认别人没有写的权限那么就可以临时改个写的权限,还有许多诸如类似的情况所以特别重要这个chmod命令,当然还有chown(change owner)命令,chgrp(change group)命令改变文件所属用户和组的命令我觉得暂时不会太用到,这两个可能放到用户和组里讲比较合适,对于用户和组现在就先提下,不做深入
总结下:
先是切换路径(cd和pwd),再是创建一个文件或目录(touch和mkdir),再是编辑文件的内容(vi和vim),再是编辑目录的内容有(cp和mv),再是查看文件或目录的内容(cat和ls),再是删除一个文件或目录(rm)对了,还有rmdir(rmdir)命令也能删除一个目录但是是空目录,所以没有用它的必要,因为rm都能做到它却不行(我是这么认为的,简单用下就好,用法跟rm一样),最后就是特殊的链接文件的创建(ln)还有(chmod)修改文件权限,总共13个命令,有这些命令,文件的基操应该没什么大问题了
忘了先提了,一个大前提,要对一个文件的属性得了如指掌,这是个大知识点,对以后文件上的操作很有帮助,我要是文件属性没讲好的地方还望各位指出,有问题我会及时更正
linux学习--2.文件管理的基本命令的更多相关文章
- Linux学习笔记-文件系统和基本命令
目录 分区设备文件名 分区 挂载 文件目录 文件处理命令 目录处理命令 硬件设备文件名 IDE硬盘 /dev/hd[a-d] USB硬盘 /dev/sd[a-p] 光驱 /dev/cdrom或者/de ...
- Linux 学习笔记 1 使用最小的系统,从分区安装系统开始
我们常用的linux系统在安装过程中大多都省略了对系统进行分区的操作,以至于后期,不了解什么是分区以及分区当中最基本的一些概念, 我们不说最细的知识,只求了解这个过程,那直接步入正题,开始第一节的学习 ...
- Linux学习笔记(二) 文件管理
了解 Linux 系统基本的文件管理命令可以帮助我们更好的使用 Linux 系统,以下介绍几个常用的文件管理命令 1.pwd pwd 是 Print Working Directory 的简写,用于显 ...
- Linux学习-计算机基础
Linux 学习-计算机基础 一.描述计算机的组成及其功能. 计算机系统是由硬件(Hardware)和软件(Software )两部分组成. 硬件: 从硬件基本结构上来讲,计算机是由运算器.控制器.存 ...
- Linux 学习笔记
Linux学习笔记 请切换web视图查看,表格比较大,方法:视图>>web板式视图 博客园不能粘贴图片吗 http://wenku.baidu.com/view/bda1c3067fd53 ...
- Linux学习系列之Linux入门(二)Vim学习
第二篇 Vim学习 主要内容: 基本命令: 插件扩展: 参考资料: vim是一个命令控制的文本编辑器,可以完成几乎我们想要做的所有工作,除了Emacs几乎没有其他的工具能和它匹敌.官方网站是:http ...
- Linux~学习笔记目录索引
回到占占推荐博客索引 本篇文章是对自己学习Linux及在它的环境下部署工具的一个总结,以方便自己查阅,也给他人一个帮助,本文章同时会不断的更新,欢迎大家订阅! 本目录包括的内容会包括linux基础命令 ...
- deepin linux学习笔记(四)进不去图形界面怎么办?
目录 deepin linux学习笔记(四)进不去图形界面怎么办? 前言 更换成lxde桌面 进不去图形界面怎么办? 总结 deepin linux学习笔记(四)进不去图形界面怎么办? 前言 生命不息 ...
- Linux学习-汇总
1.基础linux学习 Linux-基础学习(一)-基本命令 Linux-基础学习(二)-基本部署 Linux-基础学习(三)-Nginx学习 Linux-基础学习(四)-部署图书管理系统项目 Lin ...
随机推荐
- 14 微服务电商【黑马乐优商城】:day04-项目搭建(二)
本项目的笔记和资料的Download,请点击这一句话自行获取. day01-springboot(理论篇) :day01-springboot(实践篇) day02-springcloud(理论篇一) ...
- RDD(十)——案例实操
需求: 数据结构:时间戳,省份,城市,用户,广告,中间字段使用空格分割. 样本如下: 1516609143867 6 7 64 16 1516609143869 9 4 75 18 151660914 ...
- 50)PHP,单例模式
class B{ ; private static $instance; private function __construct(){} public static function getNew( ...
- 吴裕雄--天生自然 JAVA开发学习: 泛型
public class GenericMethodTest { // 泛型方法 printArray public static < E > void printArray( E[] i ...
- Spring Cloud服务的注册与发现(Eureka)
一.spring cloud简介 spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理.服务发现.断路器.路由.微代理.事件总线.全局锁.决策竞选.分布式会话等等.它运 ...
- Yahoo!团队:网站性能优化的35条黄金守则
Yahoo!的 Exceptional Performance团队为改善 Web性能带来最佳实践.他们为此进行了一系列的实验.开发了各种工具.写了大量的文章和博客并在各种会议上参与探讨.最佳实践的核心 ...
- 动态指定log4net日志文件名称
如果是希望日志文件按常见的日期格式动态命名,没什么好说的,直接修改app.config <param name="DatePattern" value="yyyyM ...
- socket握手SYN和ACK理解
ACK 英文缩写: ACK (ACKnowledge Character) 中文译名: 确认字符 分类: 传输与接入 解释: 在数据通信传输中,接收站发给发送站的一种传输控制字符.它表示确认发来的数据 ...
- [LC] 345. Reverse Vowels of a String
Write a function that takes a string as input and reverse only the vowels of a string. Example 1: In ...
- python语法基础-面向对象-进阶-长期维护
############### @property定义属性 ############## # 所以对于定义属性你有好几种方式了和种类了,# 静态属性,动态属性, # property # ...