Shell基本命令
命令及作用 | 基本格式 |
---|---|
pwd:显示当前目录 | pwd |
cd:改变目录 | cd [Path] |
ls:列出目录内容 | ls [OPTION] [FILE] |
dir、vdir:列出目录内容 | dir [FILE]、vdir [FILE] |
cat、more:查看文本文件 | cat/more [OPTION] [FILE…] |
head、tail:阅读文件的开头和结尾 | head/tail [OPTION] [FILE…] |
less:更好的文本阅读工具 | less [OPTION] FILE |
grep:查找文件内容 | grep [OPTION] PATTERN [FILE…] |
find:查找文件位置 | find [OPTION] [Path…] [expression] |
locate:快速定位文件 | locate [FILE] |
whereis:查找特定程序 | whereis [OPTION] [NAME] |
who、whoami、uname:用户信息机版本查看 | who、whoami、uname [OPTION] |
man:寻求帮助 | man NAME |
whatis、apropos:获取命令简介 | whatis NAME |
多种命令详解:
pwd:查看当前目录,直接使用
cd:跳转到某个目录
cd:直接跳到用户主目录
cd / :跳转到根目录
cd /home/kai:跳转到用户“kai”目录
ls:列出目录内容
ls -F:在列出的每个文件后加上相应的标识符,其中目录后加“/”,在可执行文件后加“*”,在链接文件后加“@”
ls -a:显示隐藏的文件
ls -l:显示每个文件的属性,其中每个文件共有8个不同的信息栏,分别表示:文件的权限链接、文件的链接个数、文件所有者的用户名、该用户所在的用户组组名、文件的大小、最后一次被修改时的日期、最后一次被修改的时间、文件名。
dir和vdir:列出目录内容。其中dir比ls功能少,vdir同ls -l
cat和more:查看文件内容
cat -n 1.cpp 2.cpp:查看1.cpp和2.cpp的内容,并且-n表示加上行号,一次将所有的内容显示在屏幕上
more -n 1.cpp:查看1.cpp的内容,但是每次只显示一页,点击回车向下滚动一行,点击空格向下滚动一页。点击Q退出查看。
head和tail:查看文件的首尾
head -n 2 1.cpp 2.cpp:查看1.cpp和2.cpp的前两行。
less:更好的文本阅读器
与more相似,但是功能更强大。
less -M /home/kai/.1.cpp:在界面下方出现一个输入行,输如/name即可在文件中查找name字符串,高亮表示。-M表示可以显示文件更多的信息,如名字、页码、总页码等。
grep:查找文件内容
grep int 1.cpp:在1.cpp文件中查找int字符串。
grep ‘123 456’ 1.cpp:在1.cpp中查找’123 456’字符串。
find:查找文件位
find /home/kai/ -name *.cpp -print:其中-name后表示名字, *.cpp表示多有的cpp文件,-print表示将结果输出到标准输出。(find会打印文件的绝对路径)
find /home/kai -type b -print:表示-type表示文件类型,其中b表示块设备文件,f表示普通文件,c表示字符设备文件,p表示命名管道,d表示目录文件,l表示符号链接
find /home/kai/ -type f -atime 100 -print:表示查找在100天以内没有被修改的普通文件。其中-atime n表示最后一次使用是在n天前。-mtime n表示最后一次修改在n天前。-n表示n天以内。
locate:更快的定位文件
如:locate *.cpp
locate并没有进入子目录搜索,而是通过检索文件名数据库来确定文件的位置。locate命令自动创建整 个文件名数据库,不需要用户插手。
whereis:查找特定程序
whereis find:查找find的二进制可执行文件、源代码文件和使用手册的位置
whereis -b find:使用-b只查找整个程序的二进制可执行文件
who、whoami、uname:查看用户版本信息
who:查看当前系统由哪些人登录,以及他们都工作在哪个控制台上
whoami:查看目前用户的用户名
uname:显示当前系统的版本信息。uname -a会给出当前系统的所有信息。uanme -r只显示内核版本信息。
man:寻求帮助
man find:查看find命令的使用方法(所有详细的信息)
whatis、apropos:获取命令简介
whatis find:只显示find使用手册中的介绍性文字。原理同locate基本一致。
apropos search:与whatis相反,在所有命令的使用手册中查找与search、有关的命令,并返回。
补充:
通配符:
*:表示任意长度的字符串,如 ls *.cpp 表示列出所有.cpp结尾的文件。
?:表示单个的字符串。
[]: [123]:表示单个1或2或3,也可以使用范围符号-,如[a-z]表示单个字符a到z。