1. shell是内核与用户接口。主要有两种①Bourne Shell(SH),它是UNIX最初使用的Shell。它有一种扩展Bourne Again Shell,简称Bash。②C Shell(CSH),语法与C语言相似,比如它有一个扩展是Tcsh。
  2. 检查当前系统运行的 :Shellecho $SHELL
  3. su 和su - 的区别:前者只是切换身份,后者切换身份和环境
  4. more:分屏显示,只能向后翻
  5. less:可以前后翻
  6. grep “root” /etc/passwd :在/etc/passwd中寻找“root”字符串
  7. find / -name ‘temp’ -o -name ‘install*’:查找更目录下名称为temp或和install*匹配的文件
  8. wc -clw f1:统计文件f1的字节数,行数,字数
  9. cp -b -r f1 f2 :递归复制f1到f2,若存在同名f2,则覆盖前先备份
  10. history :查看历史命令记录
  11. wc <f1 :用wc命令统计f1文件的相关信息,f1作为wc命令的输入(<,输入重定向)
  12. cat >f1:使用输出重定向,创建文件f1
  13. cat >>f1:向f1中追加信息
  14. java test 2>error :执行java程序的错误信息将输入到error文件中(2>错误信息重定向)
  15. /etc/passwd 用户账号文件;/etc/shadow 用户影子文件(包含用户的被加密后的密码等)
  16. useradd -d /newhome :添加用户并指定家目录
  17. fdisk /dev/sda :管理硬盘sda的分区
  18. mkfs -t ext4 /dev/sda1 给sda1分区创建ext4的文件系统
  19. ls -l显示文件详细信息,开头‘-’表示普通文件,‘d’表示目录文件,‘l’表示软连接,‘c’表示设备文件,‘s’表示套接字文件,‘p’表示管道文件
  20. /bin 存放基本二进制文件 ;/sbin存放root才能运行的二进制文件 ;/lib 存放系统最基本的动态链接共享库文件,类似windows的dll文件;/etc存放配置文件和脚本文件;/var存放不断变化的文件,如日志;/tmp存放临时文件;/boot存放系统启动所需文件,如系统内核;/dev 存放外围设备 ;/root root的家目录;/home 普通用户的 家目录;/mnt挂载其他分区的标准目录 ;/proc存放内核和进程信息的虚拟文件目录,内容在内存中,其中的内核参数一经修改立即生效;/usr一般文件的存放目录
  21. ln -s test.txt test.txt.softlink 给test.txt创建个软连接
  22. ln test.txt test.txt.hard 给test.txt创建个硬链接
  23. tar -cvf /usr/backup/home.jar /home :将整个home目录下的文件都打包成为/usr/backup/home.jar
  24. tar -zcvf /usr/backup/home.jar.gz /home :打包之后并使用gzip压缩
  25. tar -jcvf /usr/backup/home.jar.bz2 /home:打包之后并使用bzip2压缩
  26. tar -zxvf /usr/backup/home.tar.gz 解压缩
  27. zip mypro.zip *.c *.txt :将*.c和*.tex压缩成mypro.zip
  28. zip -g mypro.zip data/*.log:将data下的*.log文件进行压缩并添加到mypro.zip中
  29. unzip mypro.zip :解压缩
  30. gzip text :将text压缩
  31. gzip -d text.gz:将text.gz解压缩
  32. chmod u+rwx file1设置用户拥有对file1的读写执行权限
  33. chmod 600 file1 :设置file1权限为600,也就是文件拥有者有读写权利
  34. mount -t ext4 /dev/sdb1 /mnt/linux1 :将/dev/sdb1分区挂载到/mnt/linux1目录
  35. fdisk -l :查看系统硬盘和硬盘分区情况
  36. 永久挂载需要修改配置文件/etc/fstab
  37. umount /mnt/linux1或者umount /dev/sdb1:卸载文件系统
  38. 交换内存:分区类型的交换内存,文件类型的交换内存
  39. pvcreate /dev/sda6 :创建物理卷(之前需要将/dev/sda6分区类型修改为8e)
  40. vgcreate -s 8M vg0 /dev/sda6 :创建卷组vg0,并且指定PE块都8M(默认4M)
  41. lvcreate -n lv0 -L 200M /dev/vg0 :创建逻辑卷
  42. mkfs -t ext4 /dev/vg0/lv0 创建文件系统
  43. mount /dev/vg0/lv0 /data :挂载文件系统
  44. lvcreate -n lv0-snap -s -L 100M /dev/vg0/lv0 给逻辑卷创建快照
  45. ls -a >text & : 将ls出的内容重定向到text文件,并且在后台运行(就是生成了一个子shell来执行这个命令)
  46. cat f1 | grep “ile” |wc -l : 像使用了管道符的这种命令,会同时启动三个shell进程,都是现在shell的子进程,互相称为兄弟进程。
  47. ps 参数小记: -a累出当前终端上所有进程(包括其他用户的进程),-e列出系统中所有进程(包括其他用户和系统进程),-u显示面向用户的格式(包括用户名、cpu以及内存使用情况等),-r显示正在运行的进程,-x显示后台进程,-f显示进程的所有信息 ,-o定制属性(指定显示某些属性比如: ps -ao pid,pcpu 只显示pid和CPU使用率)
  48. jobs显示所有作业
  49. Ctrl + Z 挂起当前作业进程
  50. Ctrl + C结束作业进程
  51. bg + 作业号:将此作业转到后台运行
  52. fg + 作业和 :将此作业转到前台运行
  53. nice -3 vi 启动vi并将其优先级设置为3
  54. renice 8 -p 8888:将pid为8888的进程优先级设置为8
  55. kill -9 PID :杀死此PID对应的进程(参数-2的话,相当于对前台运行的进程使用Ctrl + Z)
  56. top -d 5 :动态显示系统信息,5秒钟刷新一次
  57. free -s 10 : 显示内存、缓存和交换分区的使用情况,10秒钟刷新一次
  58. who:显示当前登录的所有用户
  59. at -f job 8:00+2days :两天后的上午八点执行job文件中的作业
  60. crontab -e :设置周期性任务,接61
  61. 在编辑器中输入*/30 * * * 1,3,5 /bin/ls /etc/passwd:星期1,3,5每过三十分钟查看一次passwd下的内容。定时文件生成并保存在/var/spool/cron ,名为root。
  62. ls>/dev/null 2>&1:将ls的标准输出定向到黑洞,错误输出定向到标准输出,而标准输出已经定向到了黑洞,所以,所以信息都入了黑洞。
  63. netstat 参数小记:-a显示所有连接的信息;-i显示已配置网络设备的统计信息;-c持续更新网络状态,直到被终止;-r显示内核路由表,-n以ip地址代替主机名称,显示网络连接情况;-t显示TCP连接情况;-u显示UDP连接情况
  64. ping -c 12 www.baidu.com :ping十二次
  65. ping -i 5 www.baidu.com : 每五秒种ping一次
  66. traceroute www.baidu.com :显示数据包到baidu的路径