中间命令
grep 命令
grep 命令显示文件和输入流中和参数匹配的行。
像这样 grep nubi /etc/passwd
➜ applications grep nubi/etc/passwdnubi:x:1000:1000:nubi:/home/nubi:/bin/zsh
在对多个文件进行批量操作的时候, grep 命令非常好用。配合通配使用 grep nubi /etc/*
➜ applications sudo grep nubi /etc/*
[sudo] nubi 的密码:
grep: /etc/abrt: 是一个目录匹配到二进制文件
/etc/aliases.dbgrep: /etc/alsa: 是一个目录grep:
/etc/alternatives: 是一个目录
grep: /etc/audisp: 是一个目录
grep: /etc/audit: 是一个目录
grep: /etc/avahi: 是一个目录
grep: /etc/bash_completion.d: 是一个目录 ...
grep 命令有两个比较重要的选项,一个是 -i (区分大小写),一个是 -v (反转匹配,就是显示所有不匹配的行)。
.*匹配任意多个字符(类似*通配符);
.匹配任意一个字符。
less命令(less 命令实际上是 more 命令的增强版本)
less 命令可以将内容分屏显示,按空格键可查看下一屏,B键查看上一屏,Q键退出。
grep ie /usr/share/dict/words | less
pwd命令
输出当前目录。
通常很难获知当前目录信息,这时我们可以使用 pwd -P 来查看。
diff命令
diff命令用与查看两个文件的不同指出,例如在test目录下有1.txt 2.txt文件,比较两者的不同
➜ test diff 1.txt 2.txt
1c1
< Hello World
---
> Hello World Oh my gord
➜ test
diff -u 格式
➜ test diff -u 1.txt 2.txt
--- 1.txt 2020-02-06 21:11:40.485421802 +0800
+++ 2.txt 2020-02-06 21:12:31.102787094 +0800
@@ -1 +1 @@
-Hello World
+Hello World Oh my gord
file 命令
想文件的格式信息,可以执行 file 命令:
➜ test file 1.txt
1.txt: ASCII text
find 和 locate 命令
明明知道有那么一个文件,但就是不知道它在哪个目录.
使用find 命令需找命令 find dir -name file -print
➜ ~ find test -name '*'.txt -print
test/1.txt
test/2.txt
注意 find 命令可以使用模式匹配参数(如*),但是必须加引号('*')
另外一个查找文件的命令是 locate 。和 find 不同的是, locate 在系统创建的文件索引中查找文件。
这个索引由操作系统周期性地进行更新,查找速度比 find 更快。
head 和 tail 命令
head 命令显示文件的前10行内容
tail 命令显示文件的最后10行内
容
head -n file 指定显示文件前n行的内容
tail -n file 指定显示末尾的n行内容
sort 命令
sort 命令将文件内的所有行按照字母顺序快速排序。你可以使用 -n 选项按照数字顺序排序那些以数字开头的行。
使用 -r 选项反向排序。
更改密码和 shell
passwd 命令用于更改密码。你需要输入一遍你的旧密码和两遍新密码。
chsh 命令更改shell(如改为 ksh 或 tcsh )。本书默认使用的shell是 bash 。
chsh的参数
-s, --shell <shell> 指定登录 shell
-l, --list-shells 打印 shell 列表并退出-
➜ ~ chsh -s /bin/zsh //修改shell
dot 文件
在home目录,分别运行 ls 和 ls -a 两个命令,发现 带 -a参数的会将 "." 、".."也但因出来了,这是因为 ".*"也匹配 “.” 和“..”两个目录,可以使用正则表达式 .[^.]* 或 .??* 来排除这两个目录