linux的登录脚本记录
通过在
Linux
的启动脚本中添加一些指令,可以实现一些简单的功能,此处记录一下 未来换设备的话能直接使用
打开core文件生成开关
ulimit -c unlimited
这样在程序崩溃之后能够得到core
文件,以便通过gdb
调试
回收站的实现
在windows
上面直接删除文件会把文件放到回收站中,以此对手残的用户进行保护
但是linux
上面就没有,大概linux
的设计哲学是认为用户足够聪明吧(毕竟能使用linux
的大概都不是什么电脑小白) 但是每次rm
掉重要东西之后,还是会心脏骤停。
所以,使用mv
代替rm
往往是个好主意
首先先找个位置创建回收站的文件夹,我会直接选在home/.Recycle
使用命令 mkdir .Recycle
创建一个文件夹出来
删除
alias rrm="mkdir -q ~/.Recycle && mv -f -t ~/.Recycle"
不直接重载rm
的原因是因为有时候别人的脚本中出现了rm
并且带了参数,但是rm
和mv
的参数并不是一模一样的,这时候就可能出错。所以使用rrm
作为删除
mkdir -q
中的-q
参数是告诉mkdir
如果那个位置已经有这个文件了,也不会出现错误。这样只需要复制上面的命令粘贴运行就好了。
查看回收站文件
alias rrl="ls -la ~/.Recycle"
清理回收站
alias rrc="rm -rf ~/.Recycle/* ~/.Recycle/.*"
因为通过rm -rf ~/.Recycle
并不能删除掉.
开头的文件,所以需要使用后者专门用来删除,但是会出现找不到. ..
的问题,通过重定向错误输出应该可以隐藏这个提示。但是也有可能会忽略别的有用的信息。
统计回收站占用空间
alias rri="du -sh ~/.Recycle"
如此以来,就能实现一个简单的回收站,但凡起作用一次,都是一件值得庆幸的事情。
尽管如此,在使用rm
之前,还是思考一下比较好。
ls命令重载
alias ls="ls --color"
这个一般安装好系统就会有,如果没有--color
参数,文件夹就没有颜色
alias ll="ls -lh"
以更科学的方式显示文件大小,并且查看详情信息,还是非常好用的命令,同样的,一些发行版默认就有这个
alias la="ls -lha"
就是比上一条多了显示隐藏文件的功能
超级目录切换
最近修改一个项目,是java
的,代码文件足足在六层文件夹包裹之下,每次打开一个新的终端,都会很麻烦,所以,想了一个办法。
保存路径
alias cdc="pwd > ~/.cdc"
执行之后,会在home
目录下创建一个隐藏文件,保存当前的工作路径
读取路径
alias cdd="cd \`cat ~/.cdc\`"
这个困扰了我好一会儿,最开始的版本是
alias cdd="cd `cat ~/.cdc`"
但是发现不管cdc
保存了什么命令,cdd
都只能切换到一个固定的目录,直到无意间执行了alias
之后,发现建立的别名是这样的
alias cdd="cd /home/st/"
也就是说,在执行alias
的时候,就已经把``里面的东西解释执行了
仅查看自己的进程
公司的服务器上面,并没有root
权限,通过ps aux
看到很多进程,但是都不能操作,反而会影响找到有用的进程,所以会考虑只显示自己的进程
alias psu="ps aux | grep \"^`id -u` \""
这样,之后执行psu
就只会显示自己的进程了
ps aux
会显示所有的进程,交给grep
过滤id -u
将会获取到自己的用户uid
^
表示匹配自己uid
开头的条目- 最后还有一个空格不能少,否则会把包含你
uid
的别人的进程也显示出来
查看当前目录下文件夹大小
du -h --max-depth=0 *
可以弥补ps
没有不能直接看到所有文件夹占用大小的问题
另外,通过du -sh ~
可以看到自己的home
目录占用了多少空间
PS1
export PS1="\[\e[31;1m\][\u@\[\e[32;1m\]\h \[\e[32;1m\]\W]\$ \[\e[0m\]"
效果如上图所示