无论你是后端程序员还是前端程序员,都避免不了和Linux打交道。Linux的命令有很多,这里仅介绍常用的20个,方便快速查看,也欢迎大家作补充。
1.mkdir 命令
make directories的缩写,用来创建目录创建目录
语法格式 : mkdir [参数] [目录]
常用参数:
参数 | 说明 |
---|---|
-p | 递归创建多级目录 |
-m | 建立目录的同时设置目录的权限 |
参考实例:
- 在当前目录下,创建一个名为 dir 的目录
[root@wayne:~]# mkdir dir
- 在目录/usr/wayne下建立子目录dir,并且设置文件属主有读、写和执行权限,其他人无权访问
[root@wayne:~]# mkdir -m 700 /usr/wayne/dir
- 同时创建两个目录
[root@wayne:~]# mkdir dir1 dir2
- 递归创建目录
[root@wayne:~]# mkdir -p dirs/subdir
2.rmdir 命令
remove directory 的缩写,用来删除空的目录
语法格式 : rmdir [参数] [目录名称]
常用参数:
参数 | 说明 |
---|---|
-p | 递归删除指定的目录路径中的所有父级目录,非空则报错 |
-v | 显示命令的详细执行过程 |
参考实例:
- 删除空目录
[root@wayne:~]# rmdir dir
- 递归删除指定的目录树
[root@wayne:~]# rmdir -p dirs/subdir/dir1
- 显示详细执行过程
[root@wayne:~]# rmdir -p -v dirs/subdir/dir1
rmdir: removing directory, 'dirs/subdir/dir1/'
rmdir: removing directory, 'dirs/subdir'
rmdir: removing directory, 'dirs'
3.touch 命令
用来创建新的空文件,或者变已有文件的时间戳属性
语法格式 : touch [参数] [文件]
常用参数:
参数 | 说明 |
---|---|
-a | 改变档案的读取时间记录 |
-m | 改变档案的修改时间记录 |
参考实例:
- 创建空文件
[root@wayne:~]# touch myfile.txt
- 批量创建文件
[root@wayne:~]# touch myfile{1..5}.txt
[root@wayne:~]# ls
myfile1.txt myfile2.txt myfile3.txt myfile4.txt myfile5.txt
- 修改文件的access(访问)时间
[root@wayne:~]# stat myfile.txt
File: ‘myfile.txt’
...
Access: 2023-03-07 12:15:46.931368541 +0800
Modify: 2023-03-07 12:15:46.931368541 +0800
Change: 2023-03-07 12:15:46.931368541 +0800
[root@wayne:~]# touch -a myfile.txt
[root@wayne:~]# stat myfile.txt
File: ‘myfile.txt’
...
Access: 2023-03-07 12:17:15.675569149 +0800
Modify: 2023-03-07 12:15:46.931368541 +0800
Change: 2023-03-07 12:17:15.675569149 +0800
- 修改文件的modify(修改)时间
[root@wayne:~]# stat myfile.txt
File: ‘myfile.txt’
...
Access: 2023-03-07 12:17:15.675569149 +0800
Modify: 2023-03-07 12:15:46.931368541 +0800
Change: 2023-03-07 12:17:15.675569149 +0800
[root@wayne:~]# touch -m myfile.txt
[root@wayne:~]# stat myfile.txt
File: ‘myfile.txt’
...
Access: 2023-03-07 12:17:15.675569149 +0800
Modify: 2023-03-07 12:19:08.223649598 +0800
Change: 2023-03-07 12:19:08.223649598 +0800
4.rm 命令
用来删除一个目录中的一个或多个文件(目录)
语法格式 : rmdir [参数] [目录名称]
常用参数:
参数 | 说明 |
---|---|
-f | 忽略不存在的文件,不会出现警告信息 |
-i | 删除前会询问用户是否操作 |
-r | 递归删除 |
-v | 显示指令的详细执行过程 |
参考实例:
- 删除前逐一询问确认:
[root@wayne:~]# rm -i myfile.txt
rm: remove regular empty file 'myfile.txt'?
- 直接删除,无任何提示:
[root@wayne:~]# rm -f myfile.txt
- 递归删除目录及目录下所有文件:
[root@wayne:~]# mkdir dirs/subdir/dir1
[root@wayne:~]# rm -rf dirs/subdir/dir1
- 删除当前目录下所有文件:
[root@wayne:~]# rm -rf *
- 清空系统中所有的文件(慎用):
[root@wayne:~]# rm -rf /*
5.mv 命令
move的缩写,用来移动文件或对其改名
语法格式 : mv [参数]
常用参数:
参数 | 说明 |
---|---|
-i | 如果存在同名文件,则向用户询问是否覆盖 |
-f | 覆盖已有文件时,不进行任何提示 |
-b | 当文件存在时,覆盖前为其创建一个备份 |
-u | 当源文件比目标文件新,或者目标文件不存在时,才执行移动操作 |
参考实例:
- 将文件file1重命名为file2:
[root@wayne:~]# mv file1 file2
- 将文件myfile移动到目录dir中 :
[root@wayne:~]# mv myfile /dir
- 将目录dir1移动目录dir2中(目录dir2已存在,若不存在则改名):
[root@wayne:~]# mv /dir1 /dir2
- 将srcdir目录下的所有文件移动到当前目录中:
[root@wayne:~]# mv srcdir/* .
6.cp 命令
copy的缩写,用来复制文件或目录
语法格式 : cp [参数] [文件]
常用参数:
参数 | 说明 |
---|---|
-f | 若目标文件已存在,则会直接覆盖原文件 |
-i | 若目标文件已存在,则会询问是否覆盖 |
-r | 递归复制文件和目录 |
-d | 当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录 |
-l | 对源文件建立硬连接,而非复制文件 |
-s | 对源文件建立符号连接,而非复制文件 |
参考实例:
- 复制目录:
[root@wayne:~]# cp -r dir1 dir2/
- 将文件srcfile 复制成文件dstfile:
[root@wayne:~]# cp srcfile dstfile
- 复制多个文件到dir目录中:
[root@wayne:~]# cp -r file1 file2 file3 dir
- 将 /usr/wayne 目录中的所有.c文件复制到目录 dstdir 中
[root@wayne:~]# cp -r /usr/wayne/*.c dstdir
7 cat 命令
用来显示文件的内容
语法格式 : cat [参数] [文件]
常用参数:
参数 | 说明 |
---|---|
-n | 对所有输出的行数编号 |
-b | 对于空白行不编号 |
-s | 连续两行以上的空白行,替换为一行的空白行 |
参考实例:
- 不带行号打印文件内容:
[root@wayne:~]# cat file
- 带行号打印文件内容:
[root@wayne:~]# cat -n file
8.pwd 命令
print working directory 的缩写,用来打印工作目录
参考实例
查看当前工作目录路径:
[[root@wayne:~]# pwd
/home/wayne
9.ls 命令
list 的缩写,用来列出指定目录下的内容及其相关属性信息
语法格式 : ls [参数] [文件]
常用参数:
参数 | 说明 |
---|---|
-a | 显示所有文件及目录 (包括以“.”开头的隐藏文件) |
-A | 同 -a ,但不列出 “.” (当前目录) 及 “..” (父目录) |
-l | 使用长格式列出文件及目录信息 |
-r | 将文件以相反次序显示(默认依英文字母次序) |
-t | 根据最后的修改时间排序 |
-S | 根据文件大小排序 |
-R | 递归列出所有子目录 |
参考实例:
- 查看当前目录中的文件
[root@wayne:~]# ls -a
- 查看当前目录中的所有文件 (包括开头为 . 的隐藏文件):
[root@wayne:~]# ls -a
- 查看文件和目录的详细信息:
[root@wayne:~]# ls -l
- 查看根目录(/)下的所有文件:
[root@wayne:~]# ls /
- 列出当前工作目录下所有名称是 “s” 开头的文件 :
[root@wayne:~]# ls -ltr s*
- 列出 /bin 目录下的所有目录及文件的详细信息 :
[root@wayne:~]# ls -lR /bin
- 列出当前工作目录下所有文件及目录并以文件的大小进行排序 :
[root@wayne:~]# ls -AS
10.cd 命令
change directory的缩写,用来切换到指定目录
语法格式 : cd [参数] [目录名]
常用参数:
参数 | 说明 |
---|---|
- | 返回上次所在的目录 |
~ | 切换至当前用户目录 |
.. | 切换到上一层目录 |
参考实例:
- 当前工作目录切换到dir目录
[root@wayne:~]# cd dir
- 切换到当前用户目录:
[root@wayne:~]# cd ~
- 切换到上一级目录:
[root@wayne:~]# cd ..
- 切换到上两级目录:
[root@wayne:~]# cd ../..
- 切换到根目录:
[root@wayne:~]# cd /
———————————————————————————————
码字不易,点个赞再走吧!也欢迎私信,一起交流!