2、基本命令-1

基本命令

1.Linux的基本原则:

1、由目的单一的小程序组成;组合小程序完成复杂任务;

2、一切皆文件;

3、尽量避免捕获用户接口;(尽量不和用户进行交互,就是一个程序一但开始运行,就不需要用户进行任何操作,如ls命令,ifconfig命令)

4、配置文件保存为纯文本格式;

2.命令形式

命令格式:

命令  选项  参数

  选项:

  短选项: –    输入快捷简单

    多个选项可以组合:-a -b = -ab

  长选项: —  意思明了

  参数:命令的作用对象

命令分为内部命令和外部命令

    内部命令是系统shell自带的命令

  外部命令是安装其他的程序产生的命令。

可以通过type 查看命令是内部还是外部命令: type 命令关键字

帮助的方式:

          1、内部命令可以通过:help 命令    例子: help cd

    2、外部命令可以通过:命令 –help  例如:ls –help

    3、可以通过man命令获取命令帮助:  例如:  man cd

    4、可以通过info命令获取命令帮助: 例如: info cd

    5、通过百度\google等搜索引擎 可以寻求帮助

    6、可以通过下载一个linux的中文命令大全 

3.命令举例:ls

ls -l:长格式

  文件类型: 可使用file命令查看

  -:普通文件 (f)

  d: 目录文件

  b: 块设备文件 (block)就是存储数据以供系统存取的接口设备,简单而言就是硬盘

  c: 字符设备文件 (character)即串行端口的接口设备,例如键盘、鼠标等等

  l: 符号链接文件(symbolic link file)

  p: 命令管道文件(pipe)是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误

  s: 套接字文件(socket)这类文件通常用在网络数据连接。

  我们可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。

  最常在 /var/run目录中看到这种文件类型。

  文件权限:9位,每3位一组,每一组:rwx(读,写,执行), r–

  文件硬链接的次数

  文件的属主(owner)

  文件的属组(group)

  文件大小(size),单位是字节

  时间戳(timestamp):最近一次被修改的时间(mtime),可以使用stat命令可以看到

  访问:access  atime  是在读取文件或者执行文件时更改的

  修改:modify, mtime 是在写入文件时随文件内容的更改而更改的

  改变:change, ctime metadata,元数据 状态改变 是在写入文件、更改所有者、权限或链接设置时随inode 的内容更改而更改的。

-h:做单位转换

-a: 显示以.开头的隐藏文件

  . 表示当前目录

  .. 表示父目录

-A

-d: 显示目录自身属性

-i: index node, inode

-r: 逆序显示

-R: 递归(recursive)显示

4.文件系统 

FHS: filesystem  hierarchy  standard  文件系统层级标准

rootfs: 根文件系统  /

/boot: 系统启动相关的静态文件,如内核、initrd或者initramfs,以及grub(bootloader)

/dev: 所有设备的设备文件,设备文件也称为特殊文件(仅有元数据,没有数据,是设备的入口)

设备文件:

  块设备:随机访问,数据块

  字符设备:线性访问,按字符为单位

  设备号:主设备号(major)和次设备号(minor) 主设备号相同的设备是同类设备(使用同一个驱动程序)

          通过 cat /proc/devices 命令查看当前已经加载的设备驱动程序的主设备号

      例如:ls -l /dev/sr0

          brw-rw—- 1 root cdrom 11, 0 4月  1 08:59 /dev/sr0  11为主设备号,0为次设备号

/etc:配置文件

/home:普通用户的家目录,每一个用户的家目录通常默认为/home/USERNAME

/root:管理员的家目录;

/lib:基本的共享库和内核模块

        库文件 本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。

静态库,  .a  静态库的代码在编译过程中已经被载入可执行程序,因此体积较大

动态库, .dll, .so (shared object) 共享库的代码是在可执行程序运行时才载入内存的,在编译过程中仅简单的引用,因此代码体积较小。

/lib/modules:内核模块文件

/media:为了移动设备的挂载点目录,例如光盘、U盘

/mnt:挂载点目录,额外的临时文件系统 

/opt:可选目录,第三方程序的安装目录

/proc:内核及进程信息的虚拟文件系统,伪文件系统,内核映射文件,只存在内存中,它以文件系统的方式为访问系统内核数据的操作提供接口。

/sys:伪文件系统,硬件设备信息虚拟文件系统接口,跟硬件设备相关的属性映射文件,该目录下是全局设备结构体系,包含所有被发现的注册在各种总线上的各种物理设备

/tmp:临时文件, /var/tmp

/var:可变化的文件

    /var/log  日志信息

/bin: 基础的用户命令二进制程序, 为所有用户使用

/sbin:系统二进制程序,一般为管理命令

              /bin和/sbin  系统自身启动和运行时可能会用到的核心二进制命令

/usr:shared, read-only  (Unix System Resource,即Unix系统资源的缩写),不适合放在/bin或/etc目录下的额外的工具

/usr/bin  大多数用户使用到的命令

/usr/sbin  非核心的系统命令

                  /usr/bin和/usr/sbin  系统运行时,用户为完成某种操作可能用到的命令

/usr/lib

/usr/local:主要存放那些手动安装的软件

/usr/local/bin

/usr/local/sbin

/usr/local/lib

/usr/share/man  /usr/share/doc  帮助文件

应用程序的组成部分:

        二进制文件、库文件、配置文件、帮助文件

路径:

    绝对路径:凡是以“/”开头的输入路径的方式都是绝对路径

  相对路径:凡是以“.”或者“..”开头的都是相对路径

  每个绝对路径都可以切割成2部分:

        基名:    basename  /path/to/somewhere  结果为somewhere

        目录名: dirname  /path/to/somewhere  结果为/path/to

查看服务器基本信息:

  cat /proc/cpuinfo  查看cpu信息

  cat /proc/meminfo  查看内存信息

  free                查看内存使用情况

  uptime              监控CPU情况

  uname -r            查看内核版本

  cat /etc/redhat-release  查看发行版信息

  hostname                  查看主机名

  hostnamectl set-hostname sunday-centos7  设置主机名为sunday-centos7,会更改配置文件,永久生效

  ip addr                  查看ip信息

  ifconfig                  查看ip信息

  netstat                  查看网络连接信息、路由表等,常用来查看端口打开情况

  ethtool eth0              查看网卡信息

  fdisk -l                  查看硬盘信息

  df                        查看设备挂载信息

5.其它常用命令

目录管理:

ls查看、cd切换目录、pwd查看当前位置、

mkdir创建目录、

  mkdir -p 创建多级目录

rmdir删除目录、tree 层次化查看

文件管理:

touch创建文件、stat、file、rm删除、cp复制、mv移动、nano

touch  改变文件的atime和mtime  (ctime会随之改变)

    -a  改变atime

    -m  改变mtime

stat  查看文件的属性及元数据

日期时间:

date、clock、hwclock、

cal 打开日历

bc  打开计算器

查看文本:

cat查看文件内容、tac倒序查看文件内容、more分屏显示、less、head显示文件开头、tail显示文件末尾  tail -f

wc 统计文件的行数\单词数\字符数

  -l 行数

  -w  单词数

  -c  字符数

du  统计文件和目录的大小

  -s 汇总显示大小

  -h 易读形式显示

alias  设置别名  alias a=’mount /dev/cdrom /media’

vim :  三种模式:命令模式、插入模式、末行模式

    1. i I a A o O 进入到插入模式

2. :末行模式    w 保存  q 退出    wq保存并且退出  !强制  三者可以结合使用

3.命令行模式: dd 删除[剪切]  yy 复制  [n]yy 多行复制    p 粘贴 

    4.使vim显示行号,在/root 下边创建一个  .vimrc  的文件,使用vim打开,添加set nu ,wq保存退出

命令模式下的操作:

   

  1、翻页 Page Down或Ctrl+F             向下翻动一整页内容

        Page Up或Ctrl+B                  向上翻动一整页内容

  2、行内快速跳转 Home键或“^”、数字“0” 跳转至行首

                    End键或“$”键         跳转到行尾

  3、行间快速跳转 1G或者gg             跳转到文件的首行

                    G                     跳转到文件的末尾行

                    #G                     跳转到文件中的第#行

  4、行号显示 :set nu                     在编辑器中显示行号

                :set nonu                 取消编辑器中的行号显示

  5、删除       x或Del                 删除光标处的单个字符

                  dd                     删除当前光标所在行

                  #dd                     删除从光标处开始的#行内容

                  d^                     删除当前光标之前到行首的所有字符

                  d$                     删除当前光标处到行尾的所有字符

  6、复制       yy                     复制当前行整行的内容到剪贴板 

                  #yy                     复制从光标处开始的#行内容

  7、粘贴       p 小写                    将缓冲区中的内容粘贴到光标位置处之后

                  P 大写                    粘贴到光标位置处之前

  8、查找        /word                     从上而下在文件中查找字符串“word”

                  ?word                     从下而上在文件中查找字符串“word”

                  n                         定位下一个匹配的被查找字符串

                  N                         定位上一个匹配的被查找字符串

  9、取消操作    u                         按一次取消最近的一次操作

                                            多次重复按u键,恢复已进行的多步操作

                  U                         用于取消对当前行所做的所有编辑

  10、保存退出      ZZ                     保存当前的文件内容并退出vi编辑器 

  11、可视化块操作界面    ctrl+v            进入块操作界面

                        上、下、左、右箭头  可以进行选择块   

      y                    复制选择的快

      p                    粘贴选择的快

     

     

末行模式的操作:

  1、保存文件   :w                     保存修改的内容

                  :w /root/newfile         另存为其它文件

  2、退出vi   :q                     未修改退出

                  :q!                     放弃对文件内容的修改,并退出vi

  3、保存文件退出vi   :wq                 保存修改的内容并退出

  4、打开新文件          :e ~/install.log     打开新的文件进行编辑

  5、读入其它文件内容    :r /etc/filesystems 在当前文件中读入其他文件内容

  6、替换                :s /old/new         将当前行中查找到的第一个字符“old” 串替换为“new”

                          :s /old/new/g     将当前行中查找到的所有字符串“old” 替换为“new”

                          :#,# s/old/new/g     在行号“#,#”范围内替换所有的字符串“old”为“new”

                          :% s/old/new/g     在整个文件范围内替换所有的字符串“old”为“new”

                          :s /old/new/c     在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认

    原文作者:崔千易
    原文地址: https://www.jianshu.com/p/86f3536b3d70
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞