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返回到命令模式。