基本指令:
ls :表示list
注意:列出结果的颜色说明:蓝色---文件夹,黑色----文件,绿色---权限为拥有所有权限
用法一:#ls
含义:列出当前目录中的所有文件或文件夹的名称。
用法二:#ls 路径
含义:列出指定路径下的所有文件或文件夹的名称。
相对路径的写法:在相对路径中通常用到2个符号“./”【表示当前目录夏】、“../”【表示上一级目录下】
用法三:#ls 选项 路径
含义:列出指定路径下的所有文件或文件夹的名称,并以指定的格式进行显示。
常见的语法:
#ls -l 路径
#ls -la 路径
选项解释:-l:表示list,表示以详细列表的形式进行展示
-la:表示显示所有文件/文件夹(包含了隐藏文件/文件夹)
注:显示列表的第一个字符若为“-”表示该行对应的文档类型为文件,“d”表示该文档类型为文件夹。
用法四:#ls -lh 路径
含义:列出指定路径下的所有文件或文件夹的名称,以列表的形式并且在显示文档大小的时候以可读性较高的形式显示。
pwd指令:
用法:#pwd (print working directory,打印当前工作目录)
学习过程中学到的用法:使用鼠标左键选中终端的文字即为复制,点击鼠标滚轮即为粘贴。
cd命令:
用法:#cd 路径
命令:#cd (change directory,改变目录)
作用:用于切换当前的工作目录。
补充:在Linux中有一个特殊的符号“~”,表示当前用户的家(/home)目录。
切换的方式:#cd ~
mkdir指令
用法一:#mkdir 路径【路径,可以是文件夹名也可以是包含名称的一个完整路径】
指令:mkdir(make directory,创建目录)
用法二:#mkdir -p 路径【一次性创建多层不存在的目录,添加-p参数,否则报错】
用法三:#mkdir 路径1 路径2 路径3....
touch指令
用法:#touch 文件路径【路径可以直接的文件名也可以是路径】
指令:touch
作用:创建文件
cp指令
用法:#cp 被复制的文档路径 文档被复制到的路径
指令: cp (copy,复制)
作用:复制文件/文件夹到指定的位置
注意:当使用cp复制文件夹时,需要添加“-r”【表示递归复制】参数。
mv指令
用法:#mv 需要移动的文档路径 需要保存的位置路径
指令:mv (move,移动,剪切)
作用:移动文档到新的位置。
注意:Linux中移动和重命名的指令都是mv,其中重命名操作需要保存的位置路径可以省略。
rm命令
用法:#rm 选项 需要移除的文档路径
选项:
-f 如果再删除的时候不想频繁的确认,则使用“-f”。
-r 删除一个目录时,需要“-r”做递归删除,“-rf”表示不确认的递归删除。
指令: rm (remove,移除,删除)
作用:移除/删除文档
vim命令
用法:#vim 文件的路径
指令:vim (一款文本编辑器)
作用:打开一个文件(可以不存在,也可以存在)
注意:没有vim指令,使用 sudo apt install vim进行安装下载,退出使用shift+“:”,然后输入q进行退出。
输出重定向
用法:#正常执行的指令 >/>> 文件的路径
一般命令的输出都会显示在终端中,有些时候需要将一些命令的执行结果想要保存到文件中进行后续的分析/统计,则这时候需要使用到的输出重定向技术。
> 覆盖输出,会覆盖掉原来的文件内容。
>> 追加输出,不会覆盖原始文件的内容,会在原始内容末尾继续添加。
cat指令
作用1:cat有直接打开一个文件的功能。(和vim不用之处在于vim需要手动退出,cat则直接退出)
用法:#cat 文件的路径
作用2:cat可以对文件进行合并。【配合输出重定向使用】
用法:#cat 待合并的文件路径1 待合并的文件路径2.....文件路径n > 合并之后的文件路径
echo命令
作用:用于在终端输出字符串或变量提取后的值
用法:echo 字符串/$变量
进阶指令
df 指令
用法:#df -h(较高的可读性)
作用:查看磁盘的空间
free指令
用法:#free -m(mb)/ -g(gb)【以mb或者gb为单位进行查看】-h【较高可读性】
作用:查看内存使用情况
head指令
用法:#head -n 文件路径
作用:查看一个文件的前n行,若不指定n,则默认显示前10行
tail指令
用法1:#tail -n 文件路径
作用1:查看一个文件的末n行,若不指定n,则默认显示末尾10行
用法2:#tail -f 文件路径【一般用来跟踪系统日志,手动对文件修改无效,可通过输出重定 向进行改变】
作用2:可以通过tail指令来查看一个文件的动态变化
less指令
用法:#less 需要查看的文件路径
作用:查看文件,以较少的内容进行输出,按下辅助功能键(数字+回车,空格键+上下方向键)查看更多。
wc指令
用法:#wc -lwc 需要统计的文件路径
-l :表示lines:行数 (常用)
-w :表示words:单词数(依照空格来判断单词数量)
-c:表示bytes,字节数
作用:统计文件内容信息(包括行数,单词数,字节数)---word count
data指令(重点)
用法1:#date 输出形式:2019 年 4 月 10 日 星期三 09:46:20
用法2:#date +%F(等价于#date “%Y-%m-%d”) 输出形式:2019-04-10
用法3:#date “+%F %T” 等价于#date “%Y-%m-%d %H:%M:%S”)
输出形式:2019-04 -10 09:46:20
用法4:获取之前或者之后的某个时间(备份)
#date -d “-1 day” “%Y-%m-%d %H:%M:%S”(表示一天前的时间)
作用:表示操作时间日期(读取,设置)
cal指令
用法1:#cal 等价于#cal -1 直接输出当前月份的日历
用法2:#cal -3 表示输出上一个月+本月+下个月的日历
用法3:#cal -y 年份 表示输出某一个年份的日历
作用:用来操作日历的
clear/ctrl + L 指令
用法:#clear 或者快捷键 ctrl + L
需要注意的是,该命令并不是真的清楚了之前的信息,而是把之前的信息的隐藏到了最上面,通过滚动条继续查看以前的信息。
作用:清楚终端中已经存在的命令和结果(信息)
管道(重要)
管道符:|
用法:管道不能单独使用,必须配合前面的一些指令来一起使用,其作用主要是辅助作用。
作用:管道一般可以用于“过滤”,“特殊”,“扩展处理”.
过滤案例:需要通过管道来查询出根目录下包含“y”字母的文档名称。
#ls /|grep y (以管道符为分界线,前面为输出,后面为输入,然后再过滤,最后再输出,grep主要用于过滤)
特殊用法案例:通过管道的操作方法来实现less的等价效果(了解)
#cat 路径 | less
扩展处理案例:请使用学过的命令,来统计某个目录下的文档的总个数。
#ls /| wc -w或者-l (-w表示word 以空格为间隔计算单词数;但一般用-l,若文件名含有空格,则一个文件有两单词)
grep命令
用法:#grep -n/-v 文本 路径
作用:文本搜索匹配工具
高级指令
hostname指令
用法1:#hostname 含义:表示输出完整的主机名
用法2:#hostname -f 含义:表示输出当前主机名中的FQDN(全限定域名)
作用:操作服务器的主机名(读取、设置)
id 指令
用法1:#id 则默认当前执行该命令的基本信息
用法2:#id 用户名 显示指定用户的基本信息
作用:查看一个哟用户的一些基本信息(包括用户id,用户组id,附近组id....),该指令如果不指定哟用户则默认当前用户。
验证用户信息:通过文件/etc/passwd
验证用户组信息:通过文件/etc/group
whoami 指令
用法:#whoami
作用:“我是谁” 显示当前登陆的用户名,一般用于shell脚本,用于获取当前操作的用户名方便记录日志。
ps -ef 指令(重点)
用法:ps -ef
指令:ps
作用:主要是查看服务器的进程信息
选项含义:
-e:等价于“-A”,表示列出全部的进程
-f:显示全部的列(显示全字段)
列的含义:
UID:该进程执行的用户id
PID:进程id
PPID:该进程的父级进程id,如果一个程序的父级进程找不到,该程序的进程称之为僵尸进程
C:CPU的占用率,其形式是百分数
STIME:进行的启动时间
TTY:终端设备,发起该进程的设备识别符号,如果显示“?”则表示该进程并不是由终端设备发起
TIME:进程的执行时间
CMD:该进程的名称或者对应的路径
案例:(100%使用的命令) 在ps的结果中过滤出想要查看的进程状态
#ps -ef|grep gnome-panel
top指令(重点)
用法:进入命令:#top (动态显示)
退出命令:按下q键
作用:查看服务器的进程占的资源
输出结果:
表头含义:
PID:进程id
USER:该进程对应的用户
PR:优先级
NI:用户进程空间内改变过优先级的进程占用CPU的百分比
VIRT:虚拟内存
RES:常驻内存
SHR:共享内存
计算一个进程实际使用的内存= 常驻内存(RES) - 共享内存(SHR)
S:表示进行的状态(sleeping,其中S表示睡眠,R表示运行)
%CPU:CPU的占用百分比
%MEM:内存的占用百分比
TIME+:执行的时间
COMMAND:进程的名称或者路径
注意:在运行top的时候,可以按下以下方便快捷键:
M:表示将结果按照内存(MEM)从高到低进行降序排列
P:表示将结果按照CPU使用率从高到低进行降序排列
1:当前服务器拥有多个cpu核心的时候可以使用“1”快捷键来切换是否显示各个cpu核心的详细信息
du -sh 指令
用法:#du -sh 目录路径
作用:查看目录的真实大小
选项含义:
-s:summaries,只显示汇总的大小
-h:表示以较高可读性的形式进行显示
find 指令
用法:#find 路径范围 选项 选项的值
作用:用于查找文件(其参数有55个之多)
选项:
-name:按照文档名称进行搜索(支持模糊搜索)
-type:按照文档的类型进行搜索(“-”表示文件【在使用find的时候需要用f来替换】,“d”表示文件夹)
service 指令(重点)
用法:#service 服务名 start/stop/restart
作用:用于控制一些软件的服务启动/停止/重启
例如:需要启动本机安装的Apache(网站服务器软件),其服务名叫httpd
#service httpd start (教学视频是CentOS)
kill 指令(重点)
用法1:#kill 进程PID (需要配合ps一起使用)
用法2:#killall 进程名称
作用:杀死进程 (当遇到僵尸进程或者出于某些原因需要关闭进程的时候)
ifconfig 指令(重点)
用法:#ifconfig (获取网卡信息)
作用:用于操作网卡相关的指令
ens33:表示Linux中的一个网卡
lo:loop,本地回环网卡,其ip地址一般都是127.0.0.1,也是一个网卡名称
注:具体网络相关知识,可以参考《计算机网络》
reboot 指令
用法1:#reboot 重启
用法2:#reboot -w 模拟重启,但是不重启(只写关机与开机的日志信息)
作用:重新启用计算机
shutdown 指令
用法:#shutdown -h now 或者 #shutdown -h 15:25(Ubuntu中可以省略-h)
作用:关机 (慎用)
除了shutdown关机指令,还有以下几个关机指令:
1、#init 0
2、halt
3、poweroff
uptime 指令
用法:#uptime
作用:输出计算机的在线时间(计算机从开机以来到现在运行的时间)
uname 指令
用法1:#uname 获取操作系统的类型 【显示Linux,表示操作系统是LInux系统】
用法2:#uname -a all,表示获取全部的系统信息【类型、全部主机名、内核版本、发布时间、开源计划】
作用:获取计算机操作系统的相关信息
netstat -tnlp 指令
用法:#netstat -tnlp
作用:查看网络连接状态
选项说明:
-t:表示只列出tcp协议的连接
-n:表示将地址从字母组合转化成ip地址,将协议转化成端口号来显示
-l:表示过滤出“state(状态)”列中其值为LISTEN(监听)的连接
-p:表示显示发起连接的进程PID和进程名称
man 指令
用法:#man 命令 (退出按q键)
作用:manual 手册(包含了Linux中全部命令手册,英文)
wget命令
用法:#wget 参数 下载地址
作用:用于在终端中下载网络文件
tar命令
用法:#tar 选项 文件
作用:用于对文件进行打包压缩或解压
选项说明:
练习题:
1、如何通过命令行重启Linux操作系统? #reboot
2、如何在命令行中快速删除光标前/后的内容? 前:ctrl + u 后:ctrl + k
3、如何删除/tmp夏所有A开头的文件? #rm -f /tmp/A*
4、系统重要文件需要备份,如何把/etc/passwd备份到/tmp目录下? #cp /etc/passwd /tmp
5、如何查看系统最后创建的3个用户? #tail -3 /etc/passwd
6、什么命令可以统计当前系统中一共有多少账户? #wc -l /etc/passwd
7、如何创建/tmp/test.conf文件呢? #touch /tmp/test,conf
8、如何通过vim编辑打开/tmp/test.conf? #vim /tmp/test.conf
9、如何查看/etc/passwd的头3行和尾3行? #head -3 /etc/passwd #tail -3 /etc/passwd
10、如何一次性创建目录/text/1/2/3/4? #mkdir -p /text/1/2/3/4
11、如何最快的返回到当前账户的家目录? #cd ~
12、如何查看/etc所占的磁盘空间? #du -sh /etc
13、如何删除/tmp下所有的文件? #rm -rf /tmp/*
14、尝试启动Apache的服务,并且检查是否启动成功? #service httpd start #ps -ef | grep httpd
15、使用已学命令杀死Apache的进程。 #killall httpd