基本指令
#显示当前目录
pwd
#创建新目录 make directory
mkdir
#创建多层级目录,假如前两个xxxx目录不存在
mkdir -p xxxx/xxxx/xxxx
#创建新文件
#touch test.text
touch xxx
#也可以同时创建多个文件
touch xxx xxx
#复制文件
#复制的过程可以重命名目的路径的文件
cp xxxx(文件路径) xxxx(目的路径)
#复制文件夹 -r进行递归
cp -r xxxx(文件夹路径) xxxx(目的路径)
# 移动文件
mv xxxx(原路径) xxxx(目的路径)
#linux中重命名指令也是 mv
#删除指令
rm xxxx
#普通的删除会提示 需要确认
# -f 强制删除,不会进行提示
# -r 递归删除
rm -f xxxx
# 带有通配符删除 eg:带有linux 前缀的进行删除
rm -f linux*
#注意目录,慎用
rm -rf xxxx
#输出重定向 将一些指令的执行结果保存到文件中
# > 覆盖输出,会覆盖到原来的内容
# >> 追加输出,会将内容追加到文件的末尾
ls -al > test.txt
ls -al >> test.txt
# 打开一个文件
cat xxxx
# cat 还有合并文件的功能
# cat 待合并文件1 待合并文件2 待合并文件3 > 合并后的文件4
cat xxxx1 xxxx2 xxxx3 > xxxx4
================================================================================================
进阶指令
#查看当前磁盘空间 -h 可读性较高的形式展示
df -h
#查看内存使用情况 -m表示以mb为单位进行显示
free -m
# 显示文件的前几行 默认显示10行
# head -3 ls.txt
head -n xxxx(文件路径)
#查看文件的末几行 默认显示10行
tail -n xxxx(文件路径)
#也可以用tail查看文件的动态变化内容,动态内容不能是用户手动添加的,一般用于查看系统的日志文件
tail -f xxxx(文件路径)
# 查看文件,以较少量的内容 可以使用上下左右键进行查看
# 退出时按下 q 键即可
less xxxx
# 统计文件的内容信息
# -l 统计行数
# -w 统计词数
# -c 统计字节数
wc -lwc xxxx(文件路径)
# 操作时间日期
#显示当前日期
date
#输出年月日 2018-11-26 相当于 date "+%Y-%m-%d"
date +%F
#输出年月日 时分秒 相当于 date "+%Y-%m-%d %H:%M:%S"
date "+%F %T"
#获取之前或者之后某个时间
# +(之后) -(之前)
#单位可选 day month year
date -d "-1day" "+%Y-%m-%d %H:%M:%S"
# 显示日历
cal
#显示前一个月 当月 和下一个月日历
cal -3
#显示某个年份的日期
cal -y xxxx(年份)
#清除当前屏幕的内容
#快捷键 ctrl + l
clear
# 管道符 |
# 管道一般作用于 "过滤" "特殊" "扩展处理"
# 管道不能单独使用,只能配合其他指令使用,起到辅助作用
ls | grep j
#显示当前含有j字母的文件或者文件夹
# grep 指令主要用于 过滤
================================================================================================
高级指令
#显示当前主机的完整主机名
hostname
#显示当前主机的FQDN(全限定域名)
hostname -f
#查看一个用户的基本信息(用户id,用户组id,附加组id...)
#如果不添加用户名,则默认为当前用户
id xxxx(用户名)
#显示当前登录的用户名
whoami
# 查看服务器的进程信息
# -e 列出全部的进程
# -f 显示全部的列(全字段)
ps -ef
#列名解析
UID: 该进程执行的用户id
PID:进程id
PPID: 该进程的父级进程id(parent process id),如果一个进程的父级id找不到,则这个进程是僵尸进程
C: cpu的占有率 以百分比形式显示
STIME: 进程的启动时间
TTY:终端设备 发起该进程的设备识别符号,显示?则表示该进程不是由终端设备发起
TIME: 进程的执行时间
CMD: 该进程的名称或者对应的路径
#案例
#在进程中过滤出nginx相关的进程
ps -ef | grep nginx
ps -ef | grep 进程名称
# 查看服务器进程占的资源 动态显示 按q退出
top
#字段解析
PID: 进程id
USER: 对应的用户
PR: 优先级
VIRT: 虚拟内存
RES: 常驻内存
SHR:共享内存
#计算一个进程实际使用的内存= 常驻内存(RES) - 共享内存(SHR)
S:表示进程的状态status (S表示睡眠,R表示运行)
%CPU:表示cpu占用的百分比
%MEM:内存占用的百分比
TIME+:执行的时间
COMMAND:进程的名称或者路径
top命令运行时,可以配合快捷键使用
M:安装内存从高到低进行降序排序
P:安装cpu使用率从高到低降序排序
1:当服务器有多个cpu时,可以按下1来切换是否展示各个cpu的详细信息
#显示目录的真实大小
# -s summaries 只显示汇总的大小
# -h 表示以高可读形式展示
du -sh xxxx路径
#查找文件
#find 路径名称 选项 选项值
#选项 -name 按名称进行搜索,支持迷糊查询
# -type 按文档的类型进行搜索 -type f 表示文件 -type d 表示文件夹
find xxxx -xxx xx
#搜索所有目录中的server.xml文件
find / -name server.xml
#控制一些软件的启动/停止/重启
service 进程名 start/stop/restart
#杀死进程,可以利用ps指令查找出进程的pid
kill 进程pid
#杀死进程killall
killall 进程名称
#操作网卡的信息,可以获取网卡的ip
ifconfig
#重启机器
reboot
#模拟重启,但不真正重启
reboot -w
#关机
shutdown
#现在关机
shutdown -h now
#定时关机
shutdown -h xx:xx
#输出计算机持续在线时间
uptime
#获取计算机系统相关信息
uname
#获取全部信息
uname -a
#查看网络连接状态
netstat -tnlp
-t:只列出tcp协议的链接
-n:表示将地址从字母组合转换成ip地址,将协议装换为端口号显示
-l:表示过滤出state状态为LISTEN(监听)状态的链接
-p:表示显示发起连接的进程的pid和进程名称
#查看某个指令的使用 按q退出
# manual
man xxx
================================================================================================