精华内容
下载资源
问答
  • Linux中top命令参数详解

    万次阅读 多人点赞 2019-07-31 19:28:22
    top命令经常用来监控linux的系统状况,是常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况。 top的使用方式 top [-d number] | top [-bnp] 参数解释: -d:number代表秒数,表示top命令显示的页面...

    top命令用法

    top命令经常用来监控linux的系统状况,是常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况。

    top的使用方式 top [-d number] | top [-bnp]

    参数解释:

    -d:number代表秒数,表示top命令显示的页面更新一次的间隔。默认是5秒。 -b:以批次的方式执行top。 -n:与-b配合使用,表示需要进行几次top命令的输出结果。 -p:指定特定的pid进程号进行观察。

    在top命令显示的页面还可以输入以下按键执行相应的功能(注意大小写区分的):

    ?:显示在top当中可以输入的命令 P:以CPU的使用资源排序显示 M:以内存的使用资源排序显示 N:以pid排序显示 T:由进程使用的时间累计排序显示 k:给某一个pid一个信号。可以用来杀死进程 r:给某个pid重新定制一个nice值(即优先级) q:退出top(用ctrl+c也可以退出top)。

    top各输出参数含义

    下面是使用top命令来进行性能检测的截图:

    图一(ubuntu):

    图二(centos):

    一、top前5行统计信息

    第1行:top - 05:43:27 up 4:52, 2 users, load average: 0.58, 0.41, 0.30 
    第1行是任务队列信息,其参数如下:

    内容含义
    05:43:27表示当前时间
    up 4:52系统运行时间 格式为时:分
    2 users当前登录用户数
    load average: 0.58, 0.41, 0.30系统负载,即任务队列的平均长度。 三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。

    load average: 如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。 

    第2行:Tasks: 159 total, 1 running, 158 sleeping, 0 stopped, 0 zombie 
    第3行:%Cpu(s): 37.0 us, 3.7 sy, 0.0 ni, 59.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st 
    第2、3行为进程和CPU的信息 
    当有多个CPU时,这些内容可能会超过两行,其参数如下:

    内容含义
    159 total进程总数
    1 running正在运行的进程数
    158 sleeping睡眠的进程数
    0 stopped停止的进程数
    0 zombie僵尸进程数
    37.0 us用户空间占用CPU百分比
    3.7 sy内核空间占用CPU百分比
    0.0 ni用户进程空间内改变过优先级的进程占用CPU百分比
    59.3 id空闲CPU百分比
    0.0 wa等待输入输出的CPU时间百分比
    0.0 hi硬中断(Hardware IRQ)占用CPU的百分比
    0.0 si软中断(Software Interrupts)占用CPU的百分比
    0.0 st 


    第4行:KiB Mem: 1530752 total, 1481968 used, 48784 free, 70988 buffers 
    第5行:KiB Swap: 3905532 total, 267544 used, 3637988 free. 617312 cached Mem 
    第4、5行为内存信息 
    其参数如下:

    内容含义
    KiB Mem: 1530752 total物理内存总量
    1481968 used使用的物理内存总量
    48784 free空闲内存总量
    70988 buffers(buff/cache)用作内核缓存的内存量
    KiB Swap: 3905532 total交换区总量
    267544 used使用的交换区总量
    3637988 free空闲交换区总量
    617312 cached Mem缓冲的交换区总量。
    3156100 avail Mem代表可用于进程下一次分配的物理内存数量

    上述最后提到的缓冲的交换区总量,这里解释一下,所谓缓冲的交换区总量,即内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,该数值即为这些内容已存在于内存中的交换区的大小。相应的内存再次被换出时可不必再对交换区写入。 

    计算可用内存数有一个近似的公式: 
    第四行的free + 第四行的buffers + 第五行的cached

    二、进程信息

    列名含义
    PID进程id
    PPID父进程id
    RUSERReal user name
    UID进程所有者的用户id
    USER进程所有者的用户名
    GROUP进程所有者的组名
    TTY启动进程的终端名。不是从终端启动的进程则显示为 ?
    PR优先级
    NInice值。负值表示高优先级,正值表示低优先级
    P最后使用的CPU,仅在多CPU环境下有意义
    %CPU上次更新到现在的CPU时间占用百分比
    TIME进程使用的CPU时间总计,单位秒
    TIME+进程使用的CPU时间总计,单位1/100秒
    %MEM进程使用的物理内存百分比
    VIRT进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
    SWAP进程使用的虚拟内存中,被换出的大小,单位kb
    RES进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
    CODE可执行代码占用的物理内存大小,单位kb
    DATA可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
    SHR共享内存大小,单位kb
    nFLT页面错误次数
    nDRT最后一次写入到现在,被修改过的页面数。
    S进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
    COMMAND命令名/命令行
    WCHAN若该进程在睡眠,则显示睡眠中的系统函数名
    Flags任务标志

    其他

    默认进入top时,各进程是按照CPU的占用量来排序的。

    1、在top基本视图中,按键盘数字“1”可以监控每个逻辑CPU的状况: 

     
    2、敲击键盘‘b’(打开关闭加亮效果)top视图变换如下: 

    PID为16283为当前top视图中唯一的运行态进程。也可以敲击键盘‘y’来打开或者关闭运行态进程的加亮效果。

    3、敲击键盘‘x’(打开/关闭排序列的加亮效果),top视图变换如下: 

    可以看到现在是按"%CPU"进行排序的,可以按”shift+>”或者”shift+<”左右改变排序序列。

    4、改变进程显示字段

    在top基本视图中,敲击”f”进入另一个视图,在这里可以编辑基本视图中的显示字段:

     

    用上下键选择选项,按下空格键可以决定是否在基本视图中显示这个选项。

    top命令是一个非常强大的功能,但是它监控的最小单位是进程,如果想监控更小单位时,就需要用到ps或者netstate命令来满足我们的要求。

    参考文献

    1、https://blog.csdn.net/quiet_girl/article/details/50668126

    2、http://www.zhimengzhe.com/linux/298422.html

    展开全文
  • linux系列之常用运维命令整理笔录

    万次阅读 多人点赞 2019-10-28 17:33:21
    本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些...

    系列博客专栏:

    本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新,本博客命令基于Centos系统

    在这里插入图片描述

    一、系统监控

    1、free命令使用

    • free命令简介
      free 命令能够显示系统中物理上的空闲和已用内存,还有交换内存,同时,也能显示被内核使用的缓冲和缓存

    • free命令语法

    语法:free [param]
    

    param可以为:

    • -b:以Byte为单位显示内存使用情况;

    • -k:以KB为单位显示内存使用情况;

    • -m:以MB为单位显示内存使用情况;

    • -o:不显示缓冲区调节列;

    • -s<间隔秒数>:持续观察内存使用状况;

    • -t:显示内存总和列;

    • -V:显示版本信息。

    • free命令使用
      在这里插入图片描述
      Mem:表示物理内存统计

    • total:表示物理内存总数(total=used+free)

    • used:表示系统分配给缓存使用的数量(这里的缓存包括buffer和cache)

    • free:表示未分配的物理内存总数

    • shared:表示共享内存

    • buffers:系统分配但未被使用的buffers 数量。

    • cached:系统分配但未被使用的cache 数量。

    -/+ buffers/cache:表示物理内存的缓存统计

    • (-buffers/cache) 内存数: (指的第一部分Mem行中的used – buffers – cached)
    • (+buffers/cache) 内存数: (指的第一部分Mem行中的free + buffers + cached)

    (-buffers/cache)表示真正使用的内存数, (+buffers/cache) 表示真正未使用的内存数

    Swap:表示硬盘上交换分区的使用情况

    2、ulimit命令使用

    ulimit用于显示系统资源限制的信息
    语法:ulimit [param]
    param参数可以为:

    • -a  显示目前资源限制的设定。
    • -c <core文件上限>  设定core文件的最大值,单位为区块。
    • -d <数据节区大小>  程序数据节区的最大值,单位为KB。
    • -f <文件大小>  shell所能建立的最大文件,单位为区块。
    • -H  设定资源的硬性限制,也就是管理员所设下的限制。
    • -m <内存大小>  指定可使用内存的上限,单位为KB。
    • -n <文件数目>  指定同一时间最多可开启的文件数。
    • -p <缓冲区大小>  指定管道缓冲区的大小,单位512字节。
    • -s <堆叠大小>  指定堆叠的上限,单位为KB。
    • -S  设定资源的弹性限制。
    • -t <CPU时间>  指定CPU使用时间的上限,单位为秒。
    • -u <程序数目>  用户最多可开启的程序数目。
    • -v <虚拟内存大小>  指定可使用的虚拟内存上限,单位为KB

    在这里插入图片描述

    3、top命令使用

    top命令可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具,TOP命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,有点像window系统的任务管理器

    语法:top [param]
    

    param为:

    • -b:以批处理模式操作;
    • -c:显示完整的治命令;
    • -d:屏幕刷新间隔时间;
    • -I:忽略失效过程;
    • -s:保密模式;
    • -S:累积模式;
    • -u [用户名]:指定用户名;
    • -p [进程号]:指定进程;
    • -n [次数]:循环显示的次数。

    top命令分为上下两个部分:

    • 系统统计信息
    • 系统进程信息
      在这里插入图片描述
      系统统计信息
    top - 11:38:01 up 231 days,  2:06,  1 user,  load average: 0.88, 0.22, 0.18
    Tasks: 170 total,   1 running, 169 sleeping,   0 stopped,   0 zombie
    %Cpu(s): 38.7 us,  3.5 sy,  0.0 ni, 42.0 id, 15.5 wa,  0.0 hi,  0.3 si,  0.0 st
    KiB Mem :  8010580 total,   927820 free,  2411572 used,  4671188 buff/cache
    KiB Swap:  4063228 total,  2933688 free,  1129540 used.  5153128 avail Mem 
    
    • row1:任务队列信息,同 uptime 命令的执行结果
      top - 11:38:01 up 231 days, 2:06, 1 user, load average: 0.88, 0.22, 0.18

      • 11:38:01 (当前系统时间)
      • up 231 days, 2:06(系统运行时间)
      • 1 user (当前登录用户数)
      • load average: 0.88, 0.22, 0.18 (系统的平均负载数,表示 1分钟、5分钟、15分钟到现在的平均数)
    • row2:进程统计信息
      Tasks: 170 total, 1 running, 169 sleeping, 0 stopped, 0 zombie

      • 170 total(系统当前总进程总数)
      • 1 running (正在运行的进程数)
      • 169 sleeping(睡眠进程数)
      • 0 stopped (停止进程数)
      • 0 zombie (僵尸进程数)
    • row3:CPU 统计信息
      %Cpu(s): 38.7 us, 3.5 sy, 0.0 ni, 42.0 id, 15.5 wa, 0.0 hi, 0.3 si, 0.0 st

      • 38.7 us, (用户空间CPU占用率)
      • 3.5 sy (内核空间CPU占用率)
      • 0.0 ni (用户进程空间改变过优先级的进程CPU的占用率)
      • 42.0 id(空闲CPU占有率)
      • 15.5 wa (等待输入输出的CPU时间百分比)
      • 0.0%hi (硬件中断请求)
      • 0.3%si (软件中断请求)
      • 0.0%st (分配给运行在其它虚拟机上的任务的实际 CPU时间)
    • row4:内存状态
      KiB Mem : 8010580 4671188 , 927820 free, 2411572 used, 4671188 buff/cache

      • 4671188 total (物理内存总量 )
      • 2411572 used (已使用的内存 )
      • 927820 free (空闲内存 )
      • 4671188 buffers (内核缓存使用)
        ps:以k为单位
    • row5:swap交换分区信息
      KiB Swap: 4063228 total, 2933688 free, 1129540 used. 5153128 avail Mem

      • 4063228 total (交换分区总量 )
      • 1129540 used (已使用交换分区内存 )
      • 2933688 free (空闲交换分区 )
      • 5153128 cached (缓冲交换区 )

    在这里插入图片描述

    系统进程信息

    • PID :进程id
    • USER :进程所有者的用户名
    • PR :进程优先级
    • NI :nice值。负值表示高优先级,正值表示低优先级
    • VIRT :进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
    • RES :进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
    • SHR :共享内存大小,单位kb
    • S :进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
    • %CPU :上次更新到现在的CPU时间占用百分比
    • %MEM :进程使用的物理内存百分比
    • TIME+ :进程使用的CPU时间总计,单位1/100秒
    • COMMAND :进程名称[命令名/命令行]

    在这里插入图片描述

    按“1”键,可打开或关闭显示详细CPU统计信息:
    在这里插入图片描述
    按字母“B”键,可打开或关闭当前进程的显示效果
    在这里插入图片描述

    4、df命令使用

    df命令用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

    语法:df(选项)(参数)

    选项:

    -a或–all:包含全部的文件系统;
    –block-size=<区块大小>:以指定的区块大小来显示区块数目;
    -h或–human-readable:以可读性较高的方式来显示信息;
    -H或–si:与-h参数相同,但在计算时是以1000 Bytes为换算单位而非1024 Bytes;
    -i或–inodes:显示inode的信息;
    -k或–kilobytes:指定区块大小为1024字节;
    -l或–local:仅显示本地端的文件系统;
    -m或–megabytes:指定区块大小为1048576字节;
    –no-sync:在取得磁盘使用信息前,不要执行sync指令,此为预设值;
    -P或–portability:使用POSIX的输出格式;
    –sync:在取得磁盘使用信息前,先执行sync指令;
    -t<文件系统类型>或–type=<文件系统类型>:仅显示指定文件系统类型的磁盘信息;
    -T或–print-type:显示文件系统的类型;
    -x<文件系统类型>或–exclude-type=<文件系统类型>:不要显示指定文件系统类型的磁盘信息;
    –help:显示帮助;
    –version:显示版本信息。

    参数:

    文件:指定文件系统上的文件。

    比较常用的有:

    • df -a 查看全部的文件系统
    • df -h查看磁盘使用情况
    • df -i 查看inode使用情况

    在这里插入图片描述

    5、ps命令使用

    ps命令用于查看进程统计信息

    常用参数:

    • a:显示当前终端下的所有进程信息,包括其他用户的进程。
    • u:使用以用户为主的格式输出进程信息。
    • x:显示当前用户在所有终端下的进程。
    • -e:显示系统内的所有进程信息。
    • -l:使用长(long)格式显示进程信息。
    • -f:使用完整的(full)格式显示进程信息。

    在使用中可以加上grep命令一起使用,也可以单独使用

    # ps命令单独使用的情况
    ps -elf tomcat
    #结合管道操作和grep命令进行过滤,用于查询某一个进程的信息
    ps -elf | grep tomcat
    

    6、crontab 命令

    crontab 命令,用于定时程序的命令
    -e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
    -r : 删除目前的时程表
    -l : 列出目前的时程表

    二、文件操作

    1、tail查看文件

    tail 命令可用于查看文件的内容,语法为

    tail [param] [filename]
    

    其中param可为:

    • -f :循环读取
    • -q :不显示处理信息
    • -v :显示详细的处理信息
    • -c [数目]: 显示的字节数
    • -n [行数]: 显示文件的尾部 n 行内容
    • –pid=PID :与-f合用,表示在进程ID,PID死掉之后结束
    • -q, --quiet, --silent :从不输出给出文件名的首部
    • -s, --sleep-interval=S :与-f合用,表示在每次反复的间隔休眠S秒

    2、查看文件情况

    ll -ah命令,可以用于查看文件情况

    ll -ah
    

    3、文件权限设置

    Linux的文件基本权限有9个,分别是owenr、group、others三种身份各自有自己的r、w和x,比如“rwxrwxrwx”,就表示owener具有r(read 读)、w(write 写)、x(execute 访问)权限,同样group和others同样具有r、w、x权限,可以用xftp查看文件权限

    在这里插入图片描述

    可以使用数字表示权限:

    r->4

    w->2

    x->1

    当文件权限为“rwxrwxrwx”时,分数是:

    owner->4+2+1=7

    group->4+2+1=7

    others->4+2+1=7

    此时文件的权限数字就是777

    然后要给文件file赋权的话,就可以使用Linux命令:

    chmod 777 file
    

    owner、group和others三种身份各自的三个权限,用u、g、o代表三种身份,用a(all)代表所有身份,所以还有下面的Linux命令

    chmod u|g|o|a  =(设置权限)|+(添加权限)|-(减少权限)  r|w|x  文件或者目录
    

    eg:给文件file赋值权限

        chmod u=rwx file
    

    4、文件上传下载

    在不使用xftp等linux工具的情况,可以通过linux命令,sz命令是利用ZModem协议来从Linux服务器传送文件到本地,一次可以传送一个或多个文件。

    • 下载文件
      sz命令发送文件到本地:
    sz filename
    

    在这里插入图片描述
    敲命令之后,直接弹出下载保存窗口页面

    • 上传文件
    rz
    

    敲命令之后,直接弹出上传窗口页面
    在这里插入图片描述

    rz、sz命令需要有如下条件:

    • linux系统
    • root权限
    • lrzsz安装包

    lrzsz安装步骤:

    // 编译安装
    //root 账号登陆后,依次执行以下命令:
    tar zxvf lrzsz-0.12.20.tar.gz
    cd lrzsz-0.12.20
    ./configure
    make
    make install
    //上面安装过程默认把lsz和lrz安装到了/usr/local/bin/目录下,现在我们并不能直接使用,下面创建软链接,并命名为rz/sz:
    cd /usr/bin
    ln -s /usr/local/bin/lrz rz
    ln -s /usr/local/bin/lsz sz
    

    Centos可以直接这样安装

    yum install lrzsz -y
    

    5、压缩文件解压

    linux解压zip压缩文件可以用unzip命令,如果没安装,可以先安装

    yum install -y unzip zip
    

    语法一般为:unzip [选项] [压缩文件名]

    • -c 将解压缩的结果显示到屏幕上,并对字符做适当的转换。
    • -f 更新现有的文件。
    • -l 显示压缩文件内所包含的文件。
    • -p 与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。
    • -t 检查压缩文件是否正确。
    • -u 与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。
    • -v 执行是时显示详细的信息。
    • -z 仅显示压缩文件的备注文字。
    • -a 对文本文件进行必要的字符转换。
    • -b 不要对文本文件进行字符转换。
    • -C 压缩文件中的文件名称区分大小写。
    • -j 不处理压缩文件中原有的目录路径。
    • -L 将压缩文件中的全部文件名改为小写。
    • -M 将输出结果送到more程序处理。
    • -n 解压缩时不要覆盖原有的文件。
    • -o 不必先询问用户,unzip执行后覆盖原有文件。
    • -P<密码> 使用zip的密码选项。
    • -q 执行时不显示任何信息。
    • -s 将文件名中的空白字符转换为底线字符。
    • -V 保留VMS的文件版本信息。
    • -X 解压缩时同时回存文件原来的UID/GID。
    • [.zip文件] 指定.zip压缩文件。
    • [文件] 指定要处理.zip压缩文件中的哪些文件。
    • -d<目录> 指定文件解压缩后所要存储的目录。
    • -x<文件> 指定不要处理.zip压缩文件中的哪些文件。
    • -Z unzip -Z等于执行zipinfo指令。

    6、查看文件夹大小

    du [选项][文件]
    

    -a或-all 显示目录中个别文件的大小。
    -b或-bytes 显示目录或文件大小时,以byte为单位。
    -c或–total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
    -k或–kilobytes 以KB(1024bytes)为单位输出。
    -m或–megabytes 以MB为单位输出。
    -s或–summarize 仅显示总计,只列出最后加总的值。
    -h或–human-readable 以K,M,G为单位,提高信息的可读性。
    -x或–one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
    -L<符号链接>或–dereference<符号链接> 显示选项中所指定符号链接的源文件大小。
    -S或–separate-dirs 显示个别目录的大小时,并不含其子目录的大小。
    -X<文件>或–exclude-from=<文件> 在<文件>指定目录或文件。
    –exclude=<目录或文件> 略过指定的目录或文件。
    -D或–dereference-args 显示指定符号链接的源文件大小。
    -H或–si 与-h参数相同,但是K,M,G是以1000为换算单位。
    -l或–count-links 重复计算硬件链接的文件。

    常用命令:

    du -sh /opt
    

    7、文件数据排序

    sort命令可以用于文件数据排序,然后将排序结果打印出来。

    语法:

    sort [选项] [文件]
    

    常用选项:

    选项含义
    -b忽略每行前面开始出的空格字符
    -c检查文件是否已经按照顺序排序
    -d排序时,处理英文字母、数字及空格字符外,忽略其他的字符
    -f排序时,将小写字母视为大写字母
    -i排序时,除了040至176之间的ASCII字符外,忽略其他的字符
    -m将几个排序号的文件进行合并
    -M将前面3个字母依照月份的缩写进行排序
    -n依照数值的大小排序
    -o<输出文件> 将排序后的结果存入制定的文件
    -r以相反的顺序来排序
    -t<分隔字符> 指定排序时所用的栏位分隔字符
    -k指定需要排序的栏位

    8、去除文件重复行

    使用uniq这个命令只能去除连续的的重复行。所以需要结合sort命令使用,先sort排序,然后uniq去除重复的

    语法:

    uniq [选项] [文件]
    
    选项含义
    -c打印每行在文本中重复出现的次数
    -d只显示有重复的纪录,每个重复纪录只出现一次
    -u只显示没有重复的纪录

    三、网络通信

    1、netstat监控命令

    netstat命令是用于监控进出网络的包和网络接口统计的命令行工具

    语法:netstat [param]
    

    param参数可以为:

    • -h : 查看帮助
    • -r : 显示路由表
    • -i : 查看网络接口

    2、linux重启网络

    设置了linux网络,需要重启网络,可以用命令:

    service network restart 
    

    3、SELinux简介

    SELinux全称是 Security-Enhanced Linux,它是由美国国家安全局(NSA)贡献的,它为 Linux 内核子系统引入了一个健壮的强制控制访问Mandatory Access Control架构。详情可以参考SELinux 入门SELINUX工作原理

    其实SELinux的功能也就是类似于防火墙的功能,不过安全相对比较好,ok,所以本博客介绍一下SELinux的使用命令

    查看selinux状态

    getenforce
    

    临时禁用SELINUX(学习用的linux才可以禁用,生产的不建议禁用SELINUX)

    setenforce
    

    永久禁用SELINUX(学习用的linux才可以禁用,生产的不建议禁用SELINUX)

     # 将SELINUX=enforce改成SELINUX=disabled
     vi /etc/selinux/config
    

    4、防火墙设置

    查询linux系统防火墙开启状态

    firewall-cmd --state
    

    临时关闭防火墙(学习用的linux才可以禁用,生产的不建议禁用SELINUX)

    systemctl stop firewalld.service
    

    永久关闭防火墙(学习用的linux才可以禁用,生产的不建议禁用SELINUX)

    systemctl disable firewalld.service
    

    5、CURL命令使用

    curl命令是一个利用URL规则在shell终端命令行下工作的文件传输工具;curl命令作为一款强力工具,curl支持包括HTTP、HTTPS、ftp等众多协议,还支持POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征;
    在这里插入图片描述
    语法:语法格式:curl [参数] [网址]

    5.1 查看curl帮助

    • 查看命令参数
      curl的参数很多,可以用命令curl --help查看:
    [root@localhost ~]# curl --help
    

    国内翻译过来的curl文档:curl参数介绍

    5.2 查看curl手册

    • 查看详细使用
      也可以使用curl --manual查看基本用法例子:
      在这里插入图片描述

    5.3 提取指定网页

    • 查看网页源码
      语法:curl uri
    [root@localhost ~]# curl www.baidu.com
    <!DOCTYPE html>
    <!--STATUS OK--><html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=http://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道</title></head> <body link=#0000cc> <div id=wrapper> <div id=head> <div class=head_wrapper> <div class=s_form> <div class=s_form_wrapper> <div id=lg> <img hidefocus=true src=//www.baidu.com/img/bd_logo1.png width=270 height=129> </div> <form id=form name=f action=//www.baidu.com/s class=fm> <input type=hidden name=bdorz_come value=1> <input type=hidden name=ie value=utf-8> <input type=hidden name=f value=8> <input type=hidden name=rsv_bp value=1> <input type=hidden name=rsv_idx value=1> <input type=hidden name=tn value=baidu><span class="bg s_ipt_wr"><input id=kw name=wd class=s_ipt value maxlength=255 autocomplete=off autofocus></span><span class="bg s_btn_wr"><input type=submit id=su value=百度一下 class="bg s_btn"></span> </form> </div> </div> <div id=u1> <a href=http://news.baidu.com name=tj_trnews class=mnav>新闻</a> <a href=http://www.hao123.com name=tj_trhao123 class=mnav>hao123</a> <a href=http://map.baidu.com name=tj_trmap class=mnav>地图</a> <a href=http://v.baidu.com name=tj_trvideo class=mnav>视频</a> <a href=http://tieba.baidu.com name=tj_trtieba class=mnav>贴吧</a> <noscript> <a href=http://www.baidu.com/bdorz/login.gif?login&amp;tpl=mn&amp;u=http%3A%2F%2Fwww.baidu.com%2f%3fbdorz_come%3d1 name=tj_login class=lb>登录</a> </noscript> <script>document.write('<a href="http://www.baidu.com/bdorz/login.gif?login&tpl=mn&u='+ encodeURIComponent(window.location.href+ (window.location.search === "" ? "?" : "&")+ "bdorz_come=1")+ '" name="tj_login" class="lb">登录</a>');</script> <a href=//www.baidu.com/more/ name=tj_briicon class=bri style="display: block;">更多产品</a> </div> </div> </div> <div id=ftCon> <div id=ftConw> <p id=lh> <a href=http://home.baidu.com>关于百度</a> <a href=http://ir.baidu.com>About Baidu</a> </p> <p id=cp>&copy;2017&nbsp;Baidu&nbsp;<a href=http://www.baidu.com/duty/>使用百度前必读</a>&nbsp; <a href=http://jianyi.baidu.com/ class=cp-feedback>意见反馈</a>&nbsp;京ICP证030173号&nbsp; <img src=//www.baidu.com/img/gs.gif> </p> </div> </div> </div> </body> </html>
    
    
    • 显示头信息
    curl -i https://www.baidu.com
    

    打印信息:

    [root@localhost ~]# curl -i https://www.baiud.com
    curl: (7) Failed connect to www.baiud.com:443; Connection refused
    [root@localhost ~]# curl -i https://www.baidu.com
    HTTP/1.1 200 OK
    Accept-Ranges: bytes
    Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
    Connection: keep-alive
    Content-Length: 2443
    Content-Type: text/html
    Date: Mon, 13 Jul 2020 07:22:02 GMT
    Etag: "588603eb-98b"
    Last-Modified: Mon, 23 Jan 2017 13:23:55 GMT
    Pragma: no-cache
    Server: bfe/1.0.8.18
    Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/
    ...	
    
    • 显示通信过程
    curl -v www.baidu.com
    
    curl -v www.baidu.com
    * About to connect() to www.baidu.com port 80 (#0)
    *   Trying 182.61.200.7...
    * Connected to www.baidu.com (182.61.200.7) port 80 (#0)
    > GET / HTTP/1.1
    > User-Agent: curl/7.29.0
    > Host: www.baidu.com
    > Accept: */*
    > 
    < HTTP/1.1 200 OK
    < Accept-Ranges: bytes
    < Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
    < Connection: keep-alive
    < Content-Length: 2381
    < Content-Type: text/html
    < Date: Mon, 13 Jul 2020 07:24:46 GMT
    < Etag: "588604c8-94d"
    < Last-Modified: Mon, 23 Jan 2017 13:27:36 GMT
    < Pragma: no-cache
    < Server: bfe/1.0.8.18
    < Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/
    < 
    <!DOCTYPE html>
    ...
    
    • 查看议定书
    [root@localhost ~]# curl --trace-ascii output.txt https://www.baidu.com
    
    

    在这里插入图片描述

    在这里插入图片描述

    • 查看时间
    curl --trace-ascii output.txt --trace-time https://www.baidu.com
    

    在这里插入图片描述

    5.4 用curl进行认证

    • referer设置
      referer参数描述了一个网页的来源,可以按F12调试模式,查看:
      在这里插入图片描述
      访问百度时候,加上referer为csdn:
    [root@localhost ~]# curl --referer https://blog.csdn.net https://www.baidu.com
    
    • 用户代理设置
      用户代理常被用于兼容ie,有时,您会看到获取带有curl的页面不会返回与使用浏览器获取页面时看到的页面相同的页面,这时候可以设置用户代理:
    curl www.baidu.com --user-agent "Mozilla/5.0"
    curl www.baidu.com -A "Mozilla/5.0"
    

    5.5 curl文件操作

    • 保存文件
      语法:curl -o filename uri
    [root@localhost ~]# curl -o baidu.html www.baidu.com
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100  2381  100  2381    0     0  22761      0 --:--:-- --:--:-- --:--:-- 22894
    
    

    在这里插入图片描述

    • 文件下载
      语法:curl uri filename --silent|progress
      • –silent:不显示进度条
      • –progress:显示进度条
    [root@localhost ~]# curl https://avatar.csdnimg.cn/3/5/E/1_meituantech_1564971608.jpg -omeituan.jpg --progress
    ######################################################################## 100.0%
    
    

    在这里插入图片描述

    • 上传文件
      语法:$ curl --form upload=@localfilename --form press=OK [URL]
    [root@localhost ~]# curl --form upload=@baidu.html --form press=OK url
    
    

    5.6 设置cookie

    设置cookie,可以用命令--cookie

    -c cookie-file可以保存服务器返回的cookie到文件,-b cookie-file可以使用这个文件作为cookie信息,进行后续的请求。

    $ curl -c cookies http://example.com
    $ curl -b cookies http://example.com
    
    [root@localhost ~]# curl -c "name=cookiename" www.baidu.com
    
    

    在这里插入图片描述

    也可以用–cookie-jar指定cookie文件

    [root@localhost ~]# curl www.baidu.com --cookie-jar cookie_file
    
    

    在这里插入图片描述
    指定可下载的最大文件大小,可以用命令–limit-rate

    [root@localhost ~]# curl www.baidu.com --limit-rate 50k
    
    

    5.7 RESTFul API

    ps:-H指定请求header,-d指定参数

    • CURL POST:
    [root@localhost ~]# curl -H "Content-Type:application/json" -X POST localhost:9200/company/employees/1 -d '{"id" :1,"name":"admin","password":"123"}'
    
    
    • CURL GET:
    [root@localhost ~]# curl -X GET localhost:9200/company/employees/1?pretty=true
    
    • CURL DELETE:
    [root@localhost ~]# curl -X DELETE localhost:9200/company/employees/1
    
    • CURL PUT:
    curl -H "Content-Type:application/json" -X PUT localhost:9200/company/employees/1 -d '{"id" :1,"name":"admin","password":"111"}'
    

    curl默认是GET方式请求url的,要调POST等接口,必须加上-X参数指定

    比较详细的可以参考:

    四、系统管理

    1、查看内核版本

    uname命令用于查看内核版本
    在这里插入图片描述

    2、查看linux系统ip

    查看linux的ip地址:可以用命令

     ip addr
    

    3、查看ip是否被占用

    lsof -i:8080
    

    4、uptime命令使用

    uptime命令能够打印系统总共运行了多长时间和系统的平均负载。uptime命令可以显示的信息显示依次为:现在时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。

    用help参数参数

    [shared@localhost~]$ uptime --help
    
    Usage:
     uptime [options]
    
    Options:
     -p, --pretty   show uptime in pretty format 
     -h, --help     display this help and exit 
     -s, --since    system up since 
     -V, --version  output version information and exit
    
    For more details see uptime(1).
    [shared@localhost~]$ uptime -V
    uptime from procps-ng 3.3.10
    
    

    Options:

    • -p, --pretty show uptime in pretty format //比较美观的打印
    • -h, --help display this help and exit // 查看参数帮助
    • -s, --since system up since // 查看系统当前时间
    • -V, --version output version information and exit // 查看版本

    在这里插入图片描述

    5、telnet命令使用

    不管在window还是linux系统要校验某台服务器是否可以ping通,都可以使用命令,如果要加上断口的,linux可以使用telnet命令
    语法:telnet ip port

    telnet 127.0.0.1 8080
    

    6、查看系统当前登录用户

    可以使用w命令:

    [root@localhost ~]# w 
    

    下面列举主要的

    选项含义
    -h不显示输出信息的标题
    -l用长格式输出
    -s用短格式输出,不显示登陆时间,JCPU 和 PCPU 时间
    -V显示版本信息

    只显示某个用户的信息

    [root@localhost ~]# w [选项] [用户名]
    

    ps:切换用户可以使用命令su root进行系统用户切换

    附录:

    微信打赏
    在这里插入图片描述
    技术博客公众号
    在这里插入图片描述
    QQ群:1129337987

    展开全文
  • Linux 命令之软连接详解

    万次阅读 多人点赞 2018-11-04 10:57:02
    Linux 命令之软连接详解

    1.软连接的创建

    • 创建测试文件及文件夹
    [root@server6 ~]# mkdir test_chk
    [root@server6 ~]# touch test_chk/test.txt 
    [root@server6 ~]# echo "hello spark" > test_chk/test.txt 
    [root@server6 ~]# cat test_chk/test.txt 
    hello spark
    [root@server6 ~]# ll
    总用量 84
    -rw-------.  1 root root  1257 616 01:17 anaconda-ks.cfg
    drwxr-xr-x. 25 root root  4096 111 10:28 azkabanJob
    -rw-r--r--.  1 root root 67322 114 10:24 azkabanJob.zip
    drwxr-xr-x.  4 root root    37 713 11:01 hadoop_temp
    -rw-r--r--.  1 root root    54 74 14:11 HelloLinux.txt
    drwxr-xr-x.  2 root root    22 114 10:41 test_chk
    -rw-r--r--.  1 root root    67 108 15:52 zookeeper.out
    
    • 创建一个软连接
      注意创建的语法:ln -s是必须的,然后后面跟一个目标文件夹,最后是一个当前目录的软连接名。
    [root@server6 ~]# ln -s test_chk/ test_chk_ln
    [root@server6 ~]# ll
    总用量 84
    -rw-------.  1 root root  1257 616 01:17 anaconda-ks.cfg
    drwxr-xr-x. 25 root root  4096 111 10:28 azkabanJob
    -rw-r--r--.  1 root root 67322 114 10:24 azkabanJob.zip
    drwxr-xr-x.  4 root root    37 713 11:01 hadoop_temp
    -rw-r--r--.  1 root root    54 74 14:11 HelloLinux.txt
    drwxr-xr-x.  2 root root    22 114 10:41 test_chk
    lrwxrwxrwx.  1 root root     9 114 10:42 test_chk_ln -> test_chk/
    -rw-r--r--.  1 root root    67 108 15:52 zookeeper.out
    [root@server6 ~]# cd test_chk_ln/
    [root@server6 test_chk_ln]# ll
    总用量 4
    -rw-r--r--. 1 root root 12 114 10:41 test.txt
    [root@server6 test_chk_ln]# cat test.txt 
    hello spark
    [root@server6 test_chk_ln]# ll
    总用量 4
    -rw-r--r--. 1 root root 12 114 10:41 test.txt
    [root@server6 test_chk_ln]# cat test.txt 
    hello spark
    

    2.软连接的删除

    • 错误示范
    [root@server6 test_chk_ln]# cd ..
    [root@server6 ~]# ll
    总用量 84
    -rw-------.  1 root root  1257 616 01:17 anaconda-ks.cfg
    drwxr-xr-x. 25 root root  4096 111 10:28 azkabanJob
    -rw-r--r--.  1 root root 67322 114 10:24 azkabanJob.zip
    drwxr-xr-x.  4 root root    37 713 11:01 hadoop_temp
    -rw-r--r--.  1 root root    54 74 14:11 HelloLinux.txt
    drwxr-xr-x.  2 root root    22 114 10:41 test_chk
    lrwxrwxrwx.  1 root root     9 114 10:42 test_chk_ln -> test_chk/
    -rw-r--r--.  1 root root    67 108 15:52 zookeeper.out
    [root@server6 ~]# rm -rf ./test_chk_ln/
    [root@server6 ~]# ll
    总用量 84
    -rw-------.  1 root root  1257 616 01:17 anaconda-ks.cfg
    drwxr-xr-x. 25 root root  4096 111 10:28 azkabanJob
    -rw-r--r--.  1 root root 67322 114 10:24 azkabanJob.zip
    drwxr-xr-x.  4 root root    37 713 11:01 hadoop_temp
    -rw-r--r--.  1 root root    54 74 14:11 HelloLinux.txt
    drwxr-xr-x.  2 root root     6 114 10:42 test_chk
    lrwxrwxrwx.  1 root root     9 114 10:42 test_chk_ln -> test_chk/
    -rw-r--r--.  1 root root    67 108 15:52 zookeeper.out
    [root@server6 ~]# cd test_chk
    [root@server6 test_chk]# ll
    总用量 0
    [root@server6 test_chk]# ll
    总用量 0
    
    • 正确删除软连接
    [root@server6 ~]# echo "hello spark" > test_chk/test.txt
    [root@server6 ~]# cat test_chk/test.txt 
    hello spark
    [root@server6 ~]# cd test_chk_ln/
    [root@server6 test_chk_ln]# ll
    总用量 4
    -rw-r--r--. 1 root root 12 114 10:44 test.txt
    [root@server6 test_chk_ln]# cd ..
    [root@server6 ~]# rm -rf ./test_chk_ln
    [root@server6 ~]# ll
    总用量 84
    -rw-------.  1 root root  1257 616 01:17 anaconda-ks.cfg
    drwxr-xr-x. 25 root root  4096 111 10:28 azkabanJob
    -rw-r--r--.  1 root root 67322 114 10:24 azkabanJob.zip
    drwxr-xr-x.  4 root root    37 713 11:01 hadoop_temp
    -rw-r--r--.  1 root root    54 74 14:11 HelloLinux.txt
    drwxr-xr-x.  2 root root    22 114 10:44 test_chk
    -rw-r--r--.  1 root root    67 108 15:52 zookeeper.out
    [root@server6 ~]# cd test_chk/
    [root@server6 test_chk]# ll
    总用量 4
    -rw-r--r--. 1 root root 12 114 10:44 test.txt
    

    删除软连接时,一定要注意软连接的路径表示。

    注意

    1.创建软连接时,不用创建文件夹。


    update 20210519

    执行的命令是: ln -s /storage/lawson/scores scor
    其含义就是:将scor指向 /storage/lawson/scores/目录下
    在这里插入图片描述
    这里是当前的scor 指向 /storage/lawson/scores 中。这里显示红色,是因为/storage/lawson/scores这个目录不存在,如果创建该目录,那就可以得到蓝色的显示了。
    在这里插入图片描述
    需要注意的是,当前所有目录下的文件都不能重名,因为我之前有一个文件夹是scores,所以这里就简单的命名成了scor

    参考文章

    • https://www.cnblogs.com/cartsp/p/6437046.html
    展开全文
  • Linux常用命令总结

    万次阅读 多人点赞 2021-08-15 21:30:03
    Linux常用命令总结 目录Linux常用命令总结服务器关机相关命令2.系统目录结构介绍3.文件操作相关命令4.文件的基本属性5.文件的内容查看6.Vim7.进程相关命令 服务器关机相关命令 关机指令为:shutdown ; sync # 将...

    Linux常用命令总结

    服务器关机相关命令

    关机指令为:shutdown ;
    
    sync # 将数据由内存同步到硬盘中。
    
    shutdown # 关机指令,你可以man shutdown 来看一下帮助文档。例如你可以运行如下命令关机:
    
    shutdown –h 10 # 这个命令告诉大家,计算机将在10分钟后关机
    
    shutdown –h now # 立马关机
    
    shutdown –h 20:25 # 系统会在今天20:25关机
    
    shutdown –h +10 # 十分钟后关机
    
    shutdown –r now # 系统立马重启
    
    shutdown –r +10 # 系统十分钟后重启
    
    reboot # 就是重启,等同于 shutdown –r now
    
    halt # 关闭系统,等同于shutdown –h now 和 poweroff
    最后总结一下,不管是重启系统还是关闭系统,首先要运行 sync 命令,把内存中的数据写到磁盘中。
    

    2.系统目录结构介绍

    在这里插入图片描述

    图片

    对于目录的解释

    以下是对这些目录的解释:

    • /bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。
    • /boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
    • /dev : dev是Device(设备)的缩写, 存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
    • /etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录。
    • /home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
    • /lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。
    • /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
    • /media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
    • /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
    • /opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
    • /proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
    • /root:该目录为系统管理员,也称作超级权限者的用户主目录。
    • /sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
    • /srv:该目录存放一些服务启动之后需要提取的数据。
    • /sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
    • /tmp:这个目录是用来存放一些临时文件的。
    • /usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
    • /usr/bin: 系统用户使用的应用程序。
    • /usr/sbin: 超级用户使用的比较高级的管理程序和系统守护程序。
    • /usr/src: 内核源代码默认的放置目录。
    • /var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
    • /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除
    • /www:存放服务器网站相关的资源,环境,网站的项目等

    3.文件操作相关命令

    绝对路径:

    路径的写法,由根目录 / 写起,例如:/usr/share/doc 这个目录。

    相对路径:

    路径的写法,不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成:cd …/man 这就是相对路径的写法啦!

    • ls: 列出目录
    • cd:切换目录
    • pwd:显示目前的目录
    • mkdir:创建一个新的目录
    • rmdir:删除一个空的目录
    • cp: 复制文件或目录
    • rm: 移除文件或目录
    • mv: 移动文件与目录,或修改文件与目录的名称

    你可以使用 man [命令] 来查看各个命令的使用文档,如 :man cp。

    列出目录

    • -a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)
    • -l :长数据串列出,包含文件的属性与权限等等数据;(常用)

    cd (切换目录):cd …/切换到上一级目录

    pwd ( 显示目前所在的目录 )

    选项与参数:-P :显示出确实的路径,而非使用连接(link) 路径。

    touch

    touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新

    建一个不存在的文件

    touch test.txt
    

    mkdir (创建新目录)

    • -m :配置文件的权限,直接配置,不需要看默认权限 (umask) 的脸色
    • -p :帮助你直接将所需要的目录(包含上一级目录)递归创建起来!

    rmdir ( 删除空的目录 )

    **-p :**连同上一级『空的』目录也一起删除

    cp ( 复制文件或目录 )

    • **-a:**相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)
    • **-p:**连同文件的属性一起复制过去,而非使用默认属性(备份常用);
    • **-d:**若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;
    • **-r:**递归持续复制,用於目录的复制行为;(常用)
    • **-f:**为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
    • **-i:**若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
    • **-l:**进行硬式连结(hard link)的连结档创建,而非复制文件本身。
    • **-s:**复制成为符号连结档 (symbolic link),亦即『捷径』文件;
    • **-u:**若 destination 比 source 旧才升级 destination !
    # 找一个有文件的目录,我这里找到 root目录
    [root@kuangshen home]# cd /root
    [root@kuangshen ~]# ls
    install.sh
    [root@kuangshen ~]# cd /home
    
    # 复制 root目录下的install.sh 到 home目录下
    [root@kuangshen home]# cp /root/install.sh /home
    [root@kuangshen home]# ls
    install.sh
    
    # 再次复制,加上-i参数,增加覆盖询问?
    [root@kuangshen home]# cp -i /root/install.sh /home
    cp: overwrite ‘/home/install.sh’? y # n不覆盖,y为覆盖
    

    rm ( 移除文件或目录 )

    • -f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
    • -i :互动模式,在删除前会询问使用者是否动作
    • -r :递归删除,最常用在目录的删除,这是非常危险的选项!!!
    # 将刚刚在 cp 的实例中创建的 install.sh删除掉!
    [root@kuangshen home]# rm -i install.sh
    rm: remove regular file ‘install.sh’? y
    # 如果加上 -i 的选项就会主动询问喔,避免你删除到错误的档名!
    
    # 尽量不要在服务器上使用 rm -rf /
    

    mv ( 移动文件与目录,或修改名称 )

    • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
    • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
    • -u :若目标文件已经存在,且 source 比较新,才会升级 (update)
    # 复制一个文件到当前目录
    [root@kuangshen home]# cp /root/install.sh /home
    
    # 创建一个文件夹 test
    [root@kuangshen home]# mkdir test
    
    # 将复制过来的文件移动到我们创建的目录,并查看
    [root@kuangshen home]# mv install.sh test
    [root@kuangshen home]# ls
    test
    [root@kuangshen home]# cd test
    [root@kuangshen test]# ls
    install.sh
    
    # 将文件夹重命名,然后再次查看!
    [root@kuangshen test]# cd ..
    [root@kuangshen home]# mv test mvtest
    [root@kuangshen home]# ls
    mvtest
    

    4.文件的基本属性

    在这里插入图片描述

    第0位:确定文件类型

    • 当为[ d ]则是目录
    • 当为[ - ]则是文件;
    • 若是[ l ]则表示为链接文档 ( link file );
    • 若是[ b ]则表示为装置文件里面的可供储存的接口设备 ( 可随机存取装置 );
    • 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标 ( 一次性读取装置 )。

    后面9位,三个为一组,确定权限

    第0位确定文件类型,第1-3位确定属主(该文件的所有者)拥有该文件的权限。第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。

    在这里插入图片描述

    修改文件属性

    1、chgrp:更改文件属组

    chgrp [-R] 属组名 文件名
    

    -R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。

    2、chown:更改文件属主,也可以同时更改文件属组

    chown [–R] 属主名 文件名
    chown [-R] 属主名:属组名 文件名
    

    3、chmod:更改文件9个属性

    chmod [-R] xyz 文件或目录
    

    Linux文件属性有两种设置方法,一种是数字,一种是符号。

    Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。

    先复习一下刚刚上面提到的数据:文件的权限字符为:『-rwxrwxrwx』, 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:

    r:4     w:2         x:1
    

    每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为:[-rwxrwx—] 分数则是:

    • owner = rwx = 4+2+1 = 7
    • group = rwx = 4+2+1 = 7
    • others= — = 0+0+0 = 0
    chmod 770 filename
    

    5.文件的内容查看

    • cat 由第一行开始显示文件内容
    • tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
    • nl 显示的时候,顺道输出行号!
    • more 一页一页的显示文件内容
    • less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
    • head 只看头几行
    • tail 只看尾巴几行

    cat 由第一行开始显示文件内容

    • -A :相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
    • -b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
    • -E :将结尾的断行字节 $ 显示出来;
    • -n :列印出行号,连同空白行也会有行号,与 -b 的选项不同;
    • -T :将 [tab] 按键以 ^I 显示出来;
    • -v :列出一些看不出来的特殊字符
    # 查看网络配置: 文件地址 /etc/sysconfig/network-scripts/
    [root@kuangshen ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0
    BOOTPROTO=dhcp
    ONBOOT=yes
    

    tac 和cat相反,从最后一行开始显示文件内容,倒着看

    nl 显示行号

    • -b :指定行号指定的方式,主要有两种:-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);-b t :如果有空行,空的那一行不要列出行号(默认值);
    • -n :列出行号表示的方法,主要有三种:-n ln :行号在荧幕的最左方显示;-n rn :行号在自己栏位的最右方显示,且不加 0 ;-n rz :行号在自己栏位的最右方显示,且加 0 ;
    • -w :行号栏位的占用的位数。
    [root@kuangshen ~]# nl /etc/sysconfig/network-scripts/ifcfg-eth0
    1DEVICE=eth0
    2BOOTPROTO=dhcp
    3ONBOOT=yes
    

    more 一页一页的翻动

    在 more 这个程序的运行过程中,你有几个按键可以按的:

    • 空白键 (space):代表向下翻一页;
    • Enter :代表向下翻『一行』;
    • /字串 :代表在这个显示的内容当中,向下搜寻『字串』这个关键字;
    • :f :立刻显示出档名以及目前显示的行数;
    • q :代表立刻离开 more ,不再显示该文件内容。
    • b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。

    less 一页一页翻动,以下实例输出/etc/man.config文件的内容

    • 空白键 :向下翻动一页;
    • [pagedown]:向下翻动一页;
    • [pageup] :向上翻动一页;
    • /字串 :向下搜寻『字串』的功能;
    • ?字串 :向上搜寻『字串』的功能;
    • n :重复前一个搜寻 (与 / 或 ? 有关!)
    • N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
    • q :离开 less 这个程序;

    head 取出文件前面几行

    选项与参数:-n 后面接数字,代表显示几行的意思!

    默认的情况中,显示前面 10 行!若要显示前 20 行,就得要这样:

    # head -n 20 /etc/csh.login
    

    tail 取出文件后面几行

    选项与参数:

    • -n :后面接数字,代表显示几行的意思

    默认的情况中,显示最后 10 行!若要显示最后 20 行,就得要这样:

    # tail -n 20 /etc/csh.login
    

    man:Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助

    语法: man [选项] 命令

    常用选项

    -k 根据关键字搜索联机帮助

    num 只在第num章节找

    man man 能够看到 man 手册中的若干个章节及其含义.

    6.Vim

    图片

    • i 切换到输入模式,以输入字符。

      • 字符按键以及Shift组合,输入字符
      • ENTER,回车键,换行
      • BACK SPACE,退格键,删除光标前一个字符
      • DEL,删除键,删除光标后一个字符
      • 方向键,在文本中移动光标
      • HOME/END,移动光标到行首/行尾
      • Page Up/Page Down,上/下翻页
      • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
      • ESC,退出输入模式,切换到命令模式
    • : 切换到底线命令模式,以在最底一行输入命令。

      • q 退出程序
      • w 保存文件

    7.进程相关命令

    基本概念

    1. 在Linux中,每个程序都有一个自己的进程,每个进程都有一个id号
    2. 每一个进程都有一个进程号(即创建该进程的进程)
    3. 进程一般有两种存在方式,前台和后台。一般的话服务在后台运行,基本的程序在前台

    命令

    1. 查看进程

    netstat -anp | grep 端口号 查看端口是否被占用

    ps -xx ----->查看当前系统中正在运行的进程的各种信息

    • -A: 将所有的进程都显示出来,和-e的效果相同
    • -a: 显示现行终端机下的所有程序,包括其他用户的程序
    • -u: 以用户为主的格式来显示进程的详细状态
    • -x: 显示没有控制终端的进程
    • -r: 只显示正在运行的程序
    • e: 列出程序时,显示出每个程序的环境变量
    • -f : 全格式
    # ps -aux查看所有的进程
    ps -aux | grep mysql 查看mysql的进程
    
    #  | 在Linux中称为管道  A|B  将A的结果交给B再执行
    #  grep查找文件中符合条件的字符串
    
    ps -ef | grep xxx  可用查看xx进程及父进程的信息  #但是一般查看父进程可用通过目录树结构来查看
    
    pstree -up | grep xx
    -p :显示父id
    -u :显示用户组
    
    1. 结束进程(杀死进程)

      kill -9 进程id 强制杀死进程

      kill 进程pid 进程推出之前可用释放并清理资源

    展开全文
  • Linux 命令之 find:查找文件

    万次阅读 多人点赞 2018-01-19 11:50:49
    Linux 命令中,find用于在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名,其支持按名称查找、按正则表达式查找、按文件大小查找、按文件权限查找等多种查询方式。如果在使用该命令时,...
  • Linux常用命令

    万次阅读 多人点赞 2019-03-10 17:14:35
    Linux常用命令
  • Linuxlinux常用基本命令

    万次阅读 多人点赞 2013-03-22 13:54:04
    Linux中许多常用命令是必须掌握的,这里将我学linux入门时学的一些常用的基本命令分享给大家一下,希望可以帮助你们。
  • Linux 命令量测试

    万次阅读 2021-01-10 04:13:41
    Linux 命令量 “命令量” 是我起的一个名字,实在没想到有更好的词汇,如果有想到的可以留言。 大家都知道,单词量是指一个人掌握了多少单词;这里的"命令量"也是类似的意思,表示一个人掌握了多少个 linux 命令。 ...
  • 最常见的linux命令(centOS 7.6)

    万次阅读 多人点赞 2019-10-16 16:43:14
    一、linux关机命令: 1.shutdown命令安全地将系统关机(推荐)参数说明: [-r] 重启计算器。 [-h] 关机后关闭电源〔halt〕。 [-c] cancel current process取消目前正在执行的关机程序。 [-time] 设定关机〔shutdown〕...
  • ![图片说明]... 1.我想查看cti的的服务是否启动,求linux命令? 2.如何看输入是启动还是停止状态? 3.如果是停止状态,启动cti的linux命令有该怎么
  • linux文件读写权限命令

    千次阅读 2018-05-05 11:04:38
    要修改文件夹内所有的文件和文件夹及子文件夹属性为可可读可执行: chmod -R 777 /upload 这里注意/是代表根目录 如果是当前目录需要  chmod -R 777 upload 修改文件可读写属性的方法 例如:...
  • chmod 777 a.txt 将 a.txt 的所有权限全部打开 (注:1表示可执行,2表示可,4表示可读,6表示可读可,7表示可读可可执行)
  • 自己学习《APUE》时linux下一些命令(大概40个左右)实现,仅当学习使用,这些命令包括cat cp echo head ls paste rmdir tail umask who chattr cut expand join mkdir pwd sed tee uniq chgrp date find last ...
  • linux命令手册chm

    千次下载 热门讨论 2008-11-14 10:30:09
    下载了linux命令大全.pdf,发现是英文版的,汗,找了好久才发现此版本,的不错,关键是搜索方便啊,很多指令都有介绍,适合初学者。
  • 在IDEA中使用Linux命令

    千次阅读 多人点赞 2020-05-30 14:21:23
    Gow就是这么一款工具,在Windows系统安装Gow,就可以在cmd窗口使用Linux命令。 Gow (Gnu On Windows)是Cygwin的轻量级替代品。一个Windows下模拟Linux命令行工具集合,它集成了Liunx环境下130多种实用
  • linux命令:find命令

    千次阅读 2014-10-06 20:54:35
    linux find命令语法 find [起始目录] 寻找条件 操作 find PATH OPTION [-exec COMMAND { } \;] 因为find命令会根据我们给的option,也就是寻找条件从我们给出的目录开始对其中文件及其下子目录中的文件进行递归...
  • linux命令find

    千次阅读 2020-08-30 21:20:01
    linux命令find平时工作中很常用,下面列出几个常用的。 find . -iname xxx 忽略大小寻找当前目录下的xxx文件,是递归查找 find . -iname *xx *是通配符查找,可以适配 find . -size +1024 查找目录下大于...
  • linux 命令 find 忽略大小

    千次阅读 2016-11-17 22:17:14
    outputlinux 命令 find 忽略大小inputbaidu find忽略大小 http://bbs.csdn.net/topics/20290768algofind没有,使用管道代替 例如 find / |grep xxx -i
  • Linux常用命令大全

    万次阅读 多人点赞 2018-06-01 16:16:10
    Linux常用命令大全1.Linux管理文件和目录的命令命令 功能 命令 功能 pwd 显示当前目录 ls 查看目录下的内容 cd 改变所在目录 cat 显示文件的内容 grep 在文件中查找某字符 cp 复制文件 touch 创建文件 mv 移动文件 ...
  • LinuxLinux常用命令

    万次阅读 2018-05-29 09:55:03
    Linux是一个可靠的、高性能的系统,而所有的这些优越性只有在直接使用Linux命令行时才能充分地体现出来。Linux系统安装成功后,就可以进入到与Windows类似的图形化界面了。这个界面就是Linux图形化界面X窗口系统的一...
  • 第一步:进入存有目标文件的服务器文件目录: ...第二步:执行下面命令进行复制   scp -r cps.war(文件名.文件后缀 ) root(目标服务器账号)@21.1.1.199(目标服务器地址):/app/weblogic/wls12130/u...
  • linux常用命令大全,linux常见命令(指令)介绍

    万次阅读 多人点赞 2017-09-28 18:03:27
    linux常用命令大全,linux常见命令介绍
  • Linux系统编程常用命令总结

    万次阅读 多人点赞 2019-08-14 23:08:29
    一、Linux常用命令 1、常用工具 2、目录和文件命令 3、安装和卸载软件命令 4、压缩包管理 5、文件属性、用户用户组及查找与检索命令 6、网络管理命令 7、其他命令 二、Linux vi/vim常用命令 三、Linux下...
  • linux命令写成sh脚本并执行

    万次阅读 2018-05-14 19:04:57
    unrar.sh脚本编写为: ... #!/bin/sh cd /home unrar e -p123456 "/1.rar"...将unrar.sh脚本放入linux系统下 执行chmod 777 unrar.sh使脚本具备执行权利,否则会报错:permission denied 执行sh...
  • 运维常用的Linux命令

    万次阅读 多人点赞 2021-01-14 19:45:48
    公司常用的Linux命令 每日一题第一周1.绝对路径用什么符号表示?当前目录、上层目录用什么表示?主目录用什么表示? 切换目录用什么命令?2、怎么查看当前进程?怎么执行退出?怎么查看当前路径?3、怎么清屏?怎么...
  • Linux命令详解之—less命令

    万次阅读 2018-03-30 16:43:59
    原文地址:https://www.cnblogs.com/waitig/archive/2016/09/28/5916338.htmlLinux下还有一个与more命令非常类似的命令--less...更多Linux命令详情请看:Linux命令速查手册less命令 与 more命令 非常类似,但less命...
  • linux常用命令(详解)

    万次阅读 多人点赞 2018-08-29 09:45:41
    一、日常使用命令/常用快捷键命令 开关机命令  1、shutdown –h now:立刻进行关机  2、shutdown –r now:现在重新启动计算机  3、reboot:现在重新启动计算机  4、su -:切换用户;passwd:修改用户密码 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 856,806
精华内容 342,722
关键字:

怎么自己写linux命令

linux 订阅