常用命令介绍
1.基本命令
1. pwd
显示当前位置的绝对路径,示例如下:
2. cd
切换目录,cd 后面添加的参数是目的地(可以是相对路径也可以是绝对路径),示例如下:
- cd ‘-’ 返回到上一次目录所在地
- cd ‘~’ 直接回到用户家目录
- cd ‘.’ 无事发生
- cd ‘…’ 回到上一层
3.ls
显示目录下所有文件,示例如下:
- -a 显示隐藏文件
- -l 用列表的方式显示所有文件的详细信息
4.man
帮助手册,用来查看命令,系统调用,库函数的详细信息,示例如下:
5.touch
创建一个普通文件,示例如下:
6.mkdir
创建目录文件(文件夹),示例如下
7.rm
删除文件或者文件夹:注意,删除文件夹需要加参数“-r”,示例如下:
删除普通文件:
删除空目录:
删除非空目录
8.cp
拷贝文件,注意:拷贝目录文件时,需要加上参数“-r”,示例如下:
普通文件的拷贝:
目录文件的拷贝:
9.mv(剪切,移动,重命名)
1.剪切移动
2.重命名,示例如下:
10.find
在目录树中遍历一遍,也可以指定遍历开始位置,示例如下:
11.grep过滤
- c 只显示行数
- v 取反,取本身查找之外的数据全部打印
12.管道’|’
将前一个命令的输出信息作为下一个命令的输入信息,示例如下
13.wc
统计文件的信息,比如(-w)显示有多少单词 (-l)统计行数 (-c)统计字符个数
14.su
切换用户 su + username
如果不加用户名,默认切换root用户
sudo su 切换root用户
exit 退出
15.关机和重启
- shutdown -h now 立即关机
- shutdown -r now 立即重启
- init 0 关机
- init 6 重启
- halt 关机
- reboot 重启
init级别:0~6 7种级别 - 0关机
- 1单用户模式
- 2 多用户无网络模式
- 3 完全的多用户文本界面
- 4未定义或自定义
- 5 图像化界面
- 6重启
例如,init 3是文本界面,也就是我们工作中用的最多的界面
16:修改用户密码
passwd stu 修改
sudo passwd stu 强制修改
2.打包,解包,压缩,解压命令
2.1:tar 将文件打包 或者 解包
- c 创建包文件
- f 指定目标为文件而不是设备
- v 显示详细过程
- t 显示包中内容,而不释放
- x 释放包中的内容
- z GNU版本新加入的,让tar具有压缩和解压功能
2.1.1 tar打包过程:
2.1.2 tar解包过程:
2.2 gzip 对文件进行压缩和解压
2.2.1 gzip对文件进行压缩
2.2.2 gzip对压缩包进行解压
- d 解压
2.2.3 通过tar命令对xxx.tar.gz 进行一步解压
2.2.4 通过tar命令对多个文件进行一步压缩
3.文件编辑器vim
3.1 vim的介绍和安装
3.1.1vim的介绍
一般来说,我们ubuntu系统自带的是vi,而 红帽子自带的是vim,vim可以简单认为是vi的升级版本,vim相较于vi的兼容性更好,功能更强大。怎么判断自己电脑装的vi还是vim,可以通过方向键去查看,vi不支持。
vim的官网:www.vim.org
3.1.2 vim的安装
如果电脑上没有vim,这时输入vim,电脑会报错,说找不但,会显示安装此命令的步骤
apt updata:更新标准软件源
或者apt -get updata:更新标准软件源
这个时候,再通过apt install vim
3. 2.vim的配置文件的修改(添加行号,缩进等等)
3. 2.1 配置文件的介绍
配置文件是计算机软件的底层设计或者初始值的设定,比如我们行号的设置,和tab的缩进,例如刚使用vim的时候,一进去是不显示行号的,这个时候可以通过命令set nu去设置,只不过下一次再进入的时候,就又需要重新设置,太麻烦了,所以直接写入到配置文件中,这样就不用每一次都设置了。
3.2.2 配置文件的设置方法
用root权限去打开配置文件vimrc
vim /etc/vim/vimrc
在文件的末尾写入:
- set nu
- set tabstop=4 按tab缩进4个空格
- set softtabstop=4
- set shiftwidth=4
- set expandtab
- set smartindent 自动缩进
- 注意:上述修改比如root权限,并且尽量复制,不要手敲(容易敲出错),如果还想修改其他配置,还是按照此方法即可
3.3.vim的三种模式介绍
vim将使用场景分为了三种模式:
- 命令模式
- 插入模式(编辑模式)
- 末行模式
3.3.1模式切换示意图
3.3.2 命令模式 切换到 插入模式
-
:” //对文本的设置和保存工作
w :只保存
wq:保存并退出
x :等同于wq
q:只退出
q! : 强制退出
w newfile :另存为
set nu:显示行号
set nonu:不限时行号
set hlserach:设置搜索结果高亮
set nohlserach:设置搜索结果不高亮 -
“/” :对本文进行全文向下搜索字符串string 例如/QWE
-
*“?” :对本文进行全文向上搜索字符串string 例如?QWE
-
搜索到之后,可以使用命令:n:接着重复上一次的搜索命令(使用在末行模式)
3.4.vi/vim常用命令
- n dd //删除从光标开始向下的n行
- dd //如果只删除当前行
- n yy //拷贝从光标开始向下的n行
- p //粘贴
- u //撤销上一次操作
- ctrl + r //恢复上一次的撤销操作
- r //替换当前字符
- shift + 6 //将光标移动到当前行的行头
- shift + 4 //将光标移动到当前行的行末
- shift +g // 将光标移动到整个文本的最后一行 等同于G
- gg //将光标移动到整个文本的第一行
- n G //将光标移动到整个文本的第n行 // 等同于 n shift+g
- d n G//删除光标所在第n行数据
- y n G//拷贝光标所在第n行数据
- H ://移动到当前屏幕的第一行
- M://移动到当前屏幕的中间行
- L:移动到当前屏幕显示的最后一行
- “.” :重复上一次操作(使用在命令模式)
补充: - h:向左移动光标
- j:向下移动光标
- k:向上移动光标
- l:向右移动光标
- 上述补充命令只用用于命令模式,但是键盘右下角方向键既可以命令模式使用,还可以插入模式使用
4.文件查看命令
vim可以打开文件,查看里面的数据,但是vim 始终会存在修改数据的风险,所以我们这里介绍其他主要用于查看文件的命令
4.1 cat
4.1.1 用于查看文件数据
示例如下:
4.1.2 用于合并文件(cat A.txt B.txt > C.txt)
4.1.3 可以往文件中写入数据,ctrl+d 结束输入(cat > D.txt)
注意:这个操作首先会将文件D.txt清空,然后从头开始输入数据(使用的时候注意小心源数据丢失)
4.1.4 可以往文件的末尾输入数据,ctrl+d 结束输入(cat >> D.txt)
注意:“>>” 将光标移动到文件末尾,然后在进行写入数据(原先的数据不会丢失)
4.2 more
当文件的内容屏幕显示不完,则可以使用more这个命令,分屏显示内容。
使用命令格式:more filename
示例如下: (more /etc/vim/vimrc)
这个时候,可以通过空格(跳转的内容%多)或者回车(一点点的向下查看)向下查看剩余数据。
如果中途不想继续查看,可以通过q直接退出。
红帽子系统通过方向键查看
4.3 less
这个命令使用方式和more差不多,只不过有一些细微的差别:
- less 显示的文件内容 不会在终端界面上遗留
- less 显示的文件内容 左下角没有百分比%
- less 显示的文件内容 可以通过方向键查看(more只能向下走)
4.4 head
显示文件前n行内容,使用命令格式:head -n filename
如果这里不写-n,默认查看前10行
4.5 tail
4.5.1 显示文件后n行的内容,使用命令格式 tail -n filename
不想查看的行数(不写-n),默认查看倒数10行
4.5.2 用于查看日志文件
tail这个命令经常用于查看日志文件,因为日志文件一般来说只看近期产生的日志数据,也就是说查看日志文件的末尾居多
例如通过命令:tail -f filename(-f follow 实时跟踪显示文件末尾信息)
然后重启一个终端,然后通过命令cat >> filename,实时输入信息,则左边tail -f filename打开的终端则会同步显示
5.用户管理命令
5.1 用户基本信息的存储
存储位置/etc/passwd
用户名 | 密码 | UID | GID | 描述性信息 | 主目录 | 默认shell |
---|---|---|---|---|---|---|
root | x(有密码) | 用户id | 组id | 对用户的简单描述 | 一般就是家目录 | 默认命令解释 |
为了安全,所有用户密码单独加密后,保存在一个文件中(/et/sahdow),这个文件只能root查看
用户名$ 加密算法id $密钥 $密文
5.2 添加新用户
创建用户的时候,一般来说会创建一个同名的家目录,放在/home底下
红帽子会在创建新用户的时候,顺手将同名家目录创建好
ubuntu不太一样,不会自动添加家目录,我们手动添加,或者想自动添加家目录,可以通过图形化界面
添加新用户
命令格式:useradd user_name
5.3 修改密码
通过passwd这个命令进行修改密码:
passwd user_name(修改用户密码)
注意:如果想修改非常的简单的密码(例如123456),系统不让通过,认为密码过于简单,则可以切换到超级用户,强行修改简单密码
5.4 删除用户
使用命令userdel删除用户
- 1.首先保证用户没有登录
- 2.userdel删除用户的时候,家目录不会删除(家目录里的数据还有用)
- 3.如果想顺手将家目录删除掉,也可以,用userdel -r user_name命令
6.进程管理命令
6.1 什么是进程?
- 程序:是完成特定任务的一系列数据+指令的集合(钢琴琴谱,磁盘上,程序=数据+指令)
- 进程:正在执行的程序(根据琴谱弹奏的过程,运行在内存上)
进程(process):是计算机上一端程序的执行过程,是操作系统进行资源分配的基本单位,但是进程并不仅仅是局限于一段可执行的代码段,通常进程还需要包含其他的资源,例如打开的文件,挂起的信号,处理器的状态等等。
简而言之,进程就是正在执行的程序代码的实时显示结果
操作系统需要高效的管理我们的进程,所以为了方便控制进程的运行,将进程的管理和控制放到了一个数据结构,这个结构体就是我们所说的PCB进程控制块(proces control block),每一个进程均有一个PCB,在创建进程时,PCB首先创建,伴随着进程运行的全过程,当进程结时,PCB才消退。PCB记录了操作系统所需的,用于描述进程的当前运行情况以及控制进程运行的全部信息。
6.2 进程在内存中怎么管理
- 执行程序时,先创建PCB,再加载进程实体
- 进程结束时,先释放进程实体,最后释放PCB
- 僵死进程:进程实体释放了,但是PCB未能正常释放
- 补助面试原题:进程,线程,协程,这三个有什么不同
6.3 进程查看命令
1.ps
默认显示当前终端有关的进程信息
- -e 显示系统中所有的进程系统(-A)
- -f 显示更多的进程属性信息(全格式)
- -L 显示进程中线程ID
- UID:用户id
- PID:进程id
- PPID:父进程id
- C:CPU占用率
- STIME: (start time)进程创建时间
- TTY:当前终端号
- TIME:进程运行时间
- CMD:当前进程执行的命令
2.pstree
以树状图的形式显示进程之间的关系
3.kill
结束或者挂起一个进程
- -9(SIGKILL) 强制结束一个进程
- -STOP 挂起进程(挂起:主动将进程执行暂停,CPU则不再给这个进程分配资源
3.1 前后台 - 将进程放到前台运行:路径+ 可执行文件名
- 将进程放到前台运行:路径+ 可执行文件名 + &
在前台运行的进程,会一直占用终端,导致终端接收不到其他命令,这个时候只能另起一个终端,但是在后台运行的进程,不会占用终端,可以执行其他操作,另一个好处就是不会被ctrl+c(误触)给终止掉。 - ctrl + d 停止输入
- ctrl + c 结束进程
- ctrl + z 挂起进程
3.2 演示结束进程
4.pkill
用来结束一组同名的进程(CMD一样)
演示如下:
总结:
- kill PID //结束一个进程
- kill -9 PID //强制结束一个进程
- kill -STOP PID //挂起一个进程
- pkill CMD //结束CMD相同一批进程
5.jobs
显示当前终端的任务,后台执行的或者挂起的任务
6.fg
将后台运行的任务或者挂起的任务放到前台
将后台运行的任务放到前台:
将挂起的进程放到前台
7.bg
将挂起的进程唤醒到后台去运行:
8.top
用来查看系统资源使用情况(动态变化的),类似windows上的任务管理器
- top命令执行后,按f进入到top的解释页面
- 前面带*的,说明已经显示
按f后,示例如下: