一、基础命令
1、ls 查看当前目录下的所有文件/文件夹名称
ls 当前目录下的所有文件/文件夹的名称
ls -a 当前目录下的所有目录和文件(包括隐藏的文件)
ls -l 以列表的方式展示当前文件/文件夹的名称 【等价于 ll 命令】
ls /dir 查看指定目录下的所有文件/文件夹名称,如:ls /home(查看home目录下的所有文件/文件夹名称)
ls -lh 列出指定路径下的所有文件/文件夹的名称,以列表的形式并且在显示文档大小的时候以可读性较高的形式显示
说明:关于路径可以分为相对路径和绝对路径
相对路径:一般就是当前的工作路径,在相对路径中通常会用到两个符号“./”【表示当前目录下】,“../”【上一级目录下】
绝对路径:不需要要参照物,直接从根“/”开始寻找对应路径
2、pwd 打印当前工作目录
pwd
3、cd 切换目录
cd / 切换到根目录
cd /run 切换到根目录下的run目录下
cd ../ 切换到上一级目录
cd - 切换到上一次访问的目录
cd ~ 切换到当前用户家的目录
4、mkdir 【路径】 创建目录
mkdir data 在当前目录下创建data文件夹
mkdir -p 【路径】一次性创建多层不存在的目录 ,注意创建多层级目录需要加上“-p”
mkdir {1..3} 一次性创建3个文件夹
5、touch 创建文件
示例:touch test.txt 在当前工作目录创建test.txt
touch {1..3}.log 一次创建3个log结尾的文件
6、cp 复制文件/文件夹到指定目录
示例1:cp 111.txt data 将111.txt文件复制到data文件夹下
示例2:cp -r data_1 ../data/ 将data文件夹复制到上级data文件夹下,注意复制文件夹的时候需要加上“-r”【-r表示递归复制】
7、mv 移动/剪切文件或者文件重命名
mv data data_test 文件重命名,将data文件重命名为data_test
mv aaa.txt bbb 移动/剪切文件 ,将aaa.txt文件剪切到bbb文件夹下
8、 rm 【选项】 移除、删除文档
rm -f 略不存在的文件,从不给出提示
rm -r 指示rm将参数中列出的全部目录和子目录均递归地删除
rm -rf aaa* 递归删除以aaa开头的文件夹及文件
rm -rf *txt 删除以txt结尾的文件
9、vi 【文件名】 打开文件
示例:vi 4.log 开发4.log文件,
【1】在没有按下其他命令的情况下如需要退出按“Shift+:”,然后再按“q”回车即可
【2】如需要编辑文件,按“i”再进行输入,需要保存并退出时,先按“ESC”,再“:wq”即可
10、输出重定向
说明:一般命令的输出都会显示在终端中,有些时候需要将一些命令的执行结果想要保存到文件中进行后续的分析/统计,则这时候需要使用到的输出重定向技术。
> 覆盖输出,会覆盖掉原先的文件内容
>> 追加输出,不会覆盖原始文件内容,会在原始内容末尾继续添加
示例:ls -la > home/111.txt 将ls -la命令的输出内容写入home目录的111.txt(文件不存在会自动新建)
11、cat 【文件路径】 打开文件/合并文件
示例:cat 111.txt 打开111.txt文件
示例2:cat 111.txt 222.txt 333.txt > 444.txt 将3个文件合并到444.txt文件中(一般会配合输出重定向使用)
二、进阶命令
1、df 查看磁盘空间
df -h 以可读性较高的方式展示大小
2、free 查看内存使用情况
free -m 以MB兆的方式展示内存空间
free -g 以GB兆的方式展示内存空间
Mem:表示物理内存统计,如果机器剩余内存非常小,一般小于总内存的20%,则判断为系统物理内存不够
Swap: 表示硬盘上交换分区的使用情况,如剩余空间较小,需要留意当前系统内存使用情况及负载,当Swap的used值大于0时,则表示操作系统物理内存不够,已经开始使用硬盘内存了。
第1行数据1821表示物理内存总量;133表示总计分配给缓存(包含buffers与cache)使用的数量,但其中可能部分缓存并未实际使用;
1512表示未被分配的内存;shared表示共享内存;175表示系统分配但未被使用的buffers数量;1506表示系统分配但未被使用的available数量
3、head 查看一个文件的前n行,如果不指定,则默认显示前10行
4、tail 命令
a.查看一个文件的末n行,如果n不指定则默认显示末10行
b.查看一个文件的动态变化 ,文件的内容不能是用户手动增加的(类似于火车上的滚动屏,显示最新追加的数据)
5、less 以较少的内容进行输出,按下辅助功能键(数字+回车、空格键翻页、上下方向键)查看更多
示例:less 111.txt 查看111.txt文件的较少内容
6、wc 统计文件内容信息(包含行数、单词数、字节数)
-l 行数
-w 单词数
-c 字节数
7、date 表示操作时间日期
%F:表示完整的年月日 %T:表示完整的时分秒 %Y:表示四位年份 %m:表示两位月份(带前导0) %d:表示日期(带前导0) %H:表示小时(带前导0) %M:表示分钟(带前导0)
%S:表示描述(带前导0)
8、cal
1、cal 直接输出当前月份的日历
2、 cal -3 表示输出上一个月+本月+下个月的日历
3、cal -y 年份 表示某一年的日历
9、clear / Ctrl+L 清除终端中已经存在的命令和结果(信息)
10、管道: |
作用:管道一般可以用于“过滤”,“特殊”,“扩展处理”。
语法:管道不能单独使用,必须需要配合前面的一些命令来一起使用,其作用主要是辅助作用
a)、过滤案例:需要通过管道查询出根目录下包含“2”数字的文档名称。
(说明:以管道作为分界线,前面的命令有个输出,后面需要先输入,然后再过滤,最后再输出,通俗的讲就是管道前面的输出就是后面指令的输入)
b)、特殊案例:通过管道的操作方法来实现less的等价效果(了解)
之前通过less查看一个文件,可以 less 【文件路径】,现在通过管道还可以这么 :cat 【路径】|less
3)、扩展处理,使用学过的命令来统计当前目录下文档的总个数
三、高级指令
1、hostname 指令
a)、hostname 表示输出完整的主机名
b)、hostname -f 表示输出当前主机名的FQDN(全限定域名)
2、id 查看一个用的基本信息(包括用户id,用户组id,附加组id...),该指令如果不指定用户则默认当前用户
a)、id 默认显示当前执行该命令的用户的基本信息
b)、id 【用户名】 显示指定用户的基本信息
3、whoami “我是谁”显示当前登录的用户名
4、ps 查看服务器的进程信息
a)、ps -e 等价于“-A” ,表示列出全部的进程
b)、ps -f 显示全部的列(显示全字段)
列的含义: UID:进程id PID:该进程的父级进程id,如果一个程序的父级进程找不到,该进程称之为僵尸进程 C:Cpu的占用率,其形式是百分数 STIME:进行的启动时间 TTY:终端设备,发起该进程的设备识别符号,如果显示“?”则表示该进程并不是由终端设备发起 TIME:进程的执行时间 CMD:该进程名称或对应的路径
egs:查看单个进程信息如下
5、top 查看服务器的进程信息(动态显示)
表头含义: PID:进程id USER:该进程对应的用户 PR:优先级 NI:用户进程空间内改变过优先级的进程占用CPU百分比 VIRT:虚拟内存 RES:常驻内存 SHR:共享内存 计算一个进程实际使用的内存=常驻内存(RES)-共享内存(SHR) S:表示进行的状态(sleeping) %CPU:表示CPU的占用百分比 %MEM:表示内存的占用百分比 TIME+:执行的时间 COMMAND:进程的名称或者路径
在运行top的时候,可以按下方便的快捷键:
M:表示将结果按照内存(MEM)从高到低进行降序排列
P:表示将结果按照CPU从高到低进行降序排列
1:当服务器拥有多个cpu的时候可以使用“1”快捷键来切换是否展示显示各个cpu的详细信息
6、du -sh 【目录路径】 查看目录的真实大小
-s:只显示汇总的大小
-h:表示以高可读性的形式进行显示
7、find 用于查找文件
-name 按照文档名称进行搜索(支持模糊搜索)
-type 按照文档的类型进行搜索,文件类型“-”表示文件(在使用find的时候需要用f来替换),“d”表示文件夹
8、service 【服务名称】 start/stop/restart 用于控制一些软件的服务启动/停止/重启
9、kill 表示杀死进程
10、ifconfig 查看网卡信息
关于ifconfig命令无法使用,可参考连接进行操作 https://www.cnblogs.com/jianglaoda/p/14303621.html
11、reboot 重新启动计算机
reboot 重启
reboot -w 模拟重启,但是不重启(只写关机与开机的日志信息)
12、shutdown 关机
-h now 立即关机
13、 uptime 输出计算机的持续在线时间(计算机从开机到现在运行的时间)
14、uname 获取计算机操作系统相关信息
15、netstat 查看网络连接状态
-t:表示只列出tcp协议的连接
-n:表示将地址从字母组合转化成ip地址,将协议转化成端口号来显示
-l:表示过滤出“state(状态)”列中其值为LISTEN(监听)的连接
-p:表示显示发起连接的进行pid和进程名称
16、man 手册(包含了Linux中全部命令手册,都是英文)