比较好的网站 man.linuxde.net [linux命令大全手册]
http://tool.chinaz.com[在线工具网址]
————————————————————————————————————————————————————————————————————————————————
Bin:全称binary, 含义是二进制。该目录中存储的都是一些二进制文件, 文件都是可以被
运行的。
Dev:该目录中主要存放的是外接设备,例如盘、其他的光盘等。在其中的外接设备是不能直接被使用的,需要挂载(类似windows下的分配盘符)。
Etc:该目录主要存储-些配置文件。
Home:表示“家”表示除了root用户以外其他用户的家目录,类似于windows下的User/
用户目录。
Proc: process, 表示进程,该目录中存储的是Linux运行时候的进程。
Root:该目录是root用户自己的家目录。
Sbin:全称super binary,该目录也是存储一些 可以被执行的二进制文件,但是必须得有super权限的用户才能执行。
Tmp:表示“临时”的,当系统运行时候产生的临时文件会在这个目录存着。
Usr:存放的是用户自己安装的软件。类似于windows下的program files。
Var:存放的程序/系统的日志文件的目录。
Mnt:当外接设备需要挂载的时候,就需要挂载到mnt目录下。
————————————————————————————————————————————————————————————————————————————————
什么是指令?在终端中输入的内容称之为指令
一个完整的指令的标准格式 指令【选项】【操作对象】
一个指令可以包含多个选项、多个操作对象
例如:需要让张三同学帮忙去楼下小卖铺买一瓶农夫 山泉水和清风餐巾纸,在这个指令中“买东西”是指令的主体,买的水和餐巾纸是操作的对象,农夫山泉、清风是操作的选项。
————————————————————————————————————————————————————————————————————————————————————————————————————
用法1: #ls
含义:列出当前工作目录下的所有文件/文件夹的名称
用法2: #ls 路径
含义:列出指定路径下的所有文件/文件夹的名称
路径可以分为两种:相对路径、绝对路径。
相对路径:相对首先得有一个参照物(一般就是当前的工作路径) ;相对路径的写法:在相对路径中通常用到2个符号【“. /”表示当前目录下】【“…/”表示上一级目录下】
绝对路径.绝对路径不需要参照物,直接从根"/"开始寻找对应路径;
用法3: #ls 选项 路径
含义:在列出指定路径下的文件/文件夹的名称,并以指定的格式进行显示。
常见的语法:
#ls -l 路径
#ls -h 路径
#ls -la 路径
选项解释:
-l: 表示list,表示以详细列表的形式进行展示
-a: 表示显示所有的文件/文件夹(包含了隐藏文件/文件夹)
-h: 表示显示文档大小的时候以可读性较高的形式显示
用法4: #ls -Ih 路径
含义:列出指定路径下的所有文件/文件夹的名称,以列表的形式并且在显示文档大小的时
候以可读性较高的形式显示
注意: Is列出的结果颜色说明,其中蓝色的名称表示文件夹,黑色的表示文件,绿色的其权限为拥有所有权限。
————————————————————————————————————————————————————————————————————————————————
用法: #pwd ( print working directory,打印当前工作目录
————————————————————————————————————————————————————————————————————————————————
命令: #cd (change directory,改变目录)
作用:用于切换当前的工作目录的
语法: #cd 路径
在Linux中有一个特殊的符号“~”,表示当前用户的家目录。
切换的方式: #cd ~
————————————————————————————————————————————————————————————————————————————————
指令: mkdir (make directory,创建目录)
语法1: #mkdir 路径 [路径可以是文件夹名称也可以是包含名称的一个完整路径]
语法2#mkdir -p 路径
含义:当一次性创建多层不存在的目录的时候,添加-p 参数,否则会报错
语法3: #mkdir 路径1 路径2 路径3 … [表示一次性创建多个目录]
————————————————————————————————————————————————————————————————————————————————
指令: touch 作用:创建文件
语法1: #touch 文件路径 [路径可以是直接的文件名也可以是路径]
语法2: #touch 路径1 路径2 路径3 … [表示一次性创建多个目录]
————————————————————————————————————————————————————————————————————————————————
指令(copy,复制)
作用:复制文件/文件夹到指定的位置
语法1:#cp 被复制的文档路径 文档被复制到的路径
语法2:#cp -r 进行文件夹复制操作的时候需要添加选项“-r”[-r表示递归复制]否则目录将被忽略|
注意: Linux在复制过程中是可以重新对新位置的文件进行重命名的,但是如果不是必须的
需要,则建议保持前后名称一致。
————————————————————————————————————————————————————————————————————————————————
指令:mv (move,移动,剪切)
作用:移动文档到新的位置
语法:#mv需要移动的文档路径需要保存的位置路径
补充:在Linux中重命名的命令也是mv,语法和移动语法一样。
————————————————————————————————————————————————————————————————————————————————
指令:rm(remove ,移除、删除)
作用:移除/删除文档
-f: force,强制删除,不提示是否删除
-r:表示递归.
在删除的时候如果不带选项,会提示是否删除,如果需要确认则输入“y/yes", 否则输入“n/no”按下回车。
注意:如果在删除的时候不想频繁的确认,则可以在指令中添加选项“f”, 表示force (强
制)。
注意:删除一个目录的时候需要做递归删除,并且一般也不需要进行删除确认询问,所以移除目录的时候一般需要使用-rf选项。
其中称之为通配符,意思表示任意的字符,Linux, 则表示只要文件以Linux开头,后续字符则不管。
————————————————————————————————————————————————————————————————————————————————
指令: vim
(vim 是一款文本编辑器)
语法: #vim 文件的路径
作用:打开一个文件(可以不存在,也可以存在)
————————————————————————————————————————————————————————————————————————————————
一般命令的输出都会显示在终端中,有些时候需要将一些命令的执行结果想要保存到文件中进行后续的分析/统计,则这时候需要使用到的输出重定向技术。
“>” :覆盖输出,会覆盖掉原先的文件内容
“>>”:追加输出,不会覆盖原始文件内容,会在原始内容末尾继续添加
语法: #正常执行的指令“>”、“>>”文件的路径
注意:文件可以不存在,不存在则新建
————————————————————————————————————————————————————————————————————————————————
作用1:cat有直接打开一个文件的功能。
语法#cat 文件的路径
作用2: cat 还可以对文件进行合并【注意要配合输出重定向 > 使用】
语法: #cat 待合并的文件路径1 待合并的文件路径2 …文件路径n > 合并之后的文件路径
————————————————————————————————————————————————————————————————————————————————
作用:查看磁盘空间
语法: #df -h -h表示以可读性较高的形式展示大小
————————————————————————————————————————————————————————————————————————————————
作用:查看内存使用情况
语法: #free -m -m表示以mb为单位查看
————————————————————————————————————————————————————————————————————————————————
作用:查看一个文件的前n行,如果不指定n,则默认显示前10行。
语法: #head -n 文件路径 [n表示数字]
————————————————————————————————————————————————————————————————————————————————
作用1:查看一个文件的未n行,如果n不指定默认显示后10行
语法: #tail -n 文件的路径 [n 同样表示数字]
作用2:可以通过tail指令来查看-一个文件的动态变化内容[变化的内容不能是用户手动增
加的]
语法: #tail -f 文件路径
该命令一般用于查看系统的日志比较多。
————————————————————————————————————————————————————————————————————————————————
作用:翻页查看文件,以较少的内容进行输出,按下辅助功能键【数字+回车、空格键+上下方向键】查看更多
语法: #less 需要查看的文件路径
————————————————————————————————————————————————————————————————————————————————
作用:统计文件内容信息(包含行数、单词数、字节数)
语法: #wc -lwc 需要统计的文件路径
-l:表示lines, 行数
-w:表示words,单词数 [依照空格来判断单词数量]
-C:表示bytes,字节数
————————————————————————————————————————————————————————————————————————————————
作用:表示操作时间日期(读取、设置)
语法1: #date 输出的形式: xx年xx月xx日 星期x xx小时:xx分钟:xx秒
语法2: #date +%F (等价于#date“+%Y-%m-%d” ) 输出形式: xx年-xx月-xx 日
语法3: #date “+%F %T”引号表示让“年月日与时分秒”成为一个不可分割的整体
等价操作#date“+%Y-%m-%d %H:%M:%S" 输出的形式: xx年xx月xx日 xx小时:xx分钟:xx秒
语法4:获取之前或者之后的某个时间(备份)
#date -d “-1 day"“+%Y-%m-%d %H:%M:%S"
符号的可选值: + (之后) 或者 - (之前)
单位的可选值: day (天)、month (月份)、year(年)
%F :表示完整的年月日
%T :表示完整的时分秒
%Y :表示四位年份
%m:表示两位月份(带前导0)
%d :表示日期(带前导0)
%H :表示小时(带前导0)
%M:表示分钟(带前导0)
%S:表示秒数(带前导0)
————————————————————————————————————————————————————————————————————————————————
作用:用来操作日历的
语法1: #cal等价于 #cal -1 直接输出当前月份的日历
语法2: #cal -3 表示输出上一个月+本月+下个月的日历
语法3: #cal -y 年份 表示输出某一个年份的日历
————————————————————————————————————————————————————————————————————————————————
作用:清屏終端中已经存在的命令和结果(信息)。
语法:clear 或者快捷键:ctrl +l
需要注意的是该命令并不是真的清除了之前的信息,而是把之前的信息的隐藏到了最上面,通过滚动条继续查看以前的信息。
————————————————————————————————————————————————————————————————————————————————
管道符: |
作用:管道一般可以用于“过滤”、“特殊”、“扩展处理”。
语法:管道不能单独使用,必须需要配合指令来一起使用, 其作用主要是辅助作用。
过滤案例:需要通过管道查询出根目录下包含“y”字母的文档名称。
#ls / | grep y
①以管道作为分界线,前面的命令有个输出,后面需要先输入,然后再过滤,最后再输出,通俗的讲就是管道前面的输出就是后面指令的输入;
②grep指令:主要用于过滤
————————————————————————————————————————————————————————————————————————————————
作用:操作服务器的主机名(读取、临时设置)
语法1: #hostname 含义:表示输出完整的主机名
语法2: #hostname -f 含义:表示输出当前主机名中的FQDN (全限定域名)
语法3: #hostname 想要改的主机名 【只是临时设置】
————————————————————————————————————————————————————————————————————————————————
作用:查看一个用户的一些基本信息(包含用户id,用户组id,附加组id)该指令如果不指定用户则默认当前用户。
语法1: #id 默认显示当前执行该命令的用户的基本信息
语法2: #id 用户名 显示指定用户的基本信息
验证用户信息:通过文件/etc/passwd
验证用户组信息:通过文件/etc/group
————————————————————————————————————————————————————————————————————————————————
作用:“我是谁?”显示当前登录的用户名,一般用于 shell脚本,用于获取当前操作的用户名方便记录日志
语法: #whoami
————————————————————————————————————————————————————————————————————————————————
作用:主要是查看服务器的进程信息
选项含义:
-e:等价于“-A”,表示列出全部的进程
-f:显示全部的列(显示全字段)
执行结果的含义
UID:该进程执行的用户id;
PID:进程id;
PPID:该进程的父级进程id,如果一个程序的父级进程找不到,该程序的进程称之为僵尸进程;
C: Cpu的占用率,其形式是百分数;
STIME:进行的启动时间; .
TTY:终端设备,发起该进程的设备识别符号,如果显示“?”则表示该进程并不是由终端设备发起;
TIME:进程的执行时间;
CMD:该进程的名称或者对应的路径;
常用命令#ps -ef l grep 进行名称
————————————————————————————————————————————————————————————————————————————————
作用:查看服务器的进程占的资源
语法:
进入命令: #top (动态显示)
退出命令:按下q键
执行结果的含义
PID :进程id ;
USER :该进程对应的用户;
PR:优先级;
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 目录路径
选项含义:
-s: summaries,只显示汇总的大小.
-h:表示以高可读的形式进行显示
————————————————————————————————————————————————————————————————————————————————
作用:用于查找文件(其参数有55个之多)
语法: #find 路径范围 选项 选项的值
选项:
-name:按照文档名称进行搜索(支持模糊搜索)
-type:按照文档的类型进行搜索
文档类型:“-”表示文件(在使用find的时候需要用f来替换),“d”表示文件夹
————————————————————————————————————————————————————————————————————————————————
作用:用于控制一些软件的服务启动/停止/重启
语法: #service 服务名 start/stop/restart
————————————————————————————————————————————————————————————————————————————————
作用:表示杀死进程 (当遇到僵尸进程或者出于某些原因需要关闭进程的时候)
语法: #kill 进程PID (语法需要配合ps一起使用)
与kill命令作用相似但是比kill更加好用的杀死进程的命令:killall
语法: #killall 进程名称
————————————————————————————————————————————————————————————————————————————————
作用:用于操作网卡相关的指令。
简单语法: #ifconfig (获取网卡信息)
————————————————————————————————————————————————————————————————————————————————
作用:重新启动计算机
语法1: #reboot 重启
语法2: #reboot -w 模拟重启,但是不重启(只写关机与开机的日志信息)
————————————————————————————————————————————————————————————————————————————————
作用:关机(工作慎用)
语法1: #shutdown -h now“关机提示”或者#shutdown -h 时间“关机提示”
如果想要取消关机计划的话,则可以按照以下方式去尝试:
①针对于centos7.x之前的版本: ctrl+c
②针对于centos7.x (包含)之后的版本: shutdown -c
除了shutdown关机以外,还有以下几个关机命令:
#init 0
#halt
#poweroff
————————————————————————————————————————————————————————————————————————————————
作用:获取计算机操作系统相关信息
语法1: #uname 获取操作系统的类型
语法2: #uname -a 表示获取全部的系统信息(类型、全部主机名、内核版本、发布时间、开源计划________________________________________________________________________________________________________________________________________________
作用:输出计算机的持续在线时间(计算机从开机到现在运行的时间)
语法: #uptime
————————————————————————————————————————————————————————————————————————————————
作用:查看网络连接状态
语法: #netstat -tnlp
选项说明:
-t: 表示只列出tcp.协议的连接;
-n:表示将地址从字母组合转化成ip地址,将协议转化成端口号来显示;
-l:表示过滤出“state (状态)”列中其值为LISTEN (监听)的连接;
-p:表示显示发起连接的进程pid.和进程名称;
————————————————————————————————————————————————————————————————————————————————
作用: manual, 手册(包含了Linux中全部命令手册,英文)
语法: #man 命令 (退出按下q键)
————————————————————————————————————————————————————————————————————————————————
1、如何通过命令行重启linux 操作系统?
#reboot
2、如何在命令行中快速删除光标前/后的内容?
前: ctrl+u 后: ctrl+k
3、如何删除/tmp.下所有A开头的文件?
#rm -f /tmp/A*
4、系统重要文件需要备份,如何把/etc/passwd备份到/tmp.目录下?
#cR /etc/passwd /tmp/
5、如何查看系统最后创建的3个用户?
#tail -3 /etc/ passwd
6、什么命令可以统计当前系统中-共有多少账户?
#wc -1 /etc/passwd
#cat /etc/passwd | wc -l
7、如何创建/tmp/test. conf文件?
#touch / tmp/test. conf.
8、如何通过vim编辑打开/ tmp/test. .conf?
#vim /tmp/test. conf
9、如何查看/etc/passxd的头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 ~
#cd
12、如何查看/etc所占的磁盘空间?
#du -sh /etc
13、如何删除/tmp下所有的文件?
#rm -rf /tmp/*
14、尝试启动Apache的服务,并且检查是否启动成功。
#service httpd start
#ps- ef grep | httpd
15、使用已学命令杀死Apache的进程。
#killall httpd
————————————————————————————————————————————————————————————————————————————————
Vi编辑器是所有Unix及Linux系统下标准的编辑器,类似于windows系统下的notepad(记事本)编辑器,由于在Unix及Linux系统的任何版本,Vi编辑器是完全相同的,因此可以在其他任啊介绍vi的地方都能进一步了解它,Vi也是Linux中最基本的文本编辑器,学会它后,我们将在Linux的世界里畅行无阻,尤其是在终端中。
关于vim:
vi和vim都是Linux中的编辑器,不同的是,vim 比较高级,可以视为vi的升级版本。vi使
用于文本编辑,但是vim更适用于coding(编码)。
Vim重点是光标的移动,模式切换,删除,查找替换,复制,粘贴,撤销命令的使用。
————————————————————————————————————————————————————————————————————————————————
Vim中存在三种模式(大众的认知):命令模式、编辑模式(输入模式)、末行模式(尾行模式)
命令模式:在该模式下是不能对文件直接编辑,可以输入快捷键进行一些操作(删除行、复制行,移动光标,粘贴等等);[打开文件之后默认进入的模式] ;
编辑模式:在该模式下可以对文件的内容进行编辑;
末行模式:可以在末行输入命令来对文件进行操作(搜索、替换、保存、退出、撤销、高亮
等等);
Vim的打开文件的方式(4种):
#vim 文件路径 作用:打开指定的文件
#vim +数字 文件的路径 作用:打开指定的文件,并且将光标移动到指定行
#vim +/关键词 文件的路径 作用:打开指定的文件,并且高亮显示关键词
#vim 文件路径1 文件路径2 文件路径3 作用: 同时打开多个文件
退出方式:输入:q按下回车即可
————————————————————————————————————————————————————————————————————————————————
注意:该模式是打开文件的第一个看到的模式(打开文件即可进入)
1.光标移动
①光标移动到行首
按键:shift+6 或^(T 字母上面的6,不要按小键盘的6)
②光标移动到行尾.
按键: shift+4 或$(R字母的左上角的4,不要按小键盘的4)
③光标移动到首行
按键:gg
④光标移动到末行
按键: G
⑤翻屏
向上翻屏:按键 ctrl+ b (before ) 或键盘上的 PgUp
向下翻屏:按键 ctrl+f (after ) 或 键盘上的PgDn
2.复制命令
①复制光标所在行
按键: yy
粘贴:在想要粘贴的地方按下p键
②以光标所在行为准(包含当前行),向下复制指定的行数
按键:数字 yy
③可视化复制
按键: ctrl + v,然后按下↑↓←→方向键来选中需要复制的区块,按下yy键进行复制,后按下p键粘贴
3.剪切/删除
①剪切/删除光标所在行
按键: dd (删除之后下一行上移)
注意: dd严格意义上说是剪切命令,但是如果剪切了不粘贴就是删除的效果。
②剪切/删除光标所在行为准(包含当前行),向下删除/剪切指定的行
按键:数字 dd (删除之后下一行上移)
③剪切/删除光标所在的当前行,但是删除之后下一行不上移
按键: D (删除之后当前行会变成空白行)
4.撤销/恢复
撤销: u
恢复: ctrl+r 恢复(取消)之前的撤销操作
————————————————————————————————————————————————————————————————————————————————
5、扩展1:光标的快速移动
①快速将光标移动到指定的行
按键:数字 G
②以当前光标为准向上/向下移动n行
按键:数字 ↑,数字 ↓
③以当前光标为准向左/向右移动n字符
按键:数字 ←,数字 →
④末行模式下的快速移动方式:移动到指定的行
按键:输入英文“:”,其后输入行数数字,按下回车
————————————————————————————————————————————————————————————————————————————————
————————————————————————————————————————————————————————————————————————————————
进入方式:由命令模式进入,按下“:” 或者“/(表示查找)”即可进入
退出方式:
①.按下esc
②.连按2次esc键
③.删除末行全部输入字符
①保存操作(write)
输入:“:w” 保存文件
输入:“:w 路径” 另存为
②退出(quit)
输入:“:q’” 退出文件
③保存并退出
输入:“:wq “保存并且退出
④强制(!)
输入:“:q!”表示强制退出,刚才做的修改操作不做保存
⑤调用外部命令
输入:“:!外部命令”
当外部命令执行结束之,后按下任意键回到vim编辑器打开的内容
⑥搜索/查找
输入:“/关键词”
在搜索结果中切换上/下一个结果: N/n
如果需要取消高亮,则需要输入:“:nohl”
⑦替换
“: s/搜索的关键词/新的内容” 替换光标所在行的第一处符合条件的内容
“: s/搜索的关键词/新的内容/g” 替换光标所在行的全部符合条件的内容
“:%s/搜索的关键词/新的内容” 替换整个文档中每行第一个符合条件的内容
“:%s/搜索的关键词/新的内容/g” 替换整个文档的符合条件的内容|
⑧显示行号
输入:“:set nu”
如果想取消显示,则输入:”:set nonu"
⑨扩展2:使用vim同时打开多个文件,在末行模式下进行切换文件
查看当前已经打开的文件名称:“:files”
在%a的位置有2种显示可能
%a : a=active,表示当前正在打开的文件;
#:表示上一个打开的文件
切换文件的方式:
①如果需要指定切换文件的名称,则可以输入:“:open 已经打开的文件名”
②.可以通过其他命令来切换上一个文件/下一个文件
输入:“:bn”切换到下一个文件
输入:“:bp”切换到上一个文件
————————————————————————————————————————————————————————————————————————————————
重点看前2个进入方式: i、a.
退出方式:按下esc键
————————————————————————————————————————————————————————————————————————————————
当在编辑文件的时候突然需要使用计算器去计算一些公式,则此时需要用计算器,但是需要
退出,vim自身集成了一个简易的计算器。
①.进入编辑模式
②.按下按键“ctrl+ R",,然后输入 “=”,此时光标会变到最后一 行
③.输入需要计算的内容,按下回车
————————————————————————————————————————————————————————————————————————————————
vim是一款编辑器,编辑器也是有配置文的。
vim配置有三种情况:
1.在文件打开的时候在末行模式下输入的配置(临时的)
2.个人配置文件(~/.vimre ,如果没有自行新建)
①新建好个人配置文件之后进入编辑
②在配置文件中进行配置" 比如显示行号: set nu"
配置好之后vim打开文件就会永远显示行号
3.全局配置文件(vim自带,/etc/vimrc)
问题:如果某个配置项,在个人配置文件与全局配置文件产生冲突的时候应该以谁为准?
测试步骤:在两个配置文件中针对同一个配置项设置不同的值
①先在全局的配置中设置不显示行号,在个人的配置文件中设置显示行号,观察结果
最后显示行号:说明以个人为准
②先在全局中配置显示行号,在个人中设置不显示行号,观察结果
最后的显示是不显示行号,说明以个人为准
结论:如果针对同一个配置项,个人配置文件中存在,则以个人配置文件为准,如果个人配
置文件中不存在这-项,则以全局配置文件为准。
什么是异常退出:在编辑文件之后并没有正常的去wa(保存退出),而是遇到突然关闭终端
或者断电的情况,则会显示下面的效果,这个情况称之为异常退出:
解决办法:将交换文件(在编程过程中产生的临时文件)删除掉即可
#rm -f .1.txt.swp
作用:相当于创建一些属于自己的自定义命令
例如:在windows’下有cls命令,在Linux下可能因为没有这个命令而不习惯清屏。现在可以通过别名机制来解决这个问题,可以自己创造出cls命令
别名机制依靠一个别名映射文件: ~/.bashrc
注意:如果想新创造的命令生效,必须要重新登录当前用户。
在上面vim中退出编辑的文件可以使用“:q”或者“:wq”
除了上面的这个语法之外,vim 还支持另外一个保存退出方法“:x”
说明:
①“:x”在文件没有修改的情况下,表示直接退出,在文件修改的情况下表示保存并退出;
②如果文件没有被修改,但是使用:wq.进行退出的话,则文件的修改时间会被更新;但是如果文件没有被修改,使用x进行退出的话,则文件修改时间不会被更新的;
因此建议以后使用“:x” 来进行对文件的保存退出。.
但是:不要使用大写X,,大写X表示对文件进行加密操作。