一、关机、重启、用户登录注销
shutdown -h now 立即关机
shutdown -h 1 1分钟后关机
shutdown -r now 立即重启
halt 效果等同于直接关机
reboot 重启系统
logout 注销当前用户
syn 把内存的数据同步到磁盘(关机或者重启时应先执行此命令)
二、目录操作
2.1 切换目录操作
pwd 显示当前工作目录的绝对路径
cd - 切换到上一次的工作目录
cd ~ 切换到当前的用户目录
cd / 切换到根目录
cd ../ 切换到上级目录
2.2 查看目录内容
ls 显示当前目录下所有的1文件和目录
ls -a 显示当前目录下所有的文件和目录,包括隐藏的
ls -l 以列表的形式显示目录信息
2.3 创建目录
mkdir aaa 在当前文件夹下创建目录aaa
mkdir ./aaa 在当前文件夹下创建目录aaa
mkdir /aaa 在根目录下创建目录aaa
mkdir -p /aaa/bbb/ccc 创建多级目录(递归创建,会创建里面没有的目录文件夹)
2.4 删除目录
rmdir /aaa 删除当前文件夹下的aaa文件夹(不能删除非空的目录)
rm -r /aaa 普通删除。会询问你是否删除每一个文件
rm -rf /aaa 强制删除/目录下的bbb目录。如果bbb目录中还有子目录,也会被强制删除,不会提示
2.5目录的重命名
mv 原先目录 文件的名称 mv linuxaaa linux
2.6 目录的剪切
mv /aaa /bbb 将根目录下的aaa目录,移动到bbb目录下,在bbb目录下有了aaa目录
mv bbbb usr/bbb 将当前目录下的bbbb目录,移动到usr目录下,并且修改名称为bbb
三、文件操作
3.1 创建文件
touch fileName 创建名字为fileName的文件
3.2 删除文件
rm -r test.java 删除当前目录下名为test.java的文件(每次都会询问是否删除)
rm -rf test.java 强制删除当前目录下的test.java文件
rm -rf ./a* 强制删除当前目录下以a开头的所有文件
rm -rf ./* 强制删除当前目录下所有的文件
3.3 文件内容查看操作
- cat指令
cat -n /etc/profile | more 分页显示,并显示行号
- more指令:以全屏幕的方式按页显示文本文件的内容
//基本语法
more /etc/profile
//操作
空格键(space) 向下翻【一页】
Enter键 向下翻【一行】
q 立即离开more,不再显示文本内容
Ctrl+F 向下滚动一屏
Ctrl+B 返回上一屏
= 输出当前行的行号
:f 输出当前文件名和行号
- less指令
less指令用来分屏查看文件内容,功能与more类似,但比more更加强大。less在显示文件内容是并不是一次将整个文件加载之后才显示,而是根据需要加载文件内容。因此,less对于显示大型文件具有更高的效率。
//基本语法
less /etc/profile
//操作
空格键 向下翻动一页
【pageUp】 向上翻动一页
【pageDown】 向下翻动一页
/字符串 向下搜寻【字串】 n:向下查找 N:向上查找
?字符串 向上搜寻【字串】 n:向上查找 N:向下查找
q 离开less程序
- head指令:用于显示文件的开头部分内容,默认显示前10行
head -n 5 /etc/profile 查看文件前五行内容
- tail指令:用于显示文件的结尾部分内容,默认显示后10行
tail 文件名 显示文件的后10行
tail -n 7 文件名 显示文件的后7行
tail -f 文件名 实时追踪文件的所有更新
四、Vim操作
4.1 Vim的常见模式
Vim有三种常见的模式
- 正常模式: 在正常模式下,我们可以使用快捷键。以vim打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中,你可以使用『上下左右』按键来移动光标,你可以使用『删除字符」或『删除整行』来处理档案内容,也可以使用『复制、贴上』来处理你的文件数据。
- 插入模式/编辑模式: 在模式下,我们可以输入内容,按下i,o,O,a,A,r,R等任何一个字母之后才会进入编辑模式,一般来说按i即可。
- 命令行模式: 在这个模式当中,可以提供你相关指令,完成读取、存盘、替换、离开vim、显示行号等的动作则是在此模式中达成的!
三种模式的关系转化图如下:
快捷键实用案例
1)拷贝当前行yy,拷贝当前行向下的5行5yy,并粘贴(p)
2)删除当前行dd,删除当前行向下的5行5dd
3)在文件中查找某个单词【命令行下/关键字,回车查找,输入n就是查找下一个】,查询hello:/hello
4)设置文件的行号,取消文件的行号【命令行下:set nu和 set nonu】
5)编辑/etc/profile文件,使用快捷键到底文档的最末行【G】和最首行【gg】,注意这些都是在正常模式下执行的。
6)在一个文件中输入"helo",然后又撤销这个动作,在正常模式下输入u
7)编辑 /etc/profile文件,并将光标移动到第20行 shift+g
第一步:显示行号:set nu
第二步:输入20这个数
第三步:输入 shift+g
4.2 >指令和>>指令
这两个指令可以帮助我们将某一部分内容写到指定文件里,但有所区别。
> 输出重定向:会将原来的文件内容覆盖。
>> 追加:不覆盖原文件,而是追加到文件的尾部。
//案例
ls -l /home > test.txt 把home下的目录信息覆盖到test.txt文件里面,若文件不存在,就会创建该文件
cat /etc/profile > test.txt 将文件1的内容覆盖到文件2
4.3 echo指令
echo:输出内容到控制台
可以搭配 > 和 >> 使用
echo Java 输出Java到控制台
echo Java >> test.txt 把Java追加到test.txt中
五、工具类命令
5.1 帮助指令【help】和【man】
当我们对某个命令不熟悉时我们可以使用帮助指令来了解某个命令的用法。
man 命令
help 命令
5.2 ln指令
软链接也叫符号链接,类似于 windows里的快捷方式,主要存放了链接其他文件的路径。
基本语法ln -s【原文件或目录】【软链接名】(功能描述:给原文件创建一个软链接)
ln -s /root linkToRoot 在当前目录下创建一个软链接到/root目录
rm -rf linkToRoot 删除软链接linkToRoot
5.3 history指令
查看已经被执行过的命令,也可以执行历史指令
history 查看以前执行过的命令
history 10 显示最近使用过的10个命令
!10 执行历史编号为10的历史指令
5.4 时间日期指令【date】【cal】
- date指令: 显示当前日期
l)date(功能描述:显示当前时间)
2)date+%Y(功能描述:显示当前年份)
3)date+%m(功能描述:显示当前月份)
4)date+%d(功能描述:显示当前是哪一天)
5)date"+%Y-%m-%d%H:%M:%S"(功能描述:显示年月日时分秒)
//案例
date “+%Y %m %d” 显示年月日 2021 10 03
//设置日期时间(设置系统当前时间)
date -s "2021-10-03 17:43:22"
- cal指令: 查看日历指令
cal 显示本月日历
cal 2021 显示2021年的日历
cal 2021 >> test.txt 把2021年的日历信息输出到test文件中
5.5 搜索查找指令【find】【locate】
- find指令: find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。
//基本语法
find 【搜索范围】【选项】
//选项说明
选项 功能
-name<查询1方式> 按照指定的文件名查找文件
-user<用户名> 查找属于指定用户名的文件
-size<文件大小> 按照指定的文件大小查找文件
//案例
find /home -name test.txt 查找home目录下名为test.txt的文件
find /home -name *.txt 查找home目录下的所有txt文件
find /home -user root 查找home目录下属于root用户的文件
find /home -size +10M 查找home目录下大小超过10M的文件
- locate指令: locate指令可以快速定位文件路径。 locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。 Locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新 locate时刻。由于 locate指令基于数据库进行查询,所以第一次运行前,必须使用 updatedb指令创建 locate数据库。
updatedb
localte test.txt 定位test.txt所在位置
5.6 grep指令和管道符号 |
grep: 过滤查找。
| : 将前一个命令的处理结果输出传递给后面的命令处理。
//基本语法
grep 【选项】 查找内容 源文件
//选项
-n 显示匹配行及行号
-i 忽视大小写
//在test.txt文件中查找yes所在的行,并显示行号
grep -n yes test.txt
或者
cat test.txt | grep -n yes
cat test.txt | grep -ni yes //不区分大小写
5.7 压缩和解压命令
5.7.1 gzip和gunzip
gzip: 压缩文件,只能将文件压缩为*.gz文件
解压缩文件命令: gunzip
注意: 当我们使用gzip压缩命令压缩文件后不会保留原文件
//实例
gzip test.txt //test.txt.gz
gunzip test.txt.gz //test.txt
5.7.2 zip和unzip
- 基本语法
zip 【选项】 压缩后的文件名 要压缩的文件
unzip 【选项】 要解压缩的文件名
- 选项
-r 递归压缩
-d<目录> 指定解压文件后文件的存放目录
zip -r test.zip /home/ //把home目录下的所有文件压缩成test.zip
unzip -d /home/test test.zip //把test.zip解压到/home/test目录下
5.7.3 tar指令
tar指令是打包指令,打包后的文件为.tar.gz的文件
- 基本语法
tar -zcvf test.tar.gz 要打包的文件
tar -zxvf test.tar.gz
tar -zcvf test.tar.gz 1.txt 2.txt 3.txt //打包1.txt 2.txt 3.txt
tar -zxvf test.tar.gz //将test.tar.gz解压缩到当前文件夹
tar -zxvf test.tar.gz -C /home/test //解压缩到指定目录
六、进程管理
6.1 ps -aux指令
查看进程使用的指令是ps,一般使用使用ps -aux
ps -a:显示当前终端的所有进程信息
ps -u:已用户的格式显示进程信息
ps -x:显示后台进程运行的参数
显示的进程参数说明如下:
参数详解
- System V展示风格
- USER:用户名称
- PID:进程号
- %CPU:进程占用CPU的百分比
- %MEM:进程占用物理内存的百分比
- sVSZ:进程占用的虚拟内存大小(单位:KB)
- RSS:进程占用的物理内存大小(单位:KB)
- TT:;终端名称,缩写
- STAT:进程状态,其中S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等
- STARTED:进程的启动时间
- TIME:CPU时间,即进程使用CPU的总时间
- COMMAND:启动进程所用的命令和参数,如果过长会被截断显示
6.2 ps -ef指令
ps -ef: 以全格式显示当前所有的进程,查看进程的父进程。
参数详解
- psef是以全格式显示当前所有的进程
- -e显示所有进程。-f仝格式
- UID:用户ID
- PID:进程ID
- PPID:父进程ID
- C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是IO密集型运算,执行优先级会提高
- STIME:进程启动的时间
- TTY:完整的终端名称
- TIME:CPU时间
- CMD:启动进程所用的命令和参数
6.3 终止进程kill和killAll
kill【选项】进程号 //通过进程号杀死进程
killAll 进程名称 //通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)
常用选项:
-9:表示强迫进程立即停止