N22-​Linux系统的基础命令

                                 Linux系统的基础命令


命令的语法通用格式:# COMMAND OPTIONS  ARGUMENTS

COMMAND: 发起命令,请求内核将某个二进制程序运行为一个进程

命令本身是一个可执行的程序文件;二进制格式的文件,有可能会调用共享库文件

多数程序文件都存放在:/bin, /sbin, /usr/sbin ,/usr/bin, /usr/local/bin, /usr/local/sbin

普通命令存放位置:/bin,/usr/sbin,/usr/local/bi

管理命令存放位置:/sbin,/usr/sbin,/usr/local/sbin

共享库: /lib,/lib64,/usr/lib,/usr/li64,/usr/local/lib,/usr/local/lib64

32位的库: /lib,/usr/lib,/usr/local/lib

64位的库:/lib64,/usr/li64,/usr/local/lib64

注意:并非所有的命令都有一个早某目录与之对应的可执行程序文件

命令必须遵循特定格式规范:exe,msi,ELF(Linux)

# file /bin/ls 

命令分为两类:

   由shell程序的自带的命令:内置命令(builtin)

   独立的可执行程序文件,文件名即命令名:外部命令

    shell程序是独特的程序,负责解析用户提供的命令;

环境变量:

PATH:从哪些路径汇中查找用户键入的命令字符串所对应的命令字符串

[root@localhost /]# echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

查找次序:自作向右 

如果是shell内部命令,则不会有这些命令存在的位置,是shell程序自带的

查看命令类型:type+命令

 

OPTIONS:

   指定命令的运行特性;

   选项有两种表现形式:

        短选项:-C  eg. -l , -d 

            注意:有些命令的选项没有-;

            如果同一命令使用多个短选项,多数可合并:

                [root@localhost /]# ls -l -d /var 

                        drwxr-xr-x. 19 root root 4096 8月  10 15:18 /var

                [root@localhost /]# ls -ld /var

                        drwxr-xr-x. 19 root root 4096 8月  10 15:18 /var

       长选项:–word, eg.–help,–human-readable

            注意:长选项可以带参数;

            注意:有些选项可以带参数,此称为选项参数;

ARGUMENTS

  命令的作用对象;命令对什么生效 

  注意:不同的命令参数;有些命令可以同时带多个参数,多个之间以空白字符分割

基础命令介绍

which命令:

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命令:

查看登录当前系统的相关信息

-b: 显示上一次系统是什么时候启动的

-r: 显示运行级别

    

w命令:

增强版的who命令,用于显示谁登陆了系统以及在做什么

bash的基础特性:

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

# history

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

HISTSIZE:shell进程可保留的命令历史的条数

eg.[root@bogon ~]# echo $HISTSIZE

         1000

HISTFILE:持久保留命令历史的文件

 每个用户下都有一个隐藏文件.bash_history 

 文件中不会有用户刚刚操作过的命令,因为这个文件是用户登出后内存写入这个文件的

HISTFILESIZE:命令历史的文件的大小

eg  [root@bogon ~]# echo $HISTFILESIZE

         1000

注意:比如命令历史文件中有800条记录,当系统开机时自动加载到内存中,开机后用户操作300条命令

      所以用history命令操作后看到的历史命令的条数可以使1100条

      比如命令历史文件中有300条记录,本次操作800条命令,用户登出后本次操作的记录保存到历史文               件中那么历史文件的大小还是1000条,最前面的100条记录溢出

  

-c:清空命令历史(删除内存中的记录)

-d+偏移量:删除指定位置的历史记录

-w:将当前历史写入到历史文件中并追加到历史列表中(内存–>文件)

-r:读取历史文件并将内容追加到历史列表中(文件–>内存)

history + #:显示最近的#条命令

调用命令历史列表中的命令:

!#:再一次执行历史列表中的第#条命令

!!:再一次执行上一条命令

!STRING:自一次执行命令历史列表中最近一个以STRING开头的命令    

注意:命令的重复执行有时候需要依赖于幂等性

调用上一条命令的最后一个参数:

Esc,. 

!$ 

eg:[root@bogon ~]# file !$

file /etc/sysconfig/network-scripts/ifcfg-eno16777736

/etc/sysconfig/network-scripts/ifcfg-eno16777736: ASCII text

      控制命令历史记录的方式:

                环境变量:HISTCONTROL

                   [root@bogon ~]# echo $HISTCONTROL

ignoredups —-忽略连续且相同的命令历史记录

                其取值有三个:

                    ignoredups:忽略重复的命令

                    ignorespace: 忽略以空格开头的的命令

                    ignorebouth:以上两者同时生效               

       修改变量的值:

     NAME='value'—> 仅对当前shell有效

目录管理类的命令:

 mkdir:创建目录

            mkdir [OPTION]… DIRECTORY…

            注意:路径基名方为命令的作用对象;基名之前的路径必须得存在

            -p: 自动按需创建父目录

            -v:显示详细的创建过程

            -m + MODE:直接给定权限

rmdir: 删除空目录–>仅用于删除空目录

            -p:删除某空目录后,如果父目录为空,则一并删除之

    -v:显示过程

tree命令:

  -L :指定要显示的目录层级

more命令:

more FILE

    特点:翻屏至文件尾部后自动退出

less命令:

less FIEL

head命令:

查看文件的前N行

head [options] FILE

 -n

-n number

tail命令:

 查看文件的后N行

tail [options] FILE

-n

-n number

-f:查看文件尾部内容结束后不退出,跟随显示新增的行。

 

stat命令:

显示文件或文件系统的状态

eg.[root@bogon ~]# stat /tmp/yum.log 

文件:"/tmp/yum.log"

大小:0         块:0          IO 块:4096   普通空文件

设备:fd00h/64768d Inode:134         硬链接:1

权限:(0600/-rw——-)  Uid:(    0/    root)   Gid:(    0/    root)

环境:system_u:object_r:initrc_tmp_t:s0

最近访问:2016-08-10 14:41:23.814002701 +0800

最近更改:2016-08-10 14:41:23.814002701 +0800

最近改动:2016-08-10 14:41:23.814002701 +0800

创建时间:-

文件:都有两类数据

元数据:metadata–>描述属性的信息

数据:data      –>数据本身的信息

  

时间戳:

     最近访问(access time):2016-08-13 16:25:44.156843879 +0800

     最近更改(modify time):2016-08-10 14:41:23.814002701 +0800

     最近改动(change time):2016-08-10 14:41:23.814002701 +0800

        

touch命令:

     修改文件的时间戳

     -c:指定的文件路径不存在时不予创建

     -a:仅修改access time

     -m:仅修改modify time

     -t STAMP :修改指定的时间

[[CC]YY]MMDDhhmm[.ss]

cp命令:文件复制

    源文件:目标文件  

       单源复制:cp [OPTION]… [-T] SOURCE DEST

       多源复制:cp [OPTION]… SOURCE… DIRECTORY

       多源复制:cp [OPTION]… -t DIRECTORY SOURCE…

  

       单源复制:cp [OPTION]… [-T] SOURCE DEST

     如果 DEST不存在:

则先创建此文件,并复制源文件的数据流到 DEST中

     如果 DEST存在:

如果DEST是非目录文件:则覆盖目标文件

如果DEST是目录文件:则先在DEST目录下创建一个与源文件同名的文件,并复制其数据流

       多源复制:cp [OPTION]… SOURCE… DIRECTORY

                 cp [OPTION]… -t DIRECTORY SOURCE…

            如果DEST不存在:错误

            如果DEST存在:

                如果DEST是非目录文件:错误

                如果DEST是目录文件:分别复制每个文件至目标目录中,并保持原名

        

        常用选项:

            -i: 交互式复制,覆盖之前提醒用户确认            

            -f:强制覆盖目标文件

            -R/-r:递归复制目录:复制目录及目录中的内容

            -d:复制符号链接文件本身,而不复制它所连接的源文件

-a: -dR  –preserve=all ,archive,用于实现归档(做备份);

–preserv=

        mode:权限

pwnership:属主和属组

tomestamps;时间戳

context:安全标签

xattr:扩展属性

links:符号链接

   all:上述所有属性

       

mv命令:

           mv [OPTION]… [-T] SOURCE DEST

  mv [OPTION]… SOURCE… DIRECTORY

  mv [OPTION]… -t DIRECTORY SOURCE…

  

  常用选项:

     -i: 交互式

      -f:强制覆盖目标文件

    

rm命令:删除文件        

 常用选项:

   -i:交互式

   -f:强制执行

   -r:递归删除目录

     注意:所有不用的文件建议不要直接删除,而是移动至某个专用目录(回收站)

    

    变量:

        命名的内存空间

             变量类型:

  浮点型

  数值型

        精确数值

近似数值

    变量类型决定了存储格式、数据范围、参与运算等

原创文章,作者:N22-长春-石头,如若转载,请注明出处:http://www.178linux.com/35347

(0)
N22-长春-石头N22-长春-石头
上一篇 2016-08-15
下一篇 2016-08-15

相关推荐

  • OPENSSL&DNS

      1、详细描述一次加密通讯的过程,结合图示最佳。 Client 从互联网下载CA的公钥,用于验证Server身份 Server 通过加密算法生成一对密钥,将公钥发给CA认证机构,做数字证书 CA 通过自己的私钥加密 Server 公钥并加上自己的数字签名后,将生成的数字证书发给Server Client 与 Server 通TCP的三次握手建立连…

    Linux干货 2016-12-05
  • shell练习

    1 、编写脚本/root/bin/systeminfo.sh, 显示当前主机系统信息, 包括主机名,IPv4 地址,操作系统版本,内核版本,CPU 型 号,内存大小,硬盘大小。 运行后结果是: 2 、编写脚本/root/bin/backup.sh ,可实现每日将/etc/ 目录备 份到/root/etcYYYY-mm-dd中 运行结果是: 3 、编写脚本/r…

    Linux干货 2016-08-15
  • CentOS启动流程

    CentOS启动大致流程: POST –> BootSequence –> Bootloader –> kernel –> rootfs –> switchroot –> /sbin/init –> (/etc/inittab;/et…

    Linux干货 2017-07-12
  • iptables学习笔记

    这几学习iptables,踩了一些坑,作下总结。 1、三表 (1)filter:默认表,处理本机数据包,包含input、output和forward (2)nat:处理源或目的IP/端口转换,包含prerouting、postrouting、output (3)mangle:处理高级路由信息,包含prerouting、output、input、forward…

    Linux干货 2016-06-09
  • 自制linux系统

    自制linux系统  需要为虚拟机新增一个硬盘,作为自制linux系统的载体。也可以用U盘、移动硬盘或其他设备作为载体实验步骤: (1)为虚拟机新增一个大小为20G的硬盘(2)给新增的磁盘分区,划分/boot、swap、/三个分区比如,将第一个分区当作boot,大小为500M;第二个分区当作swap分区,大小为2G;第三个分区用作/,大小为10G。…

    Linux干货 2016-09-13
  • 马哥门徒Linux运维课程笔记-第1天03讲 计算机及操作系统基础

    第1天03讲 计算机及操作系统基础   ◆  市面上主流Unix厂商简介         由于Unix系统的流行,当时行业中的主流大厂商都根据SysV或BSD开发了自己的版本,主要分类如下:       ●  IBM公司根据自己CPU硬件架…

    Linux干货 2015-03-23