Linux指令
1. ls 指令
语法:
l
s
+
选项
+
目录
/
文件
ls + 选项 + 目录/文件
ls+选项+目录/文件
功能: 列出目录下所有子目录与子文件;列出文件名以及其他信息。
选项:
-a
列出目录下所有文件,包括以 . 开头的隐含文件。(仅对目录有效果)
-d
将目录像文件一样显示,而不是显示其子目录和文件。
-i
输出文件的i节点的索引信息。
-k
以k字节的形式表示文件的大小
-l
列出文件的详细信息,ls -l
可以简写成ll
。
包括:文件类型、权限属性、连接数、onwer、group、大小、最新修改时间、名称
-n
用数字的 UID/GID 代替名称。
-F
在文件名后附上字符以表示该文件的类型。
*
表示可执行的普通文件,/
表示目录,@
表示符号链接,|
表示FIFOs,=
表示套接字
-r
对目录反向排序
-t
对目录以时间排序(后创建的在前面)
-s
在文件名前输出该文件的大小
-R
列出所有子目录下的文件(递归)
不如用tree
-1
一行只输出一个文件/目录
2. pwd 指令
语法:
p
w
d
pwd
pwd
功能: 显示用户当前所处的目录
选项: 无
补充:
- 在Linux下,路径分隔符是
/
,windows下是\
- Linux的目录结构整体是一个多叉树,它的叶子节点一定是一个空目录或者非目录文件,路径上的节点一定是非空目录
3. cd 指令
语法:
c
d
+
目录
cd + 目录
cd+目录
功能: 进入目标目录
选项: 无
补充:
cd .. // 返回上级目录 cd /home/xxx/xxx // 跳至绝对路径下 cd ../xxx // 跳至相对路径下 cd ~ // 跳至用户的家目录 cd - // 返回最近访问的目录
4. touch 指令
语法:
t
o
u
c
h
+
选项
+
文件
touch + 选项 + 文件
touch+选项+文件
功能: 更改文件或目录的日期时间(存取时间和更改时间);或者创建一个不存在的文件。
选项:
-a
只更改存取时间
或者:--time=atime
--time=access
--time=use
-c
不建立任何文件
或者:--no-create
-d
使用指定的日期时间,而非现在的时间-f
忽略不予处理(用来解决BSD版本touch指令的兼容性问题)-m
只更改变动时间
或者:--time=mtime
--time=modify
-r
把指定文件或目录的日期时间设置成参考文件或目录的日期时间
touch -r 参考文件 指定文件
-t
使用指定的日期时间,而非现在的时间
5. mkdir 指令
语法:
m
k
d
i
r
+
选项
+
目录
mkdir + 选项 + 目录
mkdir+选项+目录
功能: 在当前目录下创建一个子目录
选项:
-p
--parents,可以是一个路径名称。若此路径中某些目录不存在,则自动创建,一次可以创建多个目录
mkdir -p d1/d2/d3/d4
6. rmdir 指令
语法:
r
m
d
i
r
+
选项
+
目录
rmdir + 选项 + 目录
rmdir+选项+目录
功能: 删除空目录
选项:
-p
和mkdir一样,但是只能删除空目录,当子目录被删除后父目录就变成空目录,那么父目录就可以被删除。
7. rm 指令
语法:
r
m
+
选项
+
目录
/
文件
rm + 选项 + 目录/文件
rm+选项+目录/文件
功能: 删除目录或文件
选项:
-f
即使文件为只读文件,也直接删除-i
删除前逐一询问确认是否要删除-r
删除目录及其下所有的文件和目录
8. man 指令
语法:
m
a
n
+
选项
+
指令
man + 选项 + 指令
man+选项+指令
功能: 查询指令手册
选项:
-k
根据关键字搜索联机帮助num
只在第num章节中查找-a
将所有章节都显示出来
补充: 手册共有8章节
普通的命令
系统调用,如open/write
库函数,如printf
文件的格式,如passwd
由游戏自己定义
附件、变量,如environ
系统管理使用的命令,只能由root使用,如ifconfig
9. cp 指令
语法:
c
p
+
选项
+
源(目录
/
文件)
+
目标(目录
/
文件)
cp + 选项 + 源(目录/文件) + 目标(目录/文件)
cp+选项+源(目录/文件)+目标(目录/文件)
功能: 复制目录/文件
选项:
-f
--force 强制复制文件/目录,不论目标文件/目录是否已经存在-i
--interactive 覆盖文件之前先询问用户-r
--recursive递归处理,将目录下的文件和子目录一起处理,若源文件或目录的形态不属于目录或符号链接,则一律视为普通文件。-R
--recursive 也是递归处理
补充:
若目标是不存在的目录/文件,则会创建一个新的目录/文件,和源文件一样。
若源文件指定了多个(两个及以上),且目标是一个已存在的目录,则会将所有源文件复制到目标目录中;
若源文件指定了多个(两个及以上),但目标是一个不存在的目录,则复制错误。
10. mv 指令
语法:
m
v
+
选项
+
源(目录
/
文件)
+
目标(目录
/
文件)
mv + 选项 + 源(目录/文件) + 目标(目录/文件)
mv+选项+源(目录/文件)+目标(目录/文件)
功能:
- 目标的参数类型是文件:源文件只能有一个,或者被剪切并重命名(目标文件名)到一个新目录中。
- 目标是已存在的目录:源文件/目录可以有多个,它们将被移动到目标目录中。
选项:
-f
强制。如果目标文件已经存在,不会询问,直接覆盖掉。-i
询问。如果目标文件已经存在,会询问是否要覆盖掉。
11. cat 指令
语法:
c
a
t
+
选项
+
文件
cat + 选项 + 文件
cat+选项+文件
功能: 查看目标文件的内容
选项:
-b
对非输出行进行编号-n
对输出的所有行进行编号-s
不输出多行空行
(若有多行空行连在一起,只输出一行空行)
补充:
>
:输出重定向,本来应该写入到显示器的内容,通过>
和目标文件名称,写入到文件中。覆盖写入,先清空原始内容,再写入。
cat "hello" > test.txt
>>
:追加重定向,不会覆盖原始内容,会从原文件的结尾处写入新内容。
<
:输入重定向,本来应该从键盘文件读取,现在通过<
和文件名,从指定的文件中读取。
cat < test.txt
比如下面的指令是从test1.txt文件中读取内容,并将其写入test2.txt文件中:
cat < test1.txt > test2.txt
12. more 指令
语法:
m
o
r
e
+
选项
+
文件
more + 选项 + 文件
more+选项+文件
功能: 查看目标文件的内容
选项:
-n
对输出的所有行进行编号q
退出more
13. less 指令
语法:
l
e
s
s
+
选项
+
文件
less + 选项 + 文件
less+选项+文件
功能: Linux正统查看文件内容的工具,功能极其强大,对文件内容分页显示。
选项:
-i
忽略搜索时的大小写-N
显示每行的行号/字符串
向下搜索“字符串”?字符串
向上搜索“字符串”n
重复前一个搜索(与/或?有关)N
反向重复前一个搜索(与/或?有关)q
quit 退出
补充:
- less用法比more更具弹性,more无法往前翻,只能往后看,但是less可以用[pageup] [pagedown]等功能键前后翻看。
- less可以拥有很多搜索功能。
14. head 指令
语法:
h
e
a
d
+
选项
+
文件
head + 选项 + 文件
head+选项+文件
功能: 显示文件的开头的内容
选项:
-n
n是行数,显示文件开头的n行
15. tail 指令
语法:
t
a
i
l
+
选项
+
文件
tail + 选项 + 文件
tail+选项+文件
功能: 显示文件的结尾的内容
选项:
-n
n是行数,显示文件结尾的n行-f
循环读取,可以查阅正在改变的文件,不断刷新,始终显示文件最新的内容
16. date指令
语法:
d
a
t
e
+
选项
+
文件
date + 选项 + 文件
date+选项+文件
功能: 显示日期、时间
指定显示的格式:
date + %H
显示当前小时%H
小时%M
分钟%S
秒%X
相当于%H:%M:%S
%Y
年%m
月%d
日%F
相当于%Y-%m-%d
选项:
-s
设置当前时间
date -s 2024-01-01 00:00:00
+%s
将普通时间变为时间戳-d@xxx
将时间戳变为普通时间
17. cal指令
语法:
c
a
l
+
选项
cal + 选项
cal+选项
功能: 查看日历等,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份
选项:
-3
显示系统的前一个月、当前月、下一个月的月历-j
显示在当年中的第几天-y
显示当前年份的日历
18. find 指令
语法:
f
i
n
d
+
文件名
+
选项
find + 文件名 + 选项
find+文件名+选项
功能: 在目录结构中搜索文件,显示它的相对路径
选项:
-name
按照文件名查找文件
补充:
- 如果find后接目录,则会显示目录下所有子目录和文件
19. grep 指令
语法:
g
r
e
p
+
选项
+
字符串
+
文件
grep + 选项 + 字符串 + 文件
grep+选项+字符串+文件
功能: 在文件中搜索字符串,并打印出该行
选项:
-i
忽略大小写,视为相同-n
输出行号-v
反向选择,显示不包括字符串的内容
20. zip/unzip 指令
语法:
z
i
p
+
压缩后新文件
/
目录名
+
源文件
/
目录
u
n
z
i
p
+
待解压文件
+
解压后文件名
zip + 压缩后新文件/目录名 + 源文件/目录 unzip + 待解压文件 + 解压后文件名
zip+压缩后新文件/目录名+源文件/目录unzip+待解压文件+解压后文件名
功能: 将文件/目录压缩
选项:
-r
将目录下的子目录和文件一并压缩
zip test.zip test
unzip test.zip test.txt
21. tar 指令
语法:
t
a
r
+
选项
+
新的压缩包名称
+
待打包压缩文件
tar + 选项 + 新的压缩包名称 + 待打包压缩文件
tar+选项+新的压缩包名称+待打包压缩文件
功能: 打包、解包
选项:
-c
创建一个压缩文件-x
解开一个压缩文件-t
查看tarfile里的文件-z
是否使用gzip压缩-j
是否使用bzip2压缩-v
压缩过程中显示文件,常用,但不建议在背景执行过程-f
使用档名,f之后要立即接档名,不要加参数-c
解压到指定目录
示例:
czf
打包压缩
tar -czf 新压缩包 一堆待压缩的文件/目录
tzf
预览压缩包
tar -tzf 压缩包
显示出压缩包里的内容xzf
解压缩
tar -xzf 压缩包
就可以在当前目录下解压开这个压缩包
22. bc 指令
就像是一个计算器,输入bc后,即可输入算式。
23. uname 指令
语法:
u
n
a
m
e
+
选项
uname + 选项
uname+选项
功能: 获取电脑和操作系统的信息
选项:
-a
-all,详细输出所有信息,内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称-r
显示Linux内核版本
24. 快捷键
Tab
自动补齐。ctrl + c
停止当前的程序。ctrl + d
退出。
22. bc 指令
就像是一个计算器,输入bc后,即可输入算式。
23. uname 指令
语法:
u
n
a
m
e
+
选项
uname + 选项
uname+选项
功能: 获取电脑和操作系统的信息
选项:
-a
-all,详细输出所有信息,内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称-r
显示Linux内核版本
24. 快捷键
Tab
自动补齐。ctrl + c
停止当前的程序。ctrl + d
退出。