linux学习11 Linux基础命令及命令历史

一、Linux系统上的文件类型

  1、- :常规文件:在其它程序中用f表示。比如我们用ls -l命令查看的第一个内容

[root@localhost ~]# ls -l
total 4
-rw-------. 1 root root 1252 Oct 24  2018 anaconda-ks.cfg

  2、d:directory,目录文件

  3、b:block device,块设备文件,以"block"为单位进行随机访问

[root@localhost ~]# ls -l /dev/sda*
brw-rw---- 1 root disk 8, 0 Dec 14 17:42 /dev/sda
brw-rw---- 1 root disk 8, 1 Dec 14 17:42 /dev/sda1
brw-rw---- 1 root disk 8, 2 Dec 14 17:42 /dev/sda2

  4、c:character device,字符设备文件,支持以“character”为单位进行线性访问

      major number:主设备号,用来标识设备类型,进而确定要加载的驱动程序

      minor number:次设备号,用来标识同一类型中的不同的设备

        8位二进制:0-255

  5、l:symbolic link,符号链接文件,也叫软连接文件

  6、p:pipe,命名管道

  7、s:socker,套接字文件,主要用于服务提供

    

 二、常用的基本命令

  1、外部命令和内部命令

    a、linux上的命令根据其是否在文件系统上存在一个与之对应的同名的文件。在我们文件系统上某一个路径下是否与这个命令本身有一个独立的文件我们可以把命令分为内建命令和外部命令。在我们文件系统的路径上有一个独立的文件而命令名就是文件名,这种就叫外部命令其实所有的文件都必然是外部命令,那么为什么会出现内建命令呢?是因为有一个外部命令自带有很多命令,我们有一个外部命令叫bash,bash就是外部的,但是bash自身很强大,他自带有很多小命令,所以这些小命令就是内部命令。

    b、我们如何去区分内部命令还是外部命令呢?我们可以用type来查看

    type COMMAND:

      内部: builtin

[root@localhost /]# type cd
cd is a shell builtin

      外部:显示为命令文件路径

        注意,命令可以有别名,别名可以与原名相同,此时原名被隐藏,此时如果要运行原命令,则使用 \COMMAND

[root@localhost /]# type bash
bash is /usr/bin/bash
[root@localhost /]# type ls  #表示ls其实是 ls --color的简称
ls is aliased to `ls --color=auto'
[root@localhost /]# ls
application  bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@localhost /]# \ls  #表示只运行ls
application  bin  boot    dev  etc  home    lib  lib64  media  mnt    opt  proc  root  run  sbin  srv  sys  tmp  usr    var

    c、命令别名

      获取所有可用别名的定义:

[root@localhost /]# alias 
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

      定义别名,注意,此定义方式只对当前shell有效

[root@localhost /]# alias cls="clear"
[root@localhost /]# alias 
alias cls='clear'
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

      撤销别名

[root@localhost /]# unalias cls
[root@localhost /]# alias 
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

  2、which,显示命令的完整路径

    a、which --skip-alias  COMMAND  && \which COMMAND ,忽略别名

[root@localhost /]# which --skip-alias ls
/usr/bin/ls
[root@localhost /]# \which ls
/usr/bin/ls

  3、whereis命令,显示命令文件,源码文件及手册页

[root@localhost /]# whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

    a、-b,仅搜索二进制程序路径

    b、-m,仅搜索使用手册文件路径

  4、who命令,查看登陆当前系统的相关用户信息

[root@localhost /]# who
root     pts/0        2019-12-14 17:43 (192.168.10.1)
root     pts/1        2019-12-14 18:37 (192.168.10.1)

    a、-b,系统此次启动的时间

[root@localhost /]# who -b
         system boot  2019-12-14 17:42

    b、-d,显示死亡的进程

    c、-l,显示登陆进程

[root@localhost /]# who -l
LOGIN    tty1         2019-12-14 17:43               672 id=tty1

    d、-r,查看进程级别

[root@localhost /]# who -r
         run-level 3  2019-12-14 17:43

  5、w 命令,他不但能显示谁登陆了还能显示他们在干嘛,相当于增强版的who命令

[root@localhost /]# w
 18:52:24 up  1:09,  2 users,  load average: 0.06, 0.03, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.10.1     17:43    0.00s  0.12s  0.00s w
root     pts/1    192.168.10.1     18:37   14:39   0.02s  0.00s less -s

三、bash的基础特性

  1、命令历史:shell进程会在其会话中保存此前用户提交执行过的命令

    a、history命令可用查看

[root@localhost /]# type history 
history is a shell builtin

      定制history的功能,可通过环境变量实现:

        HISTSIZE,默认为1000条

猜你喜欢

转载自www.cnblogs.com/Presley-lpc/p/12038426.html