阅读Linux/UNIX系统编程闲暇之余阅读Linux命令行大全这本书,想起当初毕业同学送给我时的场景,书很新,新到什么程度呢,我说这书时昨天刚买的都没毛病。 本篇博客只记录一些印象不太深刻的内容,相对较简单或对我来说比较熟练的,不再记录. shell是一个接受由键盘输入的命令,并将其传递给操作系统来执行的程序。bash是Bourne Again Shell的首字母缩写,Bourne Again Shell基于这样一个事实,即bash是sh的增强版本,而sh是最初的UNIX shell程序,由Steve Bourne编写。
结束终端会话
直接关闭终端窗口或是在shell提示符下输入exit命令,即可结束终端会话。 第一次登录系统时,当前工作目录被设置成主目录。每个用户账号都有一个主目录,作为普通用户操作时,这是唯一一个允许用户写文件的地方。 cd的快捷方式: cd 将工作目录改变成主目录 cd - 将工作目录切换到先前的工作目录 cd ~ 切换到当前登录用户的主目录 cd ~username 切换到用户username的主目录
ls
ls可以指定多个目录显示,下面的例子显示用户主目录与/usr目录的内容 root@ubuntu:~# ls ~ /usr /root: display.c fun main main.o strtol tlpi-book workspace display.o fun.c main.c playground strtol.c tlpi-dist /usr: bin games include lib local locale sbin share src
当我们查找的一个文件格式同时也是一个命令时,就要指明查找的部分,如果不指明查找的部分会显示第一次匹配的实例。 例如: man 5 passwd 与 man passwd man 5 passwd显示文件/etc/passwd的文件格式描述手册 man passwd会显示用户命令passwd 关于这一点可以用whatis来验证。
root@ubuntu:~# whatis ls ls (1) - list directory contents root@ubuntu:~# whatis passwd passwd (5) - the password file passwd (1) - change user password passwd (1ssl) - compute password hashes
管道操作符 | 可以把一个命令的标准输出传送到另一个命令的标准输入中。 ls -l /usr/bin | less 使用less命令可以分页显示任意命令的输入,该命令将它的结果发送到标准输出。 ls /bin /usr/bin | sort | less 把/bin和/usr/bin目录下所有可执行程序合并成一个列表,并且按照顺序排序。 ls /bin /usr/bin | sort | uniq | less uniq命令会剔除掉/bin 和/usr/bin目录下都有得文件名,只显示一次。 ls /bin /usr/bin | sort | uniq | wc -l 可以查看已排好序的列表中条目数。
tee
在执行Linux命令时,我们可以把输出重定向到文件中,比如 ls >a.txt,这时我们就不能看到输出了,如果我们既想把输出保存到文件中,又想在屏幕上看到输出内容,就可以使用tee命令了。要注意的是:在使用管道线时,前一个命令的标准错误输出不会被tee读取。
echo
这本书看到这又一个惊喜,就是出现了这个花括号扩展,按照年份 月份甚至日期创建文件夹都变得如此轻松。 查看可用的变量列表可以使用如下命令: printenv | less