推荐看菜鸟教程,介绍的很全。
待验证后补入此博客。
两个命令的最大区别是:sudo 命令需要输入当前用户的密码,su 命令需要输入 root 用户的密码。另外一个区别是其默认行为。sudo 命令只允许使用提升的权限运行单个命令,而 su 命令会启动一个新的 shell,同时允许使用 root 权限运行尽可能多的命令,直到明确退出登录。
sudo Linux指令
:以最高权限执行Linux指令
。
sudo -s
:启动IDEA前需要,用途待定。
指定用户执行指令
显示sudo的设置,列出目前的权限
sudo !!
:以root权限执行上一条命令。
切换用户后执行exit:退出当前用户
sudo chmod 777 文件夹名
:以最高权限sudo
授予(使用该指令的)当前用户对于文件夹名
的对应权限。
补入此篇博客,描述了所谓777、755的由来
777
:最高权限755
:所有者拥有读、写和执行权限,所属组和其他人拥有读和执行权限750
:644
:所有者拥有读、写权限,所属组和其他人拥有只读权限/home/ljh/jdk1.8.0_333//lib/dt.jar: Permission denied
时,思考sudo chmod 755 /home/ljh/jdk1.8.0_333/lib/*.jar
可以,sudo chmod 755 /home/ljh/jdk1.8.0_333/*
却不行的原因whoami
:查看当前使用指令的(登录)用户名。比如,
test@ubuntu:~$ whoami
test
who -q
:查看当前系统中所有登录用户的信息,显示当前登录系统的用户名和总的用户数
test@ubuntu20:~$ who -q
test1 test2 test3 test4 test5
# users=5
passwd 用户名
:修改"用户名"对应账户的密码。
exit
:必须小写,大写不认。
终端窗口执行exit:关闭终端
远程工具执行exit:断开连接
切换用户后执行exit:退出当前用户
*
表示所有/OperFile/*
:根目录下OperFile文件夹内的所有文件(是否包含文件夹?待确认)
sudo service --status-all
:sudo service指令后面必须有参数,否则会报错。
lsof是一种命令系统监视工具,用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP)。因为lsof命令需要访问核心内存和各种文件,所以需要root用户执行。
``:
touch 要创建的文件名.文件后缀
比如,touch 文件名.jtl
。
rm 文件名
:删除一个文件,此指令只能用于删除文件,当用来删除文件夹时会报错“无法删除…(文件夹名):是一个目录”。
sudo rm -rf 文件名
:删除文件夹及其内的内容。此指令是否还有其他用途,待验证。
./文件名
:即可执行当前目录下的该文件。
注:若要执行其他路径下的文件,更改路径即可。
./文件名.sh
sh 文件名.bin
:执行当前路径下的bin文件。是否需要在文件名前添加路径,待确认。
sudo Java -Jar 文件名.jar
,比如安装神通数据库时使用。
mv 要移动的文件/文件夹名 要移动到的目标路径
cat /proc/version
:Linux返回信息如下图所示。
ljh@ubuntu20:~$ cat /proc/version
Linux version 5.4.0-107-generic (buildd@lcy02-amd64-058) (gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)) #121-Ubuntu SMP Thu Mar 24 16:04:27 UTC 2022(后面这部分信息自动变灰了,没办法= =)
cat > filename
:从键盘创建一个文件,只能创建新文件,不能编辑已有文件。cat file1 file2 > file
:将几个文件合并为一个文件。tail 文件名.文件后缀
:查看文件内容,默认显示最后 10 行。
tail -f 文件名.文件后缀:显示 notes.log 文件的最后 10 行,用于跟踪该文件名的文件增长情况。当将某些行添加至 notes.log 文件时,tail 命令会继续显示这些行。 显示一直继续,直到您按下(Ctrl-C)组合键停止显示。
tail后的参数含义:
-f 循环读取,此命令用于显示 notes.log 文件的最后 10 行。当将某些行添加至 notes.log 文件时,tail 命令会继续显示这些行。 显示一直继续,直到您按下(Ctrl-C)组合键停止显示。
-q 不显示处理信息
-v 显示详细的处理信息
-c<数目> 显示的字节数,比如`tail -c 10 notes.log`表示显示文件 notes.log 的最后 10 个字符
-n<行数> 显示文件的尾部 n 行内容,比如`tail -n +20 notes.log`表示从第 20 行至文件末尾显示文件 notes.log 的内容
--pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
-q, --quiet, --silent 从不输出给出文件名的首部
-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。用户刚刚启动 vi/vim,进入的便是命令模式。此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。
vi 文件名
进入命令模式命令模式:用户刚刚启动 vi/vim,进入的便是命令模式。
此状态下敲击键盘动作会被识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
以下是常用的几个命令:
i
:切换到输入模式,以输入字符。x
: 删除当前光标所在处的字符。:
:从当前的命令模式切换到底线命令模式,以在最底一行输入命令。ctrl+p
:光标移动到上一行。ctrl+n
:光标移动到下一行。/要在该文件中搜索的字段
:输入“要搜索的字段”后,回车即可进入搜索字段结果的界面。N
向上“查找搜索字段的结果“,n
向下“查找搜索字段的结果”。i
或者insert
键进入输入模式使用方向键(上下左右)调整光标位置
ESC
退出输入模式:
进入底线命令模式当你要输入:q
直接退出时,先输入:
时光标就已经直接跑到了文件的最后一行,此时就是底线命令模式。
:q
:直接退出。:w
: 保存文件。:wq
:保存修改后退出该文件。更具体地说,把编辑缓冲区的内容写到你编辑的文件中,退出编辑器,回到Linux shell界面下。:q!
:强行退出vi。感叹号(!)告诉vi,无条件退出,丢弃缓冲区内容。这样,先前对该文件所做的未保存的修改或输入都会被抛弃。qa!
:vim编辑器具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。Vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。连 vim 的官方网站 (https://www.vim.org/) 自己也说 vim 是一个程序开发工具而不是文字处理软件。。
nano ~/.bashrc
使用ctrl
+编辑界面的下方提示
若是选择保存,即ctrl+O,还会有一步确认,此时按回车键即可。(因为不会有提示说按回车)
tee
将从A文件读出的数据,写入B文件tee命令用于读取标准输入的数据,并将其内容输出成文件。
tee file1 file2
:将用户输入的数据同时保存到文件"file1"和"file2"中。Linux指令|tee 1.log
:管道指令中使用,将获取到的流输出到1.log
。which命令用于查找文件,会在环境变量$PATH设置的目录里查找符合条件的文件。返回所查询的文件(不论是环境变量,还是真文件,真文件是否可行待验证)的所在绝对路径。
which [文件...]
:比如
ljh@ubuntu:~$ which mysql
/usr/bin/mysql
ljh@ubuntu:~$ which tcpdump
/usr/srs/tcpdump
ls
用于列出当前目录下的"一级子目录及所有文件"
ls -l
以列表形式列出当前目录下的一级子目录及文件,除了文件名还有日期大小等信息。
ls 路径名
用于查看指定路径名
下的文件,省去了cd 路径名
再ls
的步骤。
ls [-aAdfFhilnrRSt] 目录名称
用于 按照参数[-aAdfFhilnrRSt]
列出指定目录
下的文件
ls -lrth
表示 按修改时间排序 反向(即倒序) 列出当前工作目录下的所有文件及其存储大小的详细信息,-lrth
实际上是代表了 “-l -r -t -h” 这四个选项集合。
ls -ltr
会基于时间逆向排序。cp
指令的含义是将哪些文件/文件夹拷贝到哪个路径下,所以指令模板为cp /路径.../文件 (目标路径)文件夹下
。
将路径下的所有文件拷贝到目标路径下。
当 cp 要复制的文件夹名
时:仅将文件夹下的所有文件拷入指定目标路径下
当 cp 要复制的文件夹名
时:连同该文件夹和所有文件一同拷入指定目标路径下。
mkdir 文件夹名
:创建文件夹名
的文件夹。
scp
指令(仅限于Linux到Linux?)scp -r 要发送的文件所在的完整路径/文件名.后缀 接收方电脑的登录用户名@接收方电脑的网址(通过互联网发送就填互联网地址;通过网线直连的局域网就填局域网内的IP地址):接收方电脑内的文件路径(/OperFile/DownloadFile/)
:点击回车,执行此命令,系统会要求你输入密码,输入后即可开始传输。
scp -r 要发送的文件所在的完整路径/(此处空白,表示将该路径下的所有文件全部传送至接收方,与*等价,不要忘了"/") 接收方电脑的登录用户名@接收方电脑的网址(通过互联网发送就填互联网地址;通过网线直连的局域网就填局域网内的IP地址):接收方电脑内的文件路径(/OperFile/DownloadFile)(貌似接收方文件路径不需要"/"结尾)
grep [-abcEFGhHilLnqrsvVwxy][-A<显示行数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]
grep test *file
:在当前目录中,查找后缀有file
字样的文件中包含test
字符串的文件,并打印出该字符串的行。
cd tmp/
表示进入到tmp目录下。
cd tmp
表示进入当前路径下(ls
指令下的文件夹)的文件夹。
cd ./tmp
是否也可进入到tmp目录下?待确认。
注意,不能使用cd /tmp
,因为/
表示根目录,所以执行该语句会进入到根目录下的tmp文件夹。
不用一级一级进入,可以直接进入当前目录下的指定文件夹内。
~
cd ~/adb/test.json
:只知道最后一级目录是adb的情况下,可用~
代替前面的未知路径。
cd -
:回退上一次的目录,即有可能向上一级目录走,也可能向下一级目录走。cd ..
表示到当前目录的上一级目录。cd ../..
:返回上两级目录。
cd ../dir1
:进入上一级目录下的“dir1”文件夹内,即进入到与当前所处位置同级的文件夹。
cd /
表示转到根目录。
注意,“root”与“/”路径是两个不同的路径,不要混为一谈。
注意,“/OperFile”表示根目录下的OperFile文件夹,而非当前路径下的OperFile文件夹。。
pwd
指令用于查询自己当前所在的工作目录的绝对路径。
PS是LINUX下最常用的也是非常强大的进程查看命令,用于查看操作系统当前运行的进程。
ps
:查看当前Linux系统中运行的进程。
ps -ef | grep 进程名
:在给出的列表中,最右侧的是CMD(指令),如下图所示。CMD的这些个指令含义待补。
find 【要在哪个目录下搜索文件】 -搜索条件名 搜索条件值
,例如find ./ -maxdepth 1 -name "*.xml"
表示在当前目录下深度为1的范围内查找所有后缀为“.xml”的文件。
补入此篇博客。
whereis 文件夹名(比如virtualbox)
:搜索文件夹名的所在路径。
whereis -b 文件夹名(比如virtualbox)
:搜索文件夹名“virtualbox”的路径。
操作系统中可能会有多个该软件,实测返回结果如下所示。
whereis -b virtualbox
virtualbox: /user/bin/virtualbox /user/lib/virtualbox /user/share/virtualbox
Source 完整路径下的文件名
:使修改后配置文件后,必须注销重新登录才能生效,使用source命令后,立即生效环境变量配置文件;
亲测有效
zip 压缩包名.zip 要压缩到同一个压缩包的文件名1 要压缩到同一个压缩包的文件名2
unzip -oq 压缩包war包名.war -d 解压后的目标地址(/tmp/tomcat9/webapps)
tar zxvf 压缩包名.tgz或压缩包名.tar.gz -C 解压路径
以下五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用,但只能用其中一个。
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
下面的参数是根据需要在压缩或解压档案时可选的。
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出
ifconfig
或ifconfig -a
有博客提到,输入该指令后,【eth0中,inet addr或inet6 addr后面的就是linux服务器当前所处的ip地址】但是自己觉得此方法并不好用。
hostname -I
会直接将该服务器的IP地址显示出来,有时可能是多个,还需要自己判别。
但不需要再去读ifconfig
显示的大量无关信息。
ip addr
在本例中,光盘在系统中的名称为/dev/sr0
。在实际的Linux系统使用光盘时,每次插入光盘,名称都有可能发生变化。
ls -l /dev|grep cdrom
:查看列表中每一行的最后一列,是CD对应的名称。
光驱的真正设备文件名是保存在/proc/sys/dev/cdrom/info
文件中的,所以可以通过查看这个文件来查询光盘的真正设备文件名,
sudo mount /dev/sr0 /mnt/cdrom
:将光盘/dev/sr0挂载到/mnt/cdrom下,以后即可通过cd到/mnt/cdrom
路径来读取光盘中的文件。
挂载就是把光驱的设备文件和挂载点连接起来。挂载点 /mnt/cdrom 是我们手工建立的空目录,只要是已经建立的空目录都可以作为挂载点。那么/dev/sr0就是光驱在Linux系统中真正的设备文件名,不过注意 /dev/cdrom 只是一个软链接(如同 Windows 系统中的文件快捷方式)。
/dev/sr0
代表插入光盘,其名称在光驱每次插入笔记本时都会改变,需要使用。
使用sudo chmod 755 /mnt/cdrom
可取消光盘的读写保护,授予当前用户读写光盘权限,755及其他具体权限参考本文第二节chmod赋予权限(给当前用户赋予(指令中)文件/文件夹的(指令中)权限)
sudo umount /dev/sr0
target is busy
cd /
即后再次取消挂载即可。fuser -kv /mnt/cdrom
,【亲测有效,自用在上一条失效后,使用本条成功取消挂载,按照这篇博客,待补入】。sudo ifconfig 网卡等相关设备的名称(可用ifconfig命令中查看,第一段的第一个单词就是设备对应的名称) 指定的IP地址 netmask 指定的子网掩码(比如,255.255.255.0)
:将“网卡等相关设备的名称”对应的设备的IP地址改为指定的地址。
在指定完IP地址后,再使用ifconfig
查看IP地址时,对应网卡设备的信息中多了一行inet 【指令中指定的IP地址】 netmask 【指令中指定的子网掩码】
。指定网卡IP地址之前,使用ifconfig
查看IP地址,仅有inet6 。。。
这一行。
详见自己博客
以本文提到的三种方式为框架,搜索资料补齐具体方式方法,详见此处,再补入此处。
which java
sudo date -s 13:55
:设置Linux系统当前时间为13:55:00。
注意,需要sudo
,否则会提示无法设置日期,不允许的操作
。
sudo date -s "2017-11-4 13:55:00"
:设置Linux系统当前日期和时间。
注意,需要用双引号 将日期和时间 括起来。
hwclock -w
:将时间写入bios避免重启失效,待验证。
date -R
tzselect
,待验证。
输入指令ssh 10.0.1.1(IP地址)
后,会提示输入“账号@10.0.1.1.”对应的密码,输入后回车,会以输入的账号密码的身份登录该IP电脑,命令提示行中会出现“Welcome to Ubantu 。。。”字样,再输入就相当于在远程的电脑中进行操作,自认。
uname [-amnrsv][--help][--version]
--help
:显示帮助。
--version
:显示版本信息。
[-amnrsv]有:
自认,在任意路径下输入指令cat /proc/cpuinfo
,进入CPU配置文件内,属性cpu cores
的值就是CPU核的个数。
top
指令查看Linux系统CPU利用率和内存使用率管道指令使上一指令的结果作为下一指令的【第一个参数?】来使用.
ls -l | grep 文件名
:将当前路径下带有文件名
的文件展示出来,原指令为grep test *file
。| tee 文件名
:将当前读取的文件内容存储到文件名
的文件中,原指令为tee file1 file2
。apt-get,全称Advanced Package Tool,是一款适用于Unix和Linux系统的应用程序管理器,可以用来管理本地桌面和网络。其适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。
由于常常需要root权限来操作,所以经常搭配sudo使用
(定义从哪里寻找、下载deb软件包的)软件源在/etc/apt/sources.list文件中定义,文件内容如下所示。
cat /etc/apt/sources.list
deb http://security.ubuntu.com/ubuntu trusty-security main restricted
deb-src http://security.ubuntu.com/ubuntu trusty-security main restricted
deb http://security.ubuntu.com/ubuntu trusty-security universe
deb-src http://security.ubuntu.com/ubuntu trusty-security universe
deb http://security.ubuntu.com/ubuntu trusty-security multiverse
deb-src http://security.ubuntu.com/ubuntu trusty-security multiverse
deb http://extras.ubuntu.com/ubuntu trusty main
deb-src http://extras.ubuntu.com/ubuntu trusty main
deb http://us.archive.ubuntu.com/ubuntu/ trusty-proposed main restricted multiverse universe
/etc/apt/sources.list
中检索可用的源中是否有这个软件包;/etc/apt/sources.list
中查找这些依赖的安装包的下载路径?并安装。更新数据库?将所有包的来源进行更新,也就是提取最新的包信息。
一般执行在apt-get update之后,它的作用是将系统中旧版本的包升级成最新的,慎用!这是因为在linux下,由于大部分为非商业软件,所以稳定性并没有得到很好的验证,升级到最新版本需要十分慎重!
更新软件包,apt-get upgrade不仅可以从相同版本号的发布版中更新软件包,也可以从新版本号的发布版中更新软件包,尽管实现后者——从新版本号的发布版中更新软件包——的推荐命令为apt-get dist-upgrade。
在运行apt-get upgrade命令时加上-u选项很有用(即:apt-get -u upgrade),可以让apt指令显示完整的可更新软件包列表。不加这个选项,你就只能盲目地更新。APT会下载每个软件包的最新更新版本,然后以合理的次序安装它们。
注意在运行该命令前应先运行 apt-get update更新数据库,更新任何已安装的软件包。
一键安装软件包,与源码安装不同的是,这个指令会自动检测并安装依赖,而且用apt-get安装的包都是成熟的软件包,基本不存在安装包有严重bug或者文件缺失的情况。
-y
选项:免去安装过程中的重复确认安装,(默认yes?)
-q
选项:即-quiet,静默安装,当然也不是完全静默,会将低等级的log信息屏蔽。
删除一个已安装的软件包(保留配置文档不删除)
删除一个已安装的软件包(配置文档一并删除)
删除该安装包及其依赖的软件包(保留配置文档)
删除该安装包及其依赖的软件包(配置文档一并删除)
一说,会把已装或已卸的软件都备份在硬盘上,所以假如需要空间的话,能够让这个命令来删除您已卸载掉的软件的备份;
还有说,将已安装的软件包及其.deb文档一并删除。
这个命令会把安装的软件的备份也删除,但是这样不会影响软件的使用。
将系统升级到新版本。
在软件包列表中搜索该名称的软件包。
详细查看已安装或可用的软件包,由于aptitude比apt-get了解更多信息,能够说他更适合用来进行安装和卸载。
显示软件包信息。
apt-cache dumpavail打印可用软件包列表。
显示软件包记录,类似于dpkg –print-avail。
打印软件包列表中任何软件包的名称。
查询该文档属于哪个已安装软件包。
列出软件包中的任何文档。
列出所有已安装的软件包。
查找包含特定文档的软件包(不一定是已安装的),这些文档的文档名中含有指定的字符串。apt-file是个单独的软件包,需要先使用apt-get install 安装包名
进行安装,然后再运行apt-file update之后才可以。
假如apt-file search 文档名
输出的内容太多,可以使用apt-file search filename | grep -w filename
(只显示指定字符串作为完整的单词出现在其中的那些文档名)或类似方法,例如:apt-file search filename | grep /bin/(只显示位于诸如/bin或/usr/bin这些文件夹中的文档,假如您要查找的是某个特定的执行文档的话,这样做是有帮助的)。
ln命令(link)用于连接文件或目录,
指令参数:
crontab -l
:定时任务
crontab -e
: 编辑定时任务 默认使用vim编辑方式
#顺序:分 时 日 月 周 用户 命令
minute hour day month week user command
* * * * * command(s)
^ ^ ^ ^ ^ ^ ^
| | | | | | |-----allowed values
| | | | | |-------root;普通用户使用用户名?
| | | | |----- Day of week (0 - 7) (Sunday=0 or 7)
| | | |------- Month (1 - 12)
| | |--------- Day of month (1 - 31)
| |----------- Hour (0 - 23)
|------------- Minute (0 - 59)
上述各属性的含义:
hour、minute:表示的是每天几点几分,而非每隔几小时几分钟执行,读其他博客自认待确认。
user:linux的用户身份,例如root,或者其他用户。
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。各属性值的写法
星号(*):代表所有可能的值,例如 month 字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用。
例如*/10
,如果用在 minute 字段,表示每十分钟执行一次。请注意,不能是/10
,别把*
漏了。
00 08 * * * root python3 /root/hello.py
其中注意的是定时任务里最后添加的python3 /root/hello.py
是指令,而不是指令所在脚本的路径。以此为例,其表示的定时任务是任意周、任意月、任意日的08时00分
运行脚本的权限没有放开:chmod -777 文件名
命令有时也需要,用绝对路径。命令跟文件同时用绝对路径!!!!比如
补入这篇博客。
比如,华为330(随便编的一个)
cat /proc/cpuinfo
:其中的model name
对应的是CPU的型号,如下图所示。
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
:运行结果如下图所示
getconf LONG_BIT
:运行结果如下图所示。当前CPU运行在32bit模式下, 但不代表CPU不支持64bit。
cat /etc/os-release
:以Ubuntu系统的虚拟机为例,如下图所示。
tcpdump命令用于倾倒网络传输数据,可列出经过指定网络界面的数据包文件头。在Linux操作系统中,你必须是系统管理员,自认此指使用此命令必须有管理员权限。
tcpdump [-adeflnNOpqStvx][-c<数据包数目>][-dd][-ddd][-F<表达文件>][-i<网络界面>][-r<数据包文件>][-s<数据包大小>][-tt][-T<数据包类型>][-vv][-w<数据包文件>][输出数据栏位]
:各参数解释如下所示。
-a 尝试将网络和广播地址转换成名称。
-c<数据包数目> 收到指定的数据包数目后,就停止进行倾倒操作。
-d 把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出。
-dd 把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出。
-ddd 把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出。
-e 在每列倾倒资料上显示连接层级的文件头。
-f 用数字显示网际网络地址。
-F<表达文件> 指定内含表达方式的文件。
-i<网络界面> 使用指定的网络截面送出数据包。
-l 使用标准输出列的缓冲区。
-n 不把主机的网络地址转换成名字。
-N 不列出域名。
-O 不将数据包编码最佳化。
-p 不让网络界面进入混杂模式。
-q 快速输出,仅列出少数的传输协议信息。
-r<数据包文件> 从指定的文件读取数据包数据。
-s<数据包大小> 设置每个数据包的大小。
-S 用绝对而非相对数值列出TCP关联数。
-t 在每列倾倒资料上不显示时间戳记。
-tt 在每列倾倒资料上显示未经格式化的时间戳记。
-T<数据包类型> 强制将表达方式所指定的数据包转译成设置的数据包类型。
-v 详细显示指令执行过程。
-vv 更详细显示指令执行过程。
-x 用十六进制字码列出数据包资料。
-w<数据包文件> 把数据包数据写入指定的文件。
ipcs -m
:查看显示所有的共享内存大小、类型等详细信息。
待补入、确认的内容:
第一列就是共享内存的key;
第二列是共享内存的编号shmid;
第三列就是创建的用户owner;
第四列就是权限perms;
第五列为创建的大小bytes;
第六列为连接到共享内存的进程数nattach;
第七列是共享内存的状态status。其中显示“dest”表示共享内存段已经被删除,但是还有用户在使用它,当该段内存的mode字段设置为 SHM_DEST时就会显示“dest”。当用户调用shmctl的IPC_RMID时,内存先查看多少个进程与这个内存关联着,如果关联数为0,就会销 毁这段共享内存,否者设置这段内存的mod的mode位为SHM_DEST,如果所有进程都不用则删除这段共享内存。
mosh
是一款用于从客户端跨互联网连接远程服务器的命令行工具,包含客户端和服务器两部分,用于代替SSH。程序最初由Keith Winstein编写,用于类Unix的操作系统中,发布于GNU GPL V3协议下。因为Mosh基于UDP方式传输,所以
mosh
是一个能用于SSH连接,也支持通过SSH的配置进行认证,但数据传输本身还是自身的UDP方式,功能比Secure Shell更多的应用。
补入这篇博客。