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
参考链接:
- http://stackoverflow.com/questions/20797819/command-to-change-the-default-home-directory-of-a-user
- http://www.cyberciti.biz/faq/howto-change-default-home-directory/
- http://linoxide.com/linux-command/linux-usermod-command-to-modify-user-details/
- http://jesin.tk/change-home-directory-in-linux/
结论(方法有两种):
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中如何高效的移动大量文件?
- http://unix.stackexchange.com/questions/102852/what-is-the-most-efficient-way-to-move-a-large-number-of-files-that-reside-in-a
- http://stackoverflow.com/questions/11942422/moving-large-number-of-files
4.在Linux中如何高效的删除包含大量文件的目录?
搜索关键字:
参考链接:
- http://unix.stackexchange.com/questions/37329/efficiently-delete-large-directory-containing-thousands-of-files
- http://stackoverflow.com/questions/1795370/unix-fast-remove-directory-for-cleaning-up-daily-builds
- http://www.slashroot.in/which-is-the-fastest-method-to-delete-files-in-linux #挺牛逼的
- http://unix.stackexchange.com/questions/96935/faster-way-to-delete-large-number-of-files
结论(推荐方法):
如果碰到要在Linux下面删除大量文件夹的情况,如:需要删除100万个文件。这时,我们本来的删除命令 rm -rf * 就不好使了,因为太慢,而且会报错。这时我们可以使用 rsync 来实现快速删除大量文件的目的:
建立一个空的文件夹
# mkdir /root/blank
用rsync删除目标目录
# rsync --delete-before -a -H -v --progress --stats /root/blank/ ./cache/
这样删除的速度会非常快。
5.Linux的find命令的一些样例
- http://www.cyberciti.biz/tips/howto-linux-unix-find-move-all-mp3-file.html
- http://www.cyberciti.biz/faq/find-large-files-linux/ #查找大文件
在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
参考链接:
- http://www.thegeekstuff.com/2009/08/10-awesome-examples-for-viewing-huge-log-files-in-unix/
- http://www.cyberciti.biz/faq/how-do-i-find-the-largest-filesdirectories-on-a-linuxunixbsd-filesystem/
- http://linuxlookup.com/howto/find_all_large_files_linux_system
6.在Linux下持续性监控某一目录中的文件变化的方法
#不少人推荐Inotify
搜索关键字:
- linux monitor big files | linux find big files
- http://search.aol.com/aol/search?q=use+shell+to+find+big+files+and+mv+them
参考链接:
- http://stackoverflow.com/questions/18692134/continuously-monitor-a-directory-in-linux-and-notify-when-a-new-file-is-availabl
- http://stackoverflow.com/questions/4062806/inotify-how-to-use-it-linux
7.在Linux下快速清空大文件的方法
$ : > big_file.txt
`:` 在Bash中是 `空操作` 的意思,所以上面的命令的意思为:以可写模式打开文件(这样会截断文件),然后立即关闭它。
《 “Linux使用技巧收集/回顾” 》 有 4 条评论
检测 Linux 服务器硬件资源的 Bash 脚本
目前可以检查的资源有:包含服务器的型号,U数,Dell序列号,内存数,最大内存数,可以插的内存条数,已经用的内存条数,内存类型,硬盘大小,CPU 信息。主要利用的是 dmidecode 命令。
http://leolovenet.com/blog/2014/03/28/a-linux-server-hardware-detection-resource-script/
常见的Linux命令列表/技巧
http://www.pixelbeat.org/cmdline.html
http://www.pixelbeat.org/cmdline_zh_CN.html
How to Delete HUGE (100-200GB) Files in Linux (Linux下如何删除大量大文件)
https://www.tecmint.com/delete-huge-files-in-linux/
`
ionice
`
https://github.com/karelzak/util-linux/blob/master/schedutils/ionice.c
https://linux.die.net/man/1/ionice
有哪些高效但是不常见的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)。
`