shell的基本命令
命令行指的是供用户输入命令的界面,其本身只是接受输入,然后把命令传给命令解释器。而命令解释器就是shell。通俗来讲Shell是一个程序,它在用户和操作系统之间提供了一个面向行的可交互接口。用户在命令行中输入命令,运行在后台的Shell把命令转换成指令代码发送给操作系统
在输入文件名时,只需要输入前面几个字符,然后按下Tab,Shell就会自动把文件名补全;如果已键入的的字符开头文件不止一个,可以连续Tab,Shell会以列表的形式给出所有以键入字符开头的文件
通配符专用符号:“*”,“?”,“[]”
” * “ 用于匹配文件名中任意长度的字符,例如需要列出目录中所有的C++文件(通常以.cpp结尾)
ls *.cpp
“ ? ” :和“*”匹配任意长度的字符串不同,“?”只匹配一个字符
“[]” :用于匹配出现在方括号内的字符
1 | $ls |
也开始使用-
来表示范围,例如text[1-3]
显示当前目录:pwd
改变目录:cd
$cd ..
返回上一级目录$cd ../..
直接进入根目录$cd
或者$cd ~
回到自己的用户主目录..
代表当前目录的上一级目录,.
代表当前目录,~
代表用户主目录列出目录内容
ls
用于列出当前目录下的所有文件和子目录
ls -F
在每个列出的目录后面加上/
,在可执行文件后面加上*
,在链接文件后面加上@
,有助于用户在无法显示颜色的终端上使用
ls -a
用于显示所有文件
ls -l
用来查看文件的各项属性,例如
drwxr-xr-x 2 root root 4096 2018-11-07 21:35 conf.avail
从左到右依次为:
ls /etc/init.d
ls后跟上路径可以查看该子目录的内容
命令的选项可以用组合使用,指定多个选项使用-
;例如ls -aF
列出目录内容
dir
比ls
功能少,其余一样vdir
相当于ls -l
指令,默认情况下列出目录和文件的完整信息查看文本文件
cat
用于查看文件内容(通常是文本文件),后跟文件名作为参数,可以跟多个文件名cat -n [文件名]
可显示行号more
用于显示内容较多的文件,可将文件内容一页一页显示,空格
向下翻动一页,Enter
向下滚动一行,Q
退出阅读文件的开头和结尾
head -n 2 day
显示day文件的的前两行tail
的作用跟head相同更好的文本阅读工具
less
比more
更强大一些,在显示文本后,会在底部有一个“:“等待用户输入命令,空格
向下翻页,b
向上翻页
搜索使用/
加要搜索的内容,要继续查找相同的内容,只需要再次键入/
即可
参数-M
可以显示更多文件信息
查找文件内容
grep un day
在day文件中查找含有un的行,可以指定多个文件来搜索
如果要查找Red Hat
这样带有空格的关键字,必须使用单引号来把空格包含进去
$grep 'struct list' stack.h
用于在指定范围内查找到文件
find /usr/bin/ -name zip -print
find后面接路径,-name
指定查找的文件名,这里是zip,可以使用通配符;-print
表示将结果输出到标准输出
-type
参数定位特殊文件类型,type可使用的类型如下
| 参数 | 含义 | 参数 | 含义 |
| :–: | :———-: | :–: | :——: |
| b | 块设备文件 | f | 普通文件 |
| c | 字符设备文件 | p | 命令管道 |
| d | 目录文件 | l | 符号链接 |
-atime n
用来查找最后一次使用在n天前的文件
-mtime n
用来查找最后一次修改在n天前的文件
+n
表示大于n,-n
表示小于n
在/uer/bin/中查找最近100天内没有使用过的命令(也就是最后一次使用在100天或100天以前的命令
$ find /usr/bin/ -type f -atime +100 -print
大批量搜索可以使用locate
语法
$ lacate *.doc
locate
指令自动建立整个文件名数据库,如果要立刻生成该数据库文件的最新版本,那么可以使用updatedb
命令,运行需要root权限
直接键入程序名称即可
加入&
后,指导程序在后台运行
1 | $ firefox & |
此时firefox将运行在后台,8449表示这个程序的进程号
whereis
命令主要用于查找程序文件,并提供这个文件的二进制可执行文件、源代码文件和使用手册页存放的位置;-b
参数可以让whereis命令只查找这个程序的二进制可执行文件。
who
命令用于查看当前系统有哪些人登录,以及工作在哪个控制台上whoami
uname -a
用于显示当前系统的版本信息,带-a会显示当前操作系统的所有的有用信息uname -r
只显示内核版本信息man
+指令用于寻求帮助
whatis
后面加指令,可以从程序的使用手册中抽出一行简单的介绍性文字,帮助用户了解这个程序的大致用途。apropos
反查命令未完待续