【Linux基础命令及命令历史(02)】笔记

Linux系统上的文件类型(基于文件系统视角)
ll命令列表中,首位

  • -:常规文件,即其它程序中的f
  • d:目录文件
  • b:块设备,block device,支持以“block”为单位进行随机访问
  • c:字符设备,character device,支持以“character”为单位进行线性访问

dev设备中,在标识文件大小的位置会显示两组数字

  • major number:左起第一组数字,主设备号,用于标识设备类型,进而确定需要加载的驱动程序
  • minor number:后一组数字,次设备号,用于标识同一类型中的不同设备
  • l:symbolic link,符号链接文件或软链接文件
  • p:pipe,命名管道
  • s:socket,套接字文件

基本命令

命令类型:
分为外部命令和内部命令,用~]# type COMMAND命令查看,内部命令为builtincommand;外部命令显示为命令文件路径
注意:命令可以有别名,别名可以与原名相同,此时原名被隐藏(如:用~]# type ls 查看命令类型时显示ls是‘ls --color=auto’的别名),如果要运行原命令则使用\COMMAND,如:~]# \ls。
命令别名
通过~]# alias 查看本机上被定义了别名的命令
定义别名
~]# alias NAME='COMMAND' ,仅对当前shell进程有效
撤销别名
~]# unalias NAME

which命令:
-shows the full path of (shell) commands
显示命令别名和完整路径
~]# which [options] programname[---]
--skip-alias:忽略别名

whereis命令:
-locate the binary,source,and manual page files for a command
一个命令的本地二进制程序,源文件和参考手册文件的路径

  • -b:仅搜索二进制程序路径
  • -m:仅搜索参考手册文件路径

who命令
-show who is logged on
~]# who [OPTION]…

  • -b 显示系统本次的启动时间
  • -d
  • -l
  • -u
  • -r 运行级别

w命令
-show who is logged and what they are doing
显示当前登陆用户的活动(包括用户名、终端、IP地址、登陆时间、空闲时间、JCPU、PCPU、当前运行命令)
*JCPU指的是与该tty终端连接的所由进程占用的时间,不包括过去的后台作业时间;PCPU 指的是当前进程(即w项中显示的)所占用的时间。

bash的基础特性

命令历史
shell进程会在其会话中保留此前用户提交执行过的命令,用~]# history命令查询。
定制history的功能,可通过环境变量实现。

  • HISTSIZE:shell进程可保留命令历史的数量
  • HISTFILE:持久保存命令历史的记录,.bash_history,每个用户都有自己独立的.bash_history文件
  • HISTFILESIZH:历史记录的数量,当达到最大记录数时,最先保存的记录将被新的记录挤掉
    命令用法:
    ~]# history [选项][偏移量][n]

    ~]# history -anrw [文件名]

    ~]# history -ps 参数[参数]
  • -c 清空历史记录
  • -d offset 删除指定编号的命令历史记录
  • -r 读取.bash_history供调用
  • -w 把历史记录追加到.bash_history中
  • ~]# history [n]:显示最近的n条命令的历史记录

调用命令历史记录中的命令:
![n]:执行历史记录中的第[n]条命令;
!!:执行上一条命令;
![STRING]:执行命令历史记录中最近一个以[STRING]开头的命令
注意:命令的重复执行有时候需要依赖于冪等性,即重复使用不会有错误提示或造成一定影响
调用上一条命令的最后一个参数:
快捷键:**ESC → . **
字符串:!$
控制命令历史记录的方式
环境变量:HISTCNTROL

  • ignoredups:忽略重复的命令
  • ignorespace:忽略以空白字符开头的命令
  • ignoreboth:具有有以上两种功能

修改变量的值:
NAME='VALUE'

教学视频网址

你可能感兴趣的:(【Linux基础命令及命令历史(02)】笔记)