003--Linux常用命令的常见选项

image.png

接下来对于几个上一章所讲解的常用命令的选项和参数进行一个简单的扩展。其实后期大家在学习和工作中用到其他的命令,我们完全可以自己在互联网上查询资料。那么前期,我带着大家入门。

ls命令

ls是英文单词list的缩写,他的功能是列出当前目录下的文件列表,是非常常见的Linux命令之一。

Linux下目录特点
  • . 开头的文件是隐藏文件,使用ls查看时,需要加上 -a(all)参数才能显示。
  • .代表当前目录 ..代表上一级目录(可以理解为隐藏的两个文件路径)。我们常用cd..跳到上一级目录。

ls常用选项

选项 功能
[-a] all,显示所有内容,包含隐藏文件
[-l](字母L小写) 显示文件详细信息
[-h] human-readable,需要配合-l(字母L小写)选项,所谓的人性化显示

ls配合通配符

通配符 功能
* 代表任意多个任意字符,可以没有字符
? 代表就是一个任意字符,至少一个字符
[ ] 代表一个字符,取值范围在[ ]中
[1234 ] 匹配1,2,3,4中的任意一个
[a-g] 匹配从a到g范围内的任意一个

cd命令

cd是英文单词 change directory 的缩写,其功能就是跳转目录。
它与之前的几个命令不同的是,cd是BASH内置命令,没有帮助文档与相关手册。
所以在使用$which cd的时候是看不到它的二进制路径的。因为系统中不存在 cd 命令的二进制文件。

注意:Linux下 目录名称 以及 文件名称 大小写是有区别的!

命令 功能
cd 切换到当前用户的家目录(home/用户名)
cd ~ 和 cd 效果一样
cd .. 跳转到上一级目录
cd - 在最近两个目录来回切换,有点像图形界面的 Alt + Tab切换窗口的感觉

cd后面的路径可以是两种 相对路径绝对路径

  • 相对路径是指相对当前目录的路径
  • 绝对路径是指全路径。可以从 /(根目录)开始,或者是~(家目录)开始。

mkdir命令

  • 创建一个新的目录
选项 功能
[-p] 可以递归创建目录

新建的目录名称不能重名

rm命令

  • 删除文件或目录
选项 功能
[-f] 强制删除,忽略不存在的文件,无需提示
[-r] 递归删除目录下的内容,删除文件夹就用这个选项

cp命令

  • 拷贝文件或者目录,类似DOS中的copy
$cp 源文件 目标文件
选项 功能
[-i] interactive互动,说白了就是覆盖文件时有提示
[-r] 如果cp跟上的时目录,那么将会递归拷贝目录下的所有子目录和文件

mv命令

  • mv是move的缩写 用来 移动文件/目录
  • 小技巧:如果需要重命名,也可以使用mv命令覆盖当前文件/目录 达到效果
选项 功能
[-i] interactive,覆盖文件时有提示

tree命令

  • tree命令可以将目录结构显示出来(树状显示)
选项 功能
[-d] directory,只显示目录

有的同学系统中默认没有此命令。所以会提示:


提示

你看写得多清楚,在Ubuntu下使用apt安装。

$ sudo apt-get install tree

查看文件内容相关命令

命令 功能
cat 文件名 concatenate,查看文件内容、创建文件、文件合并、追加文件内容等
more 文件名 more,分屏显示文件内容(内容多一般用more)
grep 搜索内容 文件名 grep,搜索文件内容

cat

  • 查看文件内容、创建文件、文件合并、追加文件内容等
  • 命令会一次性显示所有内容,所以适合查看内容较少的文件
选项 功能
[-b] 显示每一行的行号
[-n] 只显示有内容的行号,空行不算一行

more

  • 此命令可以分屏显示文件内容,每次只显示一页内容。所以适合查看内容多的文件。
    使用more的操作按键
操作按键 功能
空格键 显示下一页
回车键 Enter 显示下一行
b back,显示上一页
f forward,向前和空格效果一样
q quit,退出
/ 搜索文字 搜索文本中的内容

grep

  • (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
选项 功能
[-n] line-number,显示匹配行及行号
[-v] invert-match,选中不匹配的行
[-i] ignore-case,忽略大小写

grep常用查找方式

  • 在file_name中 搜索Hello_world这个单词
$grep Hello_world file_name
$grep "Hello_world" file_name
  • 在多个文件中查找
grep "Hello_world" file_1 file_2 file_3 ...
  • 常用两种模式查找
参数 功能
^hello 行首,搜索以hello开头的行
world$ 行尾,搜索以world结束的行

几个常用符号

重定向符号

  • Linux中允许将命令执行结果 重定向到一个文件
  • 将本应该显示在终端上的内容 输出/追加指定文件中
符号 功能
> 输出重定向到一个文件或设备 覆盖原来的文件
>> 输出重定向到一个文件或设备 追加原来的文件
  • echo会在终端中显示参数指定的文字,通常会和 重定向 联合使用

管道符号 |

  • Linux 允许将 一个命令的输出 可以 通过管道 做为 另外一个命令的输入
 command 1 |  command 2 |  command 3 … …

推荐阅读更多精彩内容