admin管理员组文章数量:1573690
文章目录
- shell快捷键
- 结束进程
- Ctrl+D
- Ctrl+C
- 基础语法
- 管道符和输入/输出重定向
- =
- :=
- $
- :
- [ ]
- *
- ()
- $()和反引号``
- ${}
- 单引号和双引号
- \$[] 与\$(())
- $?
- $$
- -
- 函数
- 函数格式
- $0:脚本名称
- $#: 脚本执行时,输入的参数的个数
- $n:第n个参数
- $@:输入的参数的具体内容(将输入的参数作为一个多个对象,即是所有参数的一个列表)
- $*: 输入的参数的具体内容(将输入的参数作为一个单词)
- 分支结构
- if
- 循环结构
- 1.面向列表的循环 for
- 2.循环到条件满足为止 until
- 别名
- alias 查看/设置别名
- unalias 取消别名
- 常用变量
- BASH_SOURCE
- 环境变量
- 输出环境变量
- g++常用环境变量
- 重定向
- 参考
- stdin、stdout、stderr文件描述符
- >覆盖重定向 与>> 追加重定向
- > 与 1> stdout重定向
- 2> stderr重定向
- &> stout与stderr一起重定向
- 2>&1 将错误信息重定向至标准输出
- ./a.out 5 5<>***.foo
- 输入输出
- echo 输出
- read 读入用户输入
- 条件判断
- test命令
- 语句执行
- eval命令
- source命令
- set + e 继续执行脚本
- 调试
- set -x:在执行时显示参数和命令
- set +x:禁止调试
- 算数操作
- let命令(只支持整数,不支持浮点数)
- bc(计算器)
- 文件
- .tar.gz
- 压缩文件
- 解压文件
- zip文件
- 解压zip文件
- 删除
- 删除文件夹
- exec 自定义文件描述符
- ls命令 显示指定工作目录下之内容
- 常用参数
- 文件类型(ls -l 每一行第一个字母)
- 文件权限(ls -l 每一行第2到10的字母)
- find命令 查找文件
- 使用格式
- 常用选项有哪些
- ln命令 创建文件链接
- 软链接
- 硬链接
- cp命令 主要用于复制文件或目录
- wc命令 用于统计一个文件中的行数、字数、字节数或字符数
- cat 拼接文件内容,发送给stdout
- awk 强大的文本分析工具
- grep 强大的文本搜索工具
- diff 文件比对
- lsof 获取被进程打开文件的信息
- head 查看文件头部内容
- tail 查看文件尾部内容
- 路径
- dirname获取路径的目录
- 进程
- ps(process status) 查看进程当前信息
- ps常见扩展选项
- 示例
- ps -aux
- ps -axjf
- pstack命令 打印正在运行进程的栈信息
- pmap命令 报告进程的内存映射关系
- 选项
- 各列含义
- top命令 动态查看进程变化
- 简介
- 各列含义
- kill 杀死进程
- trap 进程信号处理
- lsof 获取被进程打开文件的信息
- nohup 与& 不挂断地在后台执行进程
- ulimit 用于控制shell程序的资源
- 编译常用命令
- size 查看可执行文件大小
- which
- ldd查询程序依赖库
- ipcs
- 用户
- whoami 显示自身用户名称
- 时间
- date 用于显示或设定系统的日期与时间
- 终端
- stty(打印或更改terminal(终端)的设置)
- tput (更改终端设置)
- 序列
- seq (序列)
- 硬盘空间
- df
- 挂载点
- du
- du df区别
- 文件传输
- scp
- rsync 远程数据同步工具
- 网络
- IP
- ifconfig查看本机网络接口
- host命令 域名解析
- nslookup命令 域名解析
- route命令 显示路由表信息
- ping命令 检验网络上主机连通性
- traceroute命令 跟踪IP路由
- 端口
- 查看端口占用情况
- lsof -i
- netstat 查看开放端口与服务
- VLAN虚拟局域网
- zerotier
- 登录服务器
- ssh
- 查看机器配置
- uname 用于显示系统信息
- 查看系统版本
- linux常见目录
- etc 配置文件目录
- /bin
- /sbin
- /usr/bin
- /usr/sbin
shell快捷键
- ctrl+a 光标定位到行首
- ctrl+e 光标定位到行尾
- ctrl+u 删除命令行开始到光标处
- ctrl+k 删除光标至命令行结尾
- shift+insert 复制剪贴板内容到shell
- tab 命令补齐(提示)
结束进程
Ctrl+D
在不同的操作系统和应用程序中可以有不同的功能。在Unix/Linux系统的命令行终端中,Ctrl+D的作用是发送EOF(End of File)信号,表示输入结束。在Windows系统中,Ctrl+D的作用通常是删除当前选中的文件或文本。
Ctrl+C
Ctrl+C在大多数操作系统和应用程序中的作用是复制。选中文本或文件后,按下Ctrl+C可以将其复制到剪贴板。在Unix/Linux系统的命令行终端中,Ctrl+C的作用是中断当前进程。当用户输入一个长时间运行的命令时,可以按下Ctrl+C来停止该命令的执行。
基础语法
管道符和输入/输出重定向
添加链接描述
=
赋值,=前后不能有空格
:=
如果这个变量是空的或者未赋初值,则对其进行赋值. 否则, 就不赋值.
$
$符号用于访问变量
:
空命令[冒号]. 这个命令意思是空操作(即什么操作也不做). 它一般被认为是和shell的内建命令true是一样的。冒号":" 命令是Bash自身内建的, 它的退出状态码是真(即0)。
[ ]
*
-
*代表0个或者多个特殊字符
-
在shell中也代表任意字符,比如ls a*,就是列出所用a开头的文件,
()
子shell本身就是独立的进程。可以使用()操作符来定义一个子shell
$()和反引号``
用于做命令替换,将$()替换为执行结果
${}
单引号和双引号
- 以单引号’ '包围变量的值时,单引号里面是什么就输出什么,即使内容中有变量和命令(命令需要反引起来)也会把它们原样输出。这种方式比较适合定义显示纯字符串的情况,即不希望解析变量、命令等的场景。
- 以双引号" "包围变量的值时,输出时会先解析里面的变量和命令,而不是把双引号中的变量名和命令原样输出。这种方式比较适合字符串中附带有变量和命令并且想将其解析后再输出的变量定义。
$[] 与$(())
$?
命令的返回值被保存到$?中
$$
$$是一个特殊变量,它可以返回当前进程/脚本的进程ID
-
特指标准输入或标准输出
例如在当前我要打包1个文件夹 /var/log/ 到当前目录下,并用zip压缩
命令如下
tar -cvf log.tar /var/log/
zip -r log.tar.zip log.tar
转换后
tar -cvf – /var/log | zip -r log.zip -
解释:第一条语句的输出(log.tar) 是第二条语句的输入
用 “-” 来取代这个输出输入
函数
函数格式
fname()
{
statements;
}
$0:脚本名称
$#: 脚本执行时,输入的参数的个数
$n:第n个参数
$@:输入的参数的具体内容(将输入的参数作为一个多个对象,即是所有参数的一个列表)
$*: 输入的参数的具体内容(将输入的参数作为一个单词)
分支结构
if
if condition1
then
command1
else if condition2
then
command2
else
command3
fi
循环结构
1.面向列表的循环 for
for var in list;
do
commands;
done
2.循环到条件满足为止 until
当条件为真时,while循环继续执行;当条件不为真时,until循环继续执行
while condition
do
commands;
done
until condition
do
commands;
done
别名
alias 查看/设置别名
alias #查看别名
alias test='ping baidu' #设置别名
unalias 取消别名
unalias test #取消test的别名
常用变量
BASH_SOURCE
- BASH_SOURCE表示的是用户所在的目录到脚本的路径
#!/bin/bash
echo ${BASH_SOURCE}
执行结果如下:
[root@hadoop01 sbin]# ./test.sh
./test
[root@hadoop01 sbin]# cd ..
[root@hadoop01 hadoop-2.7.7]# ./sbin/test.sh
sbin/test
环境变量
输出环境变量
1.echo $PATH (查看单个环境变量)
2.env (查看所有环境变量)
g++常用环境变量
- 动态链接库路径
export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/install/lib64
- 静态链接库路径
export LIBRARY_PATH=\$LIBRARY_PATH:/install/lib
- 头文件路径
export CPLUS_INCLUDE_PATH=\$CPLUS_INCLUDE_PATH:/install/include
- 程序路径
export PATH=\$PATH:/install/bin
重定向
参考
[1]2>&1 标准错误重定向等同于标准输出的重定向
stdin、stdout、stderr文件描述符
- 文件描述符0分别表示程序的stdin,1表示stdout,2表示stderr。stdout和stderr一样都是输出到终端上。
>覆盖重定向 与>> 追加重定向
- >表示覆盖重定向,>>表示追加重定向
> 与 1> stdout重定向
- > 与 1>都表示将程序的stdout覆盖重定向
2> stderr重定向
- 2>表示将程序的stderr覆盖重定向
&> stout与stderr一起重定向
- &> 表示stout与stderr一起重定向
2>&1 将错误信息重定向至标准输出
- 2>&1 将程序的stderr重定向到程序的stdout
./a.out 5 5<>***.foo
- 执行 ./a.out 5 命令, 并通过 5<>.foo 将.foo 文件以可读写方式打开作为 a.out 命令的 5 号文件描述符。
输入输出
echo 输出
-e:支持反斜线控制的字符转换(字符转换表如下)
-n:取消输出后行末的换行符号
read 读入用户输入
read -n 2 var
读取stdin两个字符到var
read -p var
用无回显方式读取用户输入
条件判断
test命令
Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。
test 命令 等价于 [命令]
1.数值
2.字符串测试
3.文件测试
语句执行
eval命令
eval命令将会首先扫描命令行进行所有的替换****,然后再执行命令。该命令使用于那些一次扫描无法实现其功能的变量。该命令对变量进行两次扫描。这些需要进行两次扫描的变量有时候被称为复杂变量。
source命令
source FileName
在当前bash环境下读取并执行FileName中的命令。
set + e 继续执行脚本
set -e : 执行的时候如果出现了返回值为非零,整个脚本 就会立即退出
set +e: 执行的时候如果出现了返回值为非零将会继续执行下面的脚本
调试
set -x:在执行时显示参数和命令
set +x:禁止调试
算数操作
let命令(只支持整数,不支持浮点数)
let命令可以执行基本的算术操作。
let no+=6
操作符[ ]的使用方法和let命令一样
result=$[ no1+ no2]
bc(计算器)
bc是linux一个用于数学运算的高级使用工具。
echo "4 * 0.56" | bc
2.24
进制转换
echo "obase=2;100" | bc
将100转换为二进制(默认原来是十进制)
echo "obase=10;ibase=2;1100100" | bc
将1100100从二进制转为十进制
文件
.tar.gz
压缩文件
tar -czvf 压缩包名称.tar.gz 要压缩的文件或目录
解压文件
- 解压到一个目录
tar -xzvf 压缩包名称.tar.gz -C 解压目录
- 直接解压到压缩包名称
tar -xzvf 压缩包名称
zip文件
解压zip文件
- 解压到当前目录
unzip filename.zip
- 解压到指定目录
unzip filename.zip -d path
删除
删除文件夹
rmdir folder_name
rm -r folder_name //递归删除文件夹
exec 自定义文件描述符
只读模式 <
截断模式 >>
追加模式 >>
exec 3<input.txt
创建一个用于读取文件的文件描述符号3
cat <&3
读取该文件描述符号
exec 4>output.txt
创建一个用于写入(截断模式)的文件描述符4
echo "nexline" >&4
exec 5>>output.txt
创建一个用于写入(追加模式)的文件描述符5
echo "appendline" >&5
ls命令 显示指定工作目录下之内容
常用参数
(list directory contents)
- -a 显示所有文件及目录 (. 开头的隐藏文件也会列出)
- -l 除文件名称外,亦将文件型态、权限、硬链接数、拥有者、拥有者所在组、文件大小(byte)、修改时间、文件名详细列出
- -r 将文件以相反次序显示(原定依英文字母次序)
- -t 将文件依建立时间之先后次序列出,(时间离现在从近到远)
- -A 同 -a ,但不列出 “.” (目前目录) 及 “…” (父目录)
- -F 在列出的文件名称后加一符号;例如可执行档则加 “*”, 目录则加 “/”
- -R 若目录下有文件,则以下之文件亦皆依序列出
文件类型(ls -l 每一行第一个字母)
- d:目录文件
- -:普通文件
- p:管理文件
- l:链接文件
- b:块设备文件
- c:字符设备文件
- s:套接字文件
文件权限(ls -l 每一行第2到10的字母)
- 第2个字母-第4个字母:表示所有者权限
- 第5个字母-第7个字母:表示所有者所在组用户权限
- 第8个字母-第10个字母:表示其他用户组的权限
find命令 查找文件
使用格式
- find [路径] [选项]
常用选项有哪些
- -name 按文件名来查找
- -type 按文件类型来查找
- b 块设备文件
- d 目录
- f 普通文件
- p 管道文件
- 符号链接文件
- -perm 按照文件权限来查找
ln命令 创建文件链接
软链接
- 软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
- 软链接可以 跨文件系统 ,硬链接不可以
- 软链接可以对一个不存在的文件名进行链接
- 软链接可以对目录进行链接
#为color.sh文件创建软链接linkcolor,如果color.sh丢失,linkcolor将失效。
ln -s color.sh linkcolor
硬链接
- 硬链接,以文件副本的形式存在。但不占用实际空间。
- 不允许给目录创建硬链接
- 硬链接只有在同一个文件系统中才能创建
#硬链接
ln color.sh lncolor
cp命令 主要用于复制文件或目录
- (copy file)
- 用法:cp [options] source dest
wc命令 用于统计一个文件中的行数、字数、字节数或字符数
- -l 统计行数
- -c 统计字节数
- -w 统计单词数
cat 拼接文件内容,发送给stdout
cat file1 file2 file3 ...
awk 强大的文本分析工具
传送
grep 强大的文本搜索工具
grep (global search regular expression(RE) and print out the line) ,它能使用正则表达式搜索文本,并把匹配的行打印出来。
转自
grep [options] [正则表达式pattern] [文件名]
diff 文件比对
diff 命令是一个分析文件信息的命令,可以打印出文件之间的差异。它可以逐行地比较两个文件的内容,也可以递归地比较文件夹的内容。diff 命令的输出内容可以让我们知道要使两个文件相同需要做哪些修改,这对于我们的工作很有帮助。
- 命令格式: diff [参数] [变动前的文件1或目录1][变动后的文件2或目录2]
- -y:以并列的方式显示文件的异同之处。
- -c:显示全部内文,并标出不同之处。
lsof 获取被进程打开文件的信息
lsof 是 List Open File 的缩写, 它主要用来获取被进程打开文件的信息
lsof -c mysql
查看Mysql进程打开的文件
head 查看文件头部内容
head -n 10 filename
显示filename头部10行
tail 查看文件尾部内容
tail -f filename
把 filename 文件里的最尾部10行的内容显示在屏幕上,并且不断刷新
tail -n 10 filename
显示filename尾部 10行
路径
dirname获取路径的目录
- dirname命令去除文件名中的非目录部分
进程
ps(process status) 查看进程当前信息
ps常见扩展选项
- aux
a:显示一个终端所有的进程
u:显示进程的归属用户及内存使用情况
x:显示没有关联控制终端的进程 - axjf
j:显示进程归属的进程组id、会话id、父进程id
f:以ascii的形式显示出进程的层次关系 - -l: 较长,较详细地显示该pid的信息
示例
ps -aux
- user: 进程是哪一个用户产生的
- pid: 进程ID
- %CPU:进程对CPU的占有率
- %MEM:进程占用内存百分比
- VSZ(virtual set size):进程使用虚拟内存的大小
- RSS(resident set size):进程使用物理内存的大小
- TTY: 进程关联的终端
- STAT:进程当前状态
1: D—uninterruptible sleep(不可中断) ,收到信号不唤醒和不可运行,进程必须等待直到有中断发生
2: R—Runnable (正在运行),正在运行或在运行队列中等待
3: S—sleeping(中断):休眠中,受阻,在等待某个条件的形成或接收到信号
4: T—traced or stoppd(停止):进程收到SIGSTOP,SIGSTP,SIGTOU信号后停止运行
5: X 死掉的进程
6: Z—zombie(僵死)僵尸进程,进程已终止,但进程描述还在,直到父进程调用wait4()系统调用后释放
7: N 优先级低的进程。 < 优先级高的进程
8: s 进程是会话首进程,进程的领导者(在它之下有子进程)
9: l(小写L):多线程
10:+ 位于后台 - START:进程的启动时间
- TIME:进程的运行时间
- COMMAND: 进程执行的是哪一个程序
ps -axjf
- PPID: 当前进程的父进程PID。
- PID:当前进程ID
- PGID: 当前进程所在进程组的ID
- SID(session): 进程所在的会话ID
- TTY:进程所关联的终端
- TPGID:判断进程是否为守护进程(-1则为守护进程)
- UID:用户ID,记录进程是哪个用户启动的
- COMMAND:记录进程之间的层次关系(和上边不同)
pstack命令 打印正在运行进程的栈信息
- pstack (process stack),实际上是 gstack 的一个软链接,而 gstack 本身是基于 gdb 封装的 Shell 脚本。
- pstack 命令在排查进程问题时非常有用,比如我们发现一个服务一直处于 work 状态(如假死状态,好似死循环),使用这个命令就能轻松定位问题所在。可以在一段时间内,多执行几次 pstack,若发现代码栈总是停在同一个位置,那个位置就需要重点关注,很可能就是出问题的地方。
pmap命令 报告进程的内存映射关系
pmap -x 进程号
选项
- -x:显示扩展格式。
- -d:显示设备格式。
- -q:不显示头尾行。
- -V:显示指定版本。
各列含义
- Address: 内存开始地址
- Kbytes: 占用内存的字节数(KB)
- RSS: 保留内存的字节数(KB)
- Dirty: 脏页的字节数(包括共享和私有的)(KB)
- Mode: 内存的权限:read、write、execute、shared、private (写时复制)
- Mapping: 占用内存的文件、或[anon](堆分配内存)、或[stack](栈)
- Offset: 文件偏移
- Device: 设备名 (major:minor)
top命令 动态查看进程变化
简介
- Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器
各列含义
- PR: 优先级(由内核动态调整),用户不能
- NI: nice值。进程优先级,负值表示高优先级,正值表示低优先级,用户可以调整。
- VIRT:virtual memory usage,虚拟内存
- RES:resident memory usage,进程使用的物理内存(实际内存)。
- SHR:share memory usage, 共享内存大小
- S:进程状态
- D 不可中断的睡眠状态
- R 运行中
- S 睡眠中
- T 已跟踪/已停止
- 僵尸进程
- TIME+:进程使用的CPU时间总计,单位1/100秒
kill 杀死进程
kill -s 9 pid
强制杀死进程id为pid 的进程
trap 进程信号处理
- trap命令在脚本中用来为信号分配信号处理程序。一旦使用trap将某个函数分配给一
个信号,那么当脚本运行收到该信号时,就会执行相应的函数 trap 'signal_handler_function_name' SIGNAL_LIST
SIGNAL_LIST以空格分隔,它可以是信号编号或信号名
lsof 获取被进程打开文件的信息
lsof 是 List Open File 的缩写, 它可以用来获取被进程打开文件的信息
lsof -c mysql
查看Mysql进程打开的文件
nohup 与& 不挂断地在后台执行进程
转自
ulimit 用于控制shell程序的资源
- -a: 显示目前资源限制的设定。
- -c <core文件上限>: 设定core文件的最大值,单位为区块
- -d <数据节区大小>: 程序数据节区的最大值,单位为KB
编译常用命令
size 查看可执行文件大小
- text: 正文段
- data: 初始化数据段
- bss: 未初始化数据段
- dec:以十进制表示前面三个大小总和(以字节为单位)
- hex: 十六进制
which
which命令的作用是,在PATH环境变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。命令的格式如下:
[test@node1~]$ which ls
alias ls='ls --color=auto'
/bin/ls
ldd查询程序依赖库
- LDD用来打印或者查看程序运行所需的共享库,常用来解决程序因缺少某个库文件而不能运行的一些问题。ldd不是一个可执行程序,而只是一个shell脚本。
- -v, --verbose 详细信息模式,打印所有相关信息;
- -u, --unused 打印未使用的直接依赖;
ipcs
多进程间通信常用的技术手段包括共享内存、消息队列、信号量等等,Linux系统下自带的ipcs命令是一个极好的工具,可以帮助我们查看当前系统下以上三项的使用情况,从而利于定位多进程通信中出现的通信问题。
ipcs -a
查看当前使用的共享内存、消息队列及信号量所有信息
ipcs -p
查看与共享内存、消息队列相关的进程
用户
whoami 显示自身用户名称
时间
date 用于显示或设定系统的日期与时间
date
输出系统当前时间date -s "2012-05-23 01:01:01"
设置系统时间
终端
stty(打印或更改terminal(终端)的设置)
stty -echo
禁止终端回显
stty echo
重新允许回显
tput (更改终端设置)
tput命令将通过 terminfo 数据库对您的终端会话进行初始化和操作。通过使用 tput,您可以更改几项终端功能,如移动或更改光标、更改文本属性,以及清除终端屏幕的特定区域。
tput sc
存储光标位置
tput rc
恢复之前存储的光标位置
tput ed
清除从当前光标位置到行尾之间的全部内容
序列
seq (序列)
以指定增量从首数开始打印数字到尾数,seq命令用于产生从某个数到另外一个数之间的所有整数。
硬盘空间
df
df 以磁盘分区为单位查看文件系统,可以获取硬盘被占用了多少空间,目前还剩下多少空间等信息
- Filesystem(文件系统):硬盘分区
- 1K-blocks:包含的数据块,1块=2^10byte
- Used: 已用的块数
- Available:可用的块数
- Use%:已用百分比
- Mounted:on 挂载点
挂载点
- 挂载点实际上就是linux中的磁盘文件系统的入口目录,类似于windows中的用来访问不同分区的C:、D:、E:等盘符。其实winxp也支持将一个磁盘分区挂在一个文件夹下面,只是我们C:、D:这样的盘符操作用惯了,一般没有将分区挂到文件夹。
du
du 的英文原义为 disk usage,含义为显示磁盘空间的使用情况,用于显示指定的目录或文件所占用的磁盘空间。
- -h: 以KB,MB,GB为单位,提高信息的可读性
- -s: 只输出总计数据
- -a:递归地输出指定目录或多个目录中所有目录和文件的统计结果。
- –max-depth=N,限制递归统计目录树下的深度为N。
du -ah --max-depth=1 . #统计该目录下各个文件和目录所占磁盘空间,不往下面递归
du df区别
du,disk usage,是通过搜索文件来计算每个文件的大小然后累加,du能看到的文件只是一些当前存在的,没有被删除的。他计算的大小就是当前他认为存在的所有文件大小的累加和。
df,disk free,通过文件系统来快速获取空间大小的信息,当我们删除一个文件的时候,这个文件不是马上就在文件系统当中消失了,而是暂时消失了,当所有程序都不用时,才会根据OS的规则释放掉已经删除的文件, df记录的是通过文件系统获取到的文件的大小,他比du强的地方就是能够看到已经删除的文件,而且计算大小的时候,把这一部分的空间也加上了,更精确了。
当文件系统也确定删除了该文件后,这时候du与df就一致了。
文件传输
scp
scp是Linux中功能最强大的文件传输命令,可以实现从本地到远程以及远程到本地的轻松文件传输操作
rsync 远程数据同步工具
- Linux rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。 rsync是一个功能非常强大的工具,其命令也有很多功能特色选项,我们下面就对它的选项一一进行分析说明。
- 使用方法
- rsync算法
网络
IP
ifconfig查看本机网络接口
- ifconfig命令用于配置及显示网络接口、子网掩码等细节信息。它通常位于/sbin/ifconfig中。
- HWaddr 00:1c:bf:87:25:d2是硬件地址(MAC地址)
- inet addr:192.168.0.82是IP地址
- Bcast:192.168.3.255是广播地址
- Mask:255.255.252.0是子网掩码
host命令 域名解析
- host命令会列出某个域名所有的IP地址
host google
nslookup命令 域名解析
- nslookup命令可以完成名字与IP地址之间的相互映射
nslookup google
route命令 显示路由表信息
route
ping命令 检验网络上主机连通性
- ping命令使用Internet 控制消息协议(Internet Control Message Protocol中的echo分
组检验网络上两台主机之间的连通性。当向某台主机发送echo分组时,如果分组能够送达且该
主机处于活动状态,那么它就会返回一条回应(reply)。如果没有通往目标主机的路由或是目标
主机不知道如何将回应返回给请求方,ping命令则执行失败。 ping Address
traceroute命令 跟踪IP路由
- 当应用程序通过Internet请求服务时,服务器可能位于远端,两者之间通过多个网关或路由器
相连。traceroute命令可以显示分组途径的所有网关的地址。这些信息可以帮助我们搞明白分
组到达目的地需要经过多少跳。中途的网关或路由器的数量给出了网络上两个节点之间的有效距
离,这未必和物理距离有关。传输时间会随着每一跳增加。对于路由器而言,接收、解析以及发
送分组都是需要花时间的。 traceroute destinationIP
destinationIP可以是IP地址,也可以是域名
端口
查看端口占用情况
lsof -i
- lsof(list open files)命令可以列出已打开的文件。选项-i将范围限制在已打开的网络连接
lsof -i:端口号
netstat 查看开放端口与服务
netstat -tunlp | grep 端口号 #用于显示 tcp,udp 的端口和进程等相关情况
- -t (tcp) 仅显示tcp相关选项
- -u (udp)仅显示udp相关选项
- -n 拒绝显示别名,能显示数字的全部转化为数字
- -l 仅列出在Listen(监听)的服务状态
- -p 显示建立相关链接的程序名
VLAN虚拟局域网
zerotier
sudo zerotier-cli join [你的ZeroTier网络ID]
登录服务器
ssh
ssh命令能够给予ssh加密协议实现安全的远程登录服务器,从而实现对服务器的远程管理。
ssh 202.102.240.88
查看机器配置
uname 用于显示系统信息
查看系统版本
lsb_release -a
linux常见目录
etc 配置文件目录
- etc目录包含很多文件.许多网络配置文件也在/etc 中
-
/etc/passwd: 用户数据库,其中的域给出了用户名、真实姓名、家目录、加密的口令和用户的其他信息。
-
/etc/group: 类似/etc/passwd ,但说明的不是用户而是用户组。
-
/etc/shadow: 由于/etc/passwd文件允许所有用户读取,易导致用户密码泄露,因此 Linux 系统将用户的密码信息从 /etc/passwd 文件中分离出来,并单独放到了此文件中
-
/etc/services: Internet守护进程ineted是linux世界中最重要的服务,它借助/etc/services文件处理所有的网络服务。/etc/services文件包含物理服务和它们映射端口的列表。inetd或者xinetd会查看这些细节,以便在数据包到达各自的端口或者服务有需求时,它会调用特定的程序。
该文件每行格式:service-name port/protocol [aliases…] [#comment]- service-name 是网络服务的名称。例如 telnet、ftp 等
- port/protocol 是网络服务使用的端口(一个数值)和服务通信使用的协议(TCP/UDP)
- alias 是服务的别名
- comment 是你可以添加到服务的注释或说明。以 # 标记开头
-
/etc/protocols: 记录协议信息
-
/etc/networks: 定义了网络名和网络地址之间的映射关系
-
/bin
/bin放置的是在单用户维护模式下还能够被操作的命令,在/bin下面的命令可以被root和一般账号使用,主要有cat,chmod,chown,cpmkdir等常用命令
/sbin
/sbin 下的命令属于基本的系统命令,如shutdown,reboot,用于设置设置系统环境,如开机,修复系统,还原系统等所需的命令。/sbin下的命令只有root才能使用。
/usr/bin
/usr/bin 存放的是一些用户命令, 是你在后期安装的一些软件的运行脚本。
/usr/sbin
/usr/sbin 放置一些用户安装的系统管理的必备程式,例如例如:dhcpd、httpd、imap、in.*d、inetd、lpd、named、netconfig、nmbd、samba、sendmail、squid、swap、tcpd、tcpdump等。
版权声明:本文标题:linux Shell 命令汇总 (持续更新) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1726423907a1070167.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论