1.基础指令

man:命令查询指南(命令手册)
eg: man ls:查询ls命令的用法,介绍等等
ls:列出当前路径下的所有文件/文件夹名称
ls – l [路径]:在ls的基础上以列表的形式列出
ls -la [路径]:在ls的基础上列出所有文档名称(包括隐藏文件)
ls – lh [路径]:在ls-la基础上显示文件的大小(文件单位由系统灵活给出)
cd:切换目录
cd .. 切换到上一次目录
pwd:显示当前工作目录
mkdir:创建文件夹
mkdir -p:一次性创建多层文件夹,例如:usr/lib/a/b/c/d a,b,c,d之前都不存在
mkdir 路径(文件名称) 路径(文件名称) 路径(文件名称):一次性创建多个文件夹
touch:创建新的文件
touch 文件(路径) 文件(路径):一次性创建多个文件
rm(remove):移除/删除单个文档
rm -r:移除/删除指定文件夹
rmdir:同rm -r
rm 文件路径 文件路径:一次性移除/删除多个文档
mv(move):移动文档(类似Windows下的剪切功能),ps:文件重命名时也可以用该方法
cp(copy) 路径 路径:复制单个文件从指定路径到另一个指定路径
cp -r 路径 路径:复制特定路径下的文件夹到另一个指定路径下
dmesg:显示linux的内核版本,因为有时候会遇到一些版本不兼容的情况,所以可以查看下linux的内核版本相关信息,进而查找出所在问题。
lspci:用于显示当前主机的所有PCI总线信息,以及所有已连接的PCI设备信息。
sudo:转化为管理员模式
ps:列出当前所有进程信息
kill:kill a process(关闭掉特定的进程)
apt-get:下载安装/卸载特定的安装包,例如:apt-get install htop,这里的htop就是安装包;而apt-get remove htop是卸载htop这个安装包。
dpkg -i:离线安装特定的安装包
reboot:重启ubuntu,同时也重启vmware虚拟机。
htop:终端进程显示程序。提供可视化界面,便于我们观察每一个进程的信息,从而更容易发现问题。
nano:终端上的文本编辑器。
输出重定向:
>:覆盖输出:会覆盖到原文件的内容
>>:追加输出:在文件的末尾处追加新的内容
语法:正常执行的命令 > / >> 文件路径
cat:
作用一:查看并读取指定文件夹的内容
作用二:将多个文件合并成一个新的文件(利用重定向)

2.进阶指令

  1. df指令
    作用:查看磁盘的空间
    语法:df- h -h表示以可读性较高的形式展示大小

  2. free指令
    作用:查看内存使用情况
    语法:free -m/-g(-m最为常见,-g太大了)

    -m 表示查询的结果以mb的单位进行显示

  3. head指令
    作用:查看文件的前n行,如果没有指定n,则默认是显示文件的前10行
    语法: head -n 文件路径

  4. tail指令
    作用1:查看文件的末n行,如果n没指定,则默认查看最后10行
    语法: tail -n 文件路径

    作用2:可以通过tail指令来查看一个文件的动态变化内容
    【ps:变化的内容不能是用户手动增加的】
    语法:#tail -f 文件路径
    该命令一般用于查看系统的日志比较多。

  5. less指令
    作用:查看文件,以较少的内容进行输出,按下辅助功能键(数字,空格(翻页),上下键,回车)查看更多
    语法: less 需要查看的文件路径

  6. wc指令
    作用:统计文件内容信息(包括行数,单词数,字节数)
    语法:wc-lwc 需要统计的文件路径
    -l: 表示lines,行数
    -w: 表示words,单词数
    -c:表示bytes,字节数

  7. date指令(重点)
    作用:表示操作时间日期(读取,设置)
    语法1:#date 显示的是当前地区的时间
    语法2:#date +%F (等价于#date “+%Y-%m-%d”) 输出形式:2020-08-02
    语法3:#date “+%F %T” (等价于#date “+%Y-%m-%d %H:%M:%S”)
    输出形式:2020-08-02 22:53:14

    语法4:获取之前或者之后的某个时间(备份)
    #date -d “-1 day” “%Y-%m-%d %H:%M:%S”
    eg:

    符号的可选值:+(之后) 或者 –(之前)
    单位的可选值:day(天) , month(月份) , year(年)

  8. cal指令
    作用:用来操作日历的
    语法1:#cal 等价于 #cal -1 直接输出当前月份的日历

    语法2:#cal -3 表示输出上一个月+本月+下个月的日历

    语法3:#cal -y 年份 表示输出某一个年份的日历

  9. clear/ctrl+L指令
    作用:清除终端中已经存在的命令和结果(信息)
    语法:clear 或者快捷键:ctrl + L
    需要注意的是:该命令并不是真的清除了之前的信息,而是把之前的信息都隐藏到了最上面,通过滚动条可以继续查看以前的信息。

  10. 管道(重要)
    管道符:|
    作用:管道一般可以用于“过滤”,“特殊”,“扩展处理”。
    语法:管道不能单独使用,必须需要配合前面所讲的一些指令来一起使用,其作用主要是辅助作用。
    1.过滤案例:需要通过管道查询出根目录下包含“y”字母的文档名称:
    该语法:#ls / | grep y

    2.特殊用法案例:通过管道的操作方法来实现less的等价效果(了解即可)
    之前通过less查看一个文件,可以用#less 文件路径
    现在通过管道还可以这么写:#cat 路径 | less

    3.扩展处理:请使用学过的命令,来统计某个目录下的文档的总个数?
    答:#ls / | wc -l(大多数情况下都是用这个,因为用ls / | wc -w不够精确(因为它是以空格划分单词个数的,不能保证单词是有意义的单词))

3.高级指令

  1. hostname指令
    作用:操作服务器的主机名(读取,设置)
    语法1:#hostname 含义:表示输出完整的主机名
    语法2:#hostname -f 含义:表示输出当前主机名中的FQDN(全限定域名)

    Ps:因为安装ubuntu系统时我将主机名改成了666pc,所以显示结果都是666pc。

  2. id指令
    作用:查看一个用户的一些基本信息(包含用户id,用户组id,附加组id),该指令如果不指定用户则默认当前用户。
    语法1:#id 默认显示当前执行该命令的用户的基本信息
    语法2:#id 用户名 显示指定用户的基本信息

    验证上述信息是否正确?
    验证用户信息: 通过文件/etc/passwd
    验证用户组信息: 通过文件/etc/group

  3. whoami指令
    作用:“我是谁?”显示当前登录的用户名,一般用于shell脚本,用于获取当前操作的用户名方便记录日志。
    语法:#whoami

  4. ps -ef 指令(重点)
    指令:ps
    作用:主要是查看服务器的进程信息
    选项含义:
    -e:等价于”-A”,表示列出全部的进程
    -f:显示全部的列(显示全字段)

    列的含义:
    UID:该进程执行的用户id;
    PID:进程id;
    PPID:该进程的父级进程id,如果一个程序的父级进程找不到,该程序的进程称之为僵尸进程;
    C:Cpu的占有率,其形式是百分比;
    STIME:进程的启动时间;
    TTY:终端设备,发起该进程的设备识别符号,如果显示”?”则表示该进程并不是由终端设备发起;
    TIME:进程的执行时间;
    CMD:该进程的名称或者对应的路径;
    

    案例:(100%使用的命令) 在ps的结果中过滤出想要查看的进程状态
    命令:#ps -ef | grep 进程名称

  5. top指令
    作用:查看服务器的进程占的资源
    语法:
    进入命令:#top (动态显示)
    退出命令:按下q键

    表头含义:
    PID:进程id;
    USER:该进程对应的用户;
    PR:优先级;
    VIRT:虚拟内存;
    RES:常驻内存;
    SHR:共享内存;
    	计算一个进程实际使用的内存 = 常驻内存(RES) – 共享内存(SHR)
    S:表示进行的状态(sleeping,其中S表示睡眠,R表示运行);
    %CPU:表示CPU的占用百分比;
    %MEM:表示内存的占用百分比;
    TIME+:执行的时间;
    COMMAND:进程的名称或者路径;
    

    在运行top的时候,可以按下方便的快捷键:
    M:表示将结果按照内存(MEM)从高到低进行降序排列;
    P:表示将结果按照内存(MEM)从高到低进行降序排列;l
    1:当服务器拥有多个cpu的时候可以使用”1”快捷键来切换是否展示显示cpu的详细信息。