一位身处荷兰的疲惫系统管理员在进行数据库复制过程中不小心在一台错误的服务器上删除了一个目录,他删除了一个包含300GB实时产品数据的文件夹,在取消rm -rf删除命令后该文件夹只剩下4.5GB 数据(http...rm是Linux下文件删除的命令,它是Linux下非常强大却又非常危险的一条命令,特别是rm -rf有时候强大到让你欲哭无泪,当你想清除当前目录下的所有文件和目录时,很简单 #rm -rf ./* 这没什么...mkdir -p ~/.trash //创建一个目录作为回收站,这里使用的是用户家目录下的.trash目录 alias rm=trash //命令别名 rm改变为trash,通过将rm命令别名值trash...undelfile() //这个函数的作用是找回回收站下的文件 { mv -i ~/.trash/\$@ ./ } trash() //这个函数是将指定的文件移动到指定的目录下,通过将rm命令别名值...trash的作用是移动文件到指定的回收站目录;undelfile的作用是找回回收站目录中的指定文件;cleartrash的作用是清空回收站目录。经rm命令别名为trash来实现rm命令的改造!
解释 当终端接口检测到网络连接断开, 将挂断信号发送给控制进程(会话期首进程). 如果会话期首进程终止,则该信号发送到该会话期前台进程组....使用后台运行命令 & 能否将程序摆脱ssh进程组控制? 即关闭 ssh, 后台程序能否继续运行?...如何解决方案 在远端开启 tmux , 在 tmux 里运行程序, 此时运行的程序属于 tmux 的进程组, 不属于 ssh 进程组....nohup 命令,在默认情况下(非重定向时),会输出一个名叫 nohup.out 的文件到当前目录下,如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中...2>&1& 2>&1 解释: 将标准错误 2 重定向到标准输出 &1 ,标准输出 &1 再被重定向输入到 runoob.log 文件中。
如果要让正在运行的”前台任务”变为”后台任务”,可以先按ctrl + z,然后执行bg命令(让最近一个暂停的”后台任务”继续执行)。 “后台任务”有两个特点。...继承当前 session (对话)的标准输出(stdout)和标准错误(stderr)。因此,后台任务的所有输出依然会同步地在命令行下显示。 不再继承当前 session 的标准输入(stdin)。...它可以将指定任务从”后台任务”列表(jobs命令的返回结果)之中移除。一个”后台任务”只要不在这个列表之中,session 就肯定不会向它发出SIGHUP信号。...重定向标准输出和标准错误到文件nohup.out。 也就是说,nohup命令实际上将子进程与它所在的 session 分离了。...七、Screen 命令与 Tmux 命令 另一种思路是使用 terminal multiplexer (终端复用器:在同一个终端里面,管理多个session),典型的就是 Screen命令和 Tmux
如果要让正在运行的"前台任务"变为"后台任务",可以先按ctrl + z,然后执行bg命令(让最近一个暂停的"后台任务"继续执行)。 "后台任务"有两个特点。...继承当前 session (对话)的标准输出(stdout)和标准错误(stderr)。因此,后台任务的所有输出依然会同步地在命令行下显示。 不再继承当前 session 的标准输入(stdin)。...它可以将指定任务从"后台任务"列表(jobs命令的返回结果)之中移除。一个"后台任务"只要不在这个列表之中,session 就肯定不会向它发出SIGHUP信号。...重定向标准输出和标准错误到文件nohup.out。 也就是说,nohup命令实际上将子进程与它所在的 session 分离了。...七、Screen 命令与 Tmux 命令 另一种思路是使用 terminal multiplexer (终端复用器:在同一个终端里面,管理多个session),典型的就是 Screen 命令和 Tmux
Linux 系统中查找正在运行的进程的完整命令、当前工作目录等信息的方法 一 引言 在某些系统故障的排查过程中,需要找出某个应用程序的工作目录、完整命令行等信息。...二 知识要点 众所周知,/proc是Linux系统内的一个伪文件系统,,存储的是当前内核运行状态的一系列特殊文件,用户可以通过这些文件查看有关系统硬件及当前正在运行进程的信息,甚至可以通过更改其中某些文件来改变内核的运行状态...按照这样的思路,通过/proc目录下面的相关信息查找到对应的蛛丝马迹。Linux在启动一个进程时,系统会在/proc下创建一个以进行PID命名的目录,在该目录下保存着该进程的各种信息。...针对一些常见的内容及要点,收集整理如下: cmdline:启动当前进程的完整命令,但僵尸进程目录中的此文件不包含任何信息; cwd:指向当前进程运行目录的一个符号链接; environ:当前进程的环境变量列表...,由open、read和lseek等系统调用使用,不能被用户读取; root:指向当前进程运行根目录的符号链接;在Unix和Linux系统上,通常采用chroot命令使每个进程运行于独立的根目录; stat
今天来介绍几个命令,帮大家系统地梳理一下 linux 的进程调度,并附上一些自己的使用心得和踩过的坑。 名词 在此之前,我们必须(当然也不是必须,但了解原理有利于理解和解决错误)先弄懂几个名词。...如果进程不需要输出,且不想让 nohup 创建文件,可以将标准输出和标准错误输出重定向。...或 source 命令由终端执行 setsid; 其他 除了上面介绍的命令,还有 screen 和 tmux 等会话工具,他们都有自己的一套规范,也比较复杂,掌握本文的命令已经足够你驰骋 linux 进程控制了...jobs jobs 是作业的基础命令,用它可以查看正在运行的作业的信息,其输出如下: jobs [1]- Running php test.php & [2]+ Stopped...结合 ctrl+z 和 bg 命令,我们可以解决上面提出的第一个问题,不停止地将正在占用终端的进程放到后台执行。 fg fg 与 bg 相对,使用它可以把作业放到前台来执行。
trzsz ( trz / tsz ) 相比 lrzsz ( rz / sz ) 的优点支持 tmux,包括 tmux 普通模式,以及与 iTerm2 集成的 tmux 命令模式。...支持 传输目录,trz -d 命令上传目录,tsz -d xxx 命令下载 xxx 目录。支持 Windows,不仅可在 Windows 客户端使用,也可在 Windows ssh 服务器使用。...支持 web 终端,通过 web 浏览器在本地与服务器之间传输目录和文件。支持 拖动上传,将文件和目录拖到终端窗口即可上传到远程服务器。...支持 进度条,显示当前正在传输的文件名、进度、大小、速度和剩余时间等。更好的 交互体验,传输成功或出错时显示友好的结果,ctrl + c 优雅中止。...使用指南trz 上传文件trz 命令可以不带任何参数,将上传文件到当前目录。也可以带一个目录参数,指定上传到哪个目录。
实例: wget -t 0 -T 120 -np -c -r ftp://(ftp登录用户名):(登录密码)@(ftp地址,一般是IP) 上面的实例中的一些解释: 1、“()”用你实际的数据替换 2...、“np”表示不跟随链接,只下载指定目录及子目录里的东西; 3、“-c”表示启动断点续传,其实下目录及子目录有-r就可以搞定, 4、“-r”下目录及子目录数据 注意: 1、以上命令会把ftp服务器的文件直接下载到本地的当前目录...,因此使用此命令前应该先cd到要存放文件的目录 2、用此命令下载文件会在本地自动新建一个以ftp服务器ip为文件名的一个文件夹 wget ‘Bad port number’ 问题解决 用户名和密码都带有
简介 有些开发者经常要使用终端控制台工作,导致最终打开了过多的标签页。如果你也是他们当中的一员,或者你正在实践结对编程,那么我推荐你读一读这篇文章。...其次,我建议将 Tmux 的快捷键前缀变为 Ctrl - a。...# Use vim keybindings in copy modesetw -g mode-keys vi 将复制下来的文本发送到系统的剪贴板中 在默认情况下,当从 Tmux 中复制文本时,复制下来的文本只能粘贴到同一个...其他能够提升 Tmux 体验的工具或技巧 Tmuxinator (为项目自动创建会话) 假 设你正在开发应用程序 A。...于是你又不得不创建另一个会话,虽然有略微的不同(比如目录和某些命令),但是会话中还是要包含应用程序 A 中的那 3 个窗口。
重新启动计算机或丢失网络连接后重新连接到的腾讯云CVM服务器时,可以重新连接到TMUX会话,并且您正在使用的文件仍将处于打开状态,并且您运行的进程仍将处于活动状态。...通过将多个会话,窗口和窗格附加到tmux服务器,您可以组织工作流并轻松管理多个任务和流程。 安装tmux 使用您的发行版的软件包管理器安装tmux。...命令模式:按Prefix进入命令模式,然后使用:。这将在屏幕底部打开一个命令提示符,它将接受tmux命令。 命令行:也可以在tmux会话中直接将命令输入命令行。通常这些命令以tmux开头。...再次按相同的组合可退出缩放模式 出口 关闭活动窗格 Prefix + x 强制在窗格中终止无响应的进程 管理tmux会话 有时甚至多个窗口和窗格都是不够的,您需要通过将布局分组到单独的会话中来逻辑地分离布局...使用文本编辑器,在用户的主目录中创建配置文件: # Uncomment the lines with the options you want to activate (by deleting the
这些是我在近一年半的学习和服务器维护中常用的命令汇总,包括管理员常用命令和工作常用命令。...DirName # 将DirName本身压缩 zip -r FileName.zip DirName # 压缩,递归处理,将指定目录下的所有文件和子目录一并压缩 .gz文件 # .gz gunzip.../test.sh的输出重定向到log.txt文件中,同时将标准错误也重定向到log.txt文件中。 每个程序在运行后,都会至少打开三个文件描述符,分别是0:标准输入;1:标准输出;2:标准错误。...,前者表示用户正在使用,后者表示在后台运行。...detach tmux new -s tmux ls # tmux attach命令用于重新接入某个已存在的会话 tmux attach -t <session-name
“ 脚本(Scripts)” 是动态的、程序化的等效项,可以使用 Python 编写,并且获得与键盘击键发送到活动窗口基本相同的结果。 右侧窗格构建和配置短语和脚本。...image.png 登录时自动启动 AutoKey 使用 AutoKey 纠正常见的打字排版错误 修复常见的打字排版错误对于 AutoKey 来说是一个容易解决的问题。...现在进行重要的测试!在你的终端窗口中,键入 “gerp” 紧跟一个空格,它将自动更正为 “grep”。要验证窗口过滤器是否正在运行,请尝试在浏览器 URL 栏或其他应用程序中键入单词 “gerp”。...与别名不同,只要是面向命令行,无论你使用什么应用程序,AutoKey 都可以按规则纠正错误。...这是我设置的一个小脚本,该脚本进入 Tmux 的复制模式,以将前一行中的第一个单词复制到粘贴缓冲区中: from time import sleep # 发送 Tmux 命令前缀(b 更改为 s) keyboard.send_keys
你是否在用Ubuntu时为了找一个历史命令曾疯狂地按↑? 你是否因为手抖或者记不清名字经常输入错误指令? 你是否需要进行多任务而苦于频繁切换命令行终端?...其实安装很简单的。 ~$ sudo apt-get install tmux 就这么一行命令就安装好了,然后在终端输入tmux就可以用啦!...对于在窗口中划分窗格,我们只需要熟悉那么几个常用的快捷操作就行。 Ctrl+a %是将当前窗格均分为左右两格,Ctrl+a "是均分为上下两格,Ctrl+a ↑/↓/←/→可以切换到其他窗格。...~$ sudo apt-get install zsh 为了方便起见,直接将zsh设为默认的shell,bash自此可以下班了... ~$ chsh -s $(which zsh) 重启后打开终端测试一下...https://wiki.archlinux.org/index.php/Tmux 2. https://github.com/gpakosz/.tmux 3.
工具要求: 1、GDB => 8.2 (python3) 2、python3 3、tmux 此时,我们可以使用下列命令将项目源码克隆至本地,然后安装并使用GDBFrontend: git clonehttps...:5551/ 我们还可以使用下列命令打开GBD Shell: tmux a -t gdb-frontend Flatpak 在新版本的GDBFrontend中,还会添加针对Flatpak包的支持。...(默认: gdb-frontend) --verbose, -v 启用verbose 输出 错误解决 有的时候GDB和GDBFrontend可能会以非正常状态关闭,此时我们可以使用下列命令终止gdb-frontend...Shell: tmux kill-session -t gdb-frontend 插件系统开发 插件样本 下面给出的是一个插件样本,可以在项目目录plugins/hello中的hello文件中找到相关代码...首先,我们需要找到config.py文件,然后取消下列代码的注释: disabled_plugins = ["hello"] GDBFrontend的插件都存储在plugins/目录中,典型的插件文件结构如下
安装tmux 下载 tmux 的源代码包 您可以从 tmux 的官方网站(https://github.com/tmux/tmux)下载最新版本的源代码包,或者使用以下命令从终端下载 mkdir -pv.../releases/download/3.2a/tmux-3.2a.tar.gz 解压缩源代码包 运行以下命令解压缩下载的源代码包 tar -xzvf tmux-3.2a.tar.gz 进入解压缩后的目录.../configure --prefix=$HOME/software/package/tmux make 这将在当前用户的主目录下编译 tmux。...安装 tmux 使用以下命令将 tmux 安装到指定目录下 make install 添加环境变量 为了能够在任何位置使用 tmux 命令,您需要将 tmux 所在的目录添加到 PATH 环境变量中。...卸载 tmux 进入之前编译的 tmux 源代码目录 cd ~/software/package/tmux/tmux-3.2a 执行以下命令以卸载 tmux,该命令将删除之前编译并安装的 tmux 文件
### linux 常用命令 1. 切换目录:cd [目录] 2. 查看当前目录文件:ls -a[查看所有文件包括隐藏]/-l[查看文件显示权限和所属] 3. 查看当前所在路径: pwd 4....查看当前命令所在的路径: which 18. 查看当前用户 – who – whoami 19. 查看当前系统运行多长时间:uptime 20. 可读性好的查看磁盘空间:df -h 21....我的常用tmux系列命令 “` 新建一个会话: tmux new -s 切到一个会话: tmux at -t 删除一个会话: tmux kill-session -t <会话名称...directory = yourpath # 启动进程的命令 command = yourcommand # 启动supervisor时启动 autostart = true # 进程exit自动重启...autorestart = true # 执行命令的用户 user = www-data # 日志路径 stdout_logfile = /var/log/supervisor/demo.log # 这个
修改当前窗口编号;相当于窗口重新排序; 面板操作 " 将当前面板平分成上下俩块; % 将当面板平分成左右两块 x 关闭当前面板 !...: 表示tmux会话的名字 1 windows: 表示会话中有1个窗口 重新进入会话 如果在终端环境中运行 tmux ls 查看有tmux会话正在后台运行,如何进入到该正在后台中运行的会话呢,...其中attach也可以简写成a来表示, -t 指定要进入已存在的会话名,如果不存在则会报告 session not found 错误。...重命名会话 我们可以在终端环境中将会话重命名,如上面的命令,重命名之后通过 tmux ls 命令在终端环境中看到的列表中会显示会话的新名称。...也许nohup命令可以达到这个目的,如果程序的标准输出/标准错误是终端, nohup默认将其重定向到nohup.out文件。
在Linux CentOS系统上安装完php和MySQL后,为了使用方便,需要将php和mysql命令加到系统命令中,如果在没有添加到环境变量之前,执行 “php -v”命令查看当前php版本信息时时,...则会提示命令不存在的错误,下面我们详细介绍一下在linux下将php和mysql加入到环境变量中的方法(假 设php和mysql分别安装在/usr/local/webserver/php/和/usr/local...方法一:直接运行命令export PATH=$PATH:/usr/local/webserver/php/bin 和 export PATH=$PATH:/usr/local/webserver/mysql...方法二:执行vi ~/.bash_profile修改文件中PATH一行,将/usr/local/webserver/php/bin 和 /usr/local/webserver/mysql/bin 加入到.../bin:/usr/local/webserver/mysql/bin export PATH 最后:执行 命令source /etc/profile或 执行点命令 .
$ tmux 如果您需要运行多个终端多路复用器以保持所有 SSH 会话在后台运行,在这种情况下,您可能会发现tmux在tmux. 以下是从一种形式切换到另一种形式的命令行。...$ tmux detach $ tmux attach $ tmux attach -t 2 要检查所有tmux屏幕,请使用 tmuxlist命令。...◆ 4.nohup ---- nohupor no hangup 命令是screen或 tmux 的一个非常有用的替代工具。它还允许用户在断开连接后保持 SSH 会话运行。...该disown命令可以使任何任务从正在运行的系统日志中不列出。因此,它可以隐藏正在进行的进程以避免所有自动注销错误或信号挂断(SIGHUP)。...$ jobs -l 要从窗口中删除所有当前作业,请键入-adisown的语法。 $ disown -a 要从窗口中仅删除一个或正在运行的作业,请使用-rdiswon 的语法。
领取专属 10元无门槛券
手把手带您无忧上云