Ubuntu
内部命令和外部命令内部命令和外部命令功能基本相同,但也有些细微差别。使用
type "cmd"
可以分辨
内部命令内部命令实际上是shell程序的一部分,其中包含的是一些比较简单的linux系统命令,这些命令由shell程序识别并在shell程序内部完成运行,通常在linux系统加载运行时shell就被加载并驻留在系统内存中。内部命令是写在bash源码里面的,其执行速度比外部命令快,因为解析内部命令shell不需要创建子进程。比如:exit,history,cd,echo等。
外部命令外部命令是linux系统中的实用程序部分,因为实用程序的功能通常都比较强大,所以其包含的程序量也会很大,在系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调用内存。通常外部命令的实体并不包含在shell中,但是其命令执行过程是由shell程序控制的。shell程序管理外部命令执行的路径查找、加载存放,并控制命令的执行。外部命令是在bash之外额外安装的,通常放在/bin,/usr/bin,/sbin,/usr/sbin…等等。可通过“echo $PATH”命令查看外部命令的存储路径,比如:ls、vi等。
帮助命令type "cmd" #查看命令类型 help "cmd" #内置命令 man "cmd" #外置命令
可以用来看看格式,参数什么的
熟练运用搜索工具
which "cmd" #查看外部命令位置 whereis "cmd" #定位命令 stat "filepath" #查看文件属性等 file "filepath" #查看文件类型 who #查看当前使用该机器的所有用户 whoami #查看自己 pwd #查看自己当前所处的绝对路径 uname -a #查看内核信息 clear #清屏幕 history #查看历史输入 echo #显示一行 runlevel #查看当前运行等级 0 关机 1 单用户 2 多用户无网络 3 完全的多用户 文本界面 init level #切换运行等级(临时) 4 未定义/自定义 5 图形化界面 6 重启 su username #切换用户 sudo cmd #管理员权限执行cmd date #查看时间 >> #输出结果重定向 "cmd1" | "cmd2" #管道( | )cmd1的结果作为参数传递给cmd2文件查看命令
ls #查看当前目录下文件 cd "path" #跳转到path目录下 .当前目录 ..上级目录 ~家目录 cat "filepath" #从头行到尾行打印 tac "filepath" #从尾行到头行打印 more "filepath" #一屏幕一屏幕的显示内容 less "filepath" #文本编辑器显示文件内容 head -n "filepath" #显示文件前n行 tail -n "filepath" #显示文件后n行 wc "filepath" #统计文件内容信息 find "filename" #查找文件位置 grep regex #检索文件编辑命令
cp "source filepath" "dest filepath" # 拷贝 mv "source filepath" "dest filepath" # 剪切 rm "filename" #删除文件 touch "filepath" #创建普通文件 mkdir "dirname" #创建目录文件 rmdir "dirpath" #删除目录文件 mkfifo "fifoname" #创建管道文件(解)压缩命令/(解)包命令
tar parameter
将文件打包或者解包
◼ c 创建包文件
◼ f 指定目标为文件而不是设备
◼ v 显示详细过程
◼ t 显示包中的内容而不释放
◼ x 释放包中的内容
◼ z GNU 版本新加的,使得 tar 有压缩和解压的功能
ps #显示与当前终端有关的进程 pstree #以树状图显示个进程间关系 kill pid #结束或挂起一个进程 pkill pname #结束一组同名进程 jobs #当前中断的后台命令 fg %pid #于将后台运行的或挂起的任务(或作业)切换到前台运行 bg %pid #将暂挂的作业作为后台作业运行来在当前环境中重新执行这些作业 top #查看系统资源使用情况以及进程信 ipcs #查看共享内存,信息队列,信号量用户/组管理命令
useradd newusername #添加新用户 passwd username #修改密码 userdel username #删除用户 usermod #修改用户信息,所在组等 groupadd groupname #新建组 groupdel groupname #删除组 groups username #查看其所在组 members groupname #查看组成员VI/VIM简单命令
vi "filepath" #打开一个文件,没有会自己创建命令模式
打开文件后,我们处于命令模式,可以上下左右移动光标位置,选择开始编辑的位置,
| 键入 | 效果 | 键入 | 效果 |
|---|---|---|---|
| o | 从光标下一行开始 | O | 从光标上一行 |
| i | 从当前光标位置 | l | 从光标所在行的行头 |
| a | 从光标的后一个位置 | A | 当前光标所在行尾开始 |
| 命令 | 效果 | 命令 | 效果 |
|---|---|---|---|
| :wq | 保存并退出 | :w (filename) | 保存(为新文件) |
| :q | 退出 | u | 撤销 |
| :n | 跳转到第n行 | n dd | 剪切从光标其的n行 |
| p | 粘贴 | gg | 跳转到第一行 |
| n shift+g | 跳转到第n行 | cc | 删除光标所在行 |
| shift+g | 跳转到最后一行 | shift+c | 删除光标所在行的,光标之后的部分 |
| / string | 从头开始匹配string | ? string | 从尾开始匹配string |
在命令模式键入适当的字母后,会进入插入模式,就正常编辑就行,按ESC返回到命令模式。



