文件目录

/,根目录
/root,系统管理员目录
/bin,标准的linux工具
/etc,系统配置方面的工具
/dev,主要存放于设备相关的文件
/usr,存放系统的应用程序
/var,存放日志
/home,个人数据文件夹
/tmp,临时目录

查看系统主机名

  1. cat /etc/hostname

查看系统发行版本

centos

cat /etc/redhat-release

环境变量设置

常用命令

ps命令

#显示所有进程的详细信息
ps -ef

#还显示了进程的cpu和内存占用信息
ps -efu

kill命令

#kill 杀死对应的进程
#-9 强制杀死
#-15 让进程自己停止

kill process

umask命令

#linux系统下,文件和目录的创建都有默认权限,文件夹默认权限777,文件默认权限666
#rwxrwxrwx分别对应创建用户,创建所在组,其它用户的访问权限
#umask则是需要从默认权限去掉的权限设置

umask 002

netstat命令

#可用于查看端口信息
#查看端口号
netstat -ano | grep 端口号

#根据进程pid查找端口号
netstat -anp | grep pid

-t,只查看tcp端口信息

yum命令

list
--showduplicates,显示所有版本
install
search
info

awk命令

#文本命令, 默认以空格拆分字符串
awk '{pattern + action}' {filenames}

xargs命令

#参数传递命令
somecommand |xargs -item  command

wc命令

#字数计算命令,-l显示行数
wc -l

#显示字节数
wc -c

#显示字数
wc -w

tail命令

tail -100f nohup.out

grep命令

ps -ef|grep api

find命令

find ./ -name 'a.txt'

ifconfig命令

ifconfig

top命令

经常用来监控linux的系统状况,如cpu、内存的使用。

top -p

查看当前系统的进程情况,包含内存使用信息
image.png

参数说明:

top 当前时间 系统已运行时间 登录用户数 负载均衡情况(5/10/15分钟)
Tasks 总共进程 运行线程 睡眠线程 停止线程 僵尸线程
Cpu(s) 用户进程占用cpu时间 系统进程占用CPU的时间 已调整优先级的进程占用CPU的时间  等待IO完成的占用CPU的时间  硬件中断 软件中断
内存 物理总内存 空闲内存 使用内存 缓存总内存
交换区 交换区总量 空闲总量 使用总量 可用内存总量
进程 用户 优先级 nice值 虚拟内存 驻留内存 共享内存 线程状态 CPU占用 内存占用 运行时间

free命令

查看系统内存使用情况
image.png

df命令

查看系统磁盘使用情况
image.png

du命令

用户显示每个文件或者文件夹的使用情况。

//显示当前第一层目录文件夹的大小
du -h --max-depth=1
//显示当前第一层目录文件夹和文件的大小
du- h --max-depth=1 --all

man命令

帮助指令,用于查看进程的状态、

pidstat命令

进程状态查看命令,用户查看

组合命令

杀死指定名称的进程

ps -ef|grep hello|awk '{print $2}'|xagrs kill -9

查出指定名称的进程占用的端口号

#!/bin/bash
for pid in $(ps -ef|grep app.js|awk '{print $2}')
do
netstat -anp|grep ${pid}|awk '{print $4}'|xargs echo pid=${pid},port=;
done

shell脚本

如果在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory。那么就说明是sh的文件格式不一样。可以使用vim工具,输入 :set fileformat=unix。

条件判断

if [ ${pid} == "" ]; then
else
fi

条件判断参数

-e filename 如果 filename存在,则为真 如: [ -e /var/log/syslog ] 
-d filename 如果 filename为目录,则为真 如: [ -d /tmp/mydir ] 
-f filename 如果 filename为常规文件,则为真 如: [ -f /usr/bin/grep ] 
-L filename 如果 filename为符号链接,则为真 如: [ -L /usr/bin/grep ] 
-r filename 如果 filename可读,则为真 如: [ -r /var/log/syslog ] 
-w filename 如果 filename可写,则为真 如: [ -w /var/mytmp.txt ] 
-x filename 如果 filename可执行,则为真 如: [ -L /usr/bin/grep ]

获取函数或者脚本的返回值

function add(){
    return `expr $1 + $2`
}

add 1 2

echo $?

推荐工具

xshell

远程连接工具,它支持ssh1,ssh2,windows的telnet协议,使用起来十分的便捷。这里需要注意的是xshell不是免费的,需要进行破解。

xftp

带有用户界面,对文件的上传,下载等操作十分便捷。