Linux使用技巧收集/回顾


1.查看Linux系统信息的一些命令
lscpu
lshw
hwinfo
lspci
lsscsi
lsusb
inxi -Fx
lsblk
df
du
fdisk
mount
free
dmidecode
lsmod

/proc/cpuinfo
/proc/meminfo
/proc/version
/proc/partitions

xrandr --verbose	#显示各种支持分辨率
glxgears		#测试显卡驱动的性能
2.如何修改Linux用户的家目录($HOME)
搜索关键字:

http://search.aol.com/aol/search?q=Linux+how+to+change+a+exist+user+home+directory

参考链接:
结论(方法有两种):

1.直接修改”/etc/passwd”文件(要注意cp命令拷贝后的文件权限问题)

2.使用usermod命令(推荐

# usermod -m -d /path/to/new/home userName

-d dirnanme : Path to new login (home) directory.
-m : The contents of the current home directory will be moved to the new home directory, which is created if it does not already exist.
3.在Linux中如何高效的移动大量文件?
4.在Linux中如何高效的删除包含大量文件的目录?
搜索关键字:
参考链接:
结论(推荐方法):

如果碰到要在Linux下面删除大量文件夹的情况,如:需要删除100万个文件。这时,我们本来的删除命令 rm -rf * 就不好使了,因为太慢,而且会报错。这时我们可以使用 rsync 来实现快速删除大量文件的目的:

建立一个空的文件夹

# mkdir /root/blank

用rsync删除目标目录

# rsync --delete-before -a -H -v --progress --stats /root/blank/ ./cache/

这样删除的速度会非常快。

5.Linux的find命令的一些样例
在Linux下查找大文件的10个技巧:
#查找当前目录下大于50M的大文件(RedHat / CentOS / Fedora)
$ find . -type f -size +50000k -exec ls -lh {} \; 2>/dev/null | awk '{ print $NF ": " $5 }'
#倒序排列
$ find . -type f -size +50000k -exec ls -lh {} \; 2>/dev/null | awk '{ print $NF ": " $5 }' | sort -nrk 2,2

$ du -k | sort -n | perl -ne 'if ( /^(\d+)\s+(.*$)/){$l=log($1+.1);$m=int($l/log(1024)); printf  ("%6.1f\t%s\t%25s  %s\n",($1/(2**(10*$m))),(("K","M","G","T","P")[$m]),"*"x (1.5*$l),$2);}'

## Warning: only works with GNU coreutils >= 7.5 ##
$ du -hsx * | sort -rh | head -10

## Warning: only works with GNU find ##
$ find /path/to/dir/ -printf '%s %p\n'| sort -nr | head -10
参考链接:
6.在Linux下持续性监控某一目录中的文件变化的方法

#不少人推荐Inotify

搜索关键字:
参考链接:
7.在Linux下快速清空大文件的方法

$ : > big_file.txt

`:` 在Bash中是 `空操作` 的意思,所以上面的命令的意思为:以可写模式打开文件(这样会截断文件),然后立即关闭它。

,

《 “Linux使用技巧收集/回顾” 》 有 4 条评论

  1. 有哪些高效但是不常见的Linux命令?
    http://51reboot.com/bash-tricks/
    https://www.zhihu.com/question/25910725/answer/31764734
    https://www.zhihu.com/question/25910725/
    `
    1. mv xxxx{,.bak}等同于mv xxxx xxxx.bak
    2. esc + . 能填充之前命令的最后一个字段
    3. diff <(ssh host1 cat file1) <(ssh host2 cat file2) diff两个远程文件
    4. ctrl + r然后输入xxx,搜索之前包含xxx的命令
    5. Python -m SimpleHTTPServer,启动一个HTTP服务器,可以用来下载文件
    6. vim编辑文件后发现需要root权限, :w !sudo tee % 。(w:表示vim的修改操作,这个命令的输出更改后的文件到“标准输出”
    !sudo tee % :执行 一个 shell 命令, % 表示当前打开的这个文件的名字。
    整个命令就是 将w的输出传给 tee,tee 在root 权限下 把更改的内容存在文件当中。)
    7. ctrl+z可以把当前程序丢后台,fg命令可以恢复。
    8. 退出su,退出ssh,可以用ctrl+d(真有人不知道这个,手敲exit, logout)。
    9. sudo !!用sudo执行上条命令。
    10. 如果在前台运行了一个程序,但是你需要退出终端,保持程序继续在后台运行,你可以这样:ctrl+z,把程序放在后台;bg让程序继续运行;disown -h %1(%n是你jobs命令返回的那个,没有其它后台程序的话,一般是%1)。
    `

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注