Linux 常见命令学习与备忘
基础命令
cat 命令
cat,即
concatenate,中文是连接的意思。因此,如果有多个文件的话,它会把这些文件的内容拼接起来显示。
使用格式
1 | |
使用范例
1 | |

ls 命令
ls,即
list,作用是显示指定目录的内容,默认参数为当前目录。
选项参数说明
-l:list with long format,l表示 long 的意思,作用是显示详细的列表-F:add one char of "*/=>@|" to entries,即在列出的文件名称后加一个符号,显示文件类型信息,例如可执行文档加*,目录则加/-lh:list long format with readable file size,即列出带有具有可读性的文件大小数据的信息
使用范例
1 | |

上面列出的文件中,第一列表示文件模式和权限,第二列表示链接数(即 link count,不过,这里的 link 是 hard link),第三列是文件的所有者,第四列是用户组,第五列是文件大小,后面是文件最后更改的日期、时间以及文件名。
cp 命令
cp,即 copy,用来复制文件。
选项参数说明
-r:copy directories recursively。递归地复制文件夹。
使用格式
将文件 file1 复制到文件 file2,如果
file2 不存在,则会自动创建:
1 | |
将多个文件(file1 ... fileN)复制到目录
dir:
1 | |
使用范例
将 a.txt 复制到 b.txt
中,b.txt 本来并不存在
1 | |

将 a.txt 和 b.txt 复制到 new
这个新目录中,new 目录必须存在,因为 cp
命令不会自动创建它(如果它本来不存在的话)。

附:使用 cp a.txt b.txt 命令时,如果 b.txt
中原来有内容,那么,复制完之后,b.txt 中原来的内容将会被
a.txt 中的内容覆盖掉。
mv 命令
mv,即 move。mv
主要用来将一个或多个文件或者目录从一个地方移动到另一个地方。它有两个不同的功能:
- 重命名一个文件或者文件夹
- 移动一组文件到另一个不同的文件夹中
使用格式
将文件名从 file1 重命名为 file2:
1 | |
将多个文件(file1 ... fileN)移动到目录
dir:
1 | |
使用范例
将 a.txt 重命名为 c.txt:
1 | |

将 a.txt 和 c.txt 移动到 new
目录中:
1 | |

touch 命令
touch,并不是缩写。touch
命令用来创建文件。如果文件已经存在,则该命令会更新文件的时间戳。
使用格式
创建一个新的文件,内容为空:
1 | |
rm 命令
rm,即 remove here。rm
命令用来删除文件,文件一旦被删除通常无法恢复(也就是说,通过某种手段,是可以恢复的)。
默认情况下,它不会删除目录。

使用格式
1 | |
选项参数说明
-f:force deletion。强制删除。-r:recursive deletion。递归删除。当使用这个选项时,rm可以删除目录。
使用范例

这里 *
表示通配符,表示匹配当前目录下的任意文件或者文件夹。
echo 命令
echo 命令将它的参数显示到标准输出。
使用范例

cd 命令
cd,即 change directory。cd
命令用来设置当前工作目录。当前工作目录是指我们的进程和 shell
当前所在的目录。
使用格式
进入目录 dir:
1 | |
如果不带 dir 参数,cd
命令会返回我们的个人主目录,即我们登录系统后进入的目录。
mkdir 命令
mkdir,即 make directory。mkdir
命令用来创建新目录。
使用格式
创建目录 dir:
1 | |
rmdir 命令
rmdir,即 remove directory。rmdir
命令用来删除目录(空目录)。如果要删除的目录里面有内容(文件和其他目录),命令会执行失败。我们可以使用
rm -rf 来删除一个目录以及其中的所有内容。
使用格式
删除目录 dir:
1 | |
中级命令
grep 命令
grep,即 global regular expression print 的缩写。
使用范例
显示文件 /etc/passwd 中包含文本 root 的所有行:
1 | |

查看目录 /etc 中所有包含 root 的文件:
1 | |

grep 有几个重要的选项:
-i:不区分大小写-v:反转匹配,即匹配所有不匹配的行-r:递归查找,意思是在当前目录下递归搜索某个内容-n:在结果里显示行号
我具体使用过的案例是在某一个文件夹下需要递归查找 footer
这个字符串,并且需要显示行号,所用命令如下
1 | |

less 命令
less 命令可以将内容分屏显示,按 空格键
可查看下一屏,B 键查看上一屏幕,Q 键退出。
我们可以在 less 命令的输出结果中进行搜索。
- 使用
/word从当前位置向前(这里的向前,代表的是向下的意思)搜索word这个词 - 使用
?word从当前位置向后(这里的向后,代表的是向上的意思)搜索。当找到一个匹配时,按N键跳到下一个匹配,按B键跳到上一个匹配
使用范例
使用 less 查看输出结果
1 | |


pwd 命令
pwd,即 Print Working Directory 的缩写。
功能是打印当前的工作目录名。
使用范例
1 | |

diff 命令
diff 命令用来查看两个文件之间的不同。
使用范例
1 | |

file 命令
file 命令用来查看一个文件的格式信息。
使用范例
查看文件 _config.yml 的格式信息
1 | |

find 和 locate 命令
find 命令用来在目录中寻找文件。
使用格式
1 | |
关于参数的说明
-name filename:表示查找名为filename的文件-print:表示显示文件的路径名。注意,这个选项是默认存在的,也就是说,上面的命令其实是等价于find dir -name filename的
使用范例
查找当前目录下的 _config.yml 文件
1 | |

这里的 . 和 ./
等价,表示在当前目录下查找。注意,这个 find
命令是递归查找所有文件的。
locate
命令是另外一个用来查找的命令。只是,它是在系统创建的文件索引中查找文件(因此速度更快)。有时候可能查找不到新文件,因为系统还没有将新文件加入到索引中。
head 和 tail 命令
head 命令显示文件前 10 行内容。
tail 命令显示文件最后 10 行内容。
使用范例
1 | |
1 | |

sort 命令
sort 命令将文件内所有行按照字典序快速排序。
选项参数说明
-n:按照数字顺序排序哪些以数字开头的行-r:反向排序
使用范例
1 | |

进阶命令
tar 命令
tar,即 tape archive。tar
用来解压文件。
选项参数说明
-f:确定要解压的文件名,即后面要有将被解压的文件的名称-v:输出命令执行过程中的详细信息-x:extract files from an archive file。提取一个压缩文件-J:Use archive throughxz
使用范例
解压 Linux 内核文件到当前文件夹:
1 | |
下面是各种类型文件的解压示例,这里用 file 表示文件名。
解压 tar 文件:
1 | |
解压 tar.gz 文件:
1 | |
其他命令
apt 命令相关
apt,即 advanced package tool。
命令格式
1 | |
也可以使用 apt-get
1 | |
官方现在建议是使用 apt。
常用命令示例
locate 命令
用于定位某一个文件的位置,如,寻找 sys/types.h
这个文件
1 | |
whereis 命令
寻找 stdio.h 的位置
1 | |
但是这个命令没有 locate 命令好用。
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!