linux命令行学习笔记(1)

文件目录处理命令

  • ls -i (i参数可以显示文件或者目录的inode,inode是文件或者目录用于标识的唯一数字)
  • ln -s 文件名 链接文件命(ln -s用来给文件创建一个符号链接,也叫软链接;如果不加参数s那么创建的就是硬链接;符号链接是一个实际存在的文件,它指向链接的那个原文件,链接文件和原文件inode不一样,也就是说他们是完全不同的两个文件,而硬链接创建的是一个独立的虚拟文件,包含原始文件的位置和信息,可以理解为一个指针指向对应的位置,从根本上看两者是同一个文件,但是符号链接就像一个指针先指向链接文件,然后链接文件再指向原文件)
  • rmdir 可以删除一个空目录
  • rm -r 目录 (r参数可以递归删除目录中的文件,然后再删除目录)
  • file 文件或者目录(可以查看文件类型)
  • cat -n 文件(读取整个文件内存,n参数代表显示行数)
  • more 文件名(cat是一下子读取整个文件,more可以分页读取文件,按回车逐行读取,按空格分页读取,按b或者ctrb+b可以返回上页,按q可以退出阅读)
  • less 文件名(less比more更加强大,也是查看部分的文件内容,但是它可以非常舒适地进行上下左右的控制,当然也是按q退出)
  • tail 文件名(用来显示文件末尾几行,默认是显示末尾10行,如果想自己定义行数可以加参数n,例如tail -n 5 文件名,可以查看文件的后5行,当然也可以去掉n,直接写tail -5 文件名,效果是一样的,tail的-f参数是它的一个绝妙的特性,它允许其他进程在操作文件时查看文件的实时内容,可以用来实时监控系统日志,在我第一次尝试时,我打开一个终端用tail -f来监控文件,用另一个终端用vim修改文件并保存,但是发现tail -f失效了,原因是vim是删除原来文件,创建一个新文件,它的inode发生来变化,所以tail -f追踪不到,我们可以用echo 字符串 >> 的方式进行追加,这时文件的inode不会改变)
  • head 文件名(head是显示文件前几行,默认也是显示文件前10行,用法和tail一样)

系统管理命令

  • ps(ps不加参数默认是显示当前控制台下属于当前用户的进程,一般只有bash shell和ps本身。ps的参数多而杂,而且有不同的风格,一般只要记住比较有用的即可,例如ps -ef,-e参数制定显示所有运行在系统上的进程,-f参数则拓展输出信息)
  • top(top命令可以用来实时监控运行的所有进程,第一行显示当前时间,系统运行时间,登录用户数以及系统平均负载,比较重要的就是平均负载,平均负载有三个值,最近1分钟、最近5分钟、最近15分钟,如果最近15分钟平均负载高,那么说明系统有问题,通常来说负载值超过了2,那么就说明系统比较繁忙,第二行显示进程的概要,主要是显示有多少进程正在运行、休眠、停止、僵化,第三行显示cpu概要信息,第四行显示系统物理内存信息,第五行显示swap空间信息,最后一部分显示进程的详细信息)
  • kill pid(kill可以结束对应pid的进程,默认是尽可能终止,linux下进程可以通过信号进行进程间通信,进程收到信号进行对应的处理,以下是linux进程信号的描述,1HUP挂起2INT中断3QUIT4KILL无条件终止11SEGV段错误15TERM尽可能终止17STOP无条件停止运行但不终止18TSTP停止或暂停但继续在后台运行19CONT在STOP或STEP后恢复执行,kill默认是发送TERM信号,我们可以用kill -s KILL pid来强制杀死进程,当然也可以用kill -9 pid,也是一样的效果)
  • killall 进程名(通过pid只能杀死单个进程,可以通过killall和进程名加通配符来杀死多个进程)
  • mount device directory(mount命令可以用来挂在设备,那么我们为什么要挂载设备?在windows中我们插入一个u盘,系统会自动给这个u盘分配一个盘符,例如I:,那么这个过程就是挂载,系统将u盘设备挂载到了I盘符下,linux只有一个/根目录,系统启动时一个分区挂载到来根下,成为根分区,当我们插入设备,需要给该设备挂载到对应已存在的目录下,也就是给这个设备分配一个目录,这样我们才能够访问这个设备。mount命令可以将device挂载到对应已存在的目录下)
  • umount 目录(umount命令可以卸载挂载在该目录下的设备)
  • df(df可以查看系统已挂载磁盘的使用情况,加-h参数可以显示容量单位,更加易读)
  • du(当我们发现磁盘空间不足时,我们可以使用du命令查看对应目录或文件占了多少磁盘块,du 目录可以查看目录以子目录所占的磁盘块的量,-a参数可以查看目录下文件所占的空间,-h参数可以输出所占空间大小的单位,提高可读性,du -sh *可以显示当前目录下每个文件或者目录的总和大小)
  • sort 文件(sort可以对文件进行排序,默认是按行分割,每行作为字符串进行递增排序,如果想要把字符当作数字,那么可以加参数-n)
  • grep 文本 文件(grep可以在文件中查找对应的字符,加-v参数可以反向输出)
  • gzip 文件(gzip可以压缩文件,加-d参数可以解压)
  • tar -czvf testdir.tar.gz testdir/(将testdir目录进行归档压缩,c参数表示创建一个新的tar归档文件,z参数表示将输出重定向给gzip命令来压缩内存,v参数表示在处理文件时显示,f表示输出结果到文件)
  • tar -zxvf testdir.tar.gz -C Downloads/ (解压到指定的Downloads目录下,-C参数表示切换到指定目录,x参数表示从已有tar归档文件中提取文件)

你可能感兴趣的:(linux系统编程,linux,shell,命令行)