Linux文件操作命令的学习笔记

一. 特殊目录:

目录 说明
. 表示当前目录
.. 表示上一层目录
– 表示前一个工作目录
~ 表示“目前用户身份”所在的主文件夹
~account 表示account这个用户的主文件夹(account是个账号名称)
二. 目录操作命令:

ls:显示指定目录和文件的信息;
pwd:Print Working Directory,显示当前目录名称;
cd:Change Directory,进入指定的目录;
mkdir:Make Directory,创建指定名称的目录;
rmdir:Remove Directory,删除指定名称的目录。
2.1 ls:

ls用来显示当前目录下有哪些文件及这些文件的信息。ls最常用的参数有三个,分别如下:

参数 说明
-a 除了显示一般文件外,也会显示隐藏文件(以.开头的文件)(常用)
-A 与-a类似,但是不包括.与..这两个目录
-d 仅列出目录本身,而不是列出目录内的文件数据(常用)
-l : 使用长格式显示文件内容,包括文件的属性与权限等数据(常用
-f 直接列出结果,而不进行排序;(ls默认以文件名排序)
-F : 根据文件、目录等信息给予附加数据结构。例如 * 表示可执行文件; / 表示目录; = 表示socket文件; 表示FIFO文件
-h 将文件容量以人类较易读的方式(例如GB、KB等)列出来
-i 列出inode号码
-n 列出UID与GID,而非用户与用户组的名称
-r 按排序结果反向输出
-R 连同子目录内容一起列出,即将该目录下的所有文件都显示出来
-S 以文件容量大小排序
-t 以时间排序
–color=never 不显示颜色
–color=always 显示颜色
–color=auto 让系统自行依据设置来判断是否给予颜色
–full-time 以完整时间模式输出
–time={atime, ctime} 输出访问时间或改变权限属性时间(ctime),而非内容更改时间
2.1.1 细说ls -l

ls -l 使用长格式显示文件内容,如下:

QQ图片20160911112523.png-1.9kB

第一个栏位,表示文件的读写权限属性。
第二个栏位,表示文件个数。
第三个栏位,表示该文件或目录的拥有者。
第四个栏位,表示所属的组(group)
第五栏位,表示文件大小。文件大小用byte来表示,而空目录一般都是1024byte。
第六个栏位,表示创建日期。以“月,日,时间”的格式表示。
第七个栏位,表示文件名或目录名。
2.1.2 细说ls -F

ls -F会在文件的后面多添加表示文件类型的符号。例如:

*表示可执行文件;
/表示目录;
@表示连结文件。
image_1asbkr43t193o1v9q7kpgb91mc812.png-0.9kB

2.2 mkdir:创建指定名称的目录

mkdir的参数如下:

-m:配置文件的权限。
-p:直接将所需要的目录(包含上层目录)递归创建起来。
默认情况下,你所需要的目录得一层一层地创建。假如要创建一个目录为”/home/bird/testing/test1″,则必须要有”/home/bird/testing/”这个目录,才能创建成功。

如果创建目录时加上 -p这个参数,则系统会自动帮你将/home、/home/bird、/home/bird/testing依序创建起来。并且如果该目录本来就存在时,系统也不会显示错误信息。

2.3 rmdir:删除空目录

rmdir只能删除空目录。

如果要删除整个目录下的所有文件,可以使用”rm -r”。

三. 复制、删除与移动

cp:复制;
rm:删除;
mv:移动。
3.1 cp:复制

cp命令可用于复制文件或文件夹,也可以创建连接文件(即快捷方式)。目标文件参数必须是一个已经存在的目录,否则将出现错误。

cp命令的参数如下:

参数 说明
-d 若源文件为链接文件,则复制连接文件属性而非文件本身
-f 强行复制文件或目录,不论目标文件或目录是否已存在
-i 若文件已经存在时,则在覆盖前会先询问用户(常用)
-l 进行硬连接的连接文件创建,而非复制文件本身
-p 连同文件的属性一起复制过去,而非使用默认属性(备份常用)
-r 递归持续复制,用于目录的复制行为(常用)
-s 对源文件建立符号连接,而非复制文件
-u 若destination比source旧才更新destination
-a 相当于-pdr(常用)
3.2 rm:删除

rm命令可删除文件或目录。

rm命令的参数如下:

参数 说明
-f force,忽略不存在的文件,不会出现警告信息
-i 互动模式,在删除前会询问用户是否操作
-r 递归删除。最常用在目录的删除。(很危险的操作!!)
3.3 mv:移动

mv命令可移动文件或目录,参数如下:

参数 说明
-f force,当目标文件存在时,不会询问而直接覆盖
-i 若目标文件已经存在时,则询问是否覆盖
-u 若目标文件已经存在,切source比较新,才会更新
四. 文件内容查阅

查阅文件内容的命令有:

cat:由第一行开始显示文件内容;
tac:从最后一行开始显示文件内容;
nl:显示的时候,顺表输出行号;
more:一页一页地显示文件内容;
less:与more类似,并且可以往前翻页;
head:只看最前面的几行;
tail:只看最后几行;
od:以二进制的方式读取文件内容。
4.1 cat、tac:

cat,即Concatenate(连续)的缩写。tac刚好是将cat反写过来,所以它的功能就跟cat相反。

cat和tac命令的参数如下:

参数 说明
-b 列出行号,仅针对非空白行做行号显示,空白行不标行号
-E 将结尾的断行字符$显示出来
-n 打印出行号,联通空白行也会有行号
-T 将[Tab]键以^I显示出来
-v 列出一些看不出来的特殊字符
-a 相当于-vET
4.2 head、tail:

head与tail命令都是以“行”为单位来进行数据选取。可选的参数有:

参数 说明
-n [number] 表示显示几行。例如 head -n 20 test.txt。
-b [number] 从 number 变量表示的 512 字节块位置开始读取指定文件
-c [number] 从 number 变量表示的字节位置开始读取指定文件
-f 用于监视另一个进程正在写入的文件的增长 。
-k [number] 从 number 变量表示的 1KB 块位置开始读取指定文件
-m [number] 从 number 变量表示的多字节字符位置开始读取指定文件。
五. 修改文件时间或创建新文件

touch命令可以修改文件时间和创建新的空文件。具体参数如下:

参数 说明
-a 仅修改访问时间
-c 仅修改文件的状态更改时间,若文件不存在则不创建新文件
-d 后面可以接希望更改的日期,也可是用用–date=”日期”
-m 仅修改mtime
-t 后面可以接希望更改的时间,格式为[YYMMDDhhmm]

时间: 2024-10-10 06:33:33

Linux文件操作命令的学习笔记的相关文章

kali linux web渗透测试学习笔记

    kali linux web渗透测试学习笔记 metasploit使用方法: 启动: 第一步:启用Postgresql服务.service postgresql start 第二步:启用metasploit服务.service matasploit start 第三步:启动框架.msfconsole 一个ASP站点的sql注入 测试数字型注入点 1.网址:asp?ID+13,后面加',看看是什么数据库,然后输入1=1,1=2,得到数据库是microsoft acess 2.转用sqlma

Linux Shell脚本编程学习笔记和实战

http://www.1987.name/141.html shell基础 终端打印.算术运算.常用变量 Linux下搜索指定目录下特定字符串并高亮显示匹配关键词 从键盘或文件中获取标准输入 [read命令] 文件的描述符和重定向 数组.关联数组和别名使用 函数的定义.执行.传参和递归函数 条件测试操作与流程控制语句 获取时间日期格式和延时 [date.sleep命令] 内部字段分隔符IFS和脚本的调试DEBUG 显示.读取或拼接文件内容 [cat命令] 文件查找与打印文件列表 [find命令]

LINUX命令:TAIL,GREP学习笔记

今天来学习两个Linux命令:tail和grep. tail命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,常用来跟踪系统日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新,使你看到最新的文件内容. tail命令参数: -f 循环读取 -q 不显示处理信息 -v 显示详细的处理信息 -c<数目> 显示的字节数 -n<行数> 显示行数 –pid=PID 与-f合用,表示在进程ID,PI

linux中Bash shell学习笔记

BASH 的基本语法 •最简单的例子 -- Hello World www.111cn.net ! •关于输入.输出和错误输出 •BASH 中对变量的规定(与 C 语言的异同) •BASH 中的基本流程控制语法 •函数的使用 2.1     最简单的例子 -- Hello World! 几乎所有的讲解编程的书给读者的第一个例子都是 Hello World 程序,那么我们今天也就从这个例子出发,来逐步了解 BASH. 用 vi 编辑器编辑一个 hello 文件如下: #!/bin/bash # T

linux中iptables配置学习笔记

iptables是一个Linux下优秀的nat+防火墙工具,我使用该工具以较低配置的传统pc配置了一个灵活强劲的防火墙+nat系统,小有心得,看了网上也有很多这方面的文章,但是似乎要么说的比较少,要么就是比较偏,内容不全,容易误导,我研究了一段时间的iptables同时也用了很久,有点滴经验,写来供大家参考,同时也备日后自己翻阅. 首先要说明的是,iptables操作的是2.4以上内核的netfilter.所以需要linux的内核在2.4以上.其功能与安全性远远比其前辈 ipfwadm,ipch

Linux服务器Shell编程学习笔记

Shell脚本编程学习入门是本文要介绍的内容,我们可以使用任意一种文字编辑器,比如gedit.kedit.emacs.vi等来编写shell脚本,它必须以如下行开始(必须放在文件的第一行):  代码如下 复制代码 #!/bin/sh ...注意:最好使用"!/bin/bash"而不是"!/bin/sh",如果使用tc shell改为tcsh,其他类似. 符号#!用来告诉系统执行该sell脚本的程序,本例使用/bin/sh.编辑结束并保存后,如果要执行该shell脚本

python文件类型的学习笔记

一.文件分类: 1)*.py文件,这就是我们常见的py源文件,没什么好说的: 2)*.pyc, py源文件编译成的二进制字节码文件,依然由python加载执行,不过速度会提高,也会隐藏源码: 3)*.pyo,优化编译后的程序,也是二进制文件,适用于嵌入式系统. 二.生成pyc和pyo文件 1)如何生成pyc文件呢? 假设我们有一个1.py文件需要编译成pyc文件,则在python shell输入 import py_compile py_compile.compile('1.py') 这样就可以

Linux下防火墙iptables学习笔记

一.iptables的开启和关闭 1. 重启系统生效 [Sun@webserver2 ~]$ sudo chkconfig iptables on     开启 [Sun@webserver2 ~]$ sudo chkconfig iptables off    关闭 2.即时生效,重启系统后失效 [Sun@webserver2 ~]$ sudo service iptables start    开启 [Sun@webserver2 ~]$ sudo service iptables stop

linux中ubuntu server学习笔记

1.解决中文乱码问题.本来想为了方便使用系统,特意选择了中文安装,结果命令行中的中文显示一堆方格符号,既然是玩 server 系统,那还是用英文吧.修改内容: sudo vim /var/lib/locales/supported.d/local 只保留:en_US.UTF-8 UTF-8 sodu vim /etc/default/locale 把下面内容: LANG="zh_CN.UTF-8″ LANGUAGE="zh_CN:zh" 修改为: LANG="en_