Linux的常用指令
一、指令与选项
1. 概述
-
终端中输入的内容为指令
-
指令格式:#指令 [选项] [操作对象]
-
一个指令可以包含多个选项、操作对象也可以是多个
二、基础指令
-
ls指令:(list) 列出所在的目录下的所有目录和文件的名称
- #ls 路径
- 路径可分为相对路径和绝对路径,相对路径需要一个参照物,一般为单签的工作路径,绝对路径不需要参照物,直接从“/”(表示根目录下)开始寻找对应路径
- 相对路径:在相对路径中通常用到“./”(表示当前目录下)和“. ./”(表示上一级目录下)
- #ls 选项 路径
- #ls -l 路径:表示以详细列表的形式进行展示
- #ls -la 路径:表示显示所有文件/文件夹(包含隐藏文件)
- 其中以 “-” 开头的表示对应文件类型为文件,“d”开头的表示文件类型为文件夹,以 - 开头的为隐藏文件
- #ls -lh 路径:列出指定路径下的所有文件/文件夹的名称,以列表的形式并且显示文档的大小以可读性较高的形式显示
-
pwd指令:打印当前所在的路径
-
cd(change directory)命令:用于切换当前工作目录
-
mkdir(make directory):创建目录。语法:mkdir 路径(可以是文件名,也可以是包含文件名的完整路径)
mkdir -p 路径:可以一次创建多层目录
-
touch指令:创建文件。语法:touch 文件名或包含文件名的完整路径
-
cp指令:复制文件或复制文件夹到指定位置。语法:cp 被复制的文件路径 文件被复制到的路径
注意:使用cp命令进行文件夹复制时需要添加参数“-r ”,否则目录将被略过
-
mv指令:移动或剪切(可以给文件重命名)。语法:mv 需要移动的文件路径 需要保存的文件路径
-
rm命令:删除文档。语法:rm 选项 需要删除的文件路径
注意:rm -f 需要删除的文件路径 —>强制删除,不提示是否删除
rm -r 需要删除的目录 —>删除目录
rm -f Linux* —>使用通配符*,则会删除以Linux开头的所有文件
-
vim命令:vim是文本编辑器。语法:vim 文件路径 —>具体使用后序介绍
-
输出重定向
一般命令输出会显示在终端,有些时候需要将一些命令的执行结果保存到文件中进行后序的分析,则需要使用输出重定向技术
语法:正常执行的指令 >/>> 文件路径 —>文件可以不存在(>:表示覆盖输出,会覆盖掉原先的文件内容;>>:覆盖输出,不会覆盖原始文件内容,会在原始内容末尾继续追加)
-
cat指令:可以直接打开一个文件。语法:cat 文件名
注意:cat命令可以配合输出重定向对文件进行合并。语法:cat 文件1 文件2 > 文件名
三、进阶指令
-
df命令:查看磁盘空间。语法:df -h —>会显示磁盘空间的详细信息
-
free命令:查看内存使用情况。语法:free —>-m表示以mb为单位输出
注意:交换表示临时内存,当系统真实内存不够用时会临时使用磁盘充当内存 -
head命令:查看一个文件的前n行,如果不指定则默认为前10行。语法:head -n 文件路径(n表示数字)
-
tail指令:查看一个文件的后n行语法和head类似,也可以查看文件的动态变化过程(变化内容不能是手动增加的)。语法:tail -f 文件路径
-
less指令:以较少的内容进行输出,按下辅助功能键查看更多(数字+回车、空格、上下方向键)。语法:less 需要查看的文件路径
-
wc指令:统计文件内容信息(包含行数、单词数、字节数)
-l:表示lines,行数
-w:表示words,单词数
-c:表示bytes,字节数
-
date指令:表示操作时间和日期。语法:如下图
注意:date -d “-1 day” “+%Y-%m-%d %H:%M:%S” 获取之前的某个时间,"-1 day"可以进行改变 -
cal指令:操作日历
注意:-3表示输出当前月和上一个月和下一个月的日历 -y 年份 输出某一年的日历
-
clear/ctrl+L指令:清楚终端中已经存在的结果
-
管道:| 作用:“过滤”、“特殊”、“扩展处理”。语法:配合前面的指令使用
注意:grep的作用主要用于过滤,管道前面的输出作为管道后面的输入,即过滤出文件名含有s的文件
四、高级指令
-
hostname指令:操作服务器的主机名(读取,设置)
-
id指令:查看一个用户的基本信息(包含用户id、用户组id……),该指令如果不指定用户则默认当前用户
-
whoami命令:显式当前登录的用户,用于shell脚本
-
ps -ef指令:用于查看当前服务器进程信息。-e:表示列出全部进程,-f:表示显式全部的列
注意:UID:用户id;PID:进程id;PPID:父进程id;C:CPU的占用率;STIME:进程的启动时间;TTY:发起该进程的设备识别符号;TIME:进程的执行时间;CMD:该进程的名称或路径当找不到父进程时表示此进程为僵尸进程
-
top命令:产看服务器进程占用的资源
表头含义:PR:优先级,VIRT:虚拟内存(程序申请的内存),RES:常驻内存(实际使用的内存),SHR:共享内存;实际使用内存=常驻内存(RES)-共享内存(SHR)。S:表示进程状态(S表示睡眠,R表示运行);MEM:表示内存占用百分比;COMMAND:表示进程名称或路径 -
du -sh指令:产看目录的真实大小。语法:du -sh 目录路径
-
find指令:用于查找文件。语法:find 路径范围 [选项] 选项值 (选项:-name:按照文档名进行搜索(支持模糊搜索),-type:按照文档类型进行搜索)
-
service指令:控制一些软件服务启动/停止/重启。语法:service 服务器名 start/stop/restart
-
kill命令:杀死进程。语法:kill 进程PID,killall 进程名称
-
ifconfig命令:用于操作网卡
-
reboot命令:重启计算机
-
shutdown命令:关机指令。语法:shutdown -h now 或者 shutdown -h [时间]
-
uptime命令:输出计算机的在线时间
-
uname命令:获取系统的类型。语法:uname -a 表示获取系统的全部信息
-
netstat -tnlp指令:产看网络连接状态
说明:-t:表示列出tcp协议的连接 -n:表示将地址从字母组合装换成ip地址,将协议转为端口号显式
-l:表示过滤出“state”列中值为LISTEN(监听)的连接
-p:表示显式发起连接的进程pid和进程名称
-
man指令:手册(包含了Linux中全部命令手册)。语法:man 指令名(按q键退出)
五、其他
1. 软件安装
2. 文件检索
- grep -r “查找的关键字” + 路径
- 例如:grep -r “main void” /home/ysw
3. U盘挂载
- 系统默认挂载的目录:/media
- 手动挂载:/mnt
- 挂载方式:mount+设备名+挂载目录:
- 设备名:sudo fdisk -l
- 挂载目录:默认手动挂载到:/mnt
- 卸载:sudo umount /mnt
- 查找设备名
- 挂载
- 卸载
4. 压缩包管理
-
gzip和gunzaip:
- 压缩和解压,不会保留源文件,也不会打包,只会在原文件基础上进行压缩
-
tar:不使用z/j参数则该命令只能打包
-
参数:c–创建;x–释放;v–显式提示信息;f–指定压缩文件的名字;z–使用gzip的方式压缩文件后缀为.gz;j–使用bzip2方式压缩后缀为.bz2
-
压缩:tar zcvf 生成的压缩包名字(xxx.tat.gz) 要压缩的文件或目录
tar jcvf 生成的压缩包名字(xxx.tat.bz2) 要压缩的文件或目录
-
解压:若文件后缀为.gz:tar zxvf 压缩包名 -C 解压后的位置
-
-
rar(必须安装该软件):
- 参数:压缩:a;解压缩:x
- 压缩:rar a 生成的压缩文件名(temp) 压缩和文件或目录
- 解压缩:rar x 压缩文件名 (解压缩目录)
-
zip:
- 压缩:zip 生成的名字 压缩的文件或目录
- 解压缩:unzip 压缩包名字 -d 解压目录