dev目录清理 linux_linux /dev/sda1 电脑磁盘怎么清理 - CSDN
精华内容
参与话题
  • linux清理命令及常用命令

    千次阅读 2018-03-14 11:38:50
    虽然linux下不会有windows下的那么多垃圾和磁盘碎片!但还是会留下一些用不着的临时文件或是多次升级后的N个旧的内核!1,非常有用的清理命令:sudo apt-get autocleansudo apt-get cleansudo apt-get autoremove这三...

    虽然linux下不会有windows下的那么多垃圾和磁盘碎片!但还是会留下一些用不着的临时文件或是多次升级后的N个旧的内核!

    1,非常有用的清理命令:
    sudo apt-get autoclean
    sudo apt-get clean

    sudo apt-get autoremove这三个命令主要清理升级缓存以及无用包的

    2,清理opera firefox的缓存文件
    ls ~/.opera/cache4
    ls ~/.mozilla/firefox/*.default/Cache

    3,清理Linux下孤立的包
    图形界面下我们可以用:gtkorphan
    sudo apt-get install gtkorphan -y

    终端命令下我们可以用:deborphan
    sudo apt-get install deborphan -y

    4,卸载:tracker
    这个东西一般我只要安装ubuntu就会第一删掉tracker 他不仅会产生大量的cache文件而且还会影响开机速度。所以在新得利里面删掉就行。

    5,删除多余的内核:一定不要删错哦,切记!!
    打开终端敲命令:dpkg –get-selections|grep linux
    有image的就是内核文件
    删除老的内核文件:
    sudo apt-get remove 内核文件名 (例如:linux-image-2.6.27-2-generic)
    内核删除,释放空间了,应该能释放130-140M空间。
    最后不要忘了看看当前内核:uname -a

    附录: (包管理的临时文件目录)
    包在: /var/cache/apt/archives

    没有下载完的在: /var/cache/apt/archives/partial

    6. 备份系统, 打开终端,输入以下命令:

    1) 成为根用户:   sudo su

    2) 转到根目录:   cd /

    然後,下面就是我用来备份我的系统的完整的命令:
    tar -cvpzf /media/sda7/backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/sys --exclude=/media /

    接着,让我们稍微解释一下:
    tar 是用来备份的程序
    c - 新建一个备份文档
    v - 详细模式, tar程序将在屏幕上实时输出所有信息。
    p - 保存许可,并应用到所有文件。
    z - 采用‘gzip’压缩备份文件,以减小备份文件体积。
    f - 说明备份文件存放的路径, /media/sda7/backup.tgz 是本例子中备份文件名。这个备份文件备份的位置是其它分区,也就是原来的WIN分区中。因为我的根目录的空间不足,所以只有备份在其它的地方了。
    来看看我们想要包含的目录。我们不想备份所有的东西,因为有些目录是没有多大用处的。确认你不想包含的文件,否则您会得到一个很奇怪的结果。您也不必备份 /mnt 目录下的东西,除非您有其他分区挂在它下面或者你坚持要备份。您还必须确保没有任何资源挂在 /media目录下(比如,任何CD或者移动存储介质).否则,剔除/media。
    * 最後一个参数是我们想要保存的目录. 我们想要保存所有的东西,使用 / 作为根目录。

    然后就是将来还原系统备份了:

    警告: 求您了,看在上帝的份上,千万小心这儿。如果您不明白您正在干什么,那很有可能复盖掉您重要的数据,所以请特别小心!

    好了,继续我们前面所讲的例子,我们在其它分区(sda7)目录下创建了一个名为backup.tgz的备份文件。

    Linux中美妙的事情之一就是在系统正在运行的情况下可以进行还原操作,而不需要启动光盘或者其他任何乱七八糟的东西。当然,如果您的系统已经崩溃,那您必须选择使用live CD,但是结果还是一样。你甚至可以在Linux系统正在运行的时候,移除它里面所有文件。可是我不告诉你那个命令!

    好了,言归正传。这是我要用的命令,如果你的备份不是在和我一样的位置的位置的话,那请相应地修改/media/sda7这一点:

    tar -xvpzf /media/disk/backup.tgz -C /

    如果您使用的是bz2压缩的:

    tar -xvpjf /media/disk/backup.tar.bz2 -C /

    +++++++++++++++++++++++++++++++++++++++++++++++

    Ubuntu常用的命令 http://hi.baidu.com/ycerror/blog/item/41a9272d62a9ab3e359bf71a.html

    +++++++++++++++++++++++++++++++++++++++++++++++

    查看软件xxx安装内容:dpkg -L xxx
    查找软件库中的软件:apt-cache search 正则表达式
    查找软件库中的软件:aptitude search 软件包
    查找文件属于哪个包:dpkg -S filename
    查找文件属于哪个包:apt-file search filename
    查询软件xxx依赖哪些包:apt-cache depends xxx
    查询软件xxx被哪些包依赖:apt-cache rdepends xxx
    增加一个光盘源:sudo apt-cdrom add
    系统升级:sudo apt-get update;sudo apt-get dist-upgrade
    清除已删除包的残馀配置文件:dpkg -l |grep ^rc|awk ‘{print $2}’ |sudo xargs dpkg -P
    编译时缺少h文件的自动处理:sudo auto-apt run ./configure
    查看安装软件时下载包的临时存放目录:ls /var/cache/apt/archives
    备份当前系统安装的所有包的列表:dpkg –get-selections | grep -v deinstall > ~/somefile
    从备份的安装包的列表文件恢复所有包:dpkg –set-selections < ~/somefile;sudo dselect
    清理旧版本的软件缓存:sudo apt-get autoclean
    清理所有软件缓存:sudo apt-get clean
    删除系统不再使用的孤立软件:sudo apt-get autoremove
    查看包在服务器上面的地址:apt-get -qq –print-uris install ssh | cut -d\’ -f2
    查看内核:uname -a
    查看Ubuntu版本:cat /etc/issue 或 lsb_release -a
    查看内核加载的模块:lsmod
    查看PCI设备:lspci
    查看USB设备:lsusb -v
    查看网卡状态:sudo ethtool eth0
    查看CPU信息:cat /proc/cpuinfo
    显示当前硬件信息:sudo lshw
    显示系统运行时间:uptime
    查看硬盘的分区:sudo fdisk -l
    硬盘分区:sudo fdisk /dev/sda
    硬盘格式化:sudo mkfs.ext3 /dev/sda1
    硬盘检查(请不要检查已经挂载的分区,否则容易损坏数据):sudo fsck /dev/sda1
    分区挂载:sudo mount -t 文件系统类型 (-o nls=utf8 或 -o iocharset=utf8) 设备路经 访问路经
    分区卸载:sudo umount 目录名或设备名
    查看IDE硬盘信息:sudo hdparm -i /dev/hda
    查看STAT硬盘信息 :sudo hdparm -I /dev/sda 或 sudo blktool /dev/sda id
    查看硬盘剩馀空间:df
    查看目录占用空间:du -hs 目录名
    优盘没法卸载:sync;fuser -km /media/usbdisk
    查看硬盘当前读写情况:sudo iostat -x 2
    查看当前的内存使用情况:free
    动态显示进程执行情况:top
    查看当前有哪些进程:ps -A
    查看当前进程树:pstree
    中止一个进程:kill 进程号 或 killall 进程名
    强制中止一个进程:kill -9 进程号 或 killall -9 进程名
    图形方式中止一个程序:xkill 出现骷髅标志的鼠标,点击需要中止的程序即可
    查看进程打开的文件:lsof -p
    显示开启文件abc.txt的进程 :lsof abc.txt
    显示22端口现在运行什么程序 :lsof -i :22
    显示nsd进程现在打开的文件 :lsof -c nsd
    在后台运行程序,退出登录后,并不结束程序 :nohup 程序 &
    详细显示程序的运行信息 :strace -f -F -o outfile
    增加系统最大打开文件个数:ulimit -n 4096 或 echo 4096 > /proc/sys/fs/file-max
    配置 ADSL :sudo pppoeconf
    ADSL手工拨号:sudo pon dsl-provider
    激活 ADSL:sudo /etc/ppp/pppoe_on_boot
    断开 ADSL :sudo poff
    查看拨号日志:sudo plog
    如何设置动态域名:w3m -no-cookie -dump ‘http://usere:pass@members.3322.org/dyndns/update?system=dyndns&hostname=yourdns.3322.org’
    根据IP查网卡地址 :arping IP地址
    根据IP查电脑名 :nmblookup -A IP地址
    查看当前IP地址 :ifconfig eth0 |awk ‘/inet/ {split($2,x,”:”);print x[2]}’
    查看当前外网的IP地址 :w3m -no-cookie -dump www.123cha.com|grep -o ‘[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}’
    查看当前监听80端口的程序 :lsof -i :80
    查看当前网卡的物理地址:arp -a | awk ‘{print $4}’
    同一个网卡增加第二个IP地址 :sudo ifconfig eth0:0 1.2.3.4 netmask 255.255.255.0
    立即让网络支持nat :echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward; sudo iptables -t nat -I POSTROUTING -j MASQUERADE
    查看路由信息:netstat -rn 或 sudo route -n
    手工增加一条路由 :sudo route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1
    手工删除一条路由:sudo route del -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1
    修改网卡MAC地址的方法 :sudo ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE
    统计当前IP连接的个数 :netstat -na|grep ESTABLISHED|awk ‘{print $5}’|awk -F: ‘{print $1}’|sort|uniq -c|sort -r -n
    屏蔽IPV6 :echo ‘blacklist ipv6′ | sudo tee /etc/modprobe.d/blacklist-ipv6
    察看当前网络连接状况以及程序 :sudo netstat -atnp
    查看ADSL的当前流量:sudo ethstatus -i ppp0
    查看域名的注册备案情况:whois baidu.cn
    查看到某一个域名的路由情况:tracepath baidu.cn
    重新从服务器获得IP地址 :sudo dhclient
    下载网站文档:wget -r -p -np -k http://www.xxx.com
    如何5个线程下载:axel -n 5 http://www.xxx.com/downloadfile.zip
    添加一个服务:sudo update-rc.d 服务名 defaults 99
    删除一个服务 :sudo update-rc.d 服务名 remove
    临时重启一个服务:/etc/init.d/服务名 restart
    临时关闭一个服务:/etc/init.d/服务名 stop
    临时启动一个服务:/etc/init.d/服务名 start
    增加用户:sudo adduser 用户名
    删除用户:sudo deluser 用户名
    修改当前用户的密码:passwd
    修改用户密码:sudo passwd 用户名
    修改用户资料:sudo chfn userid
    如何禁用某个帐户:sudo usermod -L 用户名 或 sudo passwd -l 用户名
    如何启用某个帐户:sudo usermod -U 用户名 或 sudo passwd -u 用户名
    增加用户到admin组:sudo usermod -G admin -a 用户名
    配置默认Java使用哪个 :sudo update-alternatives –config java
    终端设置代理 :export http_proxy=http://xx.xx.xx.xx:xxx
    修改系统登录信息:sudo vim /etc/motd
    使用sun的java编译器:sudo update-java-alternatives -s java-6-sun
    切换输入法引擎:im-switch -c
    转换文件名由GBK为UTF8 :convmv -r -f cp936 -t utf8 –notest –nosmart *
    转换文件内容由GBK到UTF8 :iconv -f gbk -t utf8 $i > newfile
    转换 mp3 标签编码 :sudo apt-get install python-mutagen;find . -iname ‘*.mp3′ -execdir mid3iconv -e GBK {} \;
    控制台下显示中文 :sudo apt-get install zhcon;zhcon –utf8 –drv=vga
    lftp 登录远程Windows中文FTP :lftp :~>set ftp:charset GBK
    PDF 文件乱码 :sudo apt-get install xpdf-chinese-simplified xpdf-chinese-traditional poppler-data
    一屏查看文件内容 :cat 文件名
    分页查看文件内容:more 文件名
    可控分页查看文件内容:less 文件名
    根据字符串匹配来查看文件部分内容:grep 字符串 文件名
    显示包含字符串的文件名:grep -l -r 字符串 路径
    显示不包含字符串的文件名:grep -L -r 字符串 路径
    快速查找某个文件:find 目录 -name 文件名
    创建两个空文件:touch file1 file2
    递归式创建一些嵌套目录:mkdir –p /tmp/xxs/dsd/efd
    递归式删除嵌套目录:rm –fr /tmp/xxs
    回当前用户的宿主目录:cd ~
    查看当前所在目录的绝对路经:pwd
    列出当前目录下的所有文件:ls -a
    移动路径下的文件并改名:mv 路径/文件 /新路径/新文件名
    复制文件或者目录:cp -av 原文件或原目录 新文件或新目录
    查看文件类型:file filename
    对比两个文件之间的差异:diff file1 file2
    显示xxx文件倒数6行的内容 :tail -n 6 xxx
    不停地显示最新的内容 :tail -n 10 -f /var/log/apache2/access.log
    查看文件第五行到第10行的内容 :sed -n ‘5,10p’ /var/log/apache2/access.log
    查找关于xxx的命令 :apropos xxx 或 man -k xxx
    通过ssh传输文件 :scp -rp /path/filename username@remoteIP:/path
    把所有文件的后辍由rm改为rmvb :rename ’s/.rm$/.rmvb/’ *
    把所有文件名中的大写改为小写:rename ‘tr/A-Z/a-z/’ *
    删除特殊文件名 –help.txt 的文件:rm — –help.txt 或 rm ./–help.txt
    查看当前目录的子目录:ls -d */. 或 echo */.
    将最近30天访问过的文件移动到上级back目录 :find . -type f -atime -30 -exec mv {} ../back \;
    显示一小时以内的包含 xxxx 的文件:find . -type f -mmin -60|xargs -i grep -l xxxx ‘{}’
    显示最近2小时到8小时之内的文件:find . -mmin +120 -mmin -480 -exec more {} \;
    删除修改时间在30天之前的文件 :find . -type f -mtime +30 -mtime -3600 -exec rm {} \;
    删除创建时间在30天之前的文件 :find . -type f -ctime +30 -ctime -3600 -exec rm {} \;
    删除掉guest的以avi或rm结尾的文件:find . -name ‘*.avi’ -o -name ‘*.rm’ -user ‘guest’ -exec rm {} \;
    删除掉不以java和xml结尾7天没有使用的文件 :find . ! -name *.java ! -name ‘*.xml’ -atime +7 -exec rm {} \;
    删除所有的 .svn 目录 :find . -name .svn -type d -exec rm -fr {} \;
    删除所有以“~”结尾的临时文件 :find . -name ‘*~’ -exec rm {} \;
    统计当前文件个数:ls .|wc -w
    统计当前目录个数:ls -l |grep ^d|wc -l
    显示当前目录下2006-01-01的文件名 :ls -l |grep 2006-01-01 |awk ‘{print $8}’
    使用ssh方式同步远程数据到本地目录 :rsync -Pa -I –size-only –delete –timeout=300 Remote_IP:/home/ubuntu /backup
    增加 7Z 压缩软件:sudo apt-get install p7zip p7zip-full p7zip-rar
    增加 rar 软件压缩和解压缩支持 :sudo apt-get install rar unrar
    解压缩 xxx.tar.gz :tar -zxvf xxx.tar.gz
    解压缩 xxx.tar.bz2 :tar -jxvf xxx.tar.bz2
    压缩aaa bbb目录为xxx.tar.gz :tar -zcvf xxx.tar.gz aaa bbb
    压缩aaa bbb目录为xxx.tar.bz2 :tar -jcvf xxx.tar.bz2 aaa bbb
    增加 lha 支持 :sudo apt-get install lha
    增加解 cab 文件支持 :sudo apt-get install cabextract
    显示日历:cal
    设置日期:date -s mm/dd/yy
    设置时间:date -s HH:MM
    将时间写入CMOS :hwclock –systohc
    查看CMOS时间 :hwclock –show
    读取CMOS时间 :hwclock –hctosys
    从服务器上同步时间 :sudo ntpdate ntp.ubuntu.com
    设置电脑的时区为上海:sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    关闭UTC,将当前时间写入CMOS。:sudo sed -ie ’s/UTC=yes/UTC=no/g’ /etc/default/rcS;sudo hwclock –systohc
    修改mysql的root口令 :sudo mysqladmin -u root -p password ‘你的新密码’
    如何使用命令关闭显示器 :xset dpms force off
    设置CPU的频率 :sudo apt-get install cpufrequtils;sudo cpufreq-info
    命令关机:sudo halt
    现在关机:sudo shutdown -h now
    晚上11点自动关机:sudo shutdown -h 23:00
    60分钟后关机:sudo shutdown -h +60
    命令重启电脑:sudo reboot
    现在重启电脑:sudo shutdown -r now
    关闭笔记本的触摸板 :synclient touchpadoff=1
    开启笔记本的触摸板:synclient touchpadoff=0
    统计每个单词的出现频率并排序 :awk ‘{arr[$1]+=1 }END{for(i in arr){print arr[i]“\t”i}}’ FILE_NAME | sort -rn
    统计80端口的连接并排序 :netstat -na|grep :80|awk ‘{print $5}’|awk -F: ‘{print $1}’|sort|uniq -c|sort -r -n
    把终端加到右键菜单:sudo apt-get install nautilus-open-terminal
    如何删除Totem电影播放机的播放历史记录 :rm ~/.recently-used
    vim 如何显示彩色字符 :sudo cp /usr/share/vim/vimcurrent/vimrc_example.vim /usr/share/vim/vimrc
    让 vim 直接支持编辑 .gz 文件 :sudo apt-get install vim-full
    vim 如何显示行号::set number
    查看在会话设置的启动程序:ls ~/.config/autostart
    提高wine的反应速度 :sudo sed -ie ‘/GBK/,/^}/d’ /usr/share/X11/locale/zh_CN.UTF-8/XLC_LOCALE
    制作ISO文件:mkisofs -o test.iso -Jrv -V test_disk /home/carla/
    延迟10秒抓图:gnome-screenshot -d 10
    延迟5秒抓当前激活窗口:gnome-screenshot -w -d 5
    如何命令行刻录:cdrecord -scanbus;cdrecord -v -eject speed=8 dev=1,1,0 test.iso
    回收站在哪里:~/.local/share/Trash/
    默认打开方式的配置文件在哪里:~/.local/share/applications/mimeapps.list
    如何查看HTTP头:w3m -dump_head http://www.xxx.com
    连续监视内存使用情况:watch -d free
    如何切换到root帐号:sudo -Hs
    只读挂载ntfs分区:sudo mount -t ntfs -o nls=utf8,umask=0 /dev/sdb1 /mnt/c
    可写挂载ntfs分区:sudo mount -t ntfs-3g -o locale=zh_CN.utf8,umask=0 /dev/sdb1 /mnt/c
    挂载fat32分区:sudo mount -t vfat -o iocharset=utf8,umask=0 /dev/sda1 /mnt/c
    挂载共享文件:sudo mount -t smbfs -o username=xxx,password=xxx,iocharset=utf8 //192.168.1.1/share /mnt/share
    挂载ISO文件:sudo mount -t iso9660 -o loop,utf8 xxx.iso /mnt/iso
    带行号显示文件的内容:nl 文件名
    批 量将rmvb转为avi:for i in *; do mencoder -oac mp3lame -lameopts vbr=3 -ovcxvid -xvidencopts fixed_quant=4 -of avi $i -o `echo $i | sed -e’s/rmvb$/avi/’`; done
    批量将svg转为png:for i in *; do inkscape $i –export-png=`echo $i | sed -e ’s/svg$/png/’`; done
    批量缩小图片到30%:for i in *; do convert -resize 30%x30% $1 sm-$1; done
    批量转换jpg到png:for i in *; do convert $i `echo $i | sed -e ’s/jpg$/png/’`; done
    获取jpg的扩展信息(Exif):identify -verbose xxx.jpg
    查看当前系统所有的监听端口:nc -zv localhost 1-65535
    去掉文件中的^M:cat filename | tr -d “^M” > newfile
    去掉文件中的^M:sed -e “s/^M//g” filename > newfile
    转换bin/cue到iso文件:sudo apt-get install bchunk;bchunk image.bin image.cue image
    转换目录到iso文件:mkisofs dirname -o isofile.iso
    转换CD到iso文件:dd if=/dev/cdrom of=isofile.iso
    ape 转换为flac:sudo apt-get install flac shntool;shntool split -t“%n.%p-%t” -f example_UTF-8.cue -o flac example.ape -d flacOutputDir
    ape转换为 mp3:sudo apt-get install flac shntool lame;shntool split -t“%n.%p-%t” -f example_UTF-8.cue -o ‘cust ext=mp3 lame –r3mix -b 320–quiet – %f’ example.ape -d mp3OutputDir
    检查本地是否存在安全隐患:sudo apt-get install rkhunter;rkhunter –checkall
    如何安装杀毒软件:sudo apt-get install clamav;clamscan -r ~/
    查看网络连接状态:netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’
    统计程序的内存耗用:ps -eo fname,rss|awk ‘{arr[$1]+=$2} END {for (i in arr) {print i,arr[i]}}’|sort -k2 -nr
    显示当前内存大小:free -m |grep “Mem” | awk ‘{print $2}’
    按内存从大到小排列进程:ps -eo “%C : %p : %z : %a”|sort -k5 -nr
    按cpu利用率从大到小排列进程:ps -eo “%C : %p : %z : %a”|sort -nr
    统计当前目录下所有jpg文件的尺寸:find . -name *.jpg -exec wc -c {} \;|awk ‘{print $1}’|awk ‘{a+=$1}END{print a}’
    清除僵死进程:ps -eal | awk ‘{ if ($2 == “Z”) {print $4}}’ | sudo kill -9
    CD 抓轨为 mp3 (有损):sudo apt-get install abcde;abcde -o mp3 -b
    CD 抓轨为 Flac (无损):sudo apt-get install abcde;abcde -o flac -b
    显示系统安装包的统计信息:apt-cache stats
    显示系统全部可用包的名称:apt-cache pkgnames
    显示包的信息:apt-cache show k3b

    展开全文
  • Linux /dev/sda1磁盘满了,清理办法。

    万次阅读 2019-08-24 12:52:27
    查看内存使用情况 df -lh Filesystem Size Used Avail Use% Mounted on udev 3.9G 0 3.9G 0% /dev tmpfs 789M 9.4M 780M 2% /run /dev/sda1 28G 27G 6.1M 100% / tmpfs ...

    查看内存使用情况

    df -lh 

    Filesystem      Size  Used Avail Use% Mounted on
    udev            3.9G     0  3.9G   0% /dev
    tmpfs           789M  9.4M  780M   2% /run
    /dev/sda1        28G   27G  6.1M 100% /
    tmpfs           3.9G  248M  3.7G   7% /dev/shm
    tmpfs           5.0M  8.0K  5.0M   1% /run/lock
    tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
    /dev/sda7       404G  184G  200G  48% /home
    tmpfs           789M  128K  789M   1% /run/user/1000
     

    两种情况比较多

    1.查看/tmp 所占的内存,不想重启,可以手动清理

    2./var/log/syslog.1 所占的内存,清空

    •  

    可以使用下面指令删除30天钱的文件

    sudo find /var/log/ -type f -mtime +30 -exec rm -f {} \;

    3.

    清理linux系统垃圾还有以下命令
    sudo apt-get autoclean 清理旧版本的软件缓存
    sudo apt-get clean 清理所有软件缓存
    sudo apt-get autoremove 删除系统不再使用的孤立软件

    展开全文
  • 快速删除大文件1. 通过重定向到 Null 来清空文件内容清空或者让一个文件成为空白的最简单方式,是像下面那样,通过 shell 重定向 null (不存在的事物)到该文件:# &gt; access.log2.使用 : 符号使用 : 符号,...
    快速删除大文件

    1. 通过重定向到 Null 来清空文件内容清空或者让一个文件成为空白的最简单方式,是像下面那样,通过 shell 重定向 null (不存在的事物)到该文件:

    # > access.log

    2.使用 : 符号

    使用 : 符号,它是 shell 的一个内置命令,等同于 true 命令,它可被用来作为一个 no-op(即不进行任何操作)。另一种清空文件的方法是将 : 或者 true 内置命令的输出重定向到文件中,具体如下:

    # : > access.log # true > access.log

    3.使用 cat/cp/dd 实用工具及 /dev/null 设备来清空文件

    在 Linux 中, null 设备基本上被用来丢弃某个进程不再需要的输出流,或者作为某个输入流的空白文件,这些通常可以利用重定向机制来达到,所以 /dev/null 设备文件是一个特殊的文件,它将清空送到它这里来的所有输入,而它的输出则可被视为一个空文件。另外,你可以通过使用 cat命令 显示 /dev/null 的内容然后重定向输出到某个文件,以此来达到清空该文件的目的。

    # cat /dev/null > access.log

    下面,我们将使用 cp命令 复制 /dev/null 的内容到某个文件来达到清空该文件的目的,具体如下所示:

    # cp /dev/null access.log

    而下面的命令中, if 代表输入文件,of 代表输出文件。

    # dd if=/dev/null of=access.log

    4. 使用 echo 命令清空文件

    在这里,你可以使用 echo命令 将空字符串的内容重定向到文件中,具体如下:

    # echo "" > access.log 或者 # echo > access.log

    注意:你应该记住空字符串并不等同于 null 。字符串表明它是一个具体的事物,只不过它的内容可能是空的,但 null 则意味着某个事物并不存在。基于这个原因,当你将 echo命令 的输出作为输入重定向到文件后,使用cat命令来查看该文件的内容时,你将看到一个空白行(即一个空字符串)。要将 null 做为输出输入到文件中,你应该使用 -n 选项,这个选项将告诉 echo 不再像上面的那个命令那样输出结尾的那个新行。

    # echo -n "" > access.log

    5. 使用 truncate 命令来清空文件内容

    truncate 可被用来将一个文件缩小或者扩展到某个给定的大小。你可以利用它和 -s 参数来特别指定文件的大小。要清空文件的内容,则在下面的命令中将文件的大小设定为 0:

    # truncate -s 0 access.log

    我要介绍的就是这么多了。在本文中,我们介绍了几种通过使用一些简单的命令行工具和 shell 重定向机制来清除或清空文件内容的方法。

    6.使用rsync命令

    假如你有一些特别大的文件要删除,比如nohup.out这样的实时更新的文件,动辄都是几十个G上百G的,也可以用rsync来清空大文件,而且效率比较高。

    1)创建空文件

    # touch/data/blank.txt

    2)用rsync清空文件

    # rsync -a --delete-before --progress --stats /root/blank.txt /root/nohup.out

    快速删除大量文件

    假如你要在linux下删除大量文件,比如100万、1000万,像/var/spool/clientmqueue/的mail邮件,/usr/local/nginx/proxy_temp的nginx缓存等,那么rm -rf *可能就不好使了。 rsync 可以用来清空目录或文件,如下:

    1)先建立一个空目录# mkdir/data/blank

    2)用rsync删除目标目录

    # rsync --delete-before -d /data/blank/ /var/spool/clientmqueue/

    这样目标目录很快就被清空了

    注:其中--delete-before 接收者在传输之前进行删除操作

    为什么rsync能够快速删除大文件?

    1rm命令大量调用了lstat64和unlink,可以推测删除每个文件前都从文件系统中做过一次lstat操作。过程:正式删除工作的第一阶段,需要通过getdirentries64调用,分批读取目录(每次大约为4K),在内存中建立rm的文件列表;第二阶段,lstat64确定所有文件的状态;第三阶段,通过unlink执行实际删除。这三个阶段都有比较多的系统调用和文件系统操作。

    2rsync所做的系统调用很少没有针对单个文件做lstat和unlink操作。命令执行前期,rsync开启了一片共享内存,通过mmap方式加载目录信息。只做目录同步,不需要针对单个文件做unlink。另外,在其他人的评测里,rm的上下文切换比较多,会造成System CPU占用较多——对于文件系统的操作,简单增加并发数并不总能提升操作速度。 总结:频繁做减法不如直接从头来过把文件系统的目录与书籍的目录做类比,rm删除内容时,将目录的每一个条目逐个删除(unlink),需要循环重复操作很多次;rsync删除内容时,建立好新的空目录,替换掉老目录,基本没开销。

    参考:https://blog.csdn.net/liuxiao723846/article/details/51626305

    展开全文
  • 查看磁盘占用率 df-h,这时是100%(截图是清理之后的)  进入根目录cd /,执行du -sm * | sort -n(磁盘占用的升序排列) 或du -h --max-depth=1du: 进入占用空间较大的目录,继续执行du -sm * | sort -n,...

    CnetOS7,磁盘空间不足,进行如下操作可释放空间。

    1. df-h
    2. 查看磁盘占用率 df-h,这时是100%(截图是清理之后的) 
    3. 进入根目录cd /,执行du -sm * | sort -n(磁盘占用的升序排列) 或du -h --max-depth=1du:
    4. 进入占用空间较大的目录,继续执行du -sm * | sort -n,删除不重要的文件
    5. 一步步找到大文件,删除。
    6. 清理效果:

     

    展开全文
  • Linux /dev目录详解和Linux系统各个目录的作用

    万次阅读 多人点赞 2012-01-11 23:21:27
    Linux /dev目录详解  在linux下,/dev目录是很重要的,各种设备都在下面。下面简单总结一下:  dev是设备(device)的英文缩写。/dev这个目录对所有的用户都十分重要。因为在这个目录中包含了所有Linux系统中...
  • Linux /dev目录详解 在linux下,/dev目录是很重要的,各种设备都在下面。下面简单总结一下: dev是设备(device)的英文缩写。/dev这个目录对所有的用户都十分重要。因为在这个目录中包含了所有Linux系统中使用的...
  • LINUX下/dev目录详解

    千次阅读 2012-10-26 09:34:17
    Linux /dev目录详解  在linux下,/dev目录是很重要的,各种设备都在下面。下面简单总结一下:  dev是设备(device)的英文缩写。/dev这个目录对所有的用户都十分重要。因为在这个目录中包含了所有Linux系统中...
  • Linux /dev目录详解

    千次阅读 2014-03-19 20:16:24
    Linux /dev目录详解  在linux下,/dev目录是很重要的,各种设备都在下面。下面简单总结一下:  dev是设备(device)的英文缩写。/dev这个目录对所有的用户都十分重要。因为在这个目录中包含了所有Linux系统...
  • 如何清理Linux服务器磁盘空间

    万次阅读 2018-04-04 18:17:28
    一看,原来是磁盘空间被占满啦,那么,怎么清理呢。介绍如下:df -h ,这个命令用于查看服务器空间,运行后的效果图如下:可以看到,还剩余8G可用。du -h --max-depth=1,这个命令用于查看当前目录,哪个文件占用...
  • Linux /dev目录详解 在linux下,/dev目录是很重要的,各种设备都在下面。下面简单总结一下: dev是设备(device)的英文缩写。/dev这个目录对所有的用户都十分重要。因为在这个目录中包含了所有Linux系统中使用的外部...
  • VMware清理Linux虚拟机硬盘

    千次阅读 2019-03-19 16:38:41
    VMware使用Linux虚拟机的时候,所占的...清理Linux系统 清理已经删除的软件的.deb软件安装包 sudo apt-get autoclean 此时Linux的清理后产生了很多剩余空间,正是这些空间占用了大量的磁盘内容。 使用zero数据填充...
  • 1、首先查看磁盘占用情况 df -h Filesystem Size Used Avail Use% Mounted on/dev/xvda1 20G 18G 621M 97% /tmpfs 3.9G 1.1M 3.9G 1% /dev/shm/dev/xvdb1 197G 19G 169G 10% /opt 2、...
  • Linux目录爆满 解决(/dev/mapper/centos-root 100%问题)

    万次阅读 多人点赞 2018-03-12 19:27:59
    Linux目录爆满 解决 一、使用df -h命令查看,发现/根目录的剩余空间为0。总共系统盘容量才20G。 文件系统 容量 已用 可用 已用% 挂载点/dev/mapper/centos-root 20G 20G 20k 100% /devtmpfs 7.7G 0 ...
  • linux系统中各目录详解

    千次阅读 2014-03-18 19:33:39
    Linux /dev目录详解  在linux下,/dev目录是很重要的,各种设备都在下面。下面简单总结一下:  dev是设备(device)的英文缩写。/dev这个目录对所有的用户都十分重要。因为在这个目录中包含了所有Linux系统中...
  • linux下的shm目录

    千次阅读 2018-06-19 11:33:50
    /dev/shm这个目录linux下一个利用内存虚拟出来的一个目录,这个目录中的文件都是保存在内存中,而不是磁盘上。其大小是非固定的,即不是预先分配好的内存来存储的。(shm == shared memory) 简要说明 /dev/...
  • Linux系统盘空间/dev/xvda1占满,怎么清理空间,怎么清理access_log
  • VMWare清理Linux虚拟机磁盘

    万次阅读 2017-01-22 14:45:12
    玩过VMWare的都知道,Windows虚拟机清理磁盘非常简单,在GUI界面下选择磁盘清理就可以了,但是此操作对Linux系统无解。注意,这里说的VMWare包括Windows平台的VMWare Workstation和Mac OSX的VMWare Fusion。这里以...
  • linux /dev/vda1 磁盘满了,解决办法

    万次阅读 热门讨论 2018-06-28 11:11:01
    1、当使用df -h命令查看磁盘使用情况时发现满了2、这时候我们需要使用命令du -sh * 看哪个目录占用空间大比如 cd /usr3、当然你查看的文件路径还有其他,比如:cd /cd /etccd /home等等...
  • linux系统清理磁盘空间

    万次阅读 2016-10-02 00:58:08
    一、背景:1、由于linux系统空间是由挂载磁盘得来的,但有时装系统时挂载/根目录空间不大,现仅清除用户下载的大文件二、方法:1、输入命令df -h显示当前磁盘挂载(包含剩余空间)情况2、由上可看出/根目录空间不够...
1 2 3 4 5 ... 20
收藏数 31,424
精华内容 12,569
关键字:

dev目录清理 linux