Linux命令
Linux的文件
bin
放二进制文件
dev
放外接设备,不能直接使用需要被挂载
etc
配置文件
Home
除了root用户的其他用户的家目录,类似于windows的user/用户目录
proc
表示进程,该目录存储是Linux运行时候的进程
root
该目录是root用户自己的项目
Sbin
全称super binary,可以执行的二进制文件,但是只能被超级管理员执行。
Tmp
临时文件
Usr
用户自己安装的文件
var
程序/系统的日志文件
mnt
当外接设备需要挂载的时候就需要__mnt__
Linux的命令
指在Linux终端输入的内容叫指令
一个__标准__格式:Linux通用的格式
#命令主体 [选项] [操作对象]
选项和操作对象可以多个
基础命令
1、ls命令
用法1:#ls
列出当前工作目录下的所有文件/文件夹的名称
用法2:#ls 路径
列出指定路径下的所有文件/文件夹的名称
关于路径(重要):
相对路径:要先有参照物——用到两个符号“./”当前目录下、“…/”上一级目录下
绝对路径:不需要参照物,从根“/‘开始
用法3:#ls 选项 路径
常见语法:
#ls -l 路径:用详细列表的形式
表现形式:
第一个字符表示文件类型:”-“表示文档类型为文件,”d”表示为文件夹。
Linux中隐藏文件都是用”.”开头的。
#ls -la 路径:显示所有文件和文件夹,包括隐藏的文件和文件夹。
用法4:#ls -lh 路径
列出指定路径下的所有文件/文件夹的名称,以列表的形式并且在显示文档大小的时候以可读性较高的形式表示。
2、pwd命令
用法:#pwd (print working directory,打印当前工作目录)
3、cd 命令
切换路径
语法:#cd /路径
__~__表示当前用户的home目录。
4、mkdir命令
指令:mkdir(make directory:创建目录)
语法1:#mkdir 路径[文件夹名称或者包含名称的一个完整路径]
文件夹颜色:蓝色表示文件夹,黑色表示文件,绿色表示权限为拥有全部权限
语法2 : #mkdir -p 路径
当一次性想要创建多层不存在的目录的时候,可以用-p。
语法3:#mkdir 路径1 路径2 路径3…一次性创建多个目录
5、touch命令
指令:touch
作用:创建文件
语法:#touch 文件路径[路径可以直接是文件名或者是路径]
PS:可以创建多个文件
6、cp指令
指令:cp(copy,复制)
作用:复制文件/文件夹到指定位置
语法:#cp 被复制的文档路径 文档被复制到的
复制过程中可以改名
使用 -r 使得多层目录可以一并复制“-r”[-r]表示递归复制],否则目录将被忽略。
7、mv命令
指令:mv(move,移动,剪切)
作用:移动文档到新的位置
语法:#mv 需要移动的文档路径 需要保存的位置路径
确认:移动之后原始的文件还在不在同一个位置
8、rm命令
指令:rm(remove,移除,删除)
作用:移除删除一个文件或者多个
不想频繁的确认,则可以在指令中添加选项“-f”.
-r 用于删除多层目录
-f 强制删除文件不提示
删除多个文档:可以
用法 :rm -f linux*
*称之为通配符,意思表示任意的字符。
Linux*则表示只要文件以Linux开头,后续字符则不管。
9、vim命令
指令:vim(是一款文本编辑器)
语法:#vim 文件路径
作用:打开一个文件(可以存在,也可以不存在)
vim install.log
10、输出重定向
一般命令的输出都会显示在终端中,有些时候需要将一些命令的之星结构保存到文件中进行后续的分析/统计,则时候需要使用到输出重定向技术。
”>”
覆盖输出,会覆盖掉原先的文件内容
“>>”
追加输出,不会覆盖原始文件内容,会在原始内容末尾继续添加
语法:#正常执行的指令>/>>文件的路径
文件可以不存在,不存在就创建一个。
11、cat、more指令
作用1:cat有直接打开一个文件的功能,more同cat,有翻页的功能
语法:#cat 文件的路径
作用2:cat还可以对文件进行合并
语法2:#cat 待合并的文件路径1 待合并的文件路径2…文件路径n > />>合并之后的文件路径
12、tail指令
作用1:查看一个文件的末n行,如果n不指定就显示后10行
语法:#tail-n 文件路径 [n表示数字]
作用2:**可以用tail来查看一个文件的动态变化[变化的内容不能是用户主动添加的]
语法:#tail-f
该命令一般用于查看系统的日志比较多
13、wc指令
作用:统计文件内容信息(包括行数,单词数,字节数)
语法:#wc -lwc 需要统计的文件路径
-l 表示lines,行数//比较常用
-w 表示words,单词数
-c 表示bytes,字节数
14、管道(重要)
管通符:l
作用:管道一般可以用于”过滤”,“特殊”,“扩展处理”
语法:管道不能单独使用,必须需要配合前面所讲的一些指令来配合,作用是辅助作用,前面指令的输出作为后面指令的输入
#ls /l grep Y
1、管道作为分界线,前面的命令有输出,前面的输出是后面的输入
2、grep指令:主要用于过滤
15、find指令
作用:用于查找文件(其中参数有55个之多)
语法:#find 路径范围 选项 路径服务
选项:
-name 搜索文件的名称
-size 搜索特定大小的文件,+表示大于指定大小,-表示小于指定大小,n为大小,k表示n的单位是Kb,m表示单位是Mb,G表示单位是Gb
-f 只搜索文件
-d 只搜索目录
16、which
which <command>
查找Linux二进制可执行程序的文件位置
17、chmod
作用:改变文件操作权限,分两种模式分别为 符号和数字模式
符号模式
通过字符设定用户权限,参数格式为 用户类型+操作+权限,使用如下:
# 给所有用户添加读写执行权限
sudo chmod a=rwx file.txt
# 给其他用户添加执行权限
sudo chmod o+x file.txt
u,g,o,a分别表示用户类型user,group,others,all
+,-,=分别表示添加权限,去除权限,设置指定权限
r,w,x分别表示读取,写入,执行权限
数字模式
有时也能看到用数字更改权限的方法:
sudo chmod 777 file.txt
3个7分别改变了所有者,用户组和其它用户的文件使用权限,每个数字代表的权限如下:
7=4+2+1=r w x
3=2+1=w x
也就是说数字权限与符号权限是对应的。
参数 -R 表示递归修改同一面目录下所有文件权限
18、chown
利用 chown 可以将档案的拥有者加以改变。这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才有这样的权限。
# chown [-R] [用户名称] [文件或目录]
# chown [-R] [用户名称:组名称] [文件或目录]
vim编辑器
VIm的打开文件的方式(4种,要求掌握的就是前三种)
#vim 文件路径 作用:打开指定的文件
#vim +数字 文件的路径 作用:打开指定的文件,将光标移动到指定文件
#vim +/关键词 文件的路径 作用:打开指定的文件,并且高亮显示关键词
退出方式:按下:q退出就可以了
A、命令模式
该模式是进入vim的第一个模式
1、光标移动
①光标移动到行首
按键:shift+6或者^(T字母上面的6,不要按小键盘的6)
②光标移动到行尾
按键:shift+4(R字母左上角的4)
③光标移动到首行
按键:gg
④光标移动到末行
按键:G
⑤翻屏
向上:ctrl+b/PgUp
向下:ctrl+f/PgDn
2、复制操作
①复制光标所在行
按键:yy
粘贴:在想要粘贴的地方按下p键
②以光标所在行为准(包括当前行),向下复制指定的行数
按键:数组 yy
③可视化复制
按键:ctrl+v,然后按下然后按↑↓←→方向键选中需要复制的区域块,然后按下yy复制,再按下p键粘贴。
3、剪切/删除
①剪切/删除光标所在行
按键:dd (删除之后下一行上移)
注意:dd严格意义上是剪切命令,但是如果剪切乐不粘贴就是删除。
②剪切/删除光标所在行为准,向下删除/剪切指定的行
按键:数字 dd (删除之后下一行上移)
③剪切/删除光标所在的当前行,但是删除之后下一行不上移
按键:D (删除之后当前行会变空白行)
4、撤销/恢复
撤销:输入 :u 或者 u (undo)
恢复:ctrl+r 恢复(取消)之前的撤销操作
5、扩展1:光标的快速移动
①快速将光标移动到指定的行
按键:数字 G
②以当前光标为准向上/向下移动n行
按键:数字↑,数字↓
③以当前光标为准,向左/向右移动n字符
按键:数字←,数字→
④末行模式下的快速移动方式,移动到指定的行
按键:输入英文“:”,其后输入行数数字按下回车。
B、编辑模式
重点看前两个进入方式:i(insert)、a(after)
退出方式:按下esc键
C、末行模式
进入方式:由命令模式进入,按下:”:”或者“/(表示查找)”就可以进入
退出方式:
a、按下esc
b、按下两下esc
c、删除末行全部输入字符
1、保存操作
输入:”:w” 保存文件
输入:”:w 路径” 另存为
2、退出(quit)
输入:”:q” 退出文件
3、保存并退出
输入:”:wq” 保存并且退出
4、强制(!)
输入:“:q!” 表示强制退出,刚才左的修改操作。
5、调用外部命令
输入:“:!外部命令”
6、搜索/查找
输入:“/关键词”
在搜索结果中切换上/下一个结果:N/n(next)
如果需要取消高亮:则需要输入:“:nohl”[no hightlight]
7、替换
:%s/搜索的关键词/新的内容 替换整个文档中每行第一个符合条件的内容。
:%s/搜索的关键词/新的内容/g 替换整个文档的符合条件的内容。
%表示整个文件
g表示全局
8、显示行号
输入:”set nu”[number]
如果想取消显示,则输入:”:set nonu”
9、扩展2:使用同时打开多个文件,在末行模式下进行切换文件。
查看当前打开的文件名称:”:files”
在%a的位置有两种显示可能
%a:a=active,表示当前正在打开的文件。
#:表示上一个打开的文件
切换文件的方式:
a.如果需要指定切换文件的名称,则可以输入:“:open group”
b.可以通过其他命令来切换上一个文件/下一个文件
输入:”:bn”切换到下一个文件(back next)
输入:”:bp”切换打到上一个文件(back prev)
高级指令
1、hostname
作用:操作服务器的主机名(设置、主要是读取)
通过hostname设置的主机名是临时的,重启后恢复
2、id指令
作用:查看用户的一些基本信息(用户id,用户组id,附加组id…),该指令如果不指定用户则默认当前用户
#id 默认显示当前执行该命令的用户的基本信息
#id 用户名 显示指定用户的基本信息
uid:用户id gid:用户组id 组:附加组id
3、whoami
作用:显示当前登录的用户名,一般用于 shell 脚本,用于获取当前操作的用户名方便记录日志
#whoami
4、ps -ef命令(重点)
作用:主要是查看服务器的进程信息
-e:等价于“-A”,表示列出全部进程(建议使用”-e”)
-f:显示全部的列
UID:执行进程的用户ID
PID:进程ID
PPID:该进程对应的父级进程的ID;如果找不到一个程序的PPID,则该程序称为僵尸进程,无用但占用资源
C:表示CPU的占用率,其形式为百分比
STIME:该进程的启动时间
TTY:终端设备,发起该进程的设备识别符号;“ ?”表示该进程不是由终端设备发起的
TIME:表示进程的执行时间
CMD:该进程的名称或者对应的路径
案例:(100%使用的命令)在ps的结果中过滤出想要查看的进程状态
#ps -ef | grep 进程名称
5、top命令(重点)
作用:查看服务器的进程占用的资源
进入命令 #top 动态刷新显示(3秒)
退出命令:按下q键
PID:进程ID
USER:该进程对应的用户
PR:表示优先级
NI:用户进程空间内改变过优先级的进程占用CPU的百分比(了解)
VIRT:虚拟内存
RES:常驻内存 计算一个进程实际使用的内存:
SHR:共享内存 常驻内存(RES) – 共享内存(SHR)
S:表示进行的状态(S:sleeping, R:running)
%CPU:表示CPU的占用百分比
%MEM:表示内存的占用百分比
TIME+:执行的时间
COMMAND:该进程的名称或者对应的路径
在运行top时,按下方便的快捷键:
M:表示将结果按照内存(MEM)从高到低进行降序排序
P:表示将结果按照CPU使用率从高到低进行降序排列
1:当服务器拥有多个cpu的时候,使用“1”快捷键,切换是否展示全部cpu的详细信息
6、du -sh命令
作用:查看目录的真实大小
-s(summaries):只显示汇总的大小
-h:表示以较高可读性的形式显示
案例:统计 “/etc/ ” 的实际大小
#du -sh /etc/
7、find命令
作用:用于查找文件(参数有55个多)
#find 路径范围 选项 选项的值(只有一个字母)
选项:
-name: 按照文档名称进行搜索(支持模糊搜索)
-type:按照文档类型进行搜索
文档类型:”-“ 表示文件(在使用find的时候使用f来替换)
“d“ 表示文件夹
案例:
1、使用find搜索 etc目录中的所有 .conf文件
#find /etc/ -name *.conf
2、使用find搜索/etc/sane.d/目录下所有的文件
#find /etc/sane.d/ -type f
3、使用find搜索/etc/sane.d/目录下所有的文件夹
#find /etc/sane.d/ -type d
8、service命令(重要)
作用:用于控制一些软件的服务(启动、停止、重启)
#service 服务名 start/stop/restart centos7之前
#systemctl start/stop/restart 服务名 centos7之后
查询服务状态:
#service 服务名 status centos7之前
#systemctl status 服务名 centos7之后
案例:
启动本机安装的 Apache(网站服务器软件)–服务名 httpd
#service httpd start —– (centos7之前版本的命令)
#systemctl start httpd —– (centos7之后版本的命令)
使用ps -ef命令检查httpd服务是否启动
#ps -ef|grep httpd
9、kill命令(重要)
作用:表示杀死进程
#kill 进程PID (语法需要配合ps 使用)
**#killall 进程名称(更好用) **
10、ipconfig命令(重要)
作用:用于操作网卡相关的命令,获取网卡信息
#ifconfig
lo 为本地回环网卡,一般为127.0.0.1
ens33 与 virbr0为Linux中的网卡
11、reboot命令
作用:重新启动计算机
#reboot 重启(将开关机的动作写入日志,并重启)
#reboot -w 模拟重启,但是实际不重启(只将开关机的动作写入日志,用来测试)
12、shutdown命令
作用:关机 (慎用)
#shutdown -h now “关机提示” 立即关机
#shutdown -h 具体时间 “关机提示” 定时关机 例:#shutdown -h 15:25
注:关机提示,使用引号,并可省略
#shutdown -c 取消定时关机 centos7.x之后
Ctrl + C centos7.x之前
其他的关机方法:
#init 0
#halt
#poweroff
13、uptime命令
作用:输出计算机的持续在线时间(从开机到现在运行的时间)
#uptime
当前时间 持续时间 连接用户个数 服务器负器 1分钟 5分钟 15分钟
14、uname命令
作用:获取计算机操作系统相关系统
#uname
#uname -a 获取详细的操作系统信息
-a (all)
系统类型 完整的主机名 linux内核版本 系统时间 开源计划
15、netstat -tnlp命令
作用:查看网络连接状态
#netstat -tnlp
-t 表示只列出tcp协议的连接
-n 表示将地址从字母组合状态转换成ip地址,将协议转换为端口号显示
-l 表示过滤出“state(状态)列中值为LISTE(监听)的连接
-p 表示显示发起连接的进程pid和pname
16、man命令
作用:manual,手册(包含linux中的全部命令)
#man 想了解的命令 (q退出)
案例:使用man命令查看cp指令的使用
#man cp