猎奇开发人员运用哪些Linux指令吗? 有什么技巧呢? 让我们带你走进程序开发人员的日常作业吧。
端口转发(Port forwarding)
有时分我需求连接到数据库,当然我更喜爱运用我的GUI管理器(JetBrains DataGrip)来做这件事。可是,假如你公司的安全策略规则数据库的端口不能揭露,那么你能够履行以下指令:
ssh -L{你PC端的端口号}:localhost:{数据库端的端口号} root@{服务器IP地址}
下面这行指令将翻开你的笔记本电脑上的3308端口,并将一切内容转发到IP地址为192.168.1.2的服务器的3306端口上:
ssh-L3308:localhost:3306root@192.168.1.2
这儿的localhost意味着数据库正在侦听服务器(192.168.1.2)本身。你也能够键入一个不同的服务器IP地址,如192.168.3.77,这样一切内容都将经过192.168.1.2转发到服务器192.168.3.77。
在VIM中修改文件前忘掉sudo,保存时需求sudo权限怎么办?
你是否曾经在修改一些配置文件前,忘掉了先sudo取得权限?我有过许多这样的阅历。别严重,这儿有一个保存文件的技巧,只要在VIM中键入:
:w !sudotee %
在Linux操控终端上抵达行首和行尾
假如你在Linux操控终端上写了一条很长的指令,这时分你发现你忘掉了在这行指令的开端处键入sudo,你需求回到行首添上漏掉的sudo,然后,你还要回到行尾去增加一些参数。
你能够经过一起按下crtl + a移动光标到行首,同样地,你也能够经过一起按下 crtl + e移动光标到行尾。
ll指令
键入ll而不是ls –la指令,能够让你在一年中节约几天敲键盘的时刻。这个指令适用于大多数Linux服务器。
履行曾经履行的指令
履行上一个指令
想要再次履行上一个指令,当然能够按↑(向上箭头)键。但你也能够直接敲键盘!!。 以根用户身份重复履行上一个指令十分简单。就像下面这样:
sudo !!
假如要重复履行以apt最初的上一个指令,直接键入!apt。
查找前史指令
要查找你履行过的上一个包括/tmp的指令,能够按ctrl + r,而且键入/tmp。假如你还想得到下一个成果,能够再次按下ctrl + r。
要显现一切履行过的包括/tmp的指令,能够运用正则表达式查找,指令如下:
history | grep “/tmp”
yes指令
假如你想对一个指令中呈现的问题都答复“是”,那么你能够用yes指令。例如:
yes | yum install curl
这个指令会对yum装置过程中的一切问题都答复“yes”。
假如你想答复“no”的话,那么就用yes no, 指令如下:
yesno| yum install curl
正告:运用yes指令或许会产生一些意想不到的结果。比如说,你或许领会外地装置10GB的依靠项,或其他你不想产生的作业。
在后台运转一个长时进程时,封闭终端窗口
假如你运转一个脚本,需求3天的时刻,那么你不需求一向翻开终端窗口。你能够运用nohup指令在后台运转它:
nohup wget http://large-files.com/10gb-super-movie.avi &
这样的话,wget指令就在后台作业,它的输出会保存到作业目录下的nohup.out文件中。
查找是谁占用了你最喜爱的端口
当你企图运转nginx的时分,你发现已经有一个apache在运转,而且占用了你想要用的443端口,这让你真的很动火。
这时分,你需求知道是谁正在运用这个端口。下面的指令能够告知你哪个进程正在侦听端口80:
$ netstat -tulpn | grep80tcp6 00 :::80 :::* LISTEN 10177/java
找到了,那个侦听80端口的是进程10177。现在你能够履行下面的指令来找到更多的信息:
ps aux | grep 10177
读取日志文件
每个人都知道,less是读取日志文件的一种十分好的办法。可是你知道它也能够读取一个用gzip紧缩过的日志而无需解紧缩吗!
less /var/log/my-app/my-app.log.2015.12.14.gz
实时读取日志文件
下面的指令将只显现指定日志文件中包括“ERROR”字符的新行:
tail -f /var/log/my-app/my-app.log | grep ERROR
进程排序
下面的指令是按CPU运用率排序,显现最高的3个进程:
ps aux –sort=-pcpu | head -n 4
下面的指令是按内存运用率排序,显现最高的3个进程:
ps aux –sort=-rss | head -n 4
每隔X秒履行一次指令
要每隔X秒打印指令的输出,能够运用watch指令。下面的比如是每隔一秒打印一次date指令的输出:
watch -n 1 dat
安静形式
许多规范指令都有安静形式或静默形式,这个形式在你创立一个bash脚本时十分有用。在大多数情况下,只需求在指令后边增加-q或-s(如下)。详细信息能够阅览 –help或man输出的内容,或许上StackOverflow网站查找。
zip-qarchive.zipbig-file.jpg
输出不可避免时,有时分也有必要疏忽输出(实际上在运用内部脚本你总是需求这样做),这时分你能够将输出定向到/dev/null:
。/very-verbose.sh 1》/dev/null
让crontab(主动守时)履行的脚本创立日志文件
在crontab中输入以下指令。 假如脚本履行失利,您也能够在生成的日志中查找原因:
022 * * 1-5 /opt/scripts/send-report.sh 2》/var/log/scripts/report-error.log