zoukankan      html  css  js  c++  java
  • 9.指令

    指令与选项

    什么是Linux的指令?

    指在Linux终端(命令行)中输入的内容就称之为指令。

     

    一个完整的指令的标准格式:Linux通用的格式

    #指令主体(空格) [选项](空格) [操作对象]

    一个指令可以包含多个选项

    操作对象也可以是多个

    例如:需要让张三同学帮忙去楼下小卖铺买一瓶农夫山泉水和清风餐巾纸,在这个指令中“买东西”是指令的主体,买的水和餐巾纸是操作的对象,农夫山泉、清风是操作的选项。

    Linux命令中参数一般都是无序的特殊情况下除外;

    磁盘管理命令

    ls(列出目录内容)

    参数

    -a 查询所有文件和文件夹包含隐藏的(Linux中隐藏文档一般都是以“.”开头。)

    -l 查询详细列表    ls -l   简写为ll

    -h 友好展示信息  简写为 ll -h

    d开头是目录-开头是普通文件,l 开头是链接文件

    需求展示某个目录下的内容    ls 目录名

    所在位置:/root

    想要查看:/etc目录下的内容

    命令ll -h /etc

    含义:列出指定路径下的所有文件/文件夹的名称

    关于路径(重要):

    路径可以分为两种:相对路径、绝对路径。

    相对路径:相对首先得有一个参照物(一般就是当前的工作路径);

    相对路径的写法:在相对路径中通常会用到2个符号“./”【表示当前目录下】、“../”【上一级目录下】。

    绝对路径:绝对路径不需要参照物,直接从根“/”开始寻找对应路径

    pwd(打印当前工作目录)

    用法:#pwdprint working directory,打印当前工作目录(绝对路径))

    cd(change directory) 切换目录

    cd ../    向上一层目录

    cd /      ,切换到Linux的根目录

    cd /目录名  任意目录 切换到指定目录中     /目录名  Linux的绝对路径

    windows:  c:/xxxx/xxx.jpg

    cd~ ,切换到当前用户家目录。Root用户家目录 /root    回家

    cd - ,切换到上一次访问的目录。   只能两个目录相互切换 

    Linux绝对路径  cd /etc/x1     先切换到/目录,然后在/目录中找到子目录etc,在etc中找子目录x1

    在任意目录都可以随意切换

    Linux相对路径cd x1/x2        在当前目录中寻找子目录x1, x1中寻找子目录x2

    必须确定当前目录下有子目录x1

    mkdir创建目录make directoriy) 

    mkdir -p 文件夹名称  

    -p 父目录不存在情况下先生成父目录 (parents

    需要在/root/t1目录下创建一个t2目录

    位置:/root

    命令:相对:mkdir t1/t2

      绝对mkdir /root/t1/t2

    需要在/root/t3目录下创建一个t4目录

    位置:/root

    条件:t3t4都不存在

    命令mkdir -p t3/t4

    mkdir 路径1 路径2 路径3 ….  【表示一次性创建多个目录】

    rmdir(删除空目录)

    文件浏览命令

    日志文件,XML,properties文件

    cat  (快捷查看当前文件的内容)

    cat适合查看少量信息的文件(大文件只能查看到后面一部分内容)

     用法:cat 文件名

    more (分页显示文件内容)

    用法: more 文件名

    操作:

    Enter    向下n行,需要定义。默认为1

    空格键  向下滚动一屏 Ctrl+F

    B  返回上一屏 或 Ctrl+B

    q       退出more

    less -mN ( 分页显示文件内容,标注每行的行号)

    -m显示类似more命令的百分比

    -N显示每行的行号操作

    操作:

    Enter    向下n行,需要定义。默认为1

    空格键  向下滚动一屏 Ctrl+F

    B  返回上一屏 或 Ctrl+B

    q       退出less

    d:前进半页

    u:后退半页

    y:后退一行或方向键向上

    /字符串:向下搜索

    ?字符串:向上搜索

    v:进入vim编辑器

    左右方向键:相当于水平滚动条

    适用于大量数据的查看

    tail (查看文件后X行的内容)

    例如tail -10 文件名  查看文件的后10行内容

    文件操作命令

    cp(复制文件或者目录)

    复制文件

    cp 需要复制的文件 复制的位置

    需求/root/Demo1.java文件 复制到  /root/t1 目录中

    位置/root

    命令:cp Demo1.java t1

      cp /root/Demo1.java /root/t1

    需求/root/Demo1.java文件 复制到  /root/t1 目录中,改名为ddd.java

    位置/root

    命令:cp Demo1.java t1/ddd.java

    复制目录

    cp -r 需要复制的文件 复制的位置

    需求/root/t5目录 复制到  /root/t1目录中

    位置/root

    命令:cp -r t5 t1

      cp -r /root/t5 /root/t1

    mv(移动或更名现有的文件或目录move) 

    文件/目录移动:

    mv需要移动的文件 移动的位置

    需求/root/t5 目录 移动到 /root/t3目录中

    位置/root

    命令mv t5 t3

    需求/root/t5 目录 移动到 /root/t3目录中

    不询问直接覆盖

    位置/root

    已知/root/t3目录中 已经有一个t5目录了

    命令mv -f t5 t3

    文件/目录更名操作:

    需求/root/Demo1.java  改名为 hehe.java

    位置/root

    命令:mv Demo1.java hehe.java

    rm(删除文件或目录remove) 

    删除文件:

    rm 文件名(需要询问)

    rm -f文件名(不需要询问)

    删除目录

    rm -rf目录名

    需求删除/root/t5 目录,

    位置/root

    已知t5目录下有子目录或者文件

    命令rm -rf t5

    注意:

    rm -rf *     删除当前目录下所有内容

    rm –rf /*    删除Linux系统根目录下所有内容

    find(在某个目录下查找文件或目录)

    语法:find 目录 -name '需要查找的文件名字符串'

    *表示0~多个任意字符

    需求查找/root目录下 所有以ins开头的文件或者目录

    位置/root

    命令find /root -name ‘ins*'

    系统命令

    ps (查看服务器的进程重点)

    指令:ps

    作用:主要是查看服务器的进程信息

    选项含义:

    -e:等价于“-A”,表示列出全部的进程

    -f:显示全部的列(显示全字段)

    执行结果:

    列的含义:

    UID:该进程执行的用户id;

    PID:进程id(杀死进程的时候需要)

    PPID:该进程的父级进程id,就是该进程是她父亲进程调用启动的,如果一个程序的父级进程找不到,该程序的进程称之为僵尸进程(parent process ID);

    C:Cpu的占用率,其形式是百分数;

    STIME进程的启动时间;

    TTY:终端设备,发起该进程的设备识别符号,如果显示“?”则表示该进程并不是由终端设备发起;

    TIME:进程的执行时间;

    CMD:该进程的名称或者对应的路径;

    案例:(100%使用的命令)在ps的结果中过滤出想要查看的进程状态

    #ps -ef|grep “进程名称

    例如查看火狐浏览器的进程:

    kill

    强制杀死某个进程:kill -9 pid

    需求查看进程  vim相关的进程有哪些,并将vim进程杀死

    命令:ps -ef|grep -i vim

      Kill -9 pid

    案例:需要killApache的进程

    kill命令作用相似但是比kill更加好用的杀死进程的命令:killall

    语法:#killall 进程名称

    默认参数下,kill 发送SIGTERM(15)信号给进程,告诉进程,你需要被关闭,请自行停止运行并退出。

    执行完该指令后,操作系统会发送一个 SIGTERM 信号给对应的程序。当程序接收到该信号后,可能会发生以下几种情况的一种:
    当前程序立刻停止;
    程序释放相应资源,然后再停止;
    程序可能仍然继续运行。
    大部分程序会先释放自己的资源,然后再停止。但是也有程序可以在接受到信号量后,继续做其他一些事情,并且这些事情是可以配置的。如果程序正在等待IO,可能就不会立马做出响应。也就是说,15) SIGTERM 是可能被阻塞、被忽略的。


    kill -9 发送SIGKILL信号给进程,告诉进程,你被终结了,请立刻退出。
    TERM(或数字9)表示“无条件终止”;
    因此 kill - 9 表示强制杀死该进程;与SIGTERM相比,这个信号不能被捕获或忽略,同时接收这个信号的进程在收到这个信号时不能执行任何清理。

    如果 15) SIGTERM 可以不进行响应?那 9) SIGKILL就是必杀信号,多半 ROOT 会直接使用这个命令,但并不推荐这么做。
    小结:在使用 kill -9 前,应该先使用 kill -15,给目标进程一个清理善后工作的机会。如果没有,可能会留下一些不完整的文件或状态,从而影响服务的再次启动
    与kill命令不同的是,killall 命令可以根据进程名称来杀死进程。kill 命令 则先需要找到进程的id。

    killall 也和ps或pgrep 结合使用,比较方便。如下:

    1 [root@-linux-byx ~]# pgrep -l magic_Linux
    2 13020 magic_Linux01
    3 22761 magic_Linux02
    4 25279 magic_Linux03
    5 27694 magic_Linux04

    killall 命令实例:  用killall 杀死 进程 magic_Linux02

    [root@-linux-byx ~]# killall magic_Linux02

    ifconfig(查看网卡相关信息

    作用:用于查看网卡相关的指令。

    简单语法:#ifconfig (获取网卡信息

    Eth0表示Linux中的一个网卡,eth0是其名称。Loloop,本地回还网卡,其ip地址一般都是127.0.0.1)也是一个网卡名称。

    ping ip地址(测试和目标的连通性)

    测试和目标的连通性:

    会持续不断一直测试直到ctrl+c

     reboot(重新启动计算机)

    作用:重新启动计算机

    语法1#reboot重启

    语法2#reboot  -w   模拟重启,但是不重启(只写关机与开机的日志信息)

    关机

     halt

    Linux centos关机命令:halt(直接关闭内存,慎用!!!)

    shutdown指令

    作用:关机 (慎用)

    语法1#shutdown -h now关机提示”  或者  #shutdown  -h 15:25  “关机提示

    案例:设置Linux系统关机时间在12:00

    如果想要取消关机计划的话,则可以按照以下方式去尝试:

    ①针对于centos7.x之前的版本:ctrl+c

    ②针对于centos7.x(包含)之后的版本:#shutdown  -c

    除了shutdown和halt关机以外,还有以下几个关机命令:

    #init 0

    #poweroff

    setup:

    网络设置

     

     

     

     权限修改

    权限介绍

    linux 权限格式:<类型><用户><><其他用户>

     

    第一部分 第一位,文件的类型(d目录,-普通文件,l超链接文件)

    第二部分:所属用户权限 文件属于哪个用户   u

    部分:所属组权限     所属用户所在组别   g

    部分:其他用户权限   文件不属于该用户,不属于该用户所在组  o

    所有用户a

    R  read  读取权限

    W  write 写入权限

    X        执行权限

    -       没有权限

    权限更改

    语法:chmod 权限设置 需要更改权限的文件名

    更改Demo1.java  所属用户的权限为所有权限

    例如:chmod u=rwx Demo1.java

    更改Demo1.java  所属 用户的权限为r-x

    例如:chmod g=rx Demo1.java

    更改Demo1.java  所有用户的权限为r—

    例如:chmod a=r Demo1.java

    更改文件夹权限

    语法:chmod -R 权限设置 需要更改权限的文件名

    更改t1 文件夹中所有文件的权限。  所属用户的权限 r--

    例如:chmod -R u=r t1

    文档编辑命令

    Windows是有记事本

    Linux也有类似的记事本功能   VIM编辑器

    vim命令

    输入“vim 文件名”进入“一般模式”

    按下“i”从一般模式,进入“插入模式”

    按下“esc”从“插入模式”退出到“一般模式”

    在“一般模式”下,输入“:wq”,退出编辑。

    一般模式:可以浏览文件内容,可以进行文本快捷操作。  单行复制,多行复制,单行删除,多行删除等

    按i可以切换到插入模式

    按":"可以切换到底行模式

    插入模式:

    可以编辑文件内容。

    按ESC可以切回一般模式

    底行模式:

    可以进行强制退出不保存操作   q!

    可以进行保存并退出操作  wq

    可以进行文本搜索操作:/后面跟搜索内容

    除了上面的这个语法之外,vim还支持另外一个保存退出方法“:x”。

    说明:

    ①“:x”在文件没有修改的情况下,表示直接退出,在文件修改的情况下表示保存并退出;

    ②如果文件没有被修改,但是使用wq进行退出的话,则文件的修改时间会被更新;但是如果文件没有被修改,使用x进行退出的话,则文件修改时间不会被更新的;主要是会混淆用户对文件的修改时间的认定。

    因此建议以后使用:x”来进行对文件的保存退出。

    但是:不要使用X,不要使用X,不要使用XX表示对文件进行加密操作。

    vim详细使用方法参考:https://www.cnblogs.com/luzhanshi/p/13357553.html

    grep和管道

    grep 正则表达式。    字符串搜索工作

    格式:grep -i 需要搜索的字符串 搜索的文件

    -i 忽略大小写查找数据

    符合规则,就会返回符合规则的行。

    管道命令:"| " 可以链接多个Linux命令

    命令1 | 命令2 | 命令3……

    需求:查询当前目录中,所有带ins关键字的行数据

    位置:/root

    思考:查询当前目录内容  ll

      查询字符串,返回字符串所在行  grep

    命令:ll | grep ins

    过滤案例(100%使用):需要通过管道查询出根目录下包含“y”字母的文档名称。

    ls / | grep y

    针对上面这个命令说明:

    ①以管道作为分界线,前面的命令有个输出,后面需要先输入,然后再过滤,最后再输出,通俗的讲就是管道前面的输出就是后面指令的输入注意,“/”仅仅表示根目录的路径而已

    压缩、解压命令【重要】

    Linux压缩,解压命令。

    -c建立一个压缩文件的参数指令(create)--压缩

    -x解开一个压缩文件的参数指令(extract)--解压

    -z是否需要用gzip压缩

    -v压缩的过程中显示文件(verbose)

    -f使用档名,在f之后要立即接档名(file)

    Linux压缩包: *.tar     打包,大小不会进行压缩

            *.tar.gz   打包并压缩文件大小

    压缩:(参数顺序不能变)

    tar -zcvf 压缩包名字.tar.gz 需要压缩的内容

    例如:tar -zcvf hehe.tar.gz *   将当前目录下所有内容进行打包压缩,文件名hehe.tar.gz

    解压:(参数顺序不变)

    tar -zxvf 需要解压的压缩包名称   解压到当前目录

    tar -zxvf 需要解压的压缩包名称 -C 指定压缩路径    解压到指定目录中

    需求:需要把/root/t5/hehe.tar.gz  压缩包 解压到 指定目录中。指定目录/root/t5/t5

    位置:/root/t5

    命令:tar -zxvf hehe.tar.gz -C /root/t5/t5

    tar -zxvf hehe.tar.gz -C t5

    查看java进程命令:jps

    用于查看当前服务器中的java进程,类似于ps -ef | grep java,不同之处是它是由jdk提供的,可以输出JVM中运行的进程状态信息,因此它也可以用于jvm的监控和调优,参考https://my.oschina.net/feichexia/blog/196575,使用时需保证一正确配置java环境变量,常用参数有:


    -q:仅输出VM标识符,不包括classname,jar name,arguments in main method 
    -m:输出main method的参数 
    -l:输出完全的包名,应用主类名,jar的完全路径名 
    -v:输出jvm参数 
    -V:输出通过flag文件传递到JVM中的参数(.hotspotrc文件或-XX:Flags=所指定的文件 
    -Joption:传递参数到vm,例如:-J-Xms512m

            [hostid]:

    [protocol:][[//]hostname][:port][/servername]

    安装卸载命令

    rpm命令:相当于windows的添加/卸载程序

    进行程序的安装、更新、卸载、查看

    格式:rpm[参数][软件]
    -v  显示指令执行过程。
    -h  或--hash套件安装时列出标记。
    -q  使用询问模式,当遇到任何问题时,rpm指令会先询问用户。
    -a  查询所有套件。
    -i  <套件档>或-installk套件档>安装指定的套件档。

    -U  <套件档>或-upgrade<套件档>升级指定的套件档。
    -e  <套件档>或-erase<套件档>删除指定的套件。
    -nodeps  不验证套件档的相互关联性

    常用
    安装:rpm -ivh 文件【安装】

    升级:rpm -Uvh 文件【更新】
    删除:rpm -e --nodeps 软件名【卸载】

    查看:rpm -qa | grep -i ***

    yum命令:相当于可以联网的rpm命令

    相当于先联网下载程序安装包、程序的更新包

    自动执行rpm命令

    设置防火墙(对外开放某个端口):

    开放8080端口
    /sbin/iptables -I INPUT -p tcp --dport 端口号 -j ACCEPT

    例如:
    /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
    /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT 
    保存配置
    /etc/rc.d/init.d/iptables save
  • 相关阅读:
    【杭电】[1302]The Snail
    【Light】[1297]Largest Box
    ubuntu10.04安装putty以保存SSH会话
    印象笔记导入为知笔记方法
    HTTP返回状态码及错误大全
    Ubuntu14.04安装wineqq国际版
    Ubuntu Unity 桌面快捷键切换窗口技巧
    Ubuntu14.04下安装为知笔记
    在ubuntu中如何管理startup application
    Error:" Can't locate Term/ReadKey.pm in @INC" 的解决方法
  • 原文地址:https://www.cnblogs.com/luzhanshi/p/13352725.html
Copyright © 2011-2022 走看看