Linux常用命令手册

Linux系统的组成

  • linux内核(linux 团队管理)
  • shell:用户与内核交互的接口
  • 文件系统:ext3、ext4等。windows 有 fat32 、ntfs
  • 第三方应用软件

Shell基本知识

Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口(命令解释器)

Shell可以执行:

  • 内部命令
  • 应用程序
  • shell 脚本

Linux常用命令手册
于是乎,我们利用 Shell 就可以干下面这些事了:
  • 命令行解释
  • 命令的多种执行顺序
  • 通配符( wild-card characters )
  • 命令补全、别名机制、命令历史
  • I/O重定向( Input/output redirection )
  • 管道( pipes )
  • 命令替换( 或$( ) )
  • Shell编程语言( Shell Script )

Shell的主要版本有以下这么多:

  • 我们常用(默认)的就是bash(bourne again shell)
  • zsh

使用 命令观察正在执行的shell:

Linux常用命令手册
结果的最左边一列,是文件的 值,你可以简单把它想成 C 语言中的指针。它指向了物理硬盘的一个区块,事实上文件系统会维护一个引用计数,只要有文件指向这个区块,它就不会从硬盘上消失。

硬链接 ln myfile hardfile
软链接 ln -s myfile softfile

源文件被删除后,硬链接无影响,软链接失效。
目录只能创建软链接,目录创建链接必须用绝对路径。可对不存在的文件或目录创建软链接;

Linux文件分为两部分:

  • 用户数据 (user data) :文件数据块 (data block),记录文件真实内容。
  • 元数据 (metadata):附加信息:文件大小、创建时间、所有者、inode号(索引节点号,是文件的唯一标示)。
    通过文件名打开文件: Linux常用命令手册
    每个进程必然属于一个特定的调度器类,Linux会根据不同的需求实现不同的调度器类。各个调度器类之间具备一定的层次关系,即在通用调度器选择进程的时候,会从最高优先级的调度器类开始选择,如果通用调度器类没有可运行的进程,就选择下一个调度器类的可用进程,这样逐层递减。

    每个CPU维护一个就绪队列,由结构 struct rq 表示,通用调度器直接和 rq 交互,在 rq 中又维护了子就绪队列,这些子就绪队列和具体的调度器类相关,进程入队出队都需要根据调度器类的具体算法。

    命令基本格式

    ,options 称为选项,arguments 称为参数

    在Linux中,可执行的文件 也进行了分类:

    • 内置命令:出于效率的考虑,将一些常用命令的解释程序构造在Shell 内部。
    • 外置命令:存放在/bin、/sbin 目录下的命令
    • 实用程序:存放在 /usr/bin、/usr/sbin、/usr/share、/usr/local/bin 等目录下的实用程序
    • 用户程序:用户程序经过编译生成可执行文件后,可作为 Shell 命令运行
    • shell 脚本:由Shell语言编写的批处理文件,可作为Shell命令运行

    通配符:

    • *:匹配任何字符和任何数目的字符

    • 匹配单一数目的任何字符

    • [ ]:匹配[ ]之内的任意一个字符

    • [! ]:匹配除了[! ]之外的任意一个字符,!表示非的意思

    常用命令

    指令大全

    基本操作

    ls [选项] [目录名 | 列出相关目录下的所有目录和文件

    使用详细格式列表。
    列出包括.a开头的隐藏文件的所有文件
    用文件和目录的更改时间排序。
    根据ctime排序显示
    或 –reverse 反向排序。
    或 –recursive 递归处理,将指定目录下的所有文件及子目录一并处理。

    rm [选项] 文件 | 删除文件

    删除文件夹
    删除不提示
    删除提示
    详细显示进行步骤

    touch [选项] 文件 | 创建空文件或更新文件时间

    只修改存取时间
    只修改变动时间
    eg: ,使b的时间和a相同
    指定特定的时间 eg:
    -t time [[CC]YY]MMDDhhmm[.SS], C:年前两位

    echo:显示内容

    输出后不换行
    遇到转义字符特殊处理

    eg:
    显示henhe
    显示he(换行了)he

    more | 按页查看文章内容,从前向后读取文件,因此在启动时就加载整个文件

    从第 n 行开始显示
    每次查看 n 行数据
    搜寻 String 字符串位置,从其前两行开始查看
    清屏再显示
    换页时清屏

    less | 可前后移动地逐屏查看文章内容,在查看前不会加载整个文件

    显示类似于more命令的百分比
    显示行号
    字符串:向下搜索“字符串”的功能
    字符串:向上搜索“字符串”的功能
    重复前一个搜索(与 / 或 有关)
    反向重复前一个搜索(与 / 或 有关)
    向后翻一页
    向后翻半页

    sed 对数据行进行替换、删除、新增、选取等操作

    新增,在新的下一行出现
    取代,取代 n1,n2 之间的行 eg: sed ‘1,2c Hi’ ab
    删除
    插入,在新的上一行出现

    查看文件中间一段

    sed命令截取tomcat某段时间内的catalina.out日志

    grep ‘正则表达式’ 文件名 | 用正则表达式搜索文本,并把匹配的行打印出来

    只输出匹配行的计数。
    不区分大小写(只适用于单字符)。
    只显示文件名
    显示不包含匹配文本的所有行。
    显示匹配行数据及其行号
    递归模式, 可同时处理所有层级子目录里的文件.

    (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

    Linux常用命令手册

    查看硬盘和分区

    du [选项] [文件] | 显示每个文件和目录的磁盘使用空间

    -h 方便阅读的方式
    -s 只显示总和的大小

    看全部占用的空间

    看这个目录的大小

    free [参数] | 显示linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer

    如何查看内存使用情况

    Linux常用命令手册

    PID:进程的ID
    USER:进程所有者
    PR:进程的优先级别,越小越优先被执行
    NInice:值
    VIRT:进程占用的虚拟内存
    RES:进程占用的物理内存
    SHR:进程使用的共享内存
    S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
    %CPU:进程占用CPU的使用率
    %MEM:进程使用的物理内存和总内存的百分比
    TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值
    COMMAND:进程启动命令名称

    ps | 列出当前进程的快照

    显示所有的进程
    显示同一终端下的所有程序
    显示环境变量
    显示进程间的关系
    显示树状结构
    显示当前终端的程序
    显示当前终端的所有程序
    显示更详细的信息
    显示所有包含其他使用者的行程
    指定用户的所有进程

    linux查询Java进程

    Linux 的进程挂起和恢复

    #ctrl+z:挂起,程序放到后台,程序没有结束。
    #jobs:查看被挂起的程序工作号
    恢复进程执行时,有两种选择:

    • fg命令将挂起的作业放回到前台执行;
    • 用bg命令将挂起的作业放到后台执行
    • 格式:fg %工作号;bg %工作号

    watch [参数] [命令] |重复执行某一命令以观察变化

    时隔多少秒刷新
    高亮显示动态变化

    netstat | 显示与IP、TCP、UDP和ICMP协议相关的统计数据

    端口占用查看

    iptables

    dport——–目的端口 destination
    sport——–来源端口 source
    input 进入规则:dport指本地,sport指外部。
    output 出去规则:dport指外部,sport指本地。

    1. 这是一条从外部进入内部本地服务器的数据
    2. 数据包的目的地址是80,就是要访问本地的80端口
    3. 允许以上的数据行为通过

    uname -a

    显示电脑以及操作系统的相关信息

    cat /proc/version

    说明正在运行的内核版本

    cat /etc/issue

    显示的是发行版本信息
    lsb_release -a (适用于所有的linux,包括Redhat、SuSE、Debian等发行版,但是在debian下要安装lsb)

    more /proc/cpuinfo

    查看CPU信息

    getconf LONG_BIT

    查看CPU位数
    ls 如果在root下ls有lib64 文件夹说明系统64

    more /proc/meminfo

    查看内存信息

    ifconfig | 查看ip

    在ifcfg-eth0 文件里你可以看到mac,网关等信息

    查看网关

    创建用户

    #这样的命令会在home目录下添加一个帐号

    #若想给新用户添加root权限

    修改文件如下:

    #切换用户

    #切换到root用户

    #删除某个用户

    #查看文件夹权限

    #改变权限,只有自己又读写执行权限,同组用户和其他用户无任何权限

    执行 .class 文件

    .class 文件需要有main函数,如果文件中有 package XXX; 需要cd 到package的起始路径
    如果文件 import 了其他jar包,需要通过 -classpath 参数指定路径
    windows下:

    linux下:

    区别是window下分隔符是 linux下是

    禁止Ubantu自动更新内核

    1修改配置文件
    修改配置文件/etc/apt/apt.conf.d/10periodic 然后0是关闭,将所有值改为0

    APT::Periodic::Update-Package-Lists “0”;
    APT::Periodic::Download-Upgradeable-Packages “0”;
    APT::Periodic::AutocleanInterval “0”;

    更改Ubantu启动内核

    查看现有内核

    查看当前内核

    用编辑器打开 grub 配置文件

    找到

    修改为:

    来源:~无关风月~

    声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年11月20日
下一篇 2019年11月20日

相关推荐