初次接触到Linux系统时,不免曾让人感到惊讶,为什么在这样一个黑框框下,敲一段简单的几个词汇,就可以让电脑做出很多的事情。然而接触一段时间,就不免让很多人担心,这么多指令,如何记得过来,这也是一下劝退很多原本还有兴趣学习的人,其实,用书熟练之后,才能感受到这些命令行的强大。
有人说,真正的程序员是没有鼠标的!!!事实上,当你用熟练了这些命令行之后,就会真的觉得,只要有个键盘就足矣
命令行一般都是由一定的格式的:
命令名 [操作选项] [源操作对象] [目的操作对象] ([]中的东西在某些操作中可以省去)
命令行我们一般可以分为这几类:
对目录进行操作
-
ls [选项] [目录或文件] 查看当前目录下的内容 (当没有明确指定目录时,默认为当前目录)
-
-l 查看详细信息
-
-a 查看目录下所有内容,包括隐藏内容(隐藏文件同常以 . 开头)
-
ps: 有两个特殊的目录:
-
. 代表当前目录
-
.. 代表上层目录
-
-
-
-
pwd 获取当前所在工作路径
-
路径的表示方法:
-
绝对路径:起始查找路径是根目录
-
相对路径:起始查找路径是当前路径
-
-
-
mkdir [目录名] 创建目录
-
-p 递归创建多层级目录
-
-
rmdir [目录名] 删除目录 (只能删除空目录,可用于清除无用的空目录)
-
-p 从内向外递归删除多层级目录
-
-
rm 删除文件 (默认无法删除目录)
-
-r 递归删除 (删除所有文件,包括所在的目录)
-
-f 忽略提示信息,直接进行操作
-
-
cp 拷贝文件
-
-r 递归进行拷贝操作(拷贝目录及目录下的所有文件)
-
-
mv 移动(剪切)文件到目标位置 (可以直接对目录有效果)
-
cd 进入(访问)指定目录 (对系统而言,叫改变当前所在路径)
-
cd ~ 直接跳转到家目录
-
cd - 返回最近一次进入的路径
-
对文件进行操作
-
touch 创建一个空文件 (若文件不存在创建空文件,存在则刷新文件的时间属性)
-
-d 以指定时间刷新文件属性
-
-r 以指定文档的时间来刷新另一个文档的时间属性
-
-
cat 将文件打印到终端显示
-
-n 打印行号
-
-
more 分页显示文件内容
-
空格 向下翻页
-
b 向上翻页
-
q 退出
-
-
less 分页显示有字符串匹配功能
-
空格/pgdown/f 向下翻页
-
b/pgup 向上翻页
-
上下箭头 上下单行滚动
-
/string 向下匹配string字符串
-
?string 向上匹配字符串
-
q 退出
-
-
head 默认显示前10行数据
-
-n 指定显示前n行数据
-
-
tail 默认显示文件末尾10行数据
-
-n 指定显示末尾n行数据
-
-f 动态刷新文件末尾内容
-
其他操作
-
echo 打印字符串到终端
-
标准输出重定向
-
标准输出:显示器
-
标准输入:键盘
-
标准错误:显示器
-
标准输出重定向:改变数据流向 (把要写入到显示器文件数据写入到指定文件)
-
>清空文件原有内容再写入新内容
-
>>在文件结尾追加新内容
-
-
-
-
压缩/解压缩 (仅用于压缩普通文件内容)
-
zip/unzip win下常见
-
gzip/gunzip Linux下常见
-
bzip2/bunzip2 Linux 下常见
-
-
打包命令 将多个文件打包成一个文件
-
tar (可针对目录)
-
-c 打包
-
-x 解包
-
-z gzipz格式压缩/解压缩
-
-j 以bzip2格式压缩/解压缩
-
-v 显示详细的打包/解包信息
-
-f 用于指定压缩包名称
-
打包 tar -czvf **.tar.gz (file1 file2 ...)
-
解包 tar -xzvf **.
-
-
-
时间
-
cal 查看当前日历
-
-3上个月,当前月,下个月
-
-y 全年日历
-
-j 按一年中的第n天来显示日历中的日期
-
-
date 显示/设置当前系统时间
-
+' %s' 时间戳
-
-s 设置当前系统时间 (需要root权限)
-
-
-
匹配查找
-
grep 字符串匹配
-
-i 忽略大小写
-
-v 反向匹配,匹配不包含指定字符串的行
-
-R 针对指定目录下的所有文件进行字符串匹配
-
-
find 在指定目录下进行文件查找
-
-name 按名称进行查找
-
* 通配符 -匹配查找任意字符,用于模糊搜索,可以在字符前,也可以在后面
-
-
-
-
常用操作
-
管道符 | 连接两个命令 将前一个命令的输出当作下一个命令的输入
-
tab 文件名的自动补全
-
ctrl +C 命令的中断
-