Liunx常用命令

文件操作

1. touch 命令(在当前目录下创建空文件)

1.1 语法

touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][--help][--version][文件或目录…]

1.2 例子

命令效果
touch a.txt创建一个名为 a.txt 的新的空白文件

1.3 参数说明

参数功能
a改变档案的读取时间记录
m改变档案的修改时间记录
c假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样
f不使用,是为了与其他 unix 系统的相容性而保留
r使用参考档的时间记录,与 --file 的效果一样
d设定时间与日期,可以使用各种不同的格式
t设定档案的时间记录,格式与 date 指令相同
–no-create不会建立新档案
–help列出指令格式
–version列出版本讯息

2. cat 命令(以打印方式(print)查看文件内容)

2.1 语法

cat [-AbeEnstTuv] fileName

2.2 例子

命令效果
cat a.py查看a.py文件内容

2.3 参数说明

参数功能
-n由 1 开始对所有输出的行数编号
-b和 -n 相似,只不过对于空白行不编号
-s当遇到有连续两行以上的空白行,就代换为一行的空白行
-v使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外
-E在每行结束处显示 $
-T将 TAB 字符显示为 ^I
-A等价于 -vET
-e等价于"-vE"选项
-t等价于"-vT"选项

cat 指令只能查看不能修改。


3. cp 命令(复制文件或文件夹)

3.1 语法

cp [options] path dest/directory

3.2 例子

命令效果
cp -r a/a.py b将a目录下的a.py复制到 b目录
cp -r a/ b将a目录下的所有文件复制到新目录 b
cp -r a b将a文件夹复制到b文件夹下

3.3 参数说明

参数功能
-a此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作
-d复制时保留链接。这里所说的链接相当于 Windows 系统中的快捷方式。
-f覆盖已经存在的目标文件而不给出提示。
-i与 -f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答 y 时目标文件将被覆盖。
-p除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l不复制文件,只是生成链接文件。

4. vim命令(编辑、查看文件)

4.1 语法

vim filename.xx

4.2 例子

命令效果
vim a.py查看或编辑 a.py 内容

没有a.py的话会帮忙新建,之后输入 i 开启编辑模式,编辑结束后按Esc进入一般模式,输入 :wq 后按Enter键保存结果。


5. rm命令(删除文件或者目录)

5.1 语法

rm [options] name...

删除文件可以直接使用rm命令,若删除目录(文件夹)则必须配合选项"-r"
文件一旦通过rm命令删除,则无法恢复,所以必须格外小心地使用该命令。

5.2 例子

命令效果
rm a.txt删除当前目录下的a.txt
rm -r a删除当前目录下的a文件夹
rm -r *删除当前目录下的所有文件及目录

5.3 参数

参数功能
-i删除前逐一询问确认
-f即使原档案属性设为唯读,亦直接删除,无需逐一确认
-r将目录及以下之档案亦逐一删除


6. mv命令(移动或重命名文件或文件夹)

6.1 语法

mv [options] path dest
mv [options] path directory

6.2 例子

命令效果
mv a b将文件夹a改名为b
mv a/* .将a下的所有文件和目录移动到当前目录
mv a/a.py b将a目录下的a.py移动到b目录

6.3 参数说明

参数功能
-b当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份
-i如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作
-f如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件
-n不要覆盖任何已存在的文件或目录
-u当源文件比目标文件新或者目标文件不存在时,才执行移动操作

7. more 命令(按行查看文件)

类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似)。

7.1 语法

more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]

7.2 例子

命令效果
more -s a.txt逐页显示 a.txt 文档内容,连续两行以上空白行则以一行空白行显示
more +2 a.txt从第 20 行开始显示 a.txt 文档的内容

7.3 参数

参数功能
-num一次显示的行数
-d提示使用者,在画面下方显示 [Press space to continue, ‘q’ to quit.] ,如果使用者按错键,则会显示 [Press ‘h’ for instructions.] 而不是 ‘哔’ 声
-l取消遇见特殊字元 ^L(送纸字元)时会暂停的功能
-f计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
-p不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
-c跟 -p 相似,不同的是先显示内容再清除其他旧资料
-s当遇到有连续两行以上的空白行,就代换为一行的空白行
-u不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)
+/pattern在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示
+num从第 num 行开始显示
fileNames欲显示内容的文档,可为复数个数

7.4 常用操作命令

操作功能
Enter向下n行,需要定义。默认为1行
Ctrl+F向下滚动一屏
空格键向下滚动一屏
Ctrl+B返回上一屏
=输出当前行的行号
:f输出文件名和当前行的行号
V调用vi编辑器
!调用Shell,并执行命令
q退出more

8. less 命令(分屏查看文件)

与 more 类似,less 可以随意浏览文件,支持翻页和搜索,支持向上翻页和向下翻页。

8.1 语法:

less [参数] 文件

8.2 例子

命令功能
less a.log查看文件
ps -ef less查看进程信息并通过less分页显示
history less查看命令历史使用记录并通过less分页显示
less a.txt b.py输入 :n后,切换到 b.py ; 输入 :p 后,切换到 a.txt

8.3 参数说明

参数功能
-b<缓冲区大小> 设置缓冲区的大小
-e当文件显示结束后,自动离开
-f强迫打开特殊文件,例如外围设备代号、目录和二进制文件
-g只标志最后搜索的关键词
-i忽略搜索时的大小写
-m显示类似more命令的百分比
-N显示每行的行号
-o<文件名> 将less 输出的内容在指定文件中保存起来
-Q不使用警告音
-s显示连续空行为一行
-S行过长时间将超出部分舍弃
-x <数字>将"tab"键显示为规定的数字空格
/字符串向下搜索"字符串"的功能
?字符串向上搜索"字符串"的功能
n重复前一个搜索(与 / 或 ? 有关)
N反向重复前一个搜索(与 / 或 ? 有关)
b向上翻一页
d向后翻半页
h显示帮助界面
Q退出less 命令
u向前滚动半页
y向前滚动一行
空格键滚动一页
回车键滚动一行
[pagedown]:向下翻动一页
[pageup]:向上翻动一页

9. head 命令(显示文件开头多少行)

默认情况下 head 显示文件的前十行。

9.1 语法

head filename

9.2 例子

命令功能
head a.txt查看 a.txt 文件的前 10 行内容
head -n 7 a.txt查看 a.txt 文件的前 7 行内容

10. tail 命令(显示文件尾部多少行)

默认情况下tail显示文件的后十行。

10.1 语法

tail a.txt

10.2 例子

命令功能
tail a.txt查看 a.txt 文件的后 10 行内容
tail -n 7 a.txt查看 a.txt 文件的后 57行内容
tail -f a.txt查看 a.txt 文件的后 10 行内容,并实时追踪文件更新

11. file 命令(查看文件类型)

11.1 语法

file [-bcLvz][-f <名称文件>][-m <魔法数字文件>...][文件或目录...]

11.2 例子

命令功能
file a.py查看a.py文件的参数类型

11.3 参数

参数功能
-b列出辨识结果时,不显示文件名称
-c详细显示指令执行过程,便于排错或分析程序执行的情形
-f <名称文件>指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名称
-L直接显示符号连接所指向的文件的类别
-m <魔法数字文件>指定魔法数字文件
-v显示版本信息
-z尝试去解读压缩文件的内容
[文件或目录…]要确定类型的文件列表,多个文件之间使用空格分开,可以使用shell通配符匹配多个文件

12. find 命令(在指定目录下查找文件)

12.1 语法

find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;

12.2 实例

find . -name “*.py” 查询当前目录及其子目录下所有文件后缀为 .py的文件
find . -type f 查询当前目录及其子目录中的所有文件
find . -ctime 20 查询当前目录及其子目录下所有最近 20 天内更新过的文件

12.3 参数

find 根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部份为 path,之后的是 expression。如果 path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expression。
-mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件

参数功能
-amin n在过去 n 分钟内被读取过
-anewer file比文件 file 更晚被读取过的文件
-atime n在过去 n 天内被读取过的文件
-cmin n在过去 n 分钟内被修改过
-cnewer file比文件 file 更新的文件
-ctime n在过去 n 天内创建的文件
-mtime n在过去 n 天内修改过的文件
-empty空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name
-ipath p, -path p路径名称符合 p 的文件,ipath 会忽略大小写
-name name, -iname name文件名称符合 name 的文件。iname 会忽略大小写
-size n文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组
-type c文件类型是 c 的文件

END

更多推荐

Liunx文件操作命令(touch、cat、vim、more、less、cp、mv、rm、head、tail、file、find)