这篇文章在不停的更新中ing
我用的是deepin linux,以下方法是速效解决,如果想要了解更多或者原因请自己多动手,多用google看看英文文献。
Linux系统下设置交换文件(swapfie)
Swap分区在系统的内存不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行的程序使用,在安装linux系统时可以直接划分一个swap分区,也可以不分,在系统安装好后在一个盘新建一个swapfile文件来代替。
下面给出步骤
- 创建交换文件 – swapfile
sudo fallocate -l 6G /var/swapfile
在var目录下创建了一个6G的swapfile
3. 更改/swapfile权限
sudo chmod 600 /var/swapfile
修改swapfile文件的权限为600即root用户可读写,其他组合用户没权限。
4. 格式化为swap
sudo mkswap /var/swapfile
- 使上面的设置生效
sudo swapon /var/swapfile
- 为了以后开机自动挂载swap, 将其加入/etc/fstab
sudo vi /etc/fstab
这时候按i,a,o这三个小写字母的任何一个进入编辑模式,这样就可以写东西了。把下面的内容复制到里面,注意复制和粘贴是ctrl + shift +c和ctrl + shift + v,不是ctrl+c ,ctrl+v操作
/var/swapfile none swap defaults 0 0
写完后按esc,再按:x这样就保存并退出了。
下面是我的截图。
你的这个文件里可能比我要多好几行,这个不用关心,只要复制就可以了。
7. 如果对这个/swapfile不满意,比如想更改大小,可以这样
sudo swapoff -a 关掉swap
sudo rm -f /swapfile 删掉当前swapfile
从第一步开始,再走一遍吧。
使用free命令查看设置的效果
为什么我的硬盘还有空间,就是有一部分不能用?
我的/dev/sdb7硬盘265G使用了247G,但无法再存东西了,明明空间很充足啊
因为ext4系统默认会给超级用户预留5%的空间,可以使用
sudo tune2fs -m 0.1 /dev/sdb7
将这5%设置成0.1%,又可以继续存东西了。
当然,这种情况原因很多,我就说了我遇到的一种。
deepin系统ROOT用户按tab没有自动补全
sudo vim /etc/bash.bashrc
2.取消以下注释,把#去掉
#if [ -f /etc/bash_completion ]; then
#. /etc/bash_completion
#fi
3.将
source /etc/bash.bashrc
追加至/etc/profile,每次开机都会运行这条指令了。
软件包常用命令
sudo apt update 更新软件包,并提醒是否安装
sudo apt upgrade 升级本地软件
以上两条经常使用到,也是用的最多的主要用于升级,如果你安装软件提示依赖不足,可以执行以上两条指令,并重启电脑。
注意,在使用sudo命令系统会让你输入管理员密码,linux下输入密码大多没有提示,不像windows会用****提醒你输入了几个密码。输入好后直接回车即可
安装软件
sudo apt install <包名>
例如我安装火狐浏览器
sudo apt install firefox
安装软件后,软件的安装包没有删除可以用如下命令删除下载的安装包
sudo apt autoclean 清理未安装软件的安装包
sudo apt clean 清理所有安装包
卸载软件
sudo apt purge <包名>
如何知道自己安装了哪些包?
如果我知道我安装了百度网盘,但是不知道他的全名,我只知道包名字里有baidu怎么办?可以使用下面的第二条指令
dpkg -l 列出所有安装的包
dpkg -l | grep -i baidu 在所有的包里查找名字里含有baidu的包并显示出来
-i的意思是匹配baidu时忽略大小写。
找到包名后就可以sudo apt purge <包名>就可以了
删除软件的配置文件
你可能注意到使用dpkg -l时在列出的软件里最左边大部分是ii标志,也有一些是rc标志。ii表示这个包被安装,rc表示包被卸载但配置残余还在。
使用
dpkg -l |grep ^rc #注释rc前面加^表示找出以rc开头的内容
语句查看是否有这类残余,你的终端没有输出就是没有这类软件,如果有执行下面语句来彻底清理,至于下面语句如何实现,我这里就不解释了,篇幅会过长,可能会劝退新手。
dpkg -l | grep '^rc' | awk '{print $2}' | sudo xargs dpkg --purge
linux系统的一个软件安装包会依赖一些小包才能正常运行。假设我同时安装了谷歌浏览器和火狐浏览器,他们同时依赖一个名叫a的小包,当我把这两个浏览器卸载后这个a小包就没有其他软件包使用它了,那么他就变成了孤包,像孤儿一样。像这样的包系统可能有很多,大多是在软件卸载后产生的,可以使用以下命令卸载这些孤独的包,还是一样,如果终端没有输出,表明没孤包
sudo apt autoremove
以下是对grep的补充,可以不看
grep用于匹配文件里面的内容,和find有所区别。grep是用正则号,而find是用用通配符
. 表示任意一个字符。
在grep “c*” file表达式中,*前面添加单个的任何字符都没有意义(显示所有内容)。
grep "cc*"显示所有含c的行,(所有的c都高亮)
grep "ccc*"匹配所有含cc的行
grep [abc] file :只要一行含有abc中的任意一个字符,那么显示这一行(所有abc高亮)
[a-zA-Z] :表示匹配一个字符,这个字符必须是a-z或A-Z这52个字母中的一个。
[^123] :匹配一个字符,这个字符是除了1、2、3以外的所有字符。
对于一些常用的字符集,系统做了定义:
[A-Za-z] 等价于 [[:alpha:]]
[0-9] 等价于 [[:digit:]]
[A-Za-z0-9] 等价于 [[:alnum:]]
tab,space 等空白字符 [[:space:]]
[A-Z] 等价于 [[:upper:]]
[a-z] 等价于 [[:lower:]]
标点符号 [[:punct:]]
du命令
对当前目录排序,包含隐藏和未隐藏文件(只显示当前文件夹和文件,不显示子目录)
du -sh .[!.]* * |sort -nr
批量复制
find . -name “*log”|xargs -t -i cp {} /home/hadoop/logs/
。。。未完待续