首页 > 技术文章 > linux 日常实用操作

zzm1 2019-01-22 18:05 原文

  • [Tab]接在一串指令的第一个字的后面,为[命令补全]
  • [Tab]接在一串命令的第二个字以后时,则为[文件补全]
  • 若安装bash-completion 软件,则在某些指令后面使用[Tab]按键时,可以进行[选项/参数的补齐]功能。
  • 当程序一直在终端运行,如果想中止程序的话,按[Ctrl]+c
  • [ctrl]+d可以用来取代exit的输入
  • [shift ]+ [Page up] 往前翻页
  • \+[enter]是接着下一行直接输入的命令,其实就是让[enter]键跳脱出去
  • 怎样在shell中删除指令呢,[ctrl]+u/[ctrl]+k    分别是从有标出向前删除指令串,以及向后删除指令串。
  • [ctrl]+a/[ctrl]+e 分别是让游标移动到整个指令串的最前面,或者最后面。
  • 当顺利的在终端机(tty)上登入后,linux就会依据/etc/passwd 档案的设定给我们一个shell(预定是bash),然后可以依据上面的指令下达方式来操作shell。
  • 系统是怎样搜寻指令的呢?
  • 例如下达ls这个指令时,系统透过PATH这个变数里卖弄的内容所记录的路径顺序来搜查指令,如果在搜查完PATH内的路径还找不到ls这个指令时,就会在屏幕上显示“command not found”
  • 变数的定义:变数就是以一组文字或者符号,来取代一些设定或者是一串保留的资料。
  • 如果一个变数需要在其它子程序执行,则需要以export来使变数变成环境变数。
  • 取消变数的方法为使用unset:unset 变数名称
  • 什么使子程序呢?
  • 在目前这个shell的情况下,去启动另外一个新的shell,新的那个shell就是子程序。在一般的状态下,父程序的自定变数是无法在子进程内使用的。但是通过export将变数变成环境变量后,就能够在子程序底下应用了。
  • pwd (显示目前所在的目录)
  • ls最常用的功能是-l的选项。当然与输入ll的功能是一样的。
  • linux中的关于属性、以及 权限的信息都放在i-node里面。
  • cp复制指令,添加-a选项使得复制过去的文件的属性不会发生改变。
  • 在预设的条件中,cp的来源档与目的档的权限是不同的,目的档的拥有者通常回事指令操作者本身。
  • cat 由第一行开始显示文件内容
  • tac 从最后一行开始显示,可以看出tac 是cat的缩写。
  • nl显示的时候,顺道输出行号!
  • more 一页一页的显示文件内容
  • less 与 more 类似,但是比more更好的是,他可以往前翻页,可以使用[pageup][pagedown]等按键的功能来往前往后翻看文件。
  • which 脚本文件名的搜寻
  • locate 搜查文件名
  • whereis只找系统中某些特定目录底下的文件而已,locate 则是利用数据库来搜寻文件名。
  • 操作系统的文件系统,文件系统通常会将这两部分的数据分别放在不同的区块,权限与属性防止到inode中,至于
  • 实际数据则放置到data block区块中。另外,还有一个超级区块会记录整个文件系统的整体信息,包括inode与block的总量、使用量、剩余量等。
  • 每个inode与block都有编号,这三个数据的意义可以简略说明如下:
  • superblock:记录此filesystem的整体信息,包括inode/block的总量、使用量、剩余量,以及文件系统的格式与相关信息等
  • inode记录文件的属性:一个文件占用一个inode,同时记录此文件的数据所在的block号码。
  • block实际记录文件的内容,若文件太大,会占用多个block.
  • 每个inode与block都有编号,而每个文件都会占用一个node,inode内则有文件数据放置的block号码。因此,我们可以知道的是,如果能够找到文件的node的话,那么自然就知道这个文件所防止数据的block号码,当然也就能够独处该文件的实际数据了。
  • 碎片整理:需要碎片整理的原因就是文件写入的block太过于离散了,此时读取文件的效能会变得很差所致。这个时候可以透过整理将碎片整理将同一个文件系统的block汇整在一起,这样数据的读取会比较容易。
  • 挂载:将文件系统与目录树结合的动作。
  • 挂载点一定是目录,该目录为进入该文件系统的入口。
  • 因此并不是你有任何文件系统都能使用,必须要挂载到目录树的某个目录后,才能够使用该文件系统。
  • linux的标准文件系统是ext2,增加了日志功能的ext3/ext4.
  • linux常见的支持文件系统有:
  • 1.传统文件系统:ext2/minix/MS-DOS/FAT(用vfat模块)iso9660(光盘)等等。
  • 2.日志式文件系统:ext3/ext4/ReiserFS/Windows'NTFS/ZFS
  • 3.网络文件系统:NFS/SMBFS
  • df:列出文件系统的整体磁盘使用量
  • du:评估文件系统的磁盘使用量
  • /proc的东西都是linux系统所需要加载的系统数据,而且是挂载在内存当中的,所以当然没有占任何的磁盘空间了。
  • 每个文件都会占用一个inode,文件内容由inode的记录来指向
  • 想要读取该文件,必须要经过目录记录的文件名来指向到正确的inode 号码才能读取
  • 其实文件名只与目录有关,但是文件内容则与inode 有关
  • hard link只是在某个目录下新增一笔档名连接到某inode号码的关联记录而已
  •  

  • head 只看头几行。
  • tail只看尾巴几行
  • od一以二进制的方式读取文件内容
  • 内存置换空间(swap)
  • 当内存不足的时候,为了让后续的程序可以顺利的运行,因此在内存中暂不使用的程序与数据就会被挪到swap中。此时内存就会空出来给需要执行的程序加载。

推荐阅读