Linux 基本指令
- 指令与选项 linux指令
- 基础指令
- 进阶指令
- 高级指令
一,指令与选项 linux指令
在linux 终端(命令行)中输入的内容一个完整的指令的标准格式:
linux的通用格式
#指令【选项】【操作对象】
#指令主体【选项】【操作对象】一个指令可以包含对个选项,操作对象也可以是多个
二,基础指令
1,ls指令含义:ls(list)
用法1,:#ls 含义:列出当前工作目录下的所有文件/文件夹的名称
用法2:#ls 路径 含义:列出指定路径下的所有文件/文件夹的名称关于路径(重要):
相对路径:有一个参照物(一般是当前的工作路径)相对路径的写法:"/[当前目录下]","../[上一级目录下]"
绝对路径:直接从根目录"/"开始寻找文件路径
用法3: #ls 选项 路径
含义:在列出指定路径下的文件/文件夹的名称,并以指定的格式进行显示
常见的语法:
#ls-l 路径:-l,表示list,表示以详细列表的形式进行展示
#ls-la 路径:-a,表示显示所有的文件/文件夹(包含了隐藏文件/文件夹)
在linux中 隐藏文档一般都是 以 . 开头
用法4:#ls -lh 路径
含义:列出指定路径下的所有文件/文件夹的名称,以列表的的形式并在显示文档大小的时候用可读性 较高的形式
2,pwd指令
用法:#pwd (print working directory) 打印当前工作目录
3,cd指令
命令:#cd (change directory,改变目录)
作用:用于切换当前工作目录语法:#cd 路径
cd ../../binpwdcd ../home/baobaohuipwd
补充:在linux 中有一个特殊的符号 ‘~',表示当前用户的家目录用法:cd ~
4,mkdir指令
命令:#mkdir (make directory,创建目录)
作用:用于创建目录
语:1:#mkdir 路径(可以使文件夹名称,也可以使包含名称的一个完整路径)
#mkdir ../baobao
注意:ls列出的结果颜色说明,蓝色----文件夹,黑色---文件,绿色---其权限为拥有所有权限
语法2:#mkdir -p 路径
含义:当一次性创建多层不存在的目录的时候,添加 p 参数,否则会报错
语法3:#mkdir 路径1 路径2 路径3
含义:一次性创建多个目录
5,touch指令
命令:#touch
作用:用于创建文件
语法1:#touch 文件路径(路径可以是直接的文件名,也可以是路径)
语法2:#touch bao.txt hui.txt (同时创建多个文件)
6,cp指令
命令:#cp (copy,复制)
作用:复制文件/文件夹到指定的位置
语法:#cp 被复制的文档路径 文档被复制到的路径
#cp bao.txt /home/linux123/bao.txt
注意:linux 在复制过程中是可以重新对新位置的文件进行重命名的,但是如果不是必须的需要,则建议保持前后名称一致
语法2:#cp -r 被复制的文档路径 文档被复制到的路径复制文件夹(递归复制)
#cp ./yun/ /home/linux123/yun
7,mv指令
命令:#mv move,移动
作用:移动文档到新的位置(文件不再在原位置)
语法:#mv 需要移动的文档路径 需要保存的位置路径
使用mv命令移动一个文件#mv linux.txt ../linux.txt使用mv命令移动一个文件夹#mv /home/linux123/yun/ /
补充:在linux中重命名的命令也是mv,语法和移动语法一样#mv /yun /yun1
8,rm指令
命令:#rm,remove,移除,删除
作用:移除,删除文档
语法:#rm 选项 需要移除的文档路径
选项:#rm -r#rm -f 强制删除,无需提示
删除一个文件
#rm /linux.txt (会有提示)y(yes)n(not)
注意:#rm -f 强制删除,无需提示
删除一个文件夹
#rm -r /yun/ (有提示)#rm -rf /yun/ (无提示)
删除多个文档
#rm -rf linux.txt /yun/
删除一个目录下有公共特性的文档,linux*,
通配符#rm -rf linux* (删除以linux 开头的文档)
9,vim指令
命令:#vim (vim 是一款文本编辑器)
语法:# vim 文件的路径
含义:打开一个文件
#vim install.logshift+:+输入q+回车 退出文件
10,输出重定向
一般命令的输出都会显示在终端中,有些时候需要将一些命令的执行结果想要保存到文件中进行后续的分析/统计,
则这时候需要使用到输出重定向技术 .
.>: 覆盖输出,会覆盖掉原先的文件内容.
.>>>: 追加输出,不会覆盖原始文件内容,会在原始内容末尾继续添加
.>语法:#正常执行的指令 >/>> 文件的路径# ls -la > ls.txt
注意:文件可以不存在,不存在则新建使用覆盖重定向,保存ls -lh 的执行结果,保存到当前目录下的 ls.txt
使用追加重定向,保存 ls -la 的执行结果到 ls.txt 中
#ls -la >> ls.txt》>>
11,cat指令
命令:cat 直接打开一个文件
语法1:#cat 文件的路径#cat linux.txt
语法2:对文件进行合并
#cat 待合并文件路径1 待合并文件路径2...> 合并之后的文件路径
合并多个文件
#cat /home/linux123/linux.txt /home/linux123/linux1.txt /home/linux123/linux10.txt >hebin.txt
三,进阶指令
1,df指令
含义:查看磁盘空间
语法1:#df#df -h 表示以可读性较高的形式展示大小
2,free指令
含义:表示查看内存使用情况
语法:#free
#free -m 表示 以 MB 为单位进行查看
#free -gSwap:用于临时内存,当系统真实内存不够用的时候可以使用磁盘空间临时充当内存
**3,head指令**含义:表示查看一个文件的前n行,如果不指定显示行数,默认显示 前10行语法:#head -n 文件路径 [n 表示数字]
4,tail指令
含义:表示查看一个文件的后n行,如果不指定显示行数,默认显示 后10行
语法:#tail -n 文件路径 [n 表示数字]
语法2:可以通过tail指令来查看一个文件的动态变化(变化的内容不能是手动添加的,重定向添加可以查看)
#tail -f 文件路径 该命令一般用于查看系统日志 #tail -f /home/baobaohui
5,less指令
含义:表示查看文件,以较小的内容进行输出,按下辅助功能键(数字+回车,空格键+上下)查看更多
语法:#less 文件路径
6,wc指令
含义:统计文件内容信息)(包括行数,单词数,字节数)
语法:#wc -lwc 文件路径-l 表示 lines,行数-w 表示words 单词书-c 表示 bytes 字节数
#wc install.log#wc -l install.log
7,date指令(重点)
含义:表示操作时间日期(读取,设置),shell 脚本经常使用
语法1:#date 输出当前时间日期
语法2:#date +%F(等价于 #date "+%Y-%m-%d") 输出年月日
语法3:#date "+%F %T"(等价于 date "+%Y-%m-%d %H-%M-%S") 输出年月日 时间(引号,让语句成为整体)
语法4:#date -d "-1 day" "+%Y-%m-%d %H-%M-%S" 获取之前或者之后的某个时间(备份)
符号可选值: + 之后, - 之前单位的可选值: day 天,month 月,year 年
注意
%F:表示完整的年月日
%T:表示完整的时分秒
%Y:表示四位年份
%m:表示两位的月份(带前导0)
%h:表示小时(带前导0)
%M:表示分钟(带前导0)
%S:表示秒数(带前导0)
8,cal指令
含义:用来操作日历的
语法1:#cal 等价于 #cal -1 直接输出当前月份的日历
语法2:#cal -3 表示输出上一个月+本月+下个月的日历
语法3:#cal -y 年份 表示输出某一年的日历
9,clear/ctrl+L指令
含义:清楚终端中已经存在的命令和结果(不是真正删除,只是把内容推上去,清屏幕)
语法:#clear 或者 #ctrl+L
10,管道管道符: |
含义:管道一般可以用于过滤,特殊,扩展处理
语法:不能单独使用,主要是辅助作用
通过管道查询出当前目录下包含 ’y' 字母的文档名称
#ls /|grep y (包括上层列表)#ls |grep y (当前列表中)
通过管道的操作方法来实现less的等价效果
#less 文件路径 等级于 #cat 路径|less
扩展处理:请使用学过的命令,来统计某个目录下的文档的总个数
#ls /|wc -l
四,高级指令
1,hostname 指令
含义:操作服务器的主机名(读取,设置)
语法1:#hostname 输出主机名
语法2:#hostname -f 表示输出当前主机名中的FQDN(全限定域名)
2,id 指令
含义:用于查看一个用户的基本信息(包含用户id,用户组id,附加组id)默认用户为当前用户
语法1:#id 默认显示当前执行该命令的用户的基本信息
语法2:#id 用户名 显示指定用户的基本信息
3,whoami 指令
含义:"我是谁?" 显示当前登录的用户名
语法:#whoami
4,ps-ef 指令(重点)
指令:ps
含义:查看服务器的进程信息选项含义:-e 等价于‘A’,表示列出全部的进程-f,显示全部的列(显示全字段)
显示的结果:
UID:该进程执行的用户id
PID:进程id
PPID:该进程的父级id,如果一个程序的父进程找不到,该程序的进程称之为僵尸进程
C:cpu的占用率,其形式是百分数
STIME:进程的启动时间TTY:终端设备,发起该进程的设备识别符号,如果显示“?”则表示该进程并不是有终端设备发起
TIME:进程的执行时间
CMD:该进程的名称或者对应的路径
在ps结果中过滤出我们想要查看的进程状态
#ps -ef|grep gnome-panel(进程名称)
5,top 指令
含义:查看服务器的进程所占的资源
语法:
进入命令:#top (动态显示)
退出命令:摁下 q 键
表头含义:
PID:进程idUSRE:该进程对应的用户
PR:优先级
VIRT:虚拟内存
RES:常驻内存
SHR:共享内存 计算一个进程实际使用的内存 = 常驻内存(RES)-共享内存 (SHR)
S:表示进程的状态(sleeping,其中S表示睡眠,R表示运行)
%CPU:表示cpu的占用百分比
%MEM:表示内存的占用百分比
TIME+:执行的时间
COMMAND:进程的名称或者路径
在运行top的时候 方便快捷键:
M:表示将结果按照内存(MEM)从高到底进行降序排列
P:表示将结果按照CPU使用率从高到底进行降序排列1:
当服务器拥有多个cpu的时候可以使用‘1’快捷键来切换是否展示显示各个cpu的详细情况
6,du-sh 指令
含义:查看目录的真实大小
语法:#du -s 路径
选项含义:
-s:summaries,只显示汇总的大小
-h:表示以较高可读性的形式进行显示
#du -sh /home/baobaohui
7,find 指令
含义:用于查找文件(其参数有55个)
语法:#find 路径范围 选项 选项的值
选项:
-name:按照文档名称进行搜索(支持模糊搜索)
-type: 按照文档类型(‘-’表示文件,使用 find时,用 f 代替,‘d’表示文件夹)进行搜索
使用find来搜索 httpd.conf
#find / -name httpd.conf
搜索 etc 目录下所有的conf后缀文件
#find /etc -name *.conf
搜索 etc 目录下所有的conf后缀文件后,找出数量
#find /etc -name *.conf |wc -l
搜索/etc/sane.d/目录下的所有文件
#find /etc/sane.d/ -type f
搜索/etc目录下的所有文件夹 及数量
#find /etc -type d#find /etc -type d|wc -l
8,service 指令(重点)
含义:用于控制一些软件服务的启动/停止/重启
语法:#service 服务名 start/stop/restart
启动本机安装的Apache(网站服务器软件),其服务名httpd
#service httpd start
启动服务通过ps命令来检测 这个命令是否启动
9,kill 指令(重点)
含义:表示杀死进程 (当遇到僵尸进程或者出于某种原因需要关闭进程的时候)
语法:#kill 进程PID (语法需要配合 ps 一起使用)
kill掉Apache 的进程
#ps -ef|grep httpd#kill 29867
语法:#killall 进程名称
含义:杀死进程,更好用一点
10,ifconfig 指令(重点)
含义:用于操作网卡相关的指令
语法:#ifconfig (获取网卡信息,里面会有相关的 ip 地址之类的东西)
11,reboot 指令
含义:重新启动计算机
语法:# reboot
语法2:#reboot -w 模拟重启,但是不重启(只写关机与开机的日志信息)
12,shutdown 指令
含义:关机 (慎用)
语法1:#shutdown -h now “关机提示” 或者 #shutdown -h 15:25:“关机提示”
设置 linux 系统关机 时间在 12“:00#shutdown -h 12:00 "系统将在12:00关机,请保护好你的文档"
CTRL + C 退出并且取消,centos7.x 之前的版本
shutdown -c 也可以取消,但是是在centos7.x 之后的版本
除了shutdown 关机以外,还有以下几个关机命令
#init 0
#halt
#poweroff
13,uptime 指令
含义:输出计算机的持续在线时间(计算机从开机到现在运行的时间)
语法:#uptime
14,uname 指令
含义:获取计算机操作系统相关信息
语法:#uname 获取操作系统的类型
语法2:#uname -a all,获取操作系统更多的信息(类型,全部主机名,内核版本,发布时间,开源计划)
15,netstat -tnlp 指令
含义:查看网络连接状态
语法:#netstat -tnlp
选项说明:
-t:表示只列出tcp协议的连接;
-n:表示将地址从字母组合转化成ip地址,将协议转化成端口号来显示;
-l:表示过滤出 “state(状态) 列中其值为 LISTEN (监听)的连接”
-p:表示显示发起连接的进程pid和进程名称
16,man 指令
含义:manual,手册(包含了linux中全部命令手册,英文)
语法:#man 命令 (退出按下 q键)