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 例子
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
本文标签:
命令操作文件CATvim
发表评论